Mining Pools Signalling For Taproot
The latest Bitcoin network difficulty adjustment was the most significant one in quite some time. Besides being a -12.6% downward adjustment — unprecedented during a bull market, and one of the largest downward adjustments in Bitcoin’s history — it also marked the beginning of the signalling period for Taproot activation.
A few hours after the adjustment, Slush Pool mined block 681,458 with the version bits 0x2f900004 — the first block signaling support for Taproot. What followed was a wave of support from throughout the Bitcoin community and some of the best memes in recent memory, both of which we greatly appreciated.
However, there was also a good deal of confusion about how signaling works, what it means, and why other mining pools had been mining blocks that didn’t signal support for Taproot. For all the nontechnical Bitcoiners out there, we want to clear up the confusion as well as briefly explain why we support Taproot in layman’s terms.
How Miners Signal Support For Taproot
When miners “signal” support for any Bitcoin protocol update, they are essentially saying that they are prepared to run a certain version of the Bitcoin node software which implements the updated code. In the case of Taproot, we signaled our support by putting a “4” at the end of the version bits (0x2f900004) in the block that we mined.
There were many blocks mined prior to block 681,458 which weren’t signaling support. Some people speculated that this was because the version of Bitcoin Core that does the signaling, v0.21.1, had only been released hours prior to the difficulty adjustment, not giving mining pool operators sufficient time to upgrade.
In reality, this isn’t fully accurate. We were not waiting on the edges of our seats for the official Bitcoin Core release so that we could update our nodes and signal immediately. This is because the act of signaling can be completely separate from whichever version of the node software we are actually running. What we actually did was simply make some small tweaks in our mining pool software to inject the “4” at the end of the version bits in all of the block templates we were sending to our miners for them to hash. In other words, we did not need to update our mining servers in order to signal publicly that we are prepared for Taproot activation.
Now that this is cleared up, we can tell you that it’s actually very easy for mining pools to signal support since it doesn’t even require updating the node software. Therefore, all mining pools who have already publicly stated support for Taproot should have no troubles in signaling that support through the version bits in the near future.
As for the actual node software update, it is slightly more challenging in the case of mining servers because any downtime caused by restarting the node can be costly. Luckily, this can be solved with a bit of redundancy. In other words, we run A LOT of full nodes all over the…