Bitcoin Optech Newsletter #423
Bitcoin Optech Newsletter #423 covers an analysis of mining pool difficulty controllers, a proposed improvement for Utreexo’s initial block download (IBD), and a draft BIP for specifying unspendable taproot internal keys. The newsletter details Eric Price’s findings on how variable difficulty (vardiff) controllers, used by mining pools, can strand miners that slow down. Vardiff controllers adjust a miner's share difficulty based on their share submission rate. The issue arises when a miner slows, and the controller, updating only upon receiving shares, fails to lower the difficulty, leaving the miner stuck with a target suited for their previous, higher speed. Price argues that parameter adjustments are insufficient because the controller cannot estimate a rate from shares that don't arrive. His proposed fix is a timer that automatically lowers difficulty after a set interval passes without a share from the miner. While the Stratum v2 reference implementation has a similar mechanism, it recovers slowly for long-lived connections, and Ckpool recomputes only on shares. Price released a 'shaping proxy' for testing this behavior, and Anthony Towns suggested handling such adjustments within local proxies or gateways in Stratum v2 and DATUM deployments.