Bitcoin Absolutely Unlimited (thought experiment)

Zangelbert Bingledack

Well-Known Member
Aug 29, 2015
1,485
5,585
/u/smartfbrankings's recent attempts to lampoon Bitcoin Unlimited have given me an idea: in the first place why didn't Core just make every parameter user-adjustable? (but of course with the Core defaults and warning messages if you adjust them)

Block reward, halving rate, blocksize cap, difficulty targeting, signing algorithms, etc.

Of course there are some justifiable reasons, but they have easy objections:
  • It could confuse users (OK, then put the options in an "Experts Only" menu with multiple big scary warnings not to change them or else risk falling out of consensus)
  • A user might change the settings accidentally and lose their block reward due to orphaning (see above; if they accidentally bumble past all those warnings then there's a much bigger danger of them accidentally sending coins to the wrong address)
  • It makes aberrant behavior more convenient (so what? In Bitcoin we assume economic rationality from the start, and no economically rational miner will ever mess with, say, the coinbase setting. Miners already can and do modify the software anyway. This just makes the modding more convenient and accessible - surely mere inconvenience isn't what we rely on to keep Bitcoin secure!)
Fine, you may say, even if it's not of much harm, why on earth do it?

Because it would give a clear demonstration that it isn't Satoshi's design proclamations nor Core dev wisdom that enforces these parameters, but rather the Schelling consensus around those parameters, which miners adhere to because they aren't fools as they know their blocks would likely be orphaned if they didn't adhere to them.

However, although each of the parameters are "technically" all just lines of code, the market values adherence to them very differently. For example, adhering to the block reward and halving schedule have always been extremely important to the market (meaning people would sell BTC off extremely heavily if if they were altered, maybe even to zero) and this will likely always be true, whereas adherence to the 1MB blocksize cap might soon be seen as not very important to many miners and nodes, resulting in some miners in some situations eventually mining some bigger blocks if they find it to have a positive expected return even when taking into account the elevated orphan risk.

Also, if the devs ever turned out to be wrong about something and a parameter did require changing, people wouldn't have to download and verify a new client each time.

Finally, users could hard fork more conveniently whenever they wanted to (provided enough people went along), with Core and/or other experts merely giving *verbal guidance* on which settings to choose. Miners could also coordinate with each other to, for example, plan a "flag day" for a change in the consensus. Miners should be greater experts in mining than the devs, so they should make the decisions for their own unique business profit/loss situation and dynamically in response to events.

Why not just have all sorts of proposed changes (BIPs) "waiting in the wings" in the client code, and instead of of downloading a new client when Core says "Go!" people just change the settings to include those changes when Core (or some other experts they trust) give the go-ahead? Those changes could even include XT-like "flag days" that would activate later. Core would have a user-selectable menu with BIP101, BIP102, etc. to choose from. If the user activates BIP101 the clock starts ticking toward the flag day, and if they disable it before the flag day the clock stops ticking.
 
Last edited:

Peter R

Well-Known Member
Aug 28, 2015
1,398
5,595
I had some similar thoughts on my Christmas walk this afternoon. With all the people now running Bitcoin Unlimited, I bet some of them are going to play with the settings:

1. They'll increase their block size limit at see for themselves that nothing bad happens. They stay perfectly in consensus.

2. They'll reduce their block size limit to purposely try to fork themselves off the network. They'll see that they limp along with consensus anyways, as the "excessive block logic" kicks in.

3. They'll turn off the excessive block logic, fork themselves, and then realize that their node just sorta goes quiet. It never gets new blocks and it's pretty clear that "something's not right."

In all cases, the user will come to the conclusion that this was "no big deal." They didn't crash the network and they didn't lose coins. In fact, it was actually hard to fall out of consensus!

As more and more people experience this for themselves, users will be more nonchalant about increasing their personal block size limit. Eventually, it will be clear that the effective block size limit is > 1 MB and a brave miner will produce a larger block.

On the same note, Coinbase and Bitpay could announce that their nodes will accept blocks greater than 1 MB TODAY. We don't need to wait for BIP101 to decide to accept large blocks. Bitcoin Unlimited has now empirically proven that!!
 

solex

Moderator
Staff member
Aug 22, 2015
1,558
4,693
ZB, please be careful with these thought experiments. Maybe what you have described should be called "Bitcoin Absolutely Consensus"

Apart from the block size limit none of Satoshi's other parameter settings "by proclamation" need to be adjusted before Bitcoin can take over as the new global reserve currency and payments system of the 21st Century and beyond.

So, talk about making any of them flexible, even if it is perfectly safe and proves an academic point, is only opening up an attack vector from the Core-come-hell-or-high-water crowd.
 
Last edited:
  • Like
Reactions: majamalu

Zangelbert Bingledack

Well-Known Member
Aug 29, 2015
1,485
5,585
@solex

I used to think so, and I will be careful in terms of my phrasing, but now I see that refusing to touch this leaves open the strategy of the other side forcing the issue in this way. They can always say, "What's next, change the inflation schedule?" and people will be swayed by it until they understand completely that it is NOT the Word of Satoshi nor the Code of Core that allows us to count on these parameters remaining unchanged, but instead the market and economic rationality. Without understanding this, people can be endlessly misled.

/u/smartfbrankings and Greg are doing it right, tactically. They're forcing greater understanding of something that takes a careful argument to understand, which favors the incumbent (them). I don't think this strategy can be defeated by avoiding the issue, because they will milk this totally false fear for all it's worth.

I think it's time for people to understand where consensus comes from. As market cap increases and attacks get more sophisticated, investors and miners/nodes cannot remain at the same level of sophistication as they had in 2012.

Moreover, when the point is made well and made swiftly (probably requires good visual aids), it makes Core4Life folks look silly and economically naive.

At this point I welcome such misrepresentational attacks, because they allow the issue to be discussed and powerful statements to be made about the weakness of Core's stance that will be very hard for them to counter. These views (if analysis of a thought experiment can be called a "view") are mine alone, and I will withdraw from my BU membership position if the other members prefer, but I think if even something this basic cannot spoken of candidly there is little hope for much else in Bitcoin to advance.
 
Last edited:
  • Like
Reactions: lunar and Bagatell

solex

Moderator
Staff member
Aug 22, 2015
1,558
4,693
I hear you, and ask that you do not countenance the idea of withdrawing in order to take the fight to a different level. In which case, do continue as you see best!

I am really only thinking of the short-term tactical goal of getting BU on as many nodes as possible, and just hoping that it is not necessary to clean out the Augean Stables of the bct REKT thread (and similar places) as a pre-requisite.
 

Zangelbert Bingledack

Well-Known Member
Aug 29, 2015
1,485
5,585
@solex

Yeah I do get that it's one of those things that could be a short-term liability even if a long-term win. I will try to tread carefully on this for sure.
 

theZerg

Moderator
Staff member
Aug 28, 2015
1,012
2,327
I ask myself "how is BU going to succeed against the superior numbers (of devs) of Core?" And the answer is because we have a strong theoretic and philosophic basis.

On the theory side, Peter R's Fee Market and my 1-txn paper explain the network's natural behaviorial mechanisms.

On the philosophy side, Bitcoin Unlimited is consistent with itself at different layers of abstraction. As you described, it recognises that users can and will do whatever is within their power to do given sufficient incentive. This has always been what "Unlimited" meant to me. "Unlimited" ability to do what you are allowed to do. Therefore we do not try to hide a power at the GUI level that is accorded to a node at the RPC or protocol level.


Why is this important? It essentially renders vast quantities of topics (and subsequent development) unimportant to discuss -- topics that are often the subject of endless bike-shedding. For example, a large amount of the 2 "scaling" conferences and months of block size quibbling (2-4-8, no just 8, no BIP101, no BIP100) discussion are rendered unnecessary by the observation that the network has a natural limit, that nodes can "vote" their hash power by simply a particular block size (theory), and that we should TRUST the users at some date in the future to determine for themselves what the best size is (philosophy).

I have absolutely no doubt that if an option was created to increase the coinbase reward, it will not be used because these blocks would be orphaned.

At the same time, I will never associate my name with such an option (just for the sake of philosophical completeness) because fallible humans will without a doubt assume that such an option implies an endorsement of the use of it.

Just like today everyone assumes that BU is "pro" blocksize increase. Its not. It advocates that the blocksize is what the users WANT it to be. Anyone who understands BU and is still against it is tacitly agreeing that Bitcoin should actually be a centralized network which I find ironic since they often support 1MB blocks due to a belief in decentralization.
 
Last edited:

Zangelbert Bingledack

Well-Known Member
Aug 29, 2015
1,485
5,585
Yep, I feel the same way on both points:

1) BU has the advantage of deep theoretical and philosophical/economic understanding that is exactly where Core is lacking. Hopefully this will attract more developers, too.

2) The endpoint of the Bitcoin experiment was always going to be that everything that could be made easily user-adjustable would be (someone will undoubtedly someday release a "troll patch" that lets you mess with the coin issuance schedule). There is no point in Core trying to stem that tide, other than to avoid user confusion in the early days when miners and nodes didn't need to be specialists so much, and didn't need to take matters into their own hands.

