Pages:
Author

Topic: bitcoin "unlimited" seeks review - page 6. (Read 16106 times)

staff
Activity: 3458
Merit: 6793
Just writing some code
January 02, 2016, 09:25:53 PM
BU will let the user select a given Core or XT BIP (this is still be worked on (BUIP002, probably not supposed to link it here)), so for example if they turned on the BIP101 option, their node would mimic an XT node as far as following BIP101, including the 75% threshold and specific starting block.
Really? How? So far what I have seen is that a new block size limit in BU takes effect immediately. There is no mechanism that does the supermajority fork process.

If there is a specific option to for the supermajority fork process for a single BIP, then there should be that for every BIP. Will BU have options to allow the user to support whatever BIP or not? How will new BIPs be added? Through a software upgrade?

Just like today, where if XT were winning Core miners might switch to XT, and if not they wouldn't, it's the same dynamic: if XT were winning, the BU miners would likely set their blocksize settings to BIP101. They can do this even faster than Core miners can switch to XT since it's just a GUI setting, not a new client to download.
A new client download and install takes about 2 minutes, it's not that big of a problem. Even so, the miners would have to either switch to use bigger block sizes after the fork happens or somehow indicate that they are supporting the bigger blocks before the fork (e.g. the supermajority fork process). This means that that larger block size should not take effect immediately. 

They can just follow Core. BU can be set up to default to Core behavior (it doesn't now, but it's an experimental release; anyone could fork it that way, trivially). I mean, you could say the same about XT: dumb users might try using XT. Could happen. This certainly isn't a security risk, or else Bitcoin is doomed because there's no way to stop people from releasing forks. Yeah I know XT has the 75% failsafe, so then imagine the reverse: everyone is using XT and someone dumb downloaded Core with its 1MB cap and tried to mine but kept not being able to build any blocks because their client rejected all the XT blocks.

Point is, the situation today is that miners and nodes need to pay attention to developments today. They can't just blindly trust whatever Core puts out - and if that's the expectation then we already have bigger problems.
Sure you can't blindly trust whatever Core puts out, same with XT, BU and every other software implementation.
legendary
Activity: 994
Merit: 1035
January 02, 2016, 09:20:01 PM
Actually, BitUsher, I did mention this to you on page 3. It's been a fast discussion and we forget things, so no worries.

Correct... thanks. This is interesting stuff.

Does BU have any sig-ops limits for CVE-2013-2292 like what Gavin proposed here - https://github.com/bitcoinxt/bitcoinxt/commit/cc1a7b53629b265e1be6e212d64524f709d27022 of is BU stuck to standard 20k ?
 I see a brief mention of it here - https://bitco.in/forum/threads/bitcoin-unlimited-code-review.359/  nothing confirmed.


Most of my interest is with the experimental stuff discussed by testing1567 as well as some interesting new attack vectors opened up politcially by empowering the nodes with developmental decisions. There are some topics that need further analysis.

This does get me interested in a potential oracle or DAO potentially having the role to determine maxBlockSize by analyzing technical merits/limitations at a higher weight than user demand which could be used to influence a more dynamic block adjustment.

Note to small block adherents: Despite the name, Bitcoin Unlimited is not a "big blocks" implementation. It's simply an implementation that doesn't include a locked-down blocksize as part of the package. It lets the user set it. It could be 500kB if you like.

There are indeed many misunderstandings. As a point of clarification 1) Very few of the core developers are "small block adherents", besides 1-2 developers , all suggest raising maxBlockSize. 2) testing1567 indicated " My other issue with BU is it lacks a way to move the blocksize down, only up." is this true for nodes with BU(I am aware that miners can set the limit to anything.)
legendary
Activity: 2968
Merit: 1198
January 02, 2016, 09:19:21 PM
"We would be trying to predict what the market would decide, rather than vying over control of the One Ring of Power - the official/reference implementation of Bitcoin. Much rancor could be dispensed with."

@Zangelbert Bingledack, I'm somewhat sympathetic to your cause but I don't really see how the market mechanism operates here, outside of a very broad definition of "market" which encompasses politics. Node voting doesn't work at all. Without that you are still reduced to politics and whoever shouts the loudest in trying to convince miners what block size they should use.
legendary
Activity: 1036
Merit: 1000
January 02, 2016, 09:16:48 PM
Note to small block adherents: Despite the name, Bitcoin Unlimited is not a "big blocks" implementation. It's simply an implementation that doesn't include a locked-down blocksize as part of the package. It lets the user set it. It could be 500kB if you like.

