The infrastructure funding plan released by Jiang Zhuoer is potentially great news for Bitcoin Cash but also has come with a few points of contention as well as some misunderstandings, both of which I hope to clear up here.
First, some background. Prominent Chinese mining leaders have been in favor of funding developers from coinbase rewards almost since the beginning of Bitcoin Cash. As Amaury Sechet explained in his article, Bitcoin ABC (the lead implementation of Bitcoin Cash) could not have unilaterally decided to fund themselves as it would have been political suicide, even though this had been requested before.
Instead, the formal announcement and proposal had to come from the mining interests of the ecosystem to avoid a clear conflict of interest. And that is what finally happened. However, this is not to say there hasn’t been at least some (limited) communication in recent weeks about this idea between the Chinese miners and a few Bitcoin Cash influencers, including myself.
I was aware that this announcement would come before the general public knew about it, and I support it. I will explain all the reasons for that, but I also want to communicate the fact that, in the spirit of extreme ownership, I take responsibility for “pushing” and encouraging this. It is because of that, that I don’t take it lightly when you, my cherished colleagues, have any issues with what is being proposed. Let’s dig in.
The BCH miners (whose names are on the proposal) are not people who will act unilaterally and force protocol changes on our community. Therefore the announcement is, strictly speaking, only a proposal. If we all hated it, we could theoretically reject it.
But it is also no secret that Amaury (lead developer of Bitcoin ABC) has been explaining for a long time that we could implement our roadmap faster with more engineers. He also explained, in a speech, why infrastructure funding is so important, and I generally agree.
There are also a number of other positive aspects of the proposal that have merit also. So, on the whole, if the miners want it, if the lead dev team wants it, and if there are additional reasons to support it, then we should seriously consider accepting and implementing the proposal.
If a portion of coinbase rewards are diverted from miners and given to developers, should this be viewed as a tax on miners? This is a question that can be looked at from many different angles.
From the perspective of miners: whenever you remove rewards from the system, the immediate effect is a drop in revenue and profits. But then something interesting happens: The weakest miners will drop off the network, which slows the blocks, which then lowers the difficulty, leading to more blocks found for the remaining miners. This happens naturally in the long run with each halvening, leading to a fee-based security model.
Things become slightly more complicated in the multi-chain scenario, and this seems to be not well understood. The reduced revenue from BCH rewards causes miners to switch to BTC, which increases BTC difficulty and reduces BCH difficulty. For switch-miners or BTC miners, the reduction in revenue is tiny compared to the overall hashrate. For the BCH-only miner, he will find more blocks and achieve essentially the same profitability, even without switch mining. So, this is a major benefit for the BCH-only miner.
There have been different arguments from different people on why it’s not a tax to begin with, but even if you believe it is, it is nearly fully absorbed by the greater SHA-256 ecosystem, as mentioned in the proposal.
A few people have expressed fear and concern that this plan might turn BCH into a shitcoin. I’ll tell you why I think that’s an unwarranted fear, but let me speak to these genuine concerns.
Early on, in our short BCH history, some of the mining leaders shared the idea with me that they wanted to copy what DASH was doing and bake some dev funding into the protocol. And I really didn’t like that idea at all.
Now, why didn’t I like it? Two reasons. First, we are Bitcoin Cash, not DASH. We share an ethos that we should continue the Bitcoin project as peer-to-peer electronic cash for the world, and to that end, I don’t think we should monkey with the Bitcoin protocol and especially the Bitcoin economic incentive system too much.
Secondly, in the long run, I don’t see how corruption can be avoided in this model. The question of “who decides who to pay” is an evergreen conundrum. (DASH may think they solved it with masternode voting but that’s out of the scope of this article).
There’s a few reasons. The biggest thing for me, the lynchpin, is that this is a 6-month plan. As I mentioned, I don’t believe dev funding via the protocol is a good idea in the long run, or on a permanent basis. A lot less can go wrong in a period of 6 months. It can be viewed as an experiment: let’s exchange a bit of hash for some money that we can inject into the ecosystem. (It especially makes sense given our deep reorg protection plus the loyalty of the SHA-256 miners.)
I think one of the emerging characteristics of our community is our practicality. And I give credit to Amaury here...things like fixing the DAA, adding reorg protection to get us through the hashwar, pushing for cashaddr, etc. I view this plan as being in the same vein: extremely practical in taking advantage of the lopsided hashrate situation, and solving one of our biggest problems almost for free.
In addition, it is no longer 2017. It is 2020 and we have to acknowledge this is a new time and a different context. We are no longer trying to be “Bitcoin” or “the real Bitcoin”. We are Bitcoin Cash. What am I talking about? Well, for starters we are a 3-4% chain and there’s 5000 coins out there. As Jiang Zhuoer said, we are too small. We need to get bigger before we worry about things like “decentralization” and “purity of protocol”. Another example of practical thinking.
We need to solve our funding issues and so far, everything else we’ve tried hasn’t gone great. What are the different ways to fund infrastructure?
One is the Blockstream model obviously. This is not necessarily a bad model if the company funding the protocol is actually interested in building the product you want (in our case, p2p cash). However, I don’t see anyone rushing to pay BCH $76M. A variation on this model is the “whale” model. I don’t see whales giving millions to BCH either, (although one modest hero did give plenty in the hashwar, he knows who he is.)
Another model is the “hodlers incentive” aka crowdsourcing donations. This works to a limited extent but probably not enough to seriously fund infrastructure. In general, it works better in the single chain scenario, and overall not that great on a 3% chain in a bear market.
Other attempts/ideas to fund infrastructure via mining haven’t worked. I’ve seen suggestions involving everything from hashrate voting to p2pool, to covenants, etc. No disrespect to the great developers who come up with those ideas, but the reality is that all of those things are too complicated to have a good chance of working in practice, especially in the near term.
That’s not my opinion, it's a fact. More than one team has tried to implement a miner based funding scheme and failed due to operational complexities. This is why Jiang is saying “No Debate” in his announcement. It’s time to cut the nonsense and just do what works. KEEP IT SIMPLE.
Also, doing it without orphaning will fail because the contributions from individual miners will be meager, and pools cannot do this at scale because they will quickly become uncompetitive.
At least one person has mentioned that they don’t actually believe Bitcoin Cash would stop at 6 months. They believe that once we take the dev money once, it would just keep repeating. This is a valid concern.
And of course, there is absolutely no guarantee that this won’t happen. As I always like to say. “This is crypto.” People can choose to run whatever code they want. This is one of the perils of hard-forking every 6 months. We need to KEEP making consistently good decisions about the direction of the protocol.
Driving off the main path and down a side street that includes infrastructure funding is not without the risk of temptation and corruption. If we choose to go down this road, we do so with the full knowledge of this. There is risk to go with the reward.
That said, I can give you 2 of my own strong opinions about this:
1. We absolutely, positively MUST include code in the node implementation that shuts off the donations after 6 months, so it is the default behavior of the software.
2. As far as I can see into the future at this time, we should not, as a community, decide to repeat the maneuver on the subsequent semester, if for no other reason than to avoid setting a bad precedent.
And also it is the miners responsibility to keep devs in check and balance the needs of the ecosystem.
This has been the biggest misunderstanding about the plan, and centers around the mysterious “Hong Kong corporation”. I happen to know that this corporation is in place as a simple matter of responsibly setting up a legal entity that can receive income. It is not there to lord over the Bitcoin Cash protocol, as many people have unfortunately speculated.
In fact, everything about managing and executing this plan falls to our community. The miners do not want to control or micromanage anything here. Everything we want in a plan: transparency, fairness, etc is in our hands.
In practice, this will be implemented in a version of Bitcoin ABC as part of the next semi-annual protocol upgrade. (Because it is happening at the same time as other protocol changes, it becomes a de-facto hard-fork rather than a soft-fork as has been reported in the media.)
I should point out that the proposal mentions this is not a protocol change, is not entirely accurate. Although it may not be a permanent change, it affects the protocol in the short term. But that is a good thing. This handles the issue of the unknown miners.
Some have expressed concern that they don’t like this just being stuffed into the ABC code, but there doesn’t seem to be a better way to do it. Leaving the orphaning up to the miners as a separate process would be a terrible idea, because it would open the door to other kinds of orphaning.
If the implementation and execution is up to us, how exactly should we roll this out? Amaury Sechet had one idea in his article, and others have made additional suggestions on how this could be done. The aim is to provide both fairness in terms of who controls the money, as well as accountability/visibility for the entire community.
One point is that we will have to decide soon how this should be executed, with the code cut-off rapidly approaching.
I’m excited to see how the next steps of this development will play out, and overall I remain optimistic and confident that encouraging this plan is a good move for Bitcoin Cash. In our journey, we won’t always make the right moves, but we’ll always keep moving forward and (hopefully) keep learning from our mistakes and correcting course.
I understand that some in our community may still have reservations about this bold move, to which I would say this: Ideology and principles are important, but it may be even more important to stubbornly focus on our goal of onboarding 100M users onto BCH. In chess, sometimes you are forced to play a move that doesn't fit your style, but it is what the position calls for.
With all of the recent burgeoning adoption and technical improvements to Bitcoin Cash, the infrastructure plan can help us powerfully continue in 2020 in our mission to bring peer-to-peer electronic cash to the world.