比特币是一个只能添加而不能删除的记录。它是一种可以不断添加新的数据,但是数据一旦被添加上去,就变得不可修改并且永久保存的数据结构。因此,通过比特币,我们可以获得一个时间顺序:判断一个数据是在另一个数据之前还是之后被写进了记录的。这个次序是由区块之间的哈希函数指针,而不是区块上的时间戳所决定的,因为时间戳可以作假,或者是由于矿工更改时间戳的值使其变得更小(更早),或者是矿工的计算机时钟没有同步,更或者是由于网络延时产生的差异。话虽如此,如果一个区块的时间戳延迟了好几个小时,它就会被其他的矿工们拒绝。所以时间戳还是相对准确的。通过下面的示例,我们可以看到,这些特性是有实际用途的。
安全时间戳
比特币这种只能被添加的记录特性可以被用来建立一个安全时间戳(secure timestamping)系统。假如,想要证明在时间T我们就知道了x的值,但并不想披露它的具体值。只有在未来很长时间后,当有可能需要证明我们确实知道这个值的时候,才有可能需要去披露它(当然,如果我们在时间T知道x的值,我们在T之后的时间还是知道这个x的值)。而且我们一旦证明了这一点,就需要使这个证据具备永久性。
在第1章中我们看到,可以用哈希函数来锁定数据x。我们不需要公布x值本身,取而代之地,只需要在区块链里公布这个数据值的哈希函数H(x),即可以来证明我们知道这个X值。这个哈希函数的特性,保证了我们不可能再找到另外一个数据y,其哈希函数结果与x的哈希函数结果一致,也就是说,当y≠x时,H(x)=H(y)是不存在的。我们还可以依赖哈希函数另外一个常用的特性:只要x本身具备比较高的最小信息熵分布特性(distribution with high min-entropy),也就是说,x是不可预测的,那么x的哈希函数结果不会透露关于x的任何信息。如果x本身没有这种不可预测的特性,就像我们在第1章中探讨的,我们可以选择一个有较高的最小信息熵分布的随机数r和x组合签名,然后用H(r|x)作为对外公布的一个数值约定。
Loading...
未加载完,尝试【刷新】or【退出阅读模式】or【关闭广告屏蔽】。
尝试更换【Firefox浏览器】or【Chrome谷歌浏览器】打开多多收藏!
移动流量偶尔打不开,可以切换电信、联通、Wifi。
收藏网址:www.ziyungong.cc
(>人<;)