It's an accident of history that BU is being developed by big block supporters. It could have been developed by small block supporters for the exact same reason: to avoid the dominant Bitcoin implementation from doing something you consider foolish.

As I said in my first post, right now the leaders of the dominant Bitcoin implementation are for a low blocksize cap, but imagine if the situation reverses and big blockists are in control, to the consternation of many in the community. I think you would not want them locking down the settings. You might say, "You folks are doing fine otherwise, but you are off on the blocksize cap. Why try to play central planner? Please leave it up to the market if you are so sure the market will like your huge blocks. People will follow your recommendations if they like them anyway, so what are you worried about?"

If I were Core maintainer, I would do the same. Perhaps I would set a higher default, but I would not take the option away from the user. To do so risks sudden consensus shocks due to friction effects, risks my position being undermined silently, and most of all assumes I know better than everyone else. I might set it at 10MB. But I may be wrong; I'd rather trust in the market, because none of us knows better than a million people all with skin in the game.

Bitcoin Unlimited is just as much a small blocks implementation, guarding against the possibility of, say, Mike Hearn taking over Core, as against, say, LukeJr. Bitcoin Unlimited is simply against central planning of the blocksize. Instead, blocksize consensus would emerge from each user making their own decisions, signaling, coordination, debate, flag days, expert recommendations, etc. It prevents against centralization of developers in one implementation; again, today it's small block adherents in Core, but what if it became big block adherents? It might start to sound like a pretty good idea to let the market decide.



Under BU, all our arguments about blocksize become merely academic. We would be trying to predict what the market would decide, rather than vying over control of the One Ring of Power - the official/reference implementation of Bitcoin. Much rancor could be dispensed with. The market would do its thing and probably maximize value, and Bitcoin would continue, unable to be controlled by anyone. Just the way we like it.
legendary
Activity: 1036
Merit: 1000
January 02, 2016, 09:04:29 PM
Ok, thanks for clarifying and I understand why you wanted to ignore those "differences" but they should have been revealed up front when I kept asking for clarification as this is a technical subforum where we are meant to discuss the details .

Actually, I did mention this to you on page 3. It's been a fast discussion and we forget things, so no worries.
newbie
Activity: 21
Merit: 0
January 02, 2016, 09:03:43 PM

Unlimiturd: you may have any block size you want, so long as it's <16MB.

Am I wrong about ^this^?  If so, please advise on the actual maximum value.


Yeah, you're wrong. You're referring to src/unlimited.h:

Code:
DEFAULT_EXCESSIVE_BLOCK_SIZE = 16000000

It's a default value of a setting that can be changed in Unlimited. As in: not a permanent feature.

The actual hard limit is in src/consensus/consensus.h:

Code:
static const unsigned int BU_MAX_BLOCK_SIZE = 32000000;  // BU: this constant is deprecated but is still used in a few areas such as allocation of memory.  Removing it is a tradeoff between being perfect and changing more code. TODO: remove this entirely

Note: this means it is 32MB - currently, subject to future removal.
Not 16 as you've now confidently twice claimed.

That's all.
legendary
Activity: 1036
Merit: 1000
January 02, 2016, 08:57:02 PM
Ok, thanks for clarifying and I understand why you wanted to ignore those "differences" but they should have been revealed up front when I kept asking for clarification as this is a technical subforum where we are meant to discuss the details .

testing1567 had 2 very interesting posts.... do you disagree with any of the information therein before I start pondering them in detail?

I didn't realize you were asking about those other features, as you didn't mention them explicitly that I noticed. I just thought you were misunderstanding something about my explanation. That might explain the confusion.

I don't have a lot of thoughts on the acceptance depth aspect. It seems it would work, but it is experimental. It can be turned off, and I have recommended that it be turned off by default and marked as an experimental feature. I don't consider it necessary for the BU concept of letting users determine the blocksize limit, which I consider the main attraction of BU, so for me it's kind of .
newbie
Activity: 21
Merit: 0
January 02, 2016, 08:52:03 PM
Odd... is anyone else noticing that those 2 posts don't show up in the main thread accusing Adam of condoning censorship or is it just me?
Has testing1567 been shadowbanned? Ohhh, the irony.