It's similar to centralized checkpoints being offered by Core as guidance - it's an attack vector for governments, corporations, and other people looking to tamper with Bitcoin. Arguably that is exactly what has started to happen, but ironically or Taoistically this attack sows the seed of its opposite: it becomes the impetus for miners to wake from their slumber and take control, or else lose money.

I believe the day will soon come when it will look foolish not to give the user options to set at least some of the consensus parameters. It'd be a bit like giving a racecar driver a car that was on rails. There are ways to get off the rails and drive freely, but they are not user friendly. And it's true driving off the rails could cause you harm, but it's a job just like mining is. No one suggests NASCAR drivers must be kept within rails on the track by some inconvenient measure so that they don't hurt themselves. The steering wheel could easily kill the driver, but they are entrusted with it because just going around on rails is very limiting. Miners should be entrusted with the tools necessary to do their job fully as well.
 

theZerg

Moderator
Staff member
Aug 28, 2015
1,012
2,327
And not just miners. I envision a future network where full nodes fulfil the role configured or best suited to them. The reality today is an asymmetric traffic pattern running on a symmetric P2P network. The Bitcoin Relay Network is a quick and bad (in the security sense) solution to this asymmetry. What if nodes migrated to a position in the network which best utilized their strengths? https://forum.bitcoin.com/ama-ask-me-anything/i-m-gavin-andresen-bitcoin-geek-ask-me-anything-t1990-20.html?sid=b87904daa7c32e3d268e3fe0c1dc90e7&sid=b87904daa7c32e3d268e3fe0c1dc90e7#p5008
 

Members online