Hard fork it

Avatar for ZeusOnPills
4 years ago

There is a plan to create a fund for BCH implementation developers (eg Bitcoin ABC and Bitcoin Unlimited) which will be funded by donating 12.5% of the coinbase (i.e. the BCH minted in each mined block) to it, as well as orphaning blocks from miners that refuse to donate (i.e. refusing to build upon these blocks, building upon a previous block and effectively invalidating the non-donating one). Four mining pools (at least?) are currently in support of this plan. It is also currently supported by the main developer of Bitcoin ABC (the first node implementation of BCH) and the developer of Electron Cash (the amazing wallet implementing CashFusion and CashShuffle). On reddit, the community is split: some think it is the best thing since sliced bread and Dash, others think it is a very ironic joke.

I will start with a tl;dr and I will then detail my thoughts on the matter.

tl;dr: The miners have every right to do this 51% attack on BCH but it will probably end up being really bad.

Sponsors of ZeusOnPills
empty
empty
empty

This is technically a 51% attack

A group of miners has declared that they intend to orphan perfectly valid, according to the protocol, blocks, in order to affect the flow of coins. Technically, this is a 51% attack. One can argue that 51% "attacks" are not necessarily bad, and they would probably be right. But this one is ambiguous at best and bad at worst.

There are legitimate reasons for orphaning valid blocks