Those posts reflect a very different version of BU than has been described by its proponents in this thread . Either they have't fully reviewed the code or testing1567 is incorrect but there is a discrepency. I suppose I will have to read the code myself one day to get to the bottom of this.

The comments by testing1567 are showing up for me.

[...]


I've messaged the mods of /r/btc to enquire, and they confirm he's not banned there.
legendary
Activity: 994
Merit: 1035
January 02, 2016, 08:50:14 PM
Odd... is anyone else noticing that those 2 posts don't show up in the main thread accusing Adam of condoning censorship or is it just me?
Has testing1567 been shadowbanned? Ohhh, the irony.

Those posts reflect a very different version of BU than has been described by its proponents in this thread . Either they have't fully reviewed the code or testing1567 is incorrect but there is a discrepency. I suppose I will have to read the code myself one day to get to the bottom of this.

The comments by testing1567 are showing up for me.

BitUsher, please note that I've been focusing on one part of BU - the aspect I consider to be the major one - because I know this discussion will quickly become impossible if we talk about two many things at once (already 6 pages), but there is another aspect of BU called the "oversized block acceptance depth" or "excessive block acceptance depth" that was originally thought to be either necessary or useful to make the concept work. I personally now don't think it is necessary at all, but it may turn out to be useful. It certainly looks like it would be useful, but I'm very much aware of the difficulties in proving that to be case, so for now I consider it an experimental thing for everyone to consider.

Meanwhile, I would like to argue that - even in the absence of that setting - the BU concept of simply letting users set the blocksize cap themselves will not result in chaos, but simply a smoother version of what we have now, with the will of the market expressed more completely and granularly, without jiggering by the wall of inconvenience of having controversial consensus parameters locked down. See here for elaboration.

I spoke too soon. testing1567 was just hidden within a downvoted thread. I see it now.

Ok, thanks for clarifying and I understand why you wanted to ignore those "differences" but they should have been revealed up front when I kept asking for clarification as this is a technical subforum where we are meant to discuss the details .

testing1567 had 2 very interesting posts.... do you disagree with any of the information therein before I start pondering them in detail?
legendary
Activity: 1036
Merit: 1000
January 02, 2016, 08:45:47 PM
Here's a comment from my reddit relevant to BU. [/u/ForkiusMaximus in reply to /u/kanzure.]

Quote
>Consensus rules *must* be same for all bitcoin users. It's that simple.

>...

> How to coordinate such update for a decentralized system? Peer review has worked quite well.

I agree.

However, this is no reason that this peer review process has to be centralized in Core's repo. That's the whole point of /u/anarchystar's improvement proposal. Miners and nodes can take Core's recommendations into consideration without being bound by a wall of inconvenience (self-modification of the code). Since a lot of miners already mod their code today, it is clear that all Core really does with respect to consensus parameters is set Schelling points1 for consensus to form around.

The inconvenience/casual-user-difficulty of modding the code does strengthen the Schelling point, but it has the disadvantage of centralizing control over Schelling-point setting - thus introducing friction and a potential attack vector into the consensus process.

Today:

- Core sets the Schelling points for consensus parameters (max_blocksize=1MB, etc.) as user-unchangeable settings

- Miners and nodes are able to mod their code to change those parameters if they wish (maybe need to hire a coder), but of course they generally don't as they would lose money/functionality due to not tracking consensus

- Miners/nodes could all agree to a block where they change the parameters in sync, irrespective of Core, but it would be inconvenient (instructions for doing it would have to be circulated, etc.)

With this BIP:

- Core sets the Schelling points for consensus parameters (max_blocksize=1MB, etc.) as default settings with alternatives selectable (with warnings)

- Miners and nodes can easily change those parameters if they wish (don't need to hire a coder), but of course they generally don't as they would lose money/functionality due to not tracking consensus

- Miners/nodes could all agree to a block where they change the parameters in sync, irrespective of Core, and it wouldn't be inconvenient (except just getting everyone on board and aware, which is the same problem faced when Core would release a hardforked upgrade)

Note that all these changes are "merely" changes in convenience. I put that in quotes to be fair, because even trivial inconveniences can make a big difference in how people act. However, taking a stand against the spirit of this BIP is to fall back to the position that Bitcoin's consensus is enforced by a wall of inconvenience.

If that's the position you want to take, matters just got a lot worse for you: there are now implementations (and yes, they are properly called implementations as they don't force the user to break consensus) that already have this BIP partially included and are working on having it fully included, meaning that wall of inconvenience is about to get a whole lot thinner. With respect to blocksize it already has.

