Subject: Re: [bitcoin-dev] BIP: OP_BRIBVERIFY - the op code needed for Blind Merge Mined drivechains

From: CryptAxe <[email-masked]>
Date: Fri, 30 Jun 2017 09:51:34 -0700

To ZmnSCPxj:

I don't understand this part.  In my scheme, a sidechain cannot reorganize
unless the mainchain reorganizes, since the consensus loop only cares about
matching the current block; it ignores splits and does not consider them
valid.

But I suppose you are considering something like the Ethereum mutability
feature, which I do not think is something you would want in a sidechain.

The goal was to allow for sidechain reorgs without effecting the mainchain
at all. With the ratchet system (WIP) the sidechain miners can either move
the side chain forward or start a split at some previous sidechain block
height. This happens as the main chain moves forward normally.

>From your other emails on this list, it seems the ratchet is for
withdrawals from sidechain to mainchain?  ...

The ratchet system is actually what links the h* data from bribes to
sidechain blocks. h*'s (which are sidechain block hashes) are added to the
ratchet system if they move the sidechain forward or start a split like I
mentioned before. Then a sidechain can request of their local mainchain
node to verify the headers they have downloaded from sidechain peers and
form the side chain.