- A+
前言:中本聪所设计的2100万BTC总量,按照正常的挖矿情况,其剩余量预计会在大约2140年全部被挖完,那么,是否存在某种情况,会导致比特币被提前挖完呢?答案是:有的,但这种方案目前也只是在理论的情况下。一种名为时间扭曲攻击的变体51%攻击,理论上最快能让剩余的比特币在18.7天内被挖完,然而,理性的矿工,不会在面对一只能够长期下金蛋的鹅的情况下,选择短期利益而去杀死它。
而这也是原文作者Jameson Lopp想要探讨的关于时间戳安全性的话题。
以下为译文:
比特币通常被称作是一个安全的时间戳服务。在比特币出现之前,我们从未有过一个具有可靠时间戳的全球真相记录,那这是怎么发生的呢?这通常是由于工作量证明(PoW)被合并到一些简单的规则,而这是矿工们必须要遵守的。矿工的主要职能是:
接受未排序的未确认交易,并将其按特定顺序排列;
将交易打包到有效的容器当中(区块);
在可接受的时间范围内,对区块进行时间戳标记;
而这最后一个属性,使得比特币能够控制比特币供应的释放。如果没有它的话,只要算力出现增长,比特币就会遭受快速通货膨胀的过程。但事实证明,这个属性为比特币协议分配了相当多的实用性,也使得人们可以将比特币用作其他服务的数据锚。因为我们有相当强的保证,让时间戳在给定范围内,并且我们有重写德州扑克历史所需能量的数学保证,比特币为数据时间戳提供了一个可靠的锚。但它有多可靠呢?
比特币时间戳的灵活性
为了让节点认为区块头的时间字段有效,它必须满足两个条件:
从你的计算机本地时间算起,未来不能超过2小时;
大于过去11个区块的中值时间戳;
第一条规则是很有意义的,我们显然不希望任何人声称来自未来,而且节点很容易拒绝此类声明,因为我们都对当前时间达成了一致意见(有多种方法可以检查当前时间,而一种非常流行的计算机同步时钟的方法,是通过网络时间协议)。
然而,要确保时间在一个合理的点之前不会太远是很困难的。这是因为,我们不能假定一个节点在其最初创建时间附近的任何点,都在验证区块。节点需要能够在任何原因或无任何原因的情况下离开和重新加入网络。如果必须在当前时间的几个小时内创建历史区块,那么位于链顶端太远的节点将开始拒绝历史区块。
这是来自中本聪白皮书中描写的一段话:
“节点可随意离开和重新加入网络,并接受工作量证明链作为它们消失时所发生事情的证明。”
也许与直觉相反,实际上没有规则要求区块的时间戳必须在前一区块的时间戳之后。如果你思考一下,这样的规则可能会导致一个问题:如果一个矿工在未来近2小时内创建了一个带有时间戳的区块,那么下一个区块也不得不等待一段漫
长的时间,而对于其他矿工来说,很难自我更正过去11个区块的中值时间(MTP);
此外,请记住,虽然比特币网络预计每10分钟生产一个区块,但这并没有真正的保证。区块诞生的间隔时间可以从几毫秒到几个小时不等。虽然过去11个区块的预期中值时间应该是1个小时前,但它可能会更多或者更少;
GG国际厅 全新百万靓牌头奖上线! 中奖概率更高奖金更大~
蜗牛扑克业界首家 1个账号通玩多个扑克平台
蜗牛扑克官方网址:http://www.allnew366.com
蜗牛扑克50%高额返水注册网址:http://www.tianlongqipai.com
以上资讯由蜗牛扑克中文网整理提供!