BIP: OP_BRIBVERIFY - the op code needed for Blind Merge Mined drivechains



Summary:

The email exchange discusses the storage of data for pending withdrawals in a small extension block called "MinerDB" and how miners were supposed to commit to it and place it in the coinbase at a location such as index 1. The assumption was that this would also apply to BMM, as it is all drivechain-themed. The email clarifies concerns raised by Gregory Maxwell related to output coins locked by OP BribeVerify, which cannot be moved until their associated sidechain header ("h*") is ~100 blocks deep in the sidechain. The timeline of events is discussed from the setup of the sidechain node by a briber, negotiations with miners out-of-band, to the inclusion of sidechain blocks by miners and finally the spending of funds by the briber and miner. Chris Stewart proposed a new block rule requiring the miner's coinbase reward to be at index 0 in the coinbase transaction's output vector, however, Gregory Maxwell points out that it would ban P2Pool and other forms of decentralized mining pooling. Additionally, the removal of important flexibility intentionally preserved could result in the irreparable destruction of some sidechains. The mimblewimble sidechain could correspond to index 2 of the vector outputs on the coinbase transaction. Maxwell further highlights that the op code suggested is not monotone/reorg safe and that output coins are not equivalently fungible with other bitcoins for around 100 blocks, impure and incompatible with caching, which slows block propagation.


Updated on: 2023-06-12T03:03:22.714659+00:00