A few days ago, in order for a miner/node running Core to adjust the blocksize cap, they had to mod the code themselves and recompile, or hire a C++ programmer familiar with Bitcoin to do it for them. Today, they can simply download a piece of software. Maybe tomorrow they'll be able to just download some kind of tiny plug-in someone makes.

Thus we see that the wall of inconvenience cannot be relied on. As is argued in the case of zero-conf transactions, "We might as well break it now because it's trivially defeatable." It is inevitable that Core's recommended consensus parameters will become unbundled from the rest of its code offerings, not because centralized control over the consensus parameters is bad (though I'd argue it is), but because the inconvenience barrier cannot be maintained.

We are only now seeing this unbundling because it is only now that a sizable number of Bitcoin users have started to have a different opinion from Core and/or become wary of vesting inordinate power to set these Schelling points with a single group in a single repo. Core's recommendations will still carry tremendous weight in people's decisions about how to set their consensus parameters, but the process will no longer be centralized. People will go with Core's parameters if they want, or converge on one of the Core dev's proposals, or maybe someone else's.

Consensus will happen, not because it is enforced by a barrier of inconvenience in Core software, but because there is overwhelming economic incentive to converge on consensus parameters. To confuse this is to imagine that the tail is wagging the dog.

Moreover, the consensus will be economically rational and value-maximizing because miners and nodes are economically rational, which is a fundamental assumption for Bitcoin to work in the first place.

Not sure whether I'm allowed to link to reddit, but it was in the thread titled "I just submitted a BIP that would allow users to decide which features to enable. Btcdrak rejected it (he's also controlling the dev mailing list). So I'm posting it here." by /u/anarchystar.
legendary
Activity: 2156
Merit: 1072
Crypto is the separation of Power and State.
January 02, 2016, 08:44:10 PM
What annoys me and confuses a lot of people is this "emergent consensus".

Some people, Peter R in particular, make it sound as if setting individual limit on nodes somehow magically makes consensus to emerge.

When in reality it's the good old "everybody agrees first, then sets their limit to the exact same value" consensus.

Peter R is using shopworn 1990s chaos theory rhetoric to sell Unlimiturd.   Roll Eyes Roll Eyes Roll Eyes

Specifically, he's invoking the 'spontaneous/emergent order' frame to bedazzle and persuade the drooling masses.

But his hand-waving about chaotic dynamic systems does not apply to Bitcoin, because although Bitcoin is certainly chaotic (and thus gratifyingly dramatic  Cheesy) it is *NOT* dynamic, as the social contract (SHA256 PoW, 10 minute solution target, 21e6 emission, 1MB max block, pay-for-priority) cannot change one iota without alienating a dominant plurality of the socioeconomic majority's critical mass.
legendary
Activity: 1036
Merit: 1000
January 02, 2016, 08:36:37 PM
#99
Odd... is anyone else noticing that those 2 posts don't show up in the main thread accusing Adam of condoning censorship or is it just me?
Has testing1567 been shadowbanned? Ohhh, the irony.

Those posts reflect a very different version of BU than has been described by its proponents in this thread . Either they have't fully reviewed the code or testing1567 is incorrect but there is a discrepency. I suppose I will have to read the code myself one day to get to the bottom of this.

The comments by testing1567 are showing up for me.

BitUsher, please note that I've been focusing on one part of BU - the aspect I consider to be the major one - because I know this discussion will quickly become impossible if we talk about two many things at once (already 6 pages), but there is another aspect of BU called the "oversized block acceptance depth" or "excessive block acceptance depth" that was originally thought to be either necessary or useful to make the concept work. I personally now don't think it is necessary at all, but it may turn out to be useful. It certainly looks like it would be useful, but I'm very much aware of the difficulties in proving that to be case, so for now I consider it an experimental thing for everyone to consider.

