论文标题
不稳定的吞吐量:困难算法中断时
Unstable Throughput: When the Difficulty Algorithm Breaks
论文作者
论文摘要
在工作证明区块链中,难度算法是通过动态调整矿工不断变化的计算能力来动态调整区块难度来维持稳定交易吞吐量的关键目的。可能经历严重哈希速率波动的区块链需要迅速适应采矿难度的难度算法。但是,如果没有仔细的设计,矿工就可以使用硬币跳动策略来操纵损益难度的矿工可以进行认可。由于交易的不稳定处理,这种矿工行为导致了不可靠的系统。 我们提供了对比特币现金的难度算法设计如何导致块求解时间周期性的经验分析。作为响应,我们使用负指数滤波器来得出难度算法的难度算法,该指数滤波器禁止形成正反馈并表现出其他理想的特性,例如历史不可知论。我们将所述算法与模拟采矿环境中的比特币现金进行了比较,并验证前者会消除交易吞吐量中的严重振荡。
In Proof-of-Work blockchains, difficulty algorithms serve the crucial purpose of maintaining a stable transaction throughput by dynamically adjusting the block difficulty in response to the miners' constantly changing computational power. Blockchains that may experience severe hash rate fluctuations need difficulty algorithms that quickly adapt the mining difficulty. However, without careful design, the system could be gamed by miners using coin-hopping strategies to manipulate the block difficulty for profit. Such miner behavior results in an unreliable system due to the unstable processing of transactions. We provide an empirical analysis of how Bitcoin Cash's difficulty algorithm design leads to cyclicality in block solve times as a consequence of a positive feedback loop. In response, we mathematically derive a difficulty algorithm using a negative exponential filter which prohibits the formation of positive feedback and exhibits additional desirable properties, such as history agnosticism. We compare the described algorithm to that of Bitcoin Cash in a simulated mining environment and verify that the former would eliminate the severe oscillations in transaction throughput.