Recently miners colluded to 51% "attack" the BCH network and revert valid transactions made by a thief (https://www.coindesk.com/bitcoin-cash-miners-undo-attackers-transactions-with-51-attack). Most people will consider this a legitimate application of a miner's power to orphan perfectly valid blocks, because it was done in order to revert theft.

But even for something so obviously right, many people considered what the miners did to be a bad idea. The arguments ranged from slippery slope arguments ("What if the miners start doing this to revert transactions for other things that are not always universally considered crimes, like selling drugs to a 17 year old, or funding a guerilla force that goes against some government") to arguments related to what "cash" is supposed to be and whether " smart cash" which is can magically disappear from someone's pocket is better than "dumb" cash which is just what we had for millenia and doesn't have an opinion about being stolen from someone.

Then there is Avalanche, a system proposed to make zero-confirmation transactions safe, which is based on the same premise: Miners collude to orphan perfectly valid (by the rules) blocks if these blocks try to validate a double spend. Once more, even for such an obviously useful and rightful case, people are reacting against it. This time I cannot relay their arguments to you because I don't really understand them.

If it is so controversial for miners to collude in order to revert or prevent actual theft, imagine how controversial it is for miners to collude not in order to prevent damage but in order to force people to donate to some cause, whether the cause is good or not.

It is controversial for a reason

Anyone saying that this is an insignificant experiment is lying, either to themselves or to everyone else. It is a very bold move, even supporters of it recognize it as an important turning point for BCH. "Miners finally awakening" they say.

Does anyone remember why people were pissed at SegWit and soft-forks in general? It was because you could not avoid them.

Suppose I am a miner, and I love BCH but I think that this force-donation plan will either cause a catastrophe, or it will set a catastrophic precedent about what miners are supposed to do. Well I have an option: I can hard fork away from it. Or can I??

I can't. You see, the blocks that contain the donations, are valid blocks according to the old rules, so I have no way to refuse to build upon them and I can't even detect them as the forced-donation plan could be set up in such a way that the donation doesn't need to come from the coinbase. The implementers of the plan could force miners to mine blocks only if they send at least X amount of BCH to the fund's address (from any address they own, not necessarily from the coinbase).

Hell, even if I do some other change to my node that makes me incompatible with the current chain (like changing the magic number of my blocks) so that I forcefully fork myself away from the "donating" blockchain, the colluding miners could easily come to my new chain and enforce their soft-fork there as well. Once more, I can't really escape it, because they are 51% attacking the chain when they chose to invalidate perfectly valid blocks, and there is, and technically cannot be, any rule that makes their fund-donating blocks invalid.

That's why soft-forks suck. That's one of the reasons why we do hard-forks in BCH all this time, because we don't want new rules and features to be imposed upon anyone. We want people to be able to refuse to upgrade, and stay with their old rules and features. Religiously following this devotion to hard-forks will help us avoid another SegWit and it will show that we do not accept a majority of miners on the chain forcing their will upon the minory. The rules for a miner change only when they decide to follow the new rules. And we let the market decide which side of the fork it wants to follow.

Just hard fork it then

Lets change the rules so that the protocol itself demands payment to the developer fund. That way whoever doesn't want to donate can fork off and follow the current chain. The problem with that is that the fork that forces donations, can hardly claim to be Bitcoin anymore. Most people don't even believe BCH is Bitcoin, imagine how hard it will be to convince anyone if you alter the protocol that much.

The whole soft-fork for 6 months instead of owning up to it and doing a hard fork sounds like some miners and developers trying to get their way without jeopardising BCH's bitcoin-ness. But we all know that soft-forks are even worse, we've been saying that since the creation of BCH. So let's stop pretending that this somehow doesn't alter the properties of the coin.

And it is fine to alter the properties of the coin in ways that align with what Bitcoin is supposed to be. Avalanche is trying to fix a technical problem in Bitcoin: the fact that the first-seen rule, is not really a rule (but most of us would love it to be as it enabled secure zero-confirmation transactions). But forcing other miners to give money to a committee that will fund the developement of the coin?

Developement is important

Other things are also important. Chain security is important, and pushing non donating miners away is bad for it. Marketing is important so why don't we make a fund for advertising BCH? Privacy is important, lets make another fund to develop CashFusion further. Making Monero work more efficiently may actually be even more important, make a fund. According to some, maybe DDoSing Blockstream's servers is important, #fundtheddos. In fact all of the above are probably way too important to devote only 12.5% of the coinbase. Lets force donations of 30% to make things go faster.

12.5%

I don't know when BCH went from "1MB is just an arbitrary limit, you should be allowed to mine bigger blocks and let the market decide what's the right size" to "Not donating at least 12.5% of your coinbase should orphan your block and we will not even let you set a different limit because we'll do it as a soft-fork". Stalin's six month plan.

When did we start trusting people to come up with arbitrary numbers that will alter the rules of the network? It would be nice if we could get rid of the democracy in mining where 51% of the miners get to decide what the other 49% of the miners ought to donate.

No word about China?

I avoided talking about this one till now because it's a cheap shot. To add insult to injury the fund will be managed by some Chinese company. I don't know if giving control of the fund to some Chinese company is worse than the suggestion of the main developer of ABC to give control of the fund to himself and some other (anonymous as far as I know) developers (which while I trust to not run away with the funds but I do not trust enough to know how to protect themselves from a triple letter agency knocking on their door to take the funds).

If you are going to do this, do it as hard fork and do it with a pre-agreed list of recipients to send funds to (which will contain different development teams) in pre-agreed ratios between them. Oh, and with the 6-month duration also hardcoded in the fork upgrade.

(I would suggest to let the miners decide the ratios in each block but that would probably end up with a lot of under the table payments until the system would collapse)

It's only for 6 months

I could just say "Nothing is more permanent than the temporary" but it's too cliche. Still, I doubt anyone who thinks this is a bad idea is somehow feeling reassured by a promise to end it in 6 months. Anyone who is against this plan would be equally against it whether it's for 1 day or 10 years. The problem is in principle, not in magnitude. You could argue that if the tax was 0.01% it would be practically non-existent but the problem in principle would be exactly the same. Although a longer duration could increase the chances for the system to become corrupt in the distribution of the funds.

This is needed to avoid the tragedy of the commons

This implies that development is not fast enough. "Fast enough" according to who? Open source projects like Linux have undeniably progressed. Did they progress fast enough? I don't know, that's very subjective. It seems to me that in terms of scalability we are quite ahead. If anything, we need more users, so for me, a fund for marketing the coin would be actually more useful but it would also be an equally bad idea for the reasons I mentioned above.

Sponsors of ZeusOnPills
empty
empty
empty

I'm not sure how to end this article. I guess I will honestly wish the miners best of luck, whatever their decision is. I hope they can make this a better currency for all of us. If they think that funding for development is right now SO important that they are willing to introduce things that go so much against the spirit of BCH (like supporting soft-forks and reorganizing the chain for victim-less crimes) then they should go ahead with it.

Please excuse any typos, I'll go over it again later if I find some time.

1
$ 0.00
Avatar for ZeusOnPills
4 years ago

Comments

Turns out the blessed number chosen was 8%, the (ABC) developer took your advice and routed it to himself (and unknown friends) and eliminated the 6-month sunset so you can't call it "Stalin's 6 month plan" anymore. Sounds good? :-D :-D :-D

Thanks for your article, turned out to be timeless.

$ 0.00
User's avatar btcfork
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

Haha yeah ABC definitely addressed all my issues. :-D

$ 0.00
4 years ago

Great writing

$ 0.00
4 years ago

Great and to ther poin article

$ 0.00
4 years ago

Great and to the point knowledge.

$ 0.02
4 years ago

Thanks a lot for this writeup and your opinion. I was out of the loop for a couple of days and then this bomb drops. You got me up to speed.

$ 0.02
4 years ago

I'm glad you found it useful.

You should also read the articles by Amaury and Jonald: https://read.cash/@deadalnix/on-the-infrastructure-funding-plan-for-bitcoin-cash-bd372a10 and https://read.cash/@jonald_fyookball/little-known-but-important-facts-about-the-mining-plan-a1f1fe13 to form a better picture about what is going on and why some people seem to like this plan.

Jonald seems to focus on the fact that it will be only for 6 months which is probably not enough time for the fund to be corrupted and for a "miner - fund manager complex" (as I would call it) to appear. I think that corruption is a secondary issue. The primary issue is that it's a soft-fork that we BCH miners cannot get away from. The whole, "oh you can mine another coin for six months if you don't want to pay", doesn't seem like a solution as Peter Rizun says here: https://old.reddit.com/r/btc/comments/esebco/infrastructure_funding_plan_for_bitcoin_cash_by/ff9pzov/ (you'll be still paying up something even if you move to another coin)

I think they can articulate their arguments better than I can for them so it's better if you read it from them.

$ 0.50
4 years ago

If you are going to do this, do it as hard fork and do it with a pre-agreed list of recipients to send funds to (which will contain different development teams) in pre-agreed ratios between them. Oh, and with the 6-month duration also hardcoded in the fork upgrade.

you pretty much nailed it! wouldn't change a word

$ 0.02
4 years ago

You say the situation is not very bad for BCH and that we are a head of many others but Amaury doesn't share this view with you and probably he is the one that was complaingn about not getting enough funds. Maybe you can try talking to him on Telegram to calm him down but you will probably get banned or mocked by his gang.

$ 0.02
4 years ago

I am not 100% sure if Amaury is complaining that we don't currently scale well. We obviously scale better than BTC does, so I'll be worried about scalability when BCH replaces BTC in use.

Amaury was complaining about not having enough developers to handle catastrophic bugs. His point was that if something goes really bad, even if the big miners pay up developers to fix the mess, those developers will not be experienced enough to do that.

I am not convinced that it would be such a catastrophe, I feel like with all the new implementations floating around, miners would be able to switch to one that works and doesn't have the catastrophic bug, but who knows. As I said above, development is important. It is not the only important thing though and I still don't think we should be forcing miners to prevent that potential catastrophe.

$ 5.00
4 years ago

Many thanks for the donations, especially that big one! That was crazy!

$ 0.00
4 years ago

This is an incredible write up. My thoughts exactly. This is all on principle. And it diverts so much from the original idea of Bitcoin. Once the damage is in we basically need to rewrite the white paper. And then what are we? Are we dash, are we litecoin, or are we zcash. We lose our identity.

$ 5.02
4 years ago

Thank you Hugobits88.

I do feel the same way. Making a soft fork really seems like trying to get things their way while also avoiding to say that this has seriously deviated from what Bitcoin is supposed to be. I will feel very uncomfortable describing to someone BCH as Bitcoin after implementing this for the same reason that I have trouble describing post-segwit BTC to someone as Bitcoin. Yeah ok both are the Bitcoin ledger but BTC has relaxed security checks (horrible idea btw from a game theory perspective: https://www.youtube.com/watch?v=VoFb3mcxluY) and BCH has opinionated miners who orphan perfectly valid blocks for moral and ethical reasons that don't have anything to do with the intented purpose described in the whitepaper.

$ 0.00
4 years ago