Thursday, 20 December 2018

What is a "hash vote?" What isn't a "hash vote?"

TLDR: miners placing messages in blocks is not a "hash vote." A hash vote happens when miners choose to extend or not extend a chain.

http://bitcoin.com/bitcoin.pdf

They vote with their CPU power, expressing their acceptance of valid blocks by working on extending them and rejecting invalid blocks by refusing to work on them.

In Nakamoto Consensus, a hash vote occurs when miners choose to extend, or not extend, the tip of a blockchain.

If a miner agrees with the validity of a chain he extends it. If the miner does not agree with the validity of the chain, he does not extend it.

But what about signaling?

Signaling is when miners insert messages into the blocks they mine. Miners can signal for or against various features by indicating these preferences when blocks are mined.

Unlike a hash vote, these signals are totally non-binding. The miner has nothing at stake when he signals his preferences.

As a case in point consider a miner who signals for an increase in the block reward to 25BCH in perpetuity. There is no cost to the miner for declaring this preference. He is free to indicate that he would like more block rewards. Nothing bad happens to him for sharing his preference on that issue.

Now consider a miner who votes for this policy by mining a block that pays him 25BTC and extending that chain tip. This miner is almost surely losing all the money he invested in building that block and earning zero, because these blocks will almost surely be orphaned.

So we see the issue with signaling is that there is no penalty for signaling, and since miners have nothing at stake, they might signal one thing; but when it comes time to vote, they might vote differently. And we have seen this in real life. Miners signaled overwhelmingly for SW2X but when it came time to extend the chain tip with 2X blocks, they wouldn't do it.

For all we know a majority of miners might be willing to insert any message you like for the right price. And why not? They risk nothing by doing so.

So if using hashpower to extend the valid chain is a "vote", then signaling is more like a "straw poll."

What does this mean for BCH?

Well for one, there are still quite a few people running around saying that hashpower "voted" 75% for BSV. What these people are referring to is the signaling for BSV that occurred prior to the split. But when it was placed to hash vote, Bitcoin ABC clearly "won the vote." (see note)

Another issue is that there are many people who see this as a problem with the voting. In other words, these people think that the straw poll is the valid measure, and the vote is invalid. This is backward.

Here the important part is to remember, in Nakamoto Consensus, the vote must be binding and consequential. In other words the miner must expend hashpower to place a vote, and the vote must produce hard consequences the miner will have to live with. In short, real voting happens at the chain tip.

Anything else is just a straw poll with a high margin of error.

Note: there is an entirely different argument to be made that miners can't use this vote to determine what rules are the valid rules. That's a good argument but an entirely different discussion. For the sake of this discussion I just want to focus on voting vs signaling.

submitted by /u/jessquit
[link] [comments]

source https://www.reddit.com/r/btc/comments/a7y4kx/what_is_a_hash_vote_what_isnt_a_hash_vote/

No comments:

Post a Comment