- Nov 19, 2015
- 94
- 191
There has been much talk in Core circles about "fixing the replay attack". The replay *effect*, (not "attack") is a good force within the network and should not be seen as an attack. The real network is the one with the majority hashpower, any other network that claims to be that network is a fake clone. Any user using the minority network is a scam victim. The BU project should be against any project that that claims to be "bitcoin" despite not being the majority hashpower. "Anti-replay" technologies have one purpose: to allow for the existence of a minority scam coin.
There are two forms of anti-replay technologies that I know of. One is "tainting", and the other is "OP_CHECKBLOCKATHEIGHT". Both of these schemes can and should be twarted BU's code.
Twarting "OP_CHECKBLOCKATHEIGHT" is easy, just ignore the rule. So if a user "intends" to only allow their TX to be recorded into the minority scam chain, the majority chain will record the TX regardless.
Twarting tainting is a little bit more complicated, but also possible. When someone tries to move coinbase from a block on the minority chain, then that tx will not be recorded on the majority chain. Any coins that try to move that are derived from some pre-fork inputs and some post-fork inputs will be recorded, but with the post-fork balance subtracted.
The reason why it is so important to record transactions made by users intending to only have their transactions recorded on the minority chain is as follows:
1. The minority chain is bound to fail. It won't fail immediately, but it will once people realize the alternate vision of Bitcoin (LN, sidechains, etc) are finally realized are not feasible. If we record all their transactions, those users will have their balances restored when they move back to the majority chain.
2. The users who ascribe to this vision do not deserve to lose their coins, as they are victims of misinformation.
One more thing I want to mention: This stance only applies to the hard fork resulting from a capacity increase (removing 1MB max blocksize). In the future if another hard fork occurs, replay protection may be a legitimate solution. Stances like this (regarding changing consensus rules) should be taken on a case by case basis, and are not set in stone to be applicable for every single future situation.
There are two forms of anti-replay technologies that I know of. One is "tainting", and the other is "OP_CHECKBLOCKATHEIGHT". Both of these schemes can and should be twarted BU's code.
Twarting "OP_CHECKBLOCKATHEIGHT" is easy, just ignore the rule. So if a user "intends" to only allow their TX to be recorded into the minority scam chain, the majority chain will record the TX regardless.
Twarting tainting is a little bit more complicated, but also possible. When someone tries to move coinbase from a block on the minority chain, then that tx will not be recorded on the majority chain. Any coins that try to move that are derived from some pre-fork inputs and some post-fork inputs will be recorded, but with the post-fork balance subtracted.
The reason why it is so important to record transactions made by users intending to only have their transactions recorded on the minority chain is as follows:
1. The minority chain is bound to fail. It won't fail immediately, but it will once people realize the alternate vision of Bitcoin (LN, sidechains, etc) are finally realized are not feasible. If we record all their transactions, those users will have their balances restored when they move back to the majority chain.
2. The users who ascribe to this vision do not deserve to lose their coins, as they are victims of misinformation.
One more thing I want to mention: This stance only applies to the hard fork resulting from a capacity increase (removing 1MB max blocksize). In the future if another hard fork occurs, replay protection may be a legitimate solution. Stances like this (regarding changing consensus rules) should be taken on a case by case basis, and are not set in stone to be applicable for every single future situation.