Roughnecks's avatar
Roughnecks 3 weeks ago
Roughneck Chronicles 3: The Fork Turning Roughnecks “What do you despise? By this you are truly known.” -Muad’Dib All parties stand to lose in a chain split. Miners just want to keep mining valid blocks. Nodes don’t want to keep track of two chains. Merchants and users don’t want to wait for a confirmation on two chains. For these and other reasons we think a chain split is unlikely. But unlikely is not the same as impossible. Have a plan just in case. You’ve asked us what to do in a chain split. Here’s our answer. We’ve broken our answer up into four sections depending on your perspective. From here on we will refer to the two hypothetical chains as the VC chain and the pleb chain for lack of better naming convention. Alice is in favor of BIP110 1. You’re in favor of BIP110 (Alice) Alice is a pleb or business running a BIP110 node transacting on-chain during a chain split. Her transaction already has a confirmation on the VC chain but for her to consider it a valid confirmation, it needs to be confirmed on the pleb chain. In this scenario Alice will likely want to RBF (replace-by-fee) or CPFP (child-pays-for-parent) to get that confirmation. Doing so increases the likelihood that her transaction will be included in the next pleb chain block. This also sends a signal to miners not mining on the pleb chain that there is high demand for pleb chain blocks and greedy miners will start mining those blocks to get the high transaction fees. Bob is neutral on BIP110 2. You’re neutral on BIP110 (Bob) Bob couldn’t give two shits about BIP110 but there is a chain split going on. He can try to ignore it or wait it out until the split resolves itself. But let’s say that’s not an option for him. Bob's an exchange or a business that cannot shut down for weeks or even days. Or he has a time-sensitive payment that needs to confirm. An exchange or other business doesn’t want to be left holding the bag for VC chain coins that get re-orged out of existence. Bob's got a confirmation on the VC chain but for some extra security he'd like a confirmation on the pleb chain too. Bob will likely want to RBF (replace-by-fee) or CPFP (child-pays-for-parent) to get that confirmation. Doing so increases the likelihood that his transaction will be included in the next pleb chain block. This also sends a signal to miners not mining on the pleb chain that there is high demand for pleb chain blocks and greedy miners will start mining those blocks to get the high transaction fees. Chuck hates BIP110 3. You’re opposed to BIP110 (Chuck) Chuck hates this stupid BIP110 thing. He wants to split his coins and sell the pleb chain coins while hanging on to the VC chain coins. Let us make it abundantly clear to Chuck that we don’t think it’s wise to try to split your coins and dump the pleb chain coins. Doing so may only have the effect of dumping your Bitcoin holdings for fiat, or worse, ending up with only VC chain coins that get re-orged out of existence. But we understand that Chuck isn’t going to heed this warning and he's going to chase “free money”. Chuck may send a transaction with a large OP_RETURN that is only valid on the VC chain (note that a miner can mine large OP_RETURNS while signaling for BIP110, so a large OP_RETURN won’t automatically split his coins until activation). But Chuck cannot split his coins nor dump the pleb chain coins without confirmations on the pleb chain. Chuck will likely want to RBF (replace-by-fee) or CPFP (child-pays-for-parent) to get those confirmations. Doing so increases the likelihood that his transaction will be included in the next pleb chain block. This also sends a signal to miners not mining on the pleb chain that there is high demand for pleb chain blocks and greedy miners will start mining those blocks to get the high transaction fees. Darth has a plan to end BIP110 4. You’re trying to sabotage BIP110 (Darth) Darth is smarter than the average bear. He intends to launch an attack to ensure BIP110 fails. We’re not exactly sure what Darth’s plan will be. We’ve heard that maybe Darth is planning to launch some new VC backed token that will only be valid on the VC chain. We’ve also heard that Darth is planning to spam the pleb chain to teach us a lesson. Maybe both. Who knows? Maybe Darth himself is confused whether it’s better to spam the VC chain or the pleb chain to prove his point. Either way, Darth may at some point want confirmations on the pleb chain. Darth will likely want to RBF (replace-by-fee) or CPFP (child-pays-for-parent) to get that confirmation. Doing so increases the likelihood that his transaction will be included in the next pleb chain block. This also sends a signal to miners not mining on the pleb chain that there is high demand for pleb chain blocks and greedy miners will start mining those blocks to get the high transaction fees. Miners will provide the supply to meet the demand. On a side note, we briefly toyed with the idea of launching an accelerator service for users needing a pleb chain confirmation. We ultimately rejected such a move as we want to stay focused on mining transactions relayed through the Bitcoin node network. We don’t want to send any mixed signals on our commitment to the long-term health and resiliency of the Bitcoin peer-to-peer network. However, we believe that others have had the same thought we had. We believe that large mining pools, who already have accelerator services, are planning to launch these services on the pleb chain. It will be fun to see how this plays out. What can you do as a BIP110 pleb or business during a chain split? Transact on-chain and insist on a confirmation on the pleb chain before you consider the payment valid. The users decide what Bitcoin is not the miners. Where users go, miners follow. image

