Bitcoin Hard Forks May Become Safer With User Voting

Up to this point, the main way to judge support for a change to Bitcoin’s consensus rules has been miner voting. Miners are able to broadcast support for
Up to this point, the main way to judge support for a change to Bitcoin’s consensus rules has been miner voting. Miners are able to broadcast support for
Technical - Bitcoin Hard Forks May Become Safer With User Voting

Up to this point, the main way to judge support for a change to Bitcoin’s consensus rules has been miner voting. Miners are able to broadcast support for changes to the Bitcoin protocol via coinbase transactions, and these messages of support are tabulated in an effort to judge the level of support among those who are theoretically incentivized to support the network.

On a recent episode of The Crypto Show, Bitcoin Core contributor Peter Todd discussed the idea of allowing users to vote (or signal support) for hard forks, which is a concept that was heavily discussed at the Satoshi Roundtable in late February. During the interview, Todd summarized why having users vote for changes to Bitcoin’s consensus rules would be an improvement over miner voting:

“Something like coin voting ‒ that could give you much better feedback on what people actually want. Right now, we don’t really have a good way of getting feedback.”

This improved feedback would make hard forks safer because it would give a clearer indication of the level of support for the fork before it is activated. A hard fork without near universal support from users has the potential to create two competing Bitcoin blockchains. Although miner voting is currently available, those votes don’t indicate whether the economic majority will also go along with changes agreed upon by the mining community.

How Can Bitcoin Users Vote for Hard Forks?

Todd noted that this is especially useful during hard forks. Todd explained the basics of how this voting would work:

“As part of the hard fork to increase the block size, part of the conditions for actually triggering this hard fork (in the code to actually say this software is now active) would be that you go vote with your bitcoins.”

Todd also noted that Bitcoin transactions are really nothing more than cryptographically signed messages broadcast on the network. These messages essentially tell the rest of the network to transfer ownership of a certain amount of bitcoins from one address to another. Todd explained that other vote-related messages could also be sent out to the network:

“What we talk about when we say voting is to say, as part of that message, you could either say on top of that, ‘This transaction that gives those bitcoins to someone else ‒ I also happen to support this change.’ Treat that as a vote for the change, or you could go and vote entirely separately, which isn’t even in a transaction.”

How Would This Work in Practice?

Todd explained that the simplest implementation of user voting would likely be a flag in Bitcoin wallets that asks users whether they support a potential change to Bitcoin’s consensus rules. In this way, users would have the option to vote every time they use Bitcoin to send value over the Internet.

Exactly how the voting would work is still up for debate. Some believe that each user should be able to flag their transactions with a vote on every transaction, while others believe this would be something better handled by wallet developers. This part of the discussion gets into the debate over whether Bitcoin should operate as a democracy or a technocracy. Todd indicated that he leaned toward allowing users to handle their own votes, but he added, “It’s not a technical question; it’s a political question.”

Using Bitcoin Days Destroyed

Of course, some issues could arise by simply allowing users to vote on changes to Bitcoin’s consensus rules with their bitcoins. For example, one user could vote many times by simply exchanging the same small amount of bitcoins between his or her own addresses. Todd compared this type of voting to counting votes in an election based on how many times people were able to visit the polls on Election Day. He added, “You want something that’s more like one bitcoin equals one vote.”

To ensure that vote tallies are an accurate depiction of what the overall community believes, it would make sense to use Bitcoin Days Destroyed. This metric multiplies the value of a Bitcoin transaction by the number of days since those bitcoins were last moved. Todd noted:

“That means, essentially, everyone’s vote is counted equally in proportion to how many bitcoins they have and how long they’ve held them.”

Using Bitcoin Days Destroyed for votes would create a system somewhat similar to shareholder voting. Todd explained, “If you hold more bitcoins than I do, you get a bigger proportion of the vote, which makes a lot of sense. You’re more invested in the system.”

Problems With Coin Voting Still Exist

Coin voting is not without its own issues. The key problem with this system for gauging consensus is that it could be difficult to inform the public on how they’re supposed to cast their votes or even that a vote is taking place. Having said that, Todd added that the fact a hard fork would affect everyone on the network could make more people inclined to vote on potential changes to Bitcoin’s consensus rules.

Miner voting is the best option for gauging consensus on protocol changes right now, but coin voting may become an even more powerful indicator of fork support in the not-too-distant future.

Kyle Torpey is a freelance journalist who has been following Bitcoin since 2011. His work has been featured on VICE Motherboard, Business Insider, NASDAQ, RT’s Keiser Report and many other media outlets. You can follow @kyletorpey on Twitter.