风险提示:请理性看待区块链,树立正确的货币观念和投资理念,不要盲目跟风投资,本站内容不构成投资建议,请谨慎对待。 免责声明:本站所发布文章仅代表个人观点,与CoinVoice官方立场无关

BitMEX Research :BTC 的区块时间保护机制

加密谷Live
2019年11月15日

BitMEX Research :BTC 的区块时间保护机制

BitMEX Research :BTC 的区块时间保护机制

BITMEX RESEARCH 检查了 BTC 鲜为人知的两个规则,这些规则用于防止不法矿工操纵区块时间戳以获得不公平的高额挖矿报酬。 在本文中,我们将讨论为什么可能选择类似 2 小时 MAX_FUTURE_BLOCK_TIME 值之类的常数,以及该值会对 BTC 现金可能产生的特定影响。 我们得出的结论是,考虑到实施规则时尚未正式部署功能网络,BTC 的时间保护规则设计似乎相当有效,令人赞叹。

BitMEX Research :BTC 的区块时间保护机制
BitMEX Research :BTC 的区块时间保护机制

BitMEX Research :BTC 的区块时间保护机制BTC 的时间问题
人们可能认为,时间对于 BTC 网络并不是一项重要的考量因素,因为每个区块都引用前一个区块的哈希值,所以这些区块已经有了先后顺序。实际上,BTC 区块还包含交易(输入、输出和值)、推导区块头的默克尔树(Merkle Tree)和区块哈希值本身,用于证明工作量。从表面上看,这对于交易和一致性系统也许已经足够。但是,还存在调整难度的问题。如果太多的矿工加入网络,区块时间可能变得太快;又或者如果太多的矿工离开,区块时间可能变得太慢,使得网络不可靠。
为了解决这个问题,每两星期调整一次采矿难度,以实现区块之间十分钟的目标时间。为了对两星期的时间进行计算,需要将时间概念引入区块链并成为一致性系统的一部分。因此区块必须含有时间戳,人们可以将 BTC 看作世界上第一个分布式电子时钟。

BitMEX Research :BTC 的区块时间保护机制

区块时间戳的安全规则

在 BTC 区块产生时,实质上涉及两个时间:

  • 区块头中的时间,是由矿工放置的;

  • 区块产生的实际时间;

当然,这两个时间应当几乎相同。毕竟,矿工们肯定有合理准确的时钟,他们为什么会在时间上撒谎呢?
遗憾的是,矿工的确存在在时间上撒谎的诱因。不法矿工可能会添加一个将来的时间戳。举例来说,如果生产一个区块要 10 分钟,矿工可以通过向将来添加 5 分钟的时间戳来声称花了 15 分钟。
如果这种增加 5 分钟的做法在整个两星期的难度调整周期都持续发生,平均区块时间看起来像是 15 分钟,而实际上比这要短。那么下一个周期的难度可能会向下调整,由于区块时间加快,增加采矿收入。这种方法的问题在于,BTC 时钟的移动会与真实时间越来越远。
为了解决或减缓上述问题,BTC 有两个机制来防止矿工篡改时间戳。

  • 过去时间中值(MPT)规则——时间戳必须比过去 11 个区块的中值更靠前。11 个区块的中值意味着,可以对 6 个区块进行重组,并且时间仍不会向后移动。有人认为,这与 Meni Rosenfeld 的 2012 年报告中提供的例子是一致的,即对于拥有 10% 网络算力的攻击者,必须进行六次确认才能将攻击的成功概率降低到 0.1%以下。

  • 未来区块时间规则——根据 MAX_FUTURE_BLOCK_TIME 常量,相比来自同等节点的中值时间,时间戳不能出现在未来 2 小时以上。节点提供的时间与当地系统时钟之间的最大允许差是 90 分钟(又一个安全保障措施)。需要注意的是,不同于上面的 MPT 规则,这不是一个完全达成共识的规则。具有在未来太远时间点上的时间戳的区块是无效的,但随着时间向前移动,它们可能变得有效。

