From da2e5745f3dcf801e9ab50939791d6cecf434c11 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 3 Feb 2018 21:36:40 -0500 Subject: [PATCH] Add files via upload --- bip-blind-merged-mining.md | 329 ++++++++++++++++++ bip-blind-merged-mining/bmm-dots-examples.png | Bin 0 -> 41116 bytes bip-blind-merged-mining/images.txt | 1 + .../witness-vs-critical.png | Bin 0 -> 67570 bytes 4 files changed, 330 insertions(+) create mode 100644 bip-blind-merged-mining.md create mode 100644 bip-blind-merged-mining/bmm-dots-examples.png create mode 100644 bip-blind-merged-mining/images.txt create mode 100644 bip-blind-merged-mining/witness-vs-critical.png diff --git a/bip-blind-merged-mining.md b/bip-blind-merged-mining.md new file mode 100644 index 00000000..ee81f1f3 --- /dev/null +++ b/bip-blind-merged-mining.md @@ -0,0 +1,329 @@ + Drivechain Documentation -- Blind Merged Mining BIP + Paul Sztorc + November 17, 2017 + Document 3 of 3 + v4.1 + + +Header +======= + + BIP: ???? + Layer: Consensus (soft fork) + Title: Blind Merged Mining (Consensus layer) + Author: Paul Sztorc + CryptAxe + Chris Stewart + Comments-Summary: No comments yet. + Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-??????? + Status: Draft + Type: Standards Track + Created: 2017-10-24 + License: BSD-2-Clause + + +Abstract +========== + +Blind Merged Mining (BMM) is a way of mining special extension blocks, ie "sidechains". It produces strong guarantees that the block is valid, for *any* arbitrary set of rules; and yet it does so without requiring miners to actually do any validation on the block whatsoever. + +BMM actually is a process that spans two or more chains. For an explanation of the "whole picture", please see [this post](http://www.truthcoin.info/blog/blind-merged-mining/). Here we focus on the modifications to mainchain Bitcoin. + +To support BMM, the mainchain is asked to accomplish two goals: +1. Track a set of ordered hashes (the merged-mining). +2. Allow miners to "sell" the act of finding a sidechain block (through the use of a new extended serialization transaction type). + +These goals are accomplished by forcing nodes to validate two new messages (M7, M8), and track data in one new database (D3). + + +Motivation +============ + +Regular "Merged-Mining" (MM) allows miners to reuse their hashing work to secure other chains (for example, as in Namecoin). However, traditional MM has two drawbacks: + +1. Miners must run a full node of the other chain. (This is because [while miners can effortlessly create the block] miners will not create a valid payment to themselves, unless the block that they MM is a valid one. Therefore, miners must assemble a *valid* block first, then MM it.) +2. Miners are paid on the other chain, not on the regular BTC mainchain. For example, miners who MM Namecoin will earn NMC (and they will need to sell the NMC for BTC, before selling the BTC in order to pay for electricity). + +Blind Merged-Mining (BMM) attempts to address those shortcomings. + + +Specification +============ + +Note: This document uses the notation side:\* and main:\* in front of otherwise-ambiguous words (such as "block", "node", or "chain"), to distinguish the mainchain version from its sidechain counterpart. + +As stated above, we have two goals: [1] create and monitor an alt-chain (defined only by a deterministic list of hashes), and [2] allow miners to "sell" the act of finding a sidechain block (through the use of a new extended serialization transaction type). + +### Sidechain Critical Data ("Sidechain Mini-Header") + +Specifically, per side:block per side:chain, we track the following 35 bytes of information: + + 1-byte - ChainIndex (known as "Account Number" in hashrate-escrows.md , or as "Sidechain Number") + 32-bytes - sideHeaderHash (also known as "h*" / hashCritical, the hash of the sidechain block) + 2-bytes - prevBlockRef (an index which points to this side:block's parent side:block) + +The **ChainIndex** indicates which sidechain this critical data is relevant to. As we may eventually have more than one sidechain, this serves as an identifier similar to the Bitcoin network's magic bytes (0xF9BEB4D9). Drivechains however only need to use 1 byte for the identifier (there is a hard limit of 256 sidechains identified as 0-255). The **sideHeaderHash** is the hash of a side:block which will receive PoW via BMM. It serves a similar function to Bitcoin's "hashMerkleRoot", in that it contains the data for its blockchain. The **prevBlockRef** forms the set of headers into a blockchain structure by making each headers refer to one parent header. It is most similar to Bitcoin's hashPrevBlock. + +Where does this data come from, and how does it get around? + +#### Creating / Broadcasting This Data + +##### Creation + +By the time Blind Merged Mining can take place, the ChainIndex is globally known (it is the "Account Number" in D1 [see previous BIP], and "nSidechain" in the code). Each sidechain, when activated by soft fork, will take one of the 0-255 available indexes. + +The other two items, sideHeaderHash and prevBlockRef, are created by sidechain nodes. sideHeaderHash is quite straightforward -- side:nodes build side:blocks, and take the hash of these. + +The final item, prevBlockRef, is a little more complicated. It is an integer that counts the number of "skips" one must take in the side:chain in order to find the current side:block's parent block. In practice, this value will usually be zero. It will only be a value other than zero, in cases where invalid sidechain blocks have been mined, or when a side:node intentionally wants to orphan some side:blocks (if a side:node wants to orphan the most-recent N blocks, the value of the current block will be equal to N ; in the block after that it will be back to zero). + +![dots-image](/bip-blind-merged-mining/bmm-dots-examples.png?raw=true) + +Since the hashes themselves are already ordered by the mainchain, tracing the blockchain's path by index (prevBlockRef) will be the same as tracing it by identifying a list of hashes. In other words, the ordering given via each side:block's "prevBlockRef" will be isomorphic to an ordering given by each side:block's "prevSideHeaderHash" ... if "prevSideHeaderHash is defined to be the sidechain's equivalent of the mainchain's "prevBlockHash". It will be possible to freely convert from one to the other. See M8 to learn more about how these hashes are requested by sidechain block creators to be included in the mainchain. + +Now that we know what our critical data is, and how it is made, how is this data broadcast and stored? + +##### Broadcast + +Mainchain nodes are going to need this data later, so it must be easy to find. We will put it into the coinbase via OP RETURN. + +#### M7 -- "Blind-Mine the Sidechain(s)" + +Thus, (for n sidechains) we have a coinbase output with: + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following (4+(n*35)) bytes (0x??) + 4-byte - Message header (0xD3407053) + (n*(32+5))-byte - A sequence of bytes, of the three Mini-Header items (h*, prevBlockRef, ChainIndex). + +( We assume that 5 bytes are used for the Critical Data bytes (non h* parts of the Sidechain Mini-Header). For 256 sidechains, a total of 9,478 bytes [1+1+4+256\*(32+5)] are required, conveniently just below the 10 KB scriptPubKey size limit.) + +This data is parsed by laying it in sequential 37-byte chunks (any remaining data --ie, some final chunk that is less than 37 bytes in length-- has no consensus meaning). + +Each 37-byte chunk is then parsed to obtain the data outlined above (in "Description"). If two 35-byte chunks being with the same "Sidechain number" (ie, if the two chunks have the same first byte), then only the first chunk has consensus meaning. + +We are left with, at most, one (h*, prevBlockRef) pair per sidechain per block. This data is added directly to D3, a new database. + +#### D3 -- "RecentSidechains_DB" + +To suit our purposes, the mainchain full nodes will need to keep track of the most recent 8000 (h\*, prevBlockRef) pairs. + +( This 8,000 figure is a tradeoff between decentralization (costs of running the main:node) and sidechain security -- it requires attackers to merged-mine 8,000 invalid blocks consecutively, in order to cause the sidechain to fail. The mainchain burden is minimal, so this figure might be raised to 12,000 or higher. ) + +Therefore, D3 would look something like this: + + + BlockHeight CB_Index SC_1 Blks_Atop_1 SC 2 Blks_Atop_2 SC 3 Blks_Atop_3 + --------- ------ ------ --------- ------ --------- ------ --------- + 1. 401,005 2 (h*, 0) 7985 (h*, 0) 1 (h*, 0) 0 + 2. 401,006 4 (h*, 0) 7984 (h*, 0) 0 (h*, 1) 7801 + 3. 401,007 2 (h*, 0) 7983 (h*, 5) 2027 (h*, 0) 0 + 4. 401,008 2 (h*, 0) 7982 (h*, 0) 2028 (h*, 1) 7800 + ... ... ) + 7999. 409,003 3 (h*, 0) 1 (h*, 0) 0 (h*, 0) 1 + 8000. 409,004 2 (h*, 0) 0 (h*, 1) 0 (h*, 0) 0 + + +When new sidechains (or "hashrate escrows") are soft-forked into existence, a new column is added to D3 (to contain any BMMing that might be done on it). + +For each sidechain we also track the field "Blocks Atop". This is the number of side:blocks that are "on top" of the specified side:block. These might be regarded as "side:confirmations" (pseudo-confirmations that are specific to each sidechain). + +D3 also contains a column (not shown) for each sidechain containing "prevSideBlockHash". This value is is either derived from prevBlockRef; or else it is given explicitly (in which case it is the converse: prevBlockRef is derived from prevSideBlockHash). + + +#### Coinbase Cache + +As mentioned above, M7s cause data to be added to D3. Recent D3 data is tracked by all mainchain nodes for a period of time. + +To efficiently keep track of the above data, without having to constantly load and process entire blocks from disk, we temporarily cache enough coinbases in the chain index to maintain D3. + + +### M8 -- Paying miners to include BMM data in their coinbase outputs + +This section introduces a new type of transaction, which allows sidechain block creators to request, and pay for, a critical hash to be included in a specific block by mainchain miners. See [the Blind Merged Mining spec](http://www.truthcoin.info/blog/blind-merged-mining/). This txn allows miners to "sell" the act of mining a sidechain block. By taking advantage of this option, miners earn tx fees for mining sidechains...truly "for free". They do not even need to run sidechain nodes, and the tx-fees they earn are in mainchain BTC. As a result, sidechains affect all miners equally and do not affect the mining ecosystem. + +M8 will ultimately come in two versions. The second version will be specialized for use in the Lightning Network and must use the full 32-byte prevBlockHash (ironically, this larger transaction is cheaper for the Bitcoin network to process, as it is completely off-chain). The first version of M8, in contrast, cannot be used inside the Lightning Network, but is slightly more space-efficient (using the 2 prevBlockRef bytes to maintain chain order). It is important to make both options available to the user, because some side:nodes may be unwilling or unable to open a payment channels with each main:miner. However, in the long run we expect the lightning version to be preferred. + +#### Setup + +We define **"Mary"** as a mainchain miner, and **"Simon"** as a sidechain node. + +The goal is to construct a payment from Simon to Mary, such that: + +1. If the critical data conditions are met, **Mary** can claim the outputs of the transaction with finality. +2. If the critical data conditions are not met, the outputs become immediately available again to **Simon**. + + +#### Goals (this is rather philosophical, and skippable) + +##### Immediate Expiration ("Fill-or-Kill") + +We would like to make special guarantees to the counterparties of this transaction. Specifically, instead of Simon making a "payment" to Mary, we prefer that Simon give Mary an "offer" (which she can either accept or decline). + +Crucially, we want Simon to safely make many offers to several different Mary's, in realtime (ie, quickly and off-chain). However, we ultimately want only one offer to be accepted, at most. In other words, we want Simon's offers to *immediately expire*. If only one offer can become a bona fide transaction, then Simon will feel comfortable making offers all day long. Because all of the Simons are making many offers, the Marys collectively gain access to a large set of offers to choose from. + +##### Forward Progress (The Need for a "Ratchet") + +The "ratchet" concept is an attempt to harmonize incentives among the main and side chain(s). +We need to ensure that a sidechain is making "forward progress", without tracking too much about the sidechain such that we burden Bitcoin (see [1] and [2]) all while still allowing the sidechain to reorganize [3]. + +* [1] https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-July/014789.html +* [2] http://www.drivechain.info/faq/index.html#what-is-the-difference-between-drivechain-and-extension-blocks +* [3] http://www.truthcoin.info/blog/blind-merged-mining/#handling-reorganizations + +The ratchet system must keep track of sidechain "mini-headers" (see Sidechain Critical Data ("Sidechain Mini-Header")) and count the "blocks atop" maturity of the related side:blocks. + +Simon's offer to Mary to include a critical hash in exchange for payment must be *atomic*. The "ratchet" concept helps to construct a very tight connection between two things: + +1. The sidechain-block-generator "Simon" paying himself the side:block's side:tx-fees (which he receives in 100 sidechain blocks (blocks atop) hence). +2. "Simon" making a mainchain main:btc payment to a mainchain miner "Mary". + +Either both of the two should succeed, or else both should jointly fail. + +However, absent our intervention, there are cases in which [2, the payment to Mary] succeeds but [1, side:tx-fees] fails. One such case is when a side:block contains unusually high side:tx-fees. Here, there will be many requests to include a critical hash in exchange for payment submitted to Mary, but only one can be included in each main:block per sidechain. Without an incentive to make "forward progress", Mary is likely to include one of the highest paying requests in the next main:block (and the main:block after that, and so on). Mary will "blindly" include high-paying requests for *older* blocks, unless something prevents her from doing so. + +To address these potential issues, we utilize the concept of "Blocks_Atop" (the "side:confirmations") that we mentioned earlier. As previously mentioned, Mary will not be able to spend Simon's M8 payment until satisfying the critical data requirements as well as the blocks atop (side:confirmations) requirement. + + +#### M8 -- The two forms of M8 transactions + +As previously mentioned, M8 can take two forms. The first does not require the Lightning Network, but it does have new requirements for Immediate Expiration (see above). The second inherits Immediate Expiration from the Lightning Network itself, but requires extra preparation and a different/larger message. + +Both forms require that certain Critical Data will be committed to within the coinbase of the block that the transaction is included in. For the non Lightning version, we have created a new extended serialization transaction type (very similar to how segwit handles witness data (the witness stack)). + +##### M8_V1 - No Lightning Network + +M8_V1 does not require the Lightning network but does have new requirements for validation. + +A M8_V1 TxOut is expected to contain: + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 36 bytes (0x24) + 4-byte - Message header (0xD1617368) + 32-bytes - h* side:block hash + 5~7-bytes - BMM request identifying bytes (0x00bf00) + prevBlockRef & ChainIndex (sidechain mini-header) + + +In the first version of M8, we need to introduce the concept of Immediate Expiration (see above). In other words, we need a way for Simon to construct many payments to multiple Marys, such that only one of these is ever included; and only then if Simon's txn is expected to coincide with the finding of Simon's side:block. + +We do this by imposing validity-rules on the txn itself: + +1. The txn's content, when examined, must match part of the main:block's content. Specifically, the (ChainIndex, h\*) pair of the txn, must match one of the (ChainIndex, h\*) pairs in the M7 of this main:block. +2. Only one payment per sidechain per main:block is valid. In other words, if 400 people all try to bm-mine the sidechain with ChainIndex==4, then not only is it the case that only one side_4:block can be found, but it is also the case that only the corresponding M8 txn can be included (out of all of the 400 M8s which are for ChainIndex==4). +3. Simon's txns must only be valid for the current block; afterward, they immediately expire. This is because Simon's intended prevBlockRef & side:block contents will most likely change from one main:block to the next. + +To impose new requirements on the transaction level (not the block level nor the TxOutput level), we borrow the "flag" trick from SegWit style transactions. If the flag is present, the transaction is examined for extra data, and if this data does not pass certain requirements, the transaction is invalid. With SegWit, this extra data is the signatures, and the extra requirements are the signatures' locations and validity. In the BMM-transactions, the extra data is the (ChainIndex, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above). + +To impose new requirements at the transaction level, we borrow the dummy vin & "flag" trick from SegWit style transactions. If the flag is set to 2 (0010), the transaction contains Critical Data and requires that our new validation rules be met in order for the txn to be valid in a block. Unless all of the requirements for sidechain critical data transactions are met by the block it is included in, the transaction is invalid. With SegWit, this extra data is the segwit signature stack, and the extra requirements are the signatures' locations and validity. In the sidechain BMM critical data transactions, the extra data is the (ChainIndex, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above). Note The main:blocknumber does not take up any additional space compared to a normal txn, as we reuse the locktime field for our purposes. + + + + +![extra-data-image](/bip-blind-merged-mining/witness-vs-critical.png?raw=true) + +This txn structure conserves main:blockspace, because it is the easiest way to refer to a previous sidechain block in 4 bytes, (prevBlockRef + FoK_nLockTime). Instead, we would need to use at least 32 bytes (prevSideBlockHash). + +These types of transactions have slightly different mempool behavior, and should probably be kept in a second mempool. These txns are received, checked immediately, and if valid they are evaluated for inclusion in a block. If they are not able to be included in the specific requested block (if the block height requested has been surpassed by the chain tip), they are discarded. In fact, after any main:block is found, everything in this "second mempool" can be discarded as new payments will be created immediately for the next block height. (This includes cases where the blockchain reorganizes.) There is no re-evaluation of the txns in this mempool ever -- they are evaluated once and then either included or discarded. To be clear, when the transaction is received we are able to evaluate its validity, and do not need to rescan these transactions again. + +Interestingly, these payments (M8) will *always* be directed to miners from non-miners. Therefore, non-mining nodes do not need to keep them in any mempool at all. Non-miner nodes can just wait for a block to be found, and check the txn then. These transactions more resemble a stock market's pit trades (in contrast, regular Bitcoin txns remind me more of paper checks). + +##### M8_V2 With Lightning + +M8_V2 requires having a LN-channel open with a miner. This may not always be practical (or even possible), especially today. + +A M8_V1 TxOut is expected to contain: + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 68 bytes (0x44) + 4-byte - Message header (0xD0520C6E) + 32-bytes - h* side:block hash + 32-bytes - prevSideBlockHash + 5~7-bytes - BMM request identifying bytes (0x00bf00) + prevBlockRef & ChainIndex (sidechain mini-header) + + +Notice that, in M8_V1, Simon could reuse the same h\* all he wanted, because only one M8_V1 could be included per main:block per sidechain. However, on the LN no such rule can be enforced, as the goal is to push everything off-chain and include *zero* M8s. So, we will never know what the M8s were or how many had an effect on anything. + +Therefore, Simon will need to ensure that he **gives each Mary a different h\***. Simon can easily do this, as he controls the side:block's contents and can simply increment a nonce -- this changes the side:block, and changes its hash (ie, changes h\*). + +With a unique h\* per Mary, and at most 1 h\* making it into a block (per sidechain), we can guarantee that only one of the M8_V2's critical data can be committed to in a single main:block. By giving each miner (who Simon has a payment channel open with) a different h*, Simon can figure out which miner followed through with the commit, and know that only one such commit went through. Furthermore, if this Simon's requested critical data is not found in a block, none of the M8_V2 payments will be spendable by the Mary(s), because none of the h\* in question have ever made it into D3 (which is always on-chain) and no blocks atop will be accumulated. + +That's probably confusing, so here is an example, in which: Simon starts with 13 BTC, Mary starts with 40 BTC, the side:block's tx-fees currently total 7.1 BTC, and Simon is keeping 0.1 BTC for himself and paying 7 BTC to Mary. + +We start with (I): + + Simon 13 in, Mary 40 in ; 53 in total + Simon's version [signed by Mary] + 13 ; to Simon if TimeLock=over; OR to Mary if SimonSig + 40 ; to Mary + Mary's version [signed by Simon] + 40 ; to me if TimeLock=over; OR to Simon if MarySig + 13 ; to Simon + + +And both parties move, from there to "M8_V2" (II): + + Simon 13 in, Mary 40 in ; 53 in total + Simon's version [signed by Mary] + 6 ; to Simon if TimeLock=over; OR to Mary if SimonSig + 40 ; to Mary + 7 ; to Mary if critical data requirements met; OR to Simon if LongTimeLock=over + Mary's version [signed by Simon] + 40 ; to Mary if TimeLock=over; OR to Simon if MarySig + 6 ; to Simon + 7 ; to Mary if critical data requirements met; OR to Simon if LongTimeLock=over + +From here, if the h\* side:block in question is BMMed, they can proceed to (III): + + Simon 13 in, Mary 40 in ; 53 in total + Simon's version [signed by Mary] + 6 ; to Simon if TimeLock=over; OR to Mary if SimonSig + 47 ; to Mary + Mary's version [signed by Simon] + 47 ; to me if TimeLock=over; OR to Simon if MarySig + 6 ; to Simon + +Although, if Simon proceeds immediately, he removes the protection of the 'ratchet'. Ie, Simon removes Mary's incentive to care about blocks being built on this side:block. If Simon's side:block is orphaned, he loses his 7 BTC. Simon can either play it safe, and wait the full 100 side:blocks before moving on (ie, moving on to the third LN txn, above); or else Simon can take the risk if he feels comfortable with it. + +If the h\* side:block is not found, then (II) and (III) are basically equivalent to each other. Simon and Mary could jointly reconstruct (I) and go back there, or they could proceed to a new version of II (with a different h\*, trying again with new side:block in the next main:block). + + + + +Deployment +=========== + +This BIP will be deployed by "version bits" BIP9 with the name "blindmm" and using bit 4. + +``` +// Deployment of Drivechains (BIPX, BIPY) +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].bit = 4; +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1515974401; // January 15th, 2018. +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019. +``` + +Reference Implementation +========================== + +See: https://github.com/drivechain-project/bitcoin/tree/mainchainBMM + +Also, for interest, see an example sidechain here: https://github.com/drivechain-project/bitcoin/tree/sidechainBMM + + +References +============ + +* http://www.drivechain.info/literature/index.html +* http://www.truthcoin.info/blog/blind-merged-mining/ +* https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-July/014789.html +* http://www.truthcoin.info/images/bmm-outline.txt + + +Thanks +========= + +Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Ben Goldhaber. + + +Copyright +========== + +This BIP is licensed under the BSD 2-clause license. diff --git a/bip-blind-merged-mining/bmm-dots-examples.png b/bip-blind-merged-mining/bmm-dots-examples.png new file mode 100644 index 0000000000000000000000000000000000000000..70f11f6bbe935b7b99c51af825947da8a5029971 GIT binary patch literal 41116 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 Shbc6Z~PyQln@sH literal 0 HcmV?d00001 diff --git a/bip-blind-merged-mining/images.txt b/bip-blind-merged-mining/images.txt new file mode 100644 index 00000000..00b39320 --- /dev/null +++ b/bip-blind-merged-mining/images.txt @@ -0,0 +1 @@ +Images used as reference in the documentation. diff --git a/bip-blind-merged-mining/witness-vs-critical.png b/bip-blind-merged-mining/witness-vs-critical.png new file mode 100644 index 0000000000000000000000000000000000000000..1a2458d42fa50306400128057808168e1e9b9ae7 GIT binary patch literal 67570 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 z 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