干货 | 比特币就是时钟(下)
摘要: 时间是唯一一个无法再生的东西
时间是一条因果链
极端一点,整个世界无非就是一张关系网而已。
——Tim Berners-Lee,《编织万维网》(1999)
伪造日期是一个普遍问题,并不仅仅存在于数字世界。例如,在绑架案中,绑匪就需要一种办法来证实绑票发生的时间。
- 时间证明 -
这个方法之所以可行,是因为报纸很难伪造,而且易于验证。由于报纸头版报道的都是前一天的事件,绑匪是不可能提前预知头版新闻、并提前几周就伪造好人质照片的。因此,照片中人质手持的报纸的发行日期就是人质在世的证明。
这个方法凸显了一个重要概念:因果关系。时间箭头反映了事件的因果关系。没有因果关系,就无所谓时间。在赛博世界,哈希函数对于解决时间戳问题来说至关重要,因为它引入了因果关系。如果没有某份文档,我们就无法生成对应的密码学哈希值,因此文档和哈希值之间存在因果关系:先要有数据,而后才能生成(该数据对应的)哈希值。换言之,如果没有单向函数的计算不可逆性,赛博世界中就不会存在因果关系。
有了因果关系,我们就可以创建出一连串环环相扣的事件。因此,安全的数字时间戳方案得以为原本不存在时间的数字世界谱写历史。
因果关系决定了事件的时间顺序。如果一个事件由之前的某些事件引发,并且引发了之后的某些事件,则该事件在历史上的位置得以确定,不会再更改。
——Bayer,Haber,Stornetta (1992)
毋庸置疑的是,因果关系对于经济计算而言至关重要。鉴于账本其实是多个合作方之间经济计算的具象化,因果关系对于每个账本而言同样至关重要。
我们需要一个能让所有参与者就唯一历史记录达成共识的系统 …… 我们提出的解决方案基于时间戳服务器。
—— 中本聪(2009)
有趣的是,让比特币得以运作的所有组件其实早已存在。早在 1991 年,Haber 和 Stornetta 就介绍了两种 “可以有效防止时间戳造假” 的方案。一个是依赖于可信第三方的方案,另一个是更为复杂的 “分布式信任” 方案,无需依赖于可信第三方。两位作者甚至发现了信任事件因果链背后的固有问题,以及重写历史所需的条件。换言之,“有可能成功做恶的唯一方法是,准备好一条足够长的时间戳链,长到连最疑心最重的挑战者都怀疑不了的地步。”如今,比特币也存在一个类似的攻击向量,即 51% 攻击(详见下一节)。
一年后,Bayer、Haber 和 Stornetta 在之前的研究基础上提出使用 “默克尔树”,而非简单的链表将所有事件连接起来。默克尔树是一种简单高效的数据结构,可以根据多个哈希值计算出一个确定的哈希值。从时间戳的角度来看,这意味着一单位时间可以容纳多个事件。另外,这三位作者还提议对他们在 1991 年提出的分布式信任模型进行改进,即,不断举办 “世界冠军锦标赛” 来决定唯一的 “获胜者”,由获胜者在(类似报纸这样)公开的地方发布计算出的哈希值。听起来是不是很熟悉?
我们可以看出,报纸是一个绝佳的例子,能让我们更好地思考时间的第二个特性:不可预测性。
因果关系和不可预测性
时间不是现实(hupostasis),而是一种概念(noêma)或计量单位(metron)……
—— 智者安提丰,《论真理》(公元三世纪)
因果关系虽然很重要,但是远远不够。时间流逝还离不开不可预测性。在物理世界,我们通过观察自然过程来描述时间的流逝。我们观察到熵是在不断增加的,并称之为时间箭头。尽管在大多数情况下,自然规律看似与时间箭头无关,但是某些事情实际上是无法撤销的。俗话说得好,破镜难圆。
同样地,数字世界也需要增熵函数来创建时间箭头。SHA256 哈希值和密码学签名并非绝对不可破解,但就像破镜几乎不可能重圆,SHA256 和密码学签名也几乎不可破解。
如果没有熵增,我们就可以任意更改时间戳。例如,斐波纳契数字的顺序具备因果关系,但不具有熵增特质。在斐波纳契数列中,每个数字都是由前两个数字相加得到的。因此,斐波纳契数列是一条因果链。但是,斐波纳契数列无法用来报时,因为它是完全可预测的。这就好比说,绑匪不能用人质和日历的合影来证明人质还活着。我们不能使用可预测的东西作为时间证明,只能使用无法提前预测的事物,如,当日报纸的头版。
比特币的不可预测性是通过交易和工作量证明实现的。就像没人能预测明天的报纸会刊登什么内容,也没人能预测下一个比特币区块长什么样。你无法预测区块中会打包哪些交易,因为你无法预测未来将有哪些交易被广播 。更重要的是,你无法预测谁会解开当前的工作量证明难题,以及得出的解是什么。
不同于报纸,工作量证明直接 与已经发生的事件联系起来。工作量证明不仅仅是事件的记录,而且是事件本身。正是这种基于概率的直接联系免去了工作量证明的信任需求。找到有效工作量证明的唯一方法是做出大量猜测,每次猜测都要花费少量时间。每找到一个解所需要的猜测次数是概率性的,从而构成比特币的时间链。
利用哈希链的因果顺序和工作量证明的不可预测性,比特币网络提供了一种机制,可以创建无争议的事件历史。如果没有因果关系,我们就无法区分事件先后。如果没有不可预测性,因果顺序就毫无意义。
关于上文提到的绑匪的做法,其实 Bayer、Haber 和 Stornetta 早在 1992 年就给出了明确解释:“如果要确定某个文档是在某个时间之后创建的,该文档必须记录已经发生但无法提前预料的事件。”
正是因果关系和不可预测性的结合,我们才能在原本没有时间概念的数字世界中人为定义 “现在”。正如 Bayer、Haber 和 Stornetta 在 1991 年的论文中指出:“请求时间戳的客户端的顺序以及它们所提交的哈希值是无法预知的。因此,如果我们在签名证书中包含之前客户端请求序列的比特,就知道证书的时间戳晚于这些请求……证书中必须包括之前文档的比特这一要求也可以从另一个方向指明时间的先后,因为时间戳机构无法预先发行证书,除非它拥有此时此刻的请求。”
所有组件都在这里了。中本聪的高明之处在于将这些组件全都组合到了一起,从而免去对时间戳机构的需求。
时间证明
原因虽被深藏,结果却已知晓。
—— 奥维德,《变形记》(公元 8 年)
让我们来概括一下:要想在数字世界花钱,我们必须依靠账本。要想账本变得可靠,我们必须明确交易顺序。要想明确顺序,我们必须使用时间戳。因此,如果我们想要在数字世界创造出免信任货币,我们必须移除任何创建并管理时间戳的实体,以及负责计时的单一实体。
天才如中本聪找到了解决方案:“为了实现点对点的分布式时间戳服务器,我们需要使用工作量证明系统,类似于 Adam Back 提出的哈希现金(Hashcash)。”
我们之所以需要使用工作量证明系统,是因为我们需要数字世界原生的东西。一旦你了解数字世界的本质是信息化的,那么显而易见的是,计算就是我们拥有的一切。如果你的世界是由数据组成的,就会存在数据操纵。
工作量证明是一种点对点机制,因为它无需信任。工作量证明之所以具备免信任性,是因为它与所有外部输入(如,时钟或报纸)隔绝。它只依赖于一样东西:计算离不开工作量的投入。在我们的世界里,产生工作量需要投入能源和时间。
通往时间的桥梁
我知道我已着魔。
我们跑过桥 —— 熊熊燃烧的桥 ——
火焰在身后肆虐,
我们站在死亡边缘,
亲爱的,你我正与世界为敌。
—— Kate Bush,《燃烧的桥》(1985)
如果没有工作量证明,我们必然会遇到信息输入机制问题,因为物理世界和信息世界永远有隔阂。牧羊人数羊时在列表上做的标记并不是真正的羊,地图不能与真正的领土相提并论,报纸上的新闻也不一定是真实发生的事件。同理,即使你使用现实世界的时钟来创建时间戳,也并不代表实际时间就是如此。
坦白来说,我们无法相信数据代表了现实,除非是数据本身所固有的现实。比特币的难度可调节型工作量证明的高明之处在于,它创造了自己的现实,以及空间和时间。
工作量证明能够将数字世界和物理世界直接联系起来。只有这种连接是以免信任方式建立的。其它一切都依赖于外部输入。
比特币的出块难度是会调整的,从而维持比特币时间与人类时间之间的联系。就像发条一样,每挖出 2016 个区块,比特币系统就会重新调整挖矿难度。难度调整旨在将平均出块时间控制在 10 分钟,从而在物理世界和信息世界之间建立稳定的联系。因此,比特币时钟的走时需要根据人类的时间感知重新调整。纯粹基于时钟的难度调整是不可行的,因为这会将比特币与人类世界完全割裂。难度调整的目的就是防止人们的出块速度太快(或太慢)。
正如爱因斯坦告诉我们的那样,时间不是绝对的。没有什么所谓的宇宙时间。时间是相对的,同时性并不存在。仅凭这一事实,所有时间戳(尤其是跨越了遥远空间的)本质上都是不可靠的,即使参与者之间不存在对立也是如此。(顺带一提,这就是为什么 GPS 卫星的时间戳必须不断调整。)
对于比特币来说,人类时间戳并不精确这一事实不是很重要。一开始就没有绝对的参考系也不重要。时间戳的精确程度只需让以 2016 个区块为基数计算得出的出块时间足够可靠,即可。为了保证这一点,只有在满足以下两个标准的情况下,一个区块的 “物理世界” 时间戳才会被接受:
-
该时间戳必须大于之前 11 个区块的时间戳中位数。 -
该时间戳必须小于网络调整时间加两小时。(“网络调整时间” 就是与你连接的所有节点返回的时间戳的中位数。)
- BitCoin v0.01 ALPHA (2009) -
基于概率的时间
时间无休止地生出岔路,通往无数个未来。 ——博尔赫斯,《小径分叉的花园》(1958)
时间是一种幻觉。午餐时间尤其如此。 —— 道格拉斯•亚当斯,《银河系漫游指南》(1979)
收款人需要有证据能够证明,每笔交易发生时,绝大多数节点认同它们最先收到了该交易……当同一笔交易存在多个支付对象时,只有一个是有效的。收款人必须等待一小时左右,然后才能相信这个交易是有效的。届时,网络就能解决一切有可能发生的多重花费竞赛。 —— 中本聪(2009)
若想理解得更深入,我们必须追溯到更早的时间。 ——Gordon Clark,《从基督教的角度理解人与物》(1951)
嘀嗒嘀嗒 —— 几点了? 嘀嗒嘀嗒…… 停在了c619。 真是这样吗?会不会慢了? 管它准不准:8 在 9 前不会错。 这个钟不准,有时倒着走。 准时才有鬼,中心化要不得! 这个钟在嘀嗒,嘀嗒复嘀嗒, 使坏也没好处,嘀嗒到下个区块。 ——一首关于比特币和时间的小诗(2020)
总结
时间依然是物理学最大的谜题之一,甚至引起了人们对物理学本身定义的质疑。 ——Jorge Cham 和 Daniel Whiteson,《我们一无所知:通往未知宇宙的指南》(2017)
区块链,就只是数据块组成的链条而已。 —— Peter Todd
(完)
原文链接:
https://www.swanbitcoin.com/bitcoin-is-time/
作者: Gigi
作者:以太坊爱好者;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请发送至邮箱:linggeqi@chaindd.com
评论(0)
Oh! no
您是否确认要删除该条评论吗?