免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。
边肖:记得要集中注意力。
投资区块链,猛戳:火星金融App下载
资料来源:BitMEX
原标题《比特币的区块时间戳保护规则》作者:BitMEX Research
我们检查了比特币的两个鲜为人知的规则,这两个规则用于防止非法矿工操纵区块时间戳,以获得不公平的高额采矿报酬。我们讨论了为什么可以选择像2小时MAX_FUTURE_BLOCK_TIME值这样的常数,以及这个值将如何对比特币现金产生具体影响。我们得出的结论是,考虑到实施规则时功能网络的缺失,比特币的时间保护规则似乎相当有效,令人印象深刻。
人们可能认为时间对于比特币网络来说并不是一个重要的考虑因素,因为每个块都是参考前一个块的哈希值,所以这些块已经有了一个序列。比特币还包含交易(输入、输出和值),从中导出块头的Merkle树,以及块本身的hash值,用来证明工作量。从表面上看,这对于一个交易和一致性系统来说可能已经足够了。但是,存在调整难度的问题。如果太多矿工加入网络,阻塞时间可能会变得太快,或者如果太多矿工离开,阻塞时间可能会变得太慢,使网络不可靠。
为解决这一问题,每两周调整一次挖掘难度,以实现块间十分钟的目标时间。不幸的是,为了计算两个星期的时间,必须将时间的概念引入区块链,成为一致性系统的一部分。因此,块必须包含时间戳,人们可以将比特币视为世界上第一个分布式电子钟。当块安全规则在比特币块中生成时,它本质上涉及两次:
块中的时间是由矿工放置的块产生的实际时间。当然这两个时间应该差不多。毕竟矿工必须有合理准确的时钟。他们为什么要谎报时间?
矿工确实有动机谎报时间。例如,非法采矿者可以添加未来时间戳。例如,如果生产一个区块需要10分钟,矿工可以通过给未来添加5分钟的时间戳来声称它需要15分钟。如果这种加5分钟的做法持续整个两周难度调整周期的话,平均阻滞时间看起来会像是15分钟,但实际上比这个要短。那么下一个周期的难度可能会向下调整,由于区块时间的加快,开采收益会增加。当然,这种方法的问题是比特币时钟的运动继续离真实时间越来越远。
为了解决或缓解上述问题,比特币有两种机制来防止矿工篡改时间戳。
1.过去的中值时间(MPT)规则-时间戳必须高于过去11个块的中值。1块的中值意味着可以重组6块,时间仍然不会向后移动。有些人可能会认为这与Meni Rosen feld 2012年报告中提供的例子是一致的,即对于一个拥有10%网络计算能力的攻击者,必须进行6次确认才能将攻击的成功概率降低到0.1%以下。
2.未来块时间规则根据-max _ future _ block _ time常量,与来自同一个节点的中位时间相比,时间戳不能出现超过2小时的未来。节点提供的时间和本地系统时钟之间的最大允许差值为90分钟(另一种安全措施)。应当指出的是,与上述MPT规则不同,这不是一个完全商定的规则。时间戳太远的块是无效的,但是随着时间向前移动它们可能变得有效。
第一个规则确保区块链在时间上继续向前移动,而第二个规则确保区块链不会向前移动太远。这些时间保护规则并不完善。例如,矿工仍然可以通过在两周内生成未来时间戳来前移时间戳,但是该操作的影响是有限的。
如上比例所示,由于两个小时只是两周的一小部分,因此这种操作对网络可靠性和挖掘盈利能力的影响可能是有限的。这相当于难度调整后两周内,两个街区之间的时间从10分钟减少到9分54秒。而且只是一次性改变,因为一旦发生两小时运动,除非先向后运动,否则无法再向前运动。与此同时,矿工可以在前进两个小时之前考虑安全裕度,以降低网络拒绝闭塞的风险。
根据我们的判断,这些规则已被证明在防止矿工以恶意方式篡改比特币时间戳方面相当有效。
正如我们在2017年9月首次提到的,比特币现金是2017年8月从比特币中分支出来的一种替代货币。其主要目的是增加块大小限制。当时比特币现金开发者的一个顾虑是,很多矿工不会开采比特币现金,所以区块之间的时间差可能太大。因此,实施了所谓的“紧急难度调整”(EDA)来缓解这种担忧。这里不详细讨论,但足以说明这个机制非常复杂,并且被证明有根本性的缺陷。
这种算法意味着,如果在特定时期内没有找到特定数量的区块,难度将会降低。此政策尤其激进,因为它意味着区块之间的时间差越长,难度向下调整的幅度就越大。矿工可以故意留下大的时间差操纵网络,导致难度大幅变动,随后出现以非常高频率生成区块的低难度期。然后网络变得不可靠。由于这种瑕疵 ,生成的比特币现金区块超过预期,并且矿工在此期间的收入增加。比特币现金建立了基于比特币的大约 5,000 条区块引线,一条引线至今依然存在。几个月后,在 2017 年 11 月,最终进行了修复 。EDA 被移除并且被一个新的难度调整系统(更简单的 24 小时滚动系统)取代。但是,这仍然与比特币的两星期窗口系统不同。比特币现金的系统更加动态并且调整速度更快。 虽然这意味着比特币现金可能在短期拥有更波动的难度,但此货币对变化的调整速度更快,而比特币中的时间差纠正可能需要花费更长时间。
来源 : BitMEX Research
在比特币现金的新难度调整算法中很多人可能忽略了一件事情 ,就是它与两小时时间保护规则的相互关系。 据我们所知,比特币现金 保留 了 2 小时常数。
两小时时间现在是计算期的 8.3% 。这相当于将区块之间的时间从 10 分钟减少至 9 分 10 秒。这确实似乎具有潜在的重要意义,并且如果加以利用,可能导致矿工盈利能力的变化。因此比特币现金在矿工篡改时间戳方面可能具有一定脆弱性,或者至少比比特币更加脆弱。另一方面,虽然比特币现金面对矿工时间戳篡改攻击时比比特币更加脆弱,但对问题的解决速度更快。
工作系统的验证 → 难度调整系统 → 完善的时间保护规则
虽然这在今天我们看来可能不是特别精巧,但我们对这些系统已经有了 10 年经验。我们认为,中本聪在没有任何此类网络之前对此进行了全面思考,是非常了不起的。