Alternative Infrastructure Funding Plan Proposal

8 214
Avatar for JustinBons
4 years ago

This Article was originally written on January 25th and posted on Medium. All of my future work will be simultaneously cross-posted to read.cash from now onwards.

The Infrastructure Funding Plan for Bitcoin Cash is a great idea. I have always been a long time advocate of self-funding mechanisms. Admittedly, I am surprised that we are now seeing such an up-swelling of support for this. I did not think that this was possible over Bitcoin Cash, considering the controversial nature of such a proposal.

I would first of all like to make it clear that I support the implementation of a self-funding mechanism in Bitcoin Cash. I just think that how this was initially proposed is flawed in its implementation, being that it is unnecessarily divisive considering that there is also a much better way to do this, which has been the way changes to the rules have also been made for Bitcoin in the past.

I would like to also add that I have the utmost of respect for the authors of this proposal, many of whom have been my personal heroes over the years. Which made it especially difficult for me to speak out against this, since I very much consider them to be my allies. I hope you can appreciate my principled approach to this and that I also just want what is best for Bitcoin Cash.

As a Fund Manager applying fundamental analysis I have to be objective and apply consistent principles to the evaluation of cryptocurrency. Having been an investor in Dash, Tezos and Decred since inception gives me a good understanding of self-funding mechanisms and experience in evaluating them. If Bitcoin Cash is going to continue to have a self-funding mechanism into the future, I would recommend that BCH adopts a similar governance structure to these protocols in regards to the process and mechanism of the distribution of funds.

Unfortunately, what is being proposed now has much more in common with the Zcash self-funding mechanism, which I have been an outspoken critic of for years. This is in part why I cannot support the current proposal, it would make me a hypocrite. I am not going to change my principled views just because this now might be implemented in Bitcoin Cash, if I did it would perfectly fit the definition of tribalism.

To explain the difference in classification, Dash, Tezos and Decred have a self funding mechanism with a decentralized voting mechanism and process. Zcash has a self funding mechanism with a centralized voting mechanism and process.

It is worth noting here that Zcash, as our only prominent precedent for this type of self-funding mechanism has recently extended their funding period, after initially promising it was strictly temporary. Showing us that this risk is also present with the current proposal over Bitcoin Cash. I would much rather use Dash, Tezos and Decred as our examples of how to do this right.

I do understand that practically speaking, decentralizing the voting mechanism over BCH is not possible from a technical point of view over the short term, even though I do think that this should be the stated goal as we go down this road, since this commitment helps to avoid lock-in and strengthens the social contract.

I also understand that further decentralizing the process of decision making does add certain inefficiencies. However, I would argue that the trade off here is worthwhile, considering that this has always been the case when adding more democratic processes to any governance mechanism.

What is wrong with the current proposal is that it unnecessarily centralizes the decision making process of how to distribute these funds within a centralized company controlled by a selected subset of miners, making this effectively a permissioned approach.

The danger here is that this further centralizes and entrenches power, giving this consortium an unfair advantage in implementation competition through leveraging the block reward at the exclusion of smaller players, effectively increasing the barrier to entry for effective implementation competition.

This creates perverse incentives, such as not wanting to surrender this advantage further down the road. In history and politics people generally do not willingly surrender their own power, it does happen but it should be considered an exception to the rule. Therefore it would be unwise to give away such power no matter how benign we might think our leaders are. We also have to account for future leaders when they inherit these mechanisms that can be potentially abused in order to increase the vulnerability to capture.

This vulnerability to capture is one of the largest governance vulnerabilities we need to be concerned with within BCH. Considering that BCH was in part born in response to BTC becoming captured, as its vision diverged. This is exactly why proper self funding mechanisms are so brilliant because they reduce the risk of capture by making developers less vulnerable to being bought out. However, in the way that this is currently being proposed it can have the opposite effect, due to it imbuing this consortium with an unfair advantage further entrenching their power by creating dependencies, lock in and perverted incentives.

To get some of the more sticky semantics out of the way, I would argue that the block reward of a cryptocurrency is like a type of voluntary tax, since it impoverishes all of the holders through inflation. Not entirely dissimilar to how a government might impoverish its population through inflation. The critical difference being that participation in the system is entirely voluntary and people can easily vote with their feet among alternatives.

We should not get stuck on the semantics of this word, it does not really matter what we call it, what does matter is that the distribution of the block reward does concern all of the participants of the network, especially all of the miners, which attaches certain duties and ethical responsibilities.