Replies (2)

**Chain split guidance, restated without the team colours.** Call them the enforcing chain and the unrestricted chain. **There is no split to transact on for a long time.** Mandatory signalling constrains block headers, not transactions. The reduced data rules bind at height 965,664, which a minority branch reaches slowly. At 20% hash that is about 20 weeks after the window opens, at current signalling over a year. Until then every transaction, giant OP_RETURNs included, is valid on both branches. Splitting coins via OP_RETURN is impossible before the enforcing branch itself reaches activation height. **Replay protection must be built.** Branch-exclusive coins come from two sources. Passive: post-split coinbases, spendable after 100 blocks, within a day at 97% hash, three weeks at 3%. Active: RBF from the first divergent block. Get confirmed on one branch, then bump. The original's outputs are now exclusive to one branch, the replacement's to the other, and every descendant inherits the split. No maturity wait, though at 3% hash the slow branch's next block averages five hours out, and the bump must not reach the fast branch before the original confirms there. Until you hold and spend such a coin, your payment confirms wherever it gets mined, or on both branches. **"RBF or CPFP" is half wrong.** A CPFP child spends a parent that exists on both branches, so it replays and pays both miner sets. It signals nothing. An RBF replacement of a transaction already confirmed on the other branch conflicts with a confirmed transaction there and can only ever pay the branch where the original is still pending. RBF is the only tool that creates branch-exclusive fee demand, and it works in both directions. **Fees follow prices, not the other way.** All miner revenue lands in a branch-exclusive coinbase worth whatever the market thinks that branch's survival is worth. With shared difficulty, revenue per hash is price times block reward. Grant equal prices and the mechanism in the original actually works, and needs no RBF: everything replays, so the minority branch's mempool holds the majority chain's entire confirmed history as backlog, its blocks skim the top by feerate, and its fee per block is higher until hashrate reaches parity. But equal prices with 1 to 3% signalling two weeks before the window is not an assumption, it is the conclusion smuggled in as one. Fees run at low single digits of the 3.125 BTC subsidy. At a 20% price ratio an enforcing block needs over 12 BTC in sustained fees just to break even. The mechanism is real and two orders of magnitude too small. **Parity is the starting line, not the finish.** Non-enforcing nodes reorg onto the enforcing branch only if it takes the cumulative work lead. Every day at 20% hash digs 0.6 network-days of deficit. A week at 20% costs three weeks at 60% to repay. And a branch whose block production runs through one or two pools is one DoS away from stalling, while futures markets set the decisive price ratio before the window even opens, and against a 3% branch, rented hash is cheap griefing. The reverse risk is simpler: miners abandon the enforcing branch and its coinbases go to zero, no coordination required. **What survives from the original.** Decide which branch you are on, run a node that enforces your choice, and do not treat a confirmation on one branch as a confirmation on the other.