Meanwhile, I would like to argue that - even in the absence of that setting - the BU concept of simply letting users set the blocksize cap themselves will not result in chaos, but simply a smoother version of what we have now, with the will of the market expressed more completely and granularly, without jiggering by the wall of inconvenience of having controversial consensus parameters locked down. See here for elaboration.
legendary
Activity: 1036
Merit: 1000
January 02, 2016, 08:24:46 PM
#98
In case anyone was wondering if letting users select their own blocksize cap is a total wacko idea that some Bitcoin newbs came up with, note that Gavin supported that idea in 2013:



Doesn't mean it's not a wacko idea! It could well be. But it should give an idea that it's not totally out of left field. I encourage everyone to read the thread from back then:

https://bitcointalksearch.org/topic/m.1503099

Many points likely to be raised here were addressed back then as well.
legendary
Activity: 4214
Merit: 1313
January 02, 2016, 08:22:30 PM
#97
This.

Right now the only difference is a nice front end to change a parameter (ignoring again other issues to keep the network secure).  Even a non programmer can edit it easily.

"user-selectable blocksize cap" aspect -

1) So I fire up 2000 nodes, all selecting 200MB as cap.

2) I make the miners belive this is the prefered block size.

3) They all start producing 200MB block.

4) I fill up the blocks for the next 10 days

5) Bye bye 75% of all network nodes

6) I pretty much run the network

Here's the difference with Core:

1) So I fire up 2000 nodes, hire a coder to mod the Core code to set 200MB as cap.

2) I make the miners belive this is the prefered block size.

3) They all go "yayyy tons of fees!" and hire a coder to mod the Core code so they can start producing 200MB block.

4) I fill up the blocks for the next 10 days

5) Bye bye 75% of all network nodes

6) I pretty much run the network

Not that you could actually do (2) anyway, but that's just me defending Core again. As I mentioned, this is just a bit more convenient in BU. Someone with the resources to spin out 1/3 of the total number of nodes now on the network, and mining pools that are actually mining the blocks now, are going to find it trivial to do (1) and (3) right now, in Bitcoin with Core, if they wanted to. The convenience of BU is not going to be of any noticeable help, and even if you think it is, that horse has left the stable - the miners convinced can just download BU. Under that view, all that was necessary to kill Bitcoin was to release BU. That can't be right.
legendary
Activity: 994
Merit: 1035
January 02, 2016, 08:19:08 PM
#96
Here are two posts from testing1567 on reddit (says he doesnt have a bitcointalk account):

