一年后,Bayer、Haber 和 Stornetta 在之前的研究基础上提出使用 「默克尔树」,而非简单的链表将所有事件连接起来。默克尔树是一种简单高效的数据结构,可以根据多个哈希值计算出一个确定的哈希值。从时间戳的角度来看,这意味着一单位时间可以容纳多个事件。另外,这三位作者还提议对他们在 1991 年提出的分布式信任模型进行改进,即,不断举办 「世界冠军锦标赛」 来决定唯一的 「获胜者」,由获胜者在(类似报纸这样)公开的地方发布计算出的哈希值。听起来是不是很熟悉? 我们可以看出,报纸是一个绝佳的例子,能让我们更好地思考时间的第二个特性:不可预测性。 因果关系和不可预测性时间不是现实(hupostasis),而是一种概念(noêma)或计量单位(metron)…… —— 智者安提丰,《论真理》(公元三世纪) 因果关系虽然很重要,但是远远不够。时间流逝还离不开不可预测性。在物理世界,我们通过观察自然过程来描述时间的流逝。我们观察到熵是在不断增加的,并称之为时间箭头。尽管在大多数情况下,自然规律看似与时间箭头无关,但是某些事情实际上是无法撤销的。俗话说得好,破镜难圆。 同样地,数字世界也需要增熵函数来创建时间箭头。SHA256 哈希值和密码学签名并非绝对不可破解,但就像破镜几乎不可能重圆,SHA256 和密码学签名也几乎不可破解。 如果没有熵增,我们就可以任意更改时间戳。例如,斐波纳契数字的顺序具备因果关系,但不具有熵增特质。在斐波纳契数列中,每个数字都是由前两个数字相加得到的。因此,斐波纳契数列是一条因果链。但是,斐波纳契数列无法用来报时,因为它是完全可预测的。这就好比说,绑匪不能用人质和日历的合影来证明人质还活着。我们不能使用可预测的东西作为时间证明,只能使用无法提前预测的事物,如,当日报纸的头版。 比特币的不可预测性是通过交易和工作量证明实现的。就像没人能预测明天的报纸会刊登什么内容,也没人能预测下一个比特币区块长什么样。你无法预测区块中会打包哪些交易,因为你无法预测未来将有哪些交易被广播 。更重要的是,你无法预测谁会解开当前的工作量证明难题,以及得出的解是什么。 不同于报纸,工作量证明直接 与已经发生的事件联系起来。工作量证明不仅仅是事件的记录,而且是事件本身。正是这种基于概率的直接联系免去了工作量证明的信任需求。找到有效工作量证明的唯一方法是做出大量猜测,每次猜测都要花费少量时间。每找到一个解所需要的猜测次数是概率性的,从而构成比特币的时间链。 利用哈希链的因果顺序和工作量证明的不可预测性,比特币网络提供了一种机制,可以创建无争议的事件历史。如果没有因果关系,我们就无法区分事件先后。如果没有不可预测性,因果顺序就毫无意义。 (责任编辑:admin) |