Replay Protection Guidance

Joel Dalais

Member
Mar 9, 2017
41
68
I agree with others that it should be the minority (Core) chain that provides such guidance, but since BU has been asked directly.. I feel it is BU responsibility to provide some guidance (since they are being looked to as 'leader' in this respect)..

The way to look at this is - Core is the one that should be asked - BUT - they are being overlooked and guidance is being sought from BU.

More information will come on this soon, any such guidance should be carefully thought upon and written up over a matter of weeks (so don't expect anything tomorrow). For now I point anyone interested in contributing, or just interested, to first read;

https://github.com/digitsu/splitting-bitcoin - As this will be used as the baseline.

Also - https://medium.com/@timonrapp/how-to-deal-with-the-ethereum-replay-attack-3fd44074a6d8#.srvbb71sd

https://www.reddit.com/r/btc/comments/6065id/how_can_we_solve_replay_attacks_in_the_event_of_a/ (and relevant comments in this thread)




edit: more info - https://bitco.in/forum/threads/gold-collapsing-bitcoin-up.16/page-784#post-27395

Please use this thread for discussion - any such guidance should be a simplified version of Jerry's (see github link above), with reference to the github version.
 
Last edited:

AdrianX

Well-Known Member
Aug 28, 2015
2,097
5,797
bitco.in
this post has some good points.

In private discussions over the past few days, I've asked several Core developers to explain why weakening Bitcoin's consensus mechanism by adding relay protection is a good idea. Strangely, it didn't seem to have struck any of them that doing so is in any way problematic. But it is, and it is worrisome that none of them understood why.

Why is relay protection bad? The short answer is that it hurts us all by weakening bitcoin's consensus mechanism. The high cost of forking is part of this consensus mechanism. It is what preserves bitcoin's network effect and its value. And so we want it to be expensive for people to fork bitcoin, because the centralization of economic activity on the network is what makes bitcoin valuable and useful.

When I pushed Core developers to explain why they now believe forking should be easier, the only real attempt at an answer came from one developer who claimed that bitcoin has a moral obligation to protect "value" on minority chains. Except that it doesn't, because "value" doesn't exist in duplicate form on the network. Bitcoin guarantees users the ability to send their coins out into the network, but it only guarantees this once. And there are very good reasons for this.

The most important is that without relay protection, users have to CHOOSE whether they spend their coins on the majority fork (where the coins are more valuable) or the minority fork (where they are less valuable). The loss of wealth that comes from spending money on a minority fork is part of bitcoin's consensus pressure: it is what drives people to support the majority fork. So while people who want to support the minority chain are of course free to do so, the fact that they take an economic hit for doing so is useful: it is what drives the network to consensus on a majority chain in the first place.

In this sense, what is relay protection but insurance for losers? Letting users spend their coins twice undermines the influence of users have in determining for themselves which fork is really the proper consensus chain. And this is hardly the only perverse incentive relay protection creates. Consider Gresham's Law, for instance, the principle that "bad money drives out good money" (i.e. people hold valuable assets and dump low-value assets). In the cryptocurrency world, we saw this happen with the ETH/ETC fork when many users dumped coins on a fork they believed rapidly would lose value. A moment's reflection will show that this would not have happened without relay protection since it makes zero sense for anyone to spend a valuable coin in order to sell a less valuable one. But what distortionary pressures relay protection introduced! At a minimum, the trading activity that resulted from the frenzied dumping created an active market that incentivized miners, users and exchanges to support the minority chain and diluted consensus in the ETH community. Had the chain been left to fend for its own on the basis of actual usage it is much less likely the ETC fork would have succeeded: most exchanges would never have added it.

So what is the campaign to add relay protection to bitcoin? Considered politically, it seems to be an ill-considered attempt to make miners the only parties in the bitcoin ecosystem who run any real risks from a fork, and disempower users and exchanges by giving them incentives to vote for both rather than simply one fork. Relay protection gives exchanges a profitable road to support minority forks. It lets users gamble with "free money" and allows developers leech off bitcoin's network effect when forking. But this is far from costless behavior, as we all pay far higher costs in the long-term, not only through the erosion of the consensus pressures that encourage us to reach consensus, but also through the way easy forking makes important economic constraints like bitcoin's 21 million coin cap meaningless through the debasement of the currency and the dilution of the economic activity it supports.
 
  • Like
Reactions: Joel Dalais