> On Jul 22, 2015, at 3:01 PM, Mike Hearn <he...@vinumeris.com> wrote:
> 
> Until we’re able to merge blockchain forks like we’re able to merge git repo 
> forks, the safest option is no fork.
> 
> Block chain forks merge in the same way as git forks all the time, that's how 
> the reorg algorithm works. Transactions that didn't make it into the 
> post-reorg chain go back into the mempool and miners attempt to reinclude 
> them: this is the "merge" process. If they now conflict with other 
> transactions they are dropped and this is "resolving merge conflicts".
> 

Blockchain reorgs are part of the consensus rules. We’re talking not about 
forks caused by network partitions…but forks caused by the use of distinct 
consensus rules.

> However you have to want to merge with the new chain. If your software is 
> programmed not to do that out of some bizarre belief that throttling your own 
> user base is a good idea, then of course, no merge happens. Once you stop 
> telling your computer to do that, you can then merge (reorg) back onto the 
> main chain again.
> 

You cannot merge two chains that have incompatible transactions in them without 
throwing away one of the two conflicting transactions (along with all 
dependencies). In the reorg process, this occurs naturally…and we allow for it 
by using confirmation count as a metric of irreversibility. Until one chain 
wins (by overwhelming consensus) or all chains include a particular transaction 
in question, we cannot treat that transaction as irreversible. Propose a model 
in which we can still reliably measure irreversibility in the presence of 
multiple chains and you might have a point.

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to