The devil is in the details

2 581
Avatar for EmilOldenburg
4 years ago

In the western world, we say that “The devil is in the details”. And when it comes to the Infrastructure Funding Proposal, the details are super important.

Miner initiative or not?

ABC is now implementing the plan “because it’s been requested”. By claiming that they can pretend like they aren’t driving it, and are just doing what the miners want. But this is something that ABC absolutely want. Saying "I'm just doing a job", is dishonest.

Within the bitcoin protocol, miners have the power to do any soft fork they like, as long as they have majority hashrate. Let's imagine that the majority of the mining pools would decide to soft fork BCH and require everyone to include an emoji of badger in the coinbase. We can call it the badger rule, or the badger cartel. That would be fully allowed; it would not be a protocol change or a consensus rule. Mining pools would simply choose not to cooperate with miners not adding the badger emoji by choosing not to build blocks on top of non-compliant blocks.

Bitcoin Cash and Bitcoin (Core) does not have a standard or a spec, instead there is a reference client. Because of this, any change in the reference client may be considered a protocol change since exchanges and wallet services run it. Deviating from the reference client could cause exchanges and wallet services to end up on a different chain in case of a network split.

In the case of the badger rule, if the reference client implements it and exchanges and wallet services runs the reference client; we now in practice have a new consensus rule. Even if the majority hashrate have decided to stop enforcing the badger rule, exchanges would still enforce it and even if the non-badger chain gains longer Proof of Work. This would lead to exchanges and wallet services all need to emergency patch their full node clients to follow the longer PoW chain. This process would be messy and some exchanges or services would not be able to pull that off quick enough not to lose funds. Because of this, miners would be disincentivized to stop enforcing the badger rule in the first place, and the safest way to get rid of it would be by hard forking at a flag date.

If we want to make the badger rule temporary, say 6 months, then the mining pools should do that themselves. There is no need for exchanges and wallets to enforce it.

By adding the IFP rules in the default ABC node, ABC is guaranteeing that it won’t be possible to unwind the plan in case it does not have the intended effect. It also alters the official rules and standards.

What is also very shady is that ABC added an opt-out flag to disable the mining fund rule enforcement, but it will still vote for the IFP. Any mining pool running ABC 0.21 will vote to activate the IFP. This is a detail that can't be overlooked as a mistake.

A note on the game theory

The clever thing with this funding proposal is that we are mortgaging the PoW to fund development. We are taking a small hit on the difficulty to fund infrastructure and development, and the intended effect is to make BCH stronger as a cryptocurrency. If we do it right, the price will increase. This can only work if everyone goes along with it. We can’t make the contribution optional, because then the game theory won’t work, the difficulty won’t go down and the only effect it will have would be hashrate moving from participating pools to non-participating pools.

So what about pools that don’t want to contribute? They should be able to send coins to an OP_RETURN output, basically burning coins. The important part is that the block reward is lowered and the same for all miners. That way the net cost doesn’t change, it’s just the difficulty that goes down.

At least that is the theory. But it’s called game theory, not “game fact”. There is an old joke that goes “What happens when you put 10 economists in a room? You'll get 11 opinions.”. The crypto community would do itself a huge favour if people could be more humble and admit that most economic theories are just theories. We don’t know for sure if the IFP would have the intended effects or not, and we don’t know for sure that the doomsday theories opponents keeps yelling about would happen either. The IFP could have a great positive effect on BCH, or a negative one. It’s hard to say for sure.

We initially supported the idea of funding development via coinbase rewards because we believed it would have a big net positive effect on BCH. But it has to be implemented right, and have backing from the community. Done right, it could give BCH a big boost. Right now it’s not implemented right, and lacks community support.

Because nothing is certain, reversibility is important. The current plan lacks that. ABC also did not add any ability to burn coins for pools not wanting to participate, making contribution to funding mandatory.

Conflicts of interests

If this is not a mining pool supported initiative, and is driven and coded by the same people who would receive funding, it’s a big conflict of interests. Of course ABC is very willing to write the code that pay themselves and their friends. And by adding this in the reference client, it becomes a de facto consensus rule. By adding this as a consensus rule, backing out of it becomes so much harder. It also nullifies Amaury’s argument that “cartels are unstable”. When it’s a consensus rule run by miners, exchanges and wallet services, it’s not a cartel anymore. And it’s not unstable. It’s cemented and fortified. Because of the network upgrades BCH undergoes every 6 months and the poison pill that activates on clients that doesn't upgrade, ABC can be certain that everyone will upgrade to the latest client that enforces the IFP. This is a clear moral hazard.

Jonald just wrote a post where he admitted that he was involved in writing the proposal. I can confirm that is the case. Jonald wrote the draft and was very active in driving this. I'm glad he admits his involvement now, since it looks very bad to write a proposal, then pretend like he wasn't involved and starts pushing for it. When it later turns out he will be one of the beneficiaries of the IFP, it makes it look even worse.

If we want to avoid conflict of interests, the mining pools need to do this themselves. ABC can’t be involved in writing the code that rewards them. And the people receiving the money can't be involved in writing and lobbying for the proposal either.

It’s also worth noticing that the projects on the whitelist that may receive funding doesn’t have any competitors to ABC with mining ambition. Both Bitcoin Unlimited and Bitcoin Verde have the ambition to mine blocks with their nodes.

Bottom line

It would be very different if this was just the mining pools (with a backing of majority hashrate) that decides to fund development this way. But the mining pools didn't write the first draft of the proposal, they didn't write the code, they won't be able to burn coins instead of donating, and they wouldn't be the only ones enforcing it.

With all these things considered, I think the whole idea needs to be scrapped completely. I don't think it will be possible to do this right, and the community lacks the trust for the idea to be feasible. The code that has been written also deviates significantly from what we were willing to accept when the idea was floated.

Emil Oldenburg
CTO, Bitcoin.com

0
$ 8.82
$ 5.00 from @PeterRizun
$ 1.00 from @Jake
$ 1.00 from @Bagatell
+ 8
Avatar for EmilOldenburg
4 years ago

Comments

Jonald also mentioned in his article that ABC added his project to the white-list without taking his permission

$ 0.00
4 years ago

A lot is to be said about this (these?) proposals. I agree that that thing should be scrapped, because it goes against the "permissionlessness" that defines Bitcoin Cash.

In the end, it is all about politics (and vengeance is best eaten cold...) https://www.youtube.com/watch?v=TRhFrfqwznM&t=1120

$ 0.00
4 years ago