This is relevant due to the fact that the current proposal would exclude any miners that are not part of this consortium of their proportional vote in the distribution of these funds. Which currently represents at least 1/5 of miners, what is worse is that this consortium maintains its decision making power regardless of any future shifts in mining power. This is inherently unfair and can even be compared to a form of taxation without representation.

This is not about whether I trust these people or not, the principle here is that we are supposed to minimize trust as much as we can when it comes to the governance of the protocol itself. While at the same time finding compromise and equitable solutions in order to avoid further conflict and division.

The Short Term Solution:

We implement this change at the next hard fork, in order to avoid contention. Miners can simply put a message in the blocks they create, one block = one vote. We can measure this in the same way we did during the blocksize debates when the miner signaling was occurring for XT & Classic. Which means that everyone can see for themselves in a block explorer with charts exactly how the miners are voting. If miners abstain that is fine as well and we only count the total which did vote. The HK company can then distribute these funds over a set period such as per month or quarter, by counting the result of this onchain vote.

This way the entire ecosystem can track the votes and all of the transactions coming in and out of the HK company. This means that the entire process becomes completely transparent while effectively decentralizing the process of decision making when it comes to the distribution of these funds, this is also important in that sets a positive precedent for the future, making it easier to evolve this into a proper self-funding mechanism.

Under this proposal the HK company would also do basic vetting, making sure that the recipients of funding are legitimate. This critically avoids the tragedy of the commons and free riding problems that would otherwise occur, due to the possibility of miners attempting to send these funds back to themselves. Corruption is definitely still possible but it is significantly mitigated by having this HK company act as a intermediary for the time being. This is one of the advantages of having the self-funding mechanism itself still be centralized for now. Since it helps to avoid corruption and misappropriation problems that we have seen in other cryptocurrencies with fully decentralized self-funding mechanisms. The HK company is effectively acting as centralized oracle in order to facilitate the result and legitimacy of the onchain voting process.

What I am proposing is simply decentralizing the process of decision making when it comes to fund distribution, while keeping everything else the same from the initial proposal. This one relatively minor change solves many of the ethical and political problems thereby reducing contention allowing the entire community to move forward in a more unified fashion, by simply allowing the minority of miners to also have a vote. I do understand that the majority of miners could attempt to force this through in its current form but that would also trigger a response from many people to either leave or split, exercising their right to also vote with their feet. Taking a more parliamentary approach as I am suggesting instead of exercising direct majority rule would significantly reduce the contention of this proposal.

Allowing voting on the distribution of these funds to be proportional to hashing power and not limiting this to a permissioned subset of miners is the more fair, egalitarian and decentralized way to do this.

-Justin Bons

The next part of the article was written by Tobias Ruck to help explain this proposal from a technical perspective:

Jonald Fyookball wrote the following in his article on read.cash: “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.”

But this doesn’t mean we have to outright discard the idea of miner voting. In fact, miner voting has been the standard of how protocol upgrades have been activated in the past of Bitcoin. Even Pay-To-Script-Hash, which every wallet now supports (i.e. addresses that start with a ‘p’) has been voted on by miner vote, by putting “/P2SH/” into the coinbase transaction.

I think it would be a good idea to return to this historic precedent. Each miner can embed a certain string in the coinbase transaction, which represents a vote. After a certain period of time has passed, say every month, the money collected by the Hong Kong company will be distributed according to the votes of the miners.

We propose, to keep things simple, that this voting mechanism should just be a vote on certain, well-defined infrastructure developer groups. Voting on individual proposals would be too much of a burden for miners to decide on and add unnecessary friction.

This will allow the Bitcoin Cash community to have more confidence in the actions taken by the consortium, as the way funds are to be dispersed can be verified on the blockchain and compared to the audits released by the consortium.

-Tobias Ruck

1
$ 5.25
$ 5.00 from @btcfork
$ 0.25 from @Read.Cash
Avatar for JustinBons
4 years ago

Comments

Nice job ,i wish best for you

$ 0.00
4 years ago

As always nice to read your words, Justin. I think I'm your first subscriber :)

Given that the miner "consortium" which proposed the IFP, now called the "Miner Donation Plan", has published an update, I wonder if you have taken that update into account for this article? (Ed: ignore my question, I just saw this is ported from Medium from Jan 25)

Because the central company model seems to be off the table (unless you want to stand by it through this proposal).

I would suggest a modification to yours:

No need for a central company.

Miners can vote for their favorite dev teams through BMP or similar block voting, and all holders can donate VOLUNTARILY taking into account the proportions expressed by the miners through their votes.