综合来看,规则一确保区块链在时间方面继续向前移动,而规则二则确保区块链不会向前移动得太远。当然,这类时间保护规则并不完美,例如,矿工仍可以在两星期内通过生成未来的时间戳,从而将时间戳向前移动,但这种操作的影响是有限的。
BitMEX Research :BTC 的区块时间保护机制
如图所示,两个小时只是两星期中很小的一部分,此操作对网络可靠性和挖矿盈利能力的影响十分有限。这相当于在难度调整后的两星期内,将区块之间的时间从 10 分钟减少至 9 分 54 秒。而且,它只是一次性变动,因为一旦发生了两小时的时间移动之后,除非先向后移动,否则无法再次发生前移。与此同时,矿工在向前移动两个小时之前,可能会考虑安全边际,以减少区块被网络拒绝的风险。
据我们判断 ,这些规则在防止矿工以恶意方式篡改 BTC 时间戳方面,已经具有合理的有效性。

BitMEX Research :BTC 的区块时间保护机制

BTC 现金的理论区块时间问题

BTC 现金是 2017 年 8 月从 BTC 分叉出来的一种替代货币,它的主要目的是提高区块大小限制 。当时 BTC 现金开发者的担忧之一就是,很多矿工不会开采 BTC 现金,区块之间的时间差可能由此太大。因此实施了所谓的“紧急难度调整”(EDA),以减轻这种担忧。 我们在此不会进行详细讨论,但足以说明此机制非常复杂并且证明存在根本的瑕疵。这种算法意味着,如果在特定时期内没有找到特定数量的区块,难度将会降低。此政策尤其激进,因为它意味着区块之间的时间差越长,难度向下调整的幅度就越大。矿工可以故意留下大的时间差操纵网络,导致难度大幅变动,随后出现以非常高频率生成区块的低难度期,然后网络就会变得不可靠。 由于这种瑕疵,生成的 BTC 现金区块超过预期,并且矿工在此期间的收入增加。BTC 现金建立了基于 BTC 的大约 5,000 条区块引线,一条引线至今依然存在。几个月后,在 2017 年 11 月,最终进行了修复。EDA 被移除并且被一个新的难度调整系统(更简单的 24 小时滚动系统)所取代。但是,这仍然与 BTC 的两星期窗口系统不同。BTC 现金的系统更加动态,并且调整速度更快。虽然这意味着 BTC 现金可能在短期拥有更波动的难度,但此货币对变化的调整速度更快,而 BTC 中的时间差纠正可能需要花费更长时间。

BitMEX Research :BTC 的区块时间保护机制(来源 : BitMEX Research)
很多人可能忽略了一件事,在 BTC 现金的新难度调整算法中,它与两小时时间保护规则的相互关系。据我们所知,BTC 现金保留了 2 小时常数。
BitMEX Research :BTC 的区块时间保护机制
两小时时间现在是计算期的 8.3% 。这相当于将区块之间的时间从 10 分钟减少至 9 分 10 秒。这确实似乎具有潜在的重要意义,如果加以利用,可能导致矿工盈利能力的变化。因此,BTC 现金在矿工篡改时间戳方面可能具有一定脆弱性,或者至少比 BTC 更加脆弱。但是另一方面,虽然 BTC 现金面对矿工时间戳篡改攻击时比 BTC 更加脆弱,但对问题的解决速度更快。

BitMEX Research :BTC 的区块时间保护机制结论
BTC 现金的时间保护规则的明显呈现脆弱性,虽然目前可能还未被利用。这从另一方面反证了 BTC 的时间保护规则的思考是如此完善。
据我们所知,这些时间保护规则自 2009 年 BTC 推出时就已经存在。在设计系统时,中本聪必须至少在三个深度层面进行创新:
工作系统的验证 → 难度调整系统 → 完善的时间保护规则 虽然在今天看来,这可能并不是特别精妙,但这是因为我们对这些系统已经有了 10 年以上的经验。因此我们认为,中本聪在没有任何此类网络之前就对此进行了全面思考,是非常了不起的。

BitMEX Research :BTC 的区块时间保护机制

BITMEX RESEARCH 作者

Sonny Sun 编辑

   Roy   **排版**

内容仅供参考 不作为投资建议 风险自担

版权所有 未经允许 严禁转载

BitMEX Research :BTC 的区块时间保护机制

BitMEX Research :BTC 的区块时间保护机制

BitMEX Research :BTC 的区块时间保护机制

BitMEX Research :BTC 的区块时间保护机制

BitMEX Research :BTC 的区块时间保护机制

BitMEX Research :BTC 的区块时间保护机制

☟☟☟


声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。

评论0条

加密谷Live

简介:分享区块链领域专业、前沿、有趣的内容

专栏

更多>>