With the recent addition of Binance to the group of miners who will accept taproot, I wonder what would happen if despite a total of more than 99% of the network accepting it, a miner still doesn't answer or said he would but does not activate this BIP.

Does the transaction requiring this BIP stay stuck in the mempool waiting for the next block, or would other miners ignore his block?

  • Hey Saxtheowl, nice question, but it would help if you clarified what you meant with "this block" in the last sentence and were more explicit what you refer to with the frequent "it" in the first sentence. – Murch Dec 27 '20 at 19:33
  • Ah yes, it wasnt clear sorry – Saxtheowl Dec 27 '20 at 21:19

First of all, let me clarify that this website just collects the sentiment of miners—it is in no way binding for the actual activation for which code isn't even proposed.

Assuming that Taproot will use BIP8 as its activation mechanism, there is only one state in which miners are required to signal. Mining is mandatory in the last difficulty epoch of the signaling period, but only if the activation proposal is using lockinontimeout: true. In any other circumstances, all miners can freely choose whether to signal readiness. Also, it is not expected that the block version will get updated with Taproot, blocks would only be different in that they include transactions using taproot.

Once the proposal is active, miners are free to include transactions that spend v1 segwit outputs, but they are not required to do so. As always, miners may freely select which valid transactions to include in their blocks. A miner may decide not to include Taproot transactions without any repercussions. Presumably, the next miner that supports Taproot would include such transactions if they are among the transactions with the highest feerates.

For example, a miner that didn't update their fullnode since the Taproot code got added would consider Taproot transactions non-standard. Since nodes don't include non-standard transactions in block templates, the miner would still be able to build blocks that are valid to the network, simply by not including Taproot transactions.

  • 1
    Also note that Taproot spends are nonstandard to all recent Bitcoin Core versions, so transactions that rely on it simply won't relay at all (until Taproot-supporting ones are sufficiently well-connected that they can). Of course a miner could modify their software to accept Taproot spends, and take the risk of producing invalid blocks when not validating them, but that would require very deliberate action on their part. – Pieter Wuille Dec 27 '20 at 20:23
  • Thanks, I added a bit more text about that – Murch Dec 27 '20 at 21:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.