Node clients could implement an OPTIONAL mechanism whereby mined blocks can auto-pay using coinbase output with certain percentage as directed by the votes of past mined blocks. Miners would have the option to enable or disable this if they don't agree.

Holder must be given better tools to voluntarily donate through any means possible. There could be a website (or several) tracking the current funding ratios, and anyone could send an amount of BCH (or any other currency really) there to be split up and forwarded in proportion to the dev teams of their choice.

Anyone here used Humble Bundle before when it still had sliders that let you adjust the amounts?

Kind of like that, but with crypto contributions.

An interface could make it easy to eliminate or even add, destinations for one's holder contribution on the fly.

I tried to describe what I envisage briefly in this thead:

https://twitter.com/btcfork/status/1223662160204771330

Haven't got around to writing it up as a post on read.cash yet, but maybe I will just so that it's clearer.

At the bottom layer are competing donation / crowdfunding sites which may take a tiny cut of donations just like Humble did to fund their site. (keeping that optional would probably endear such a site more than taking a mandatory small cut)


.

Final point:

Compelling miners to donate in proportion to some votes seems to be a bad idea to me. For the same reason that miners refused to use BIP135 voting to decide the Nov'18 upgrade.

We certainly do not want adversaries to suddenly vote to direct funds to Bitcoin Core or nChain. (note for readers: these are the main development organizations for BTC and BSV respectively)

That would end up as a massive own goal.

$ 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

You are both my first subscriber and can take partial credit or blame for me writing a continuation of my first article in order to address the new proposal by Jiang Zhouer. I have indeed dropped the need for a central company since the miners are willing to do it directly instead. I always did consider my first proposal to be a less then ideal compromise in order to achieve progress.

Very happy they have proposed to decentralize the voting process as I first suggested in my initial article, while taking some of these ideas even further.

I do also like the idea of creating more user friendly tools, I would love to see the types of graphs we had in the block size debate days when we where doing miner signalling. It was almost fun looking at all of the creative graphs and graphics people came up with.

I have addressed some of these changes in my second article on the subject, which as you suggested there was indeed a need for:

https://read.cash/@JustinBons/response-to-bch-miner-donation-plan-bb86049e

$ 0.00
4 years ago

I agree (and not taking any credit for your excellent posts!).

Signalling in the past provided decent information to the market. It was helpful.

I think since BCH forked its loyal miners (and some devs) became a bit too paranoid about it (see BIP135 which they refused to use during BCH/BSV split, and BMP, which they've refused to use for a long time, until now it seems they are having a reconsideration due to this dev funding debate).

Overall I look forward to seeing some miners use BMP.

Let's see what they can do with it. Having looked at it a bit, it seems very useful to capture the opinion of hashpower across all 3 major chains (BTC, BCH, BSV).

I had hoped this would happen earlier, but ok. I do hope that sites like CoinDance will quickly find ways to convey the information in friendlier terms than the BMP website which is a bit clunky.

Once miners (generally) discover the power of the signal, I think we will get better outcomes across the board.

$ 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

Hey Justin,

nice to see you publish your stuff here. It's a nice place.

I know the proposal has been reworked since you wrote the piece and your concerns are probably adressed by the "new version", but still I want to offer some wild thought:

Allowing voting on the distribution of these funds to be proportional to hashing power

shouldn't it rather be proportional to stake? Why do miners get to vote on infrastructure development fund distribution? Those who bear the cost should get to vote and that's the holders (who get less security for the same price). So voting on fund distribution should be by stake?

and not limiting this to a permissioned subset of miners is the more fair, egalitarian and decentralized way to do this.

not limiting this to miners is the more fair, egalitarian and decentralized way to do this?

$ 0.02
4 years ago

I am not against Proof of Stake, I am really not. I just think there is also value in BCH focusing on PoW due to its differentiation when compared to Ethereum, especially for when ETH goes to PoS. This is why I currently support adding this voting mechanism through PoW.

I am not against potentially taking a hybrid PoW/PoS approach with Avalanche in BCH but that would require a lot more developmental work. A chicken before the egg problem which is why I am supporting this idea now as a pragmatic and imperfect solution in order for BCH to remain competitive.

Some of my ideas have indeed been addressed by the "new version", while at the same time raising new concerns, I wrote another article on the subject as a continuation of this one:

https://read.cash/@JustinBons/response-to-bch-miner-donation-plan-bb86049e

$ 0.00
4 years ago

thanks for your reply.

just to be clear, I didn't suggest PoS for securing the chain, just for voting on the dev fund distribution.

$ 0.00
4 years ago
$ 1.00
4 years ago