Those posts reflect a very different version of BU than has been described by its proponents in this thread . Either they have't fully reviewed the code or testing1567 is incorrect but there is a discrepency. I suppose I will have to read the code myself one day to get to the bottom of this.
legendary
Activity: 2156
Merit: 1072
Crypto is the separation of Power and State.
January 02, 2016, 08:14:29 PM
#95
If you want info about Bitcoin Unlimited you should check out their forum (https://bitco.in/forum/forums/bitcoin-unlimited.15/). Most of their discussions is there, including technical and not.

The idea was to have some technical focussed constructive discourse and this is a more neutral forum and also where more Bitcoin experts hang out.

Adam


Surely this is a joke?  The only reason the other forum was created was because Bitcointalk was becoming known in the Bitcoin community as North Korea.  

Very nice to see Dr. Backamoto drolly trolling the F*CK out of the Gavinistas, albeit in his studiously academic Sword of Logic idiom!   Smiley

Weak blocks, etc. are great ideas....for an altcoin.  Because Bitcoin's social contract is at this point, for better or worse, ossified and absent a crisis basically carved in stone.

Here's all the info you need to know about Unlimiturd: you may have any block size you want, so long as it's <16MB.
   Roll Eyes

Never mind the hilarity of "Bitcoin" "Unlimited" selecting a max_block_size LIMITED to 20% less than GavinCoin's original ill-conceived 20MB proposal.

Ignore the obvious problem of Sybil attacks, especially those exploiting BTC's current crummy P2P code and superlinear vulnerability to maliciously construed (ie very slow to verify) blocks.

The important thing is to distill our hatred of Thermos/Core/Blockstream/MPEX into a singular frame, such as the currently popular "North Korea" canard.

Only when Hearn's Redditard Army is unified around a common theme can the next stage of his puppet masters' Manufacturing Dissent strategem be enacted....

Too bad for them sunlight is the best disinfectant, and this thread is the functional equivalent of a coronal mass ejection right onto the Coinbase Pointy-headed CEO, Bitcoin Judas, Frap.doc, and Peter R's stupid faces!   Cheesy
legendary
Activity: 1036
Merit: 1000
January 02, 2016, 08:05:40 PM
#94
When in reality it's the good old "everybody agrees first, then sets their limit to the exact same value" consensus.

Yep, you got. EDIT: At least that's how I see it. There are many ideas about how it might go. I prefer to focus on the user-selectable blocksize limit only, because that is a simpler issue. Besides, the other features can be turned off easily until they have more theoretical and experimental vetting. Or a forked client can be offered without those other options if people think that's too dangerous an option to give to the user. So I don't see it as material to the main question of whether it's a good idea to allow users to set the blocksize themselves.

Quote
The only difference is that setting the limit is now even less reliable than the soft fork.

I mentioned this above, but things like BIP101, BIP102, etc. will be selectable as options. Consider a scenario where XT/BIP101 were adopted. The difference between the current situation and a scenario where BU is dominant:

  • Current situation: People notice the majority is moving to XT, flagging support for BIP101, so even the Core users switch to XT. On the flag day some stragglers might remain and cause a fork.
  • If BU is the dominant implementation: People notice the majority is moving to BIP101, flagging support for BIP101, so even people that prefer 1MB or 2MB or whatever switch to BIP101. On the flag day some stragglers might remain and cause a fork.

Doesn't seem that different, right? The only real difference is that options aren't just Core's chosen blocksize cap and BIP101. There would be BIP102, etc. to choose from, as well as other options not given by Core or XT. It'd be very much like there weren't just Core and XT, but Core, XT, and a bunch more to choose from, and we see who wins - just like now except with BU the consensus-parameter-setting is unbundled from the secure-code-providing service of the Core/XT/etc. devs.

Rather than being spoonfed consensus options from an ivory tower (or two ivory towers), there are many options. Convergence on one options happens the same way, for the same reasons - just smoother.
sr. member
Activity: 404
Merit: 362
in bitcoin we trust
January 02, 2016, 07:56:07 PM
#93
Here are two posts from testing1567 on reddit (says he doesnt have a bitcointalk account):

Quote from: testing1567
I prefer to respond to you on here because I don't have an account on either forum. I am not a believer in Bitcoin Unlimited myself, but I do feel that I have a fair understanding of the concepts and intent behind it and they do have some good ideas.

Quote from: adam3us
So what happens if I left my node at 1MB +10% user threshold and a 1.2MB block comes - does my node reject it? How will the network not split into a myriad little shards which diverge following accidental and/or intentional double-spends without manual human coordination?

In your example your node is set to accept 1mb + 10%. (1.1mb?) If you were to receive a 2mb block, your node would accept it, but it wouldn't relay it. It would continue to follow the <1.1mb chain but it would also monitor the 2mb fork. BU has a secondary user adjusted parameter for determining max block size. You can set a maximum fork length. Your BU client will continue to accept blocks for both forks, but will only relay transactions and blocks for your <1.1mb chain, so it is not blind to the existence of the fork and will warn you of discrepancies between the two. However, if the 2mb fork gets more than your maximum fork length ahead of your prefered chain, your client will abandon the 1.1mb chain in favor of the longer one. So if your max fork length was set to 24, then you would stick to the 1.1mb fork until another fork becomes more than 24 blocks longer. This ensures that any overriding of your max settings can only come with a majority of the hashing power behind the move. Miners, in theory, don't have complete control either. A miner would need to consider the orphan risk before creating a large block. This orphan risk is intended to be an emergent property of the network created by individual node operators setting their prefered max block size. Maybe creating a 1.3mb block is fairly safe if the included fees are high enough to risk the orphan, but risking it on an 8mb block could be an almost guaranteed orphan. Every time a miner creates a larger block, it is a calculated risk. We may even see varying mining pools emerge based on people's risk/reward tolerance levels, particularly when the block reward is minimal and the miners are relying on cramming in as many transaction fees in as possible to get paid.

It essentially turns the hard blocksize limit into a soft limit that can be overruled with enough sustained hashing power. The idea is rather than fighting to prevent fragmentation and forking by setting a hard limit, it embraces forking and attempts to manage it in an automated fashion while fragmentation exists and eventually converges on a single fork if it has sustained miner support. In theory, a wallet that is aware of multiple forks can ensure that you are not cheated.

As I said before, I don't completely agree with BU. I have some issues with the logic behind it, but it does have its merits. I'm going to reply to my own post here and talk about what I consider the negatives to BU, but I want to list the positives here. I love the concept of monitoring alternate forks and converging on one if it gets to a certain length ahead of the rest. I personally think that this feature could be very useful even in Bitcoin Core. Imagine using this method but with the variables hard coded to 1mb and a hard coded max fork length rather than being user adjustable. You would essentially be turning any future blocksize increase fork into a much less scary thing. In reality, a blocksize fork needs to happen eventually, regardless of if it is forced through by BIP101 or if is planned on and agreed to years from now. If these features could be refined and implemented into Core, it would allow for a smoother transition without all the emergency upgrades and damage control.

and another one:

Quote from: testing1567
My main issue with Bitcoin Unlimited is how will it handle merging into a new fork? Let's say that I'm at 1mb max and a 1.01mb block is made and remains the largest block in the new fork. What does my client set it's max blocksize to? Is it 1.01mb? What if a 1.02mb block is created right after I merge into the new longest fork? Will my client be out of sync again until the fork grows longer? I'll probably be out of sync a lot unless I manually go into my client and raise the limit to give it some buffer area. I feel like it would be too easy for the miners to basically bully the node operators to push the blocksize higher, especially with a majority of the miners in one physical region. The only thing holding miners back would be the orphan risk and I'm not even sure if that can affect them. It would be trivial for mining pools to build there own block relay network (which I think they have already). My other issue with BU is it lacks a way to move the blocksize down, only up.

I personally think that they should be supported in their efforts because their attempts at automated fork management could eventually benefit everyone even if it never succeeded as a method of setting the blocksize limi

Mod note: fixed quote links
legendary
Activity: 994
Merit: 1035
January 02, 2016, 07:50:51 PM
#92
My initial reaction is that I don't think its a good idea to empower non-technical people with the ability to control such an important variable with a click of a button. I suppose they would be held into account by the miners and this would essentially be a node vote which would allow individual nodes to confirm larger blocks easier. The difference may not be significant as an attacker isn't going to be limited by the code and this could be a signal to allow users to vote. This change appears to me to have more political implications than anything.  

Quite right. The choice of settings effectively becomes a vote on what you support.
Just as it is now, the miners actually decide what size of blocks they want to create, based on their knowledge of the network and its participants.
As an end user, you could set your limits high enough not to worry about them for the foreseeable future.

And there are plans to make it easier for end users to track the limit growth curves of BIPs they agree with, which makes it easier for them to express their views on the policy.
To prevent them from isolating themselves from the emerging consensus, there will be a warning message issued by the BU client if the user's settings are too restrictive to continue following the longest chain.

This clarifies a lot. This indicates that BU is more of a political difference than technical one. Re-flexibly I am drawn to this idea as it represents empowering the users with more of a voice where they have more of a stake in the decision process and this could be a method of incentivizing full nodes. On the flip side this does take away some of the power from developers and this can have some negative consequences as technical decisions based upon meritocracy now become political decisions based upon node vote for BIPs. Another concern is that many of these very talented developers are donating their time on a volunteer basis and one of the primary things that incentivizes their contributions is them having a say in the direction of this open source project.

 I am not so naive to believe there are no personal motivations behind some of the developers steering code to favor their side business as one of their motivations, but have more of a nuanced view and believe developers have multiple motivations from securing the code and peoples investments (including their own) , to philosophical motivations for what bitcoin represents and its impact upon society, to enjoying the challenge of the project and fun of learning.

BU brings up many complex issues about governance which I will have to reflect upon more.
hero member
Activity: 840
Merit: 1002
Simcoin Developer
January 02, 2016, 07:47:05 PM
#91
Of course users would converge on a BIP...

What annoys me and confuses a lot of people is this "emergent consensus".

Some people, Peter R in particular, make it sound as if setting individual limit on nodes somehow magically makes consensus to emerge.

When in reality it's the good old "everybody agrees first, then sets their limit to the exact same value" consensus.

The only difference is that setting the limit is now even less reliable than the soft fork.
Pages:
Jump to: