值得注意的是,我们的工作量证明时钟只能给我们提供滴答声。但我们没法从滴答声中听出顺序。而 前后相接的哈希链条就是用来解决这个问题的(译者注:因为区块头中包含了挖矿的矿工选定作为父区块的那个区块的哈希值,因此这就形成了先后顺序)。 那么分布式共识呢?共识意味着一致同意。所有参与者都必须遵循的一条规则就是,时钟会有滴答声。其外,所有人都能听到滴答声,并且知道与每个滴答声相关联的数据。而这,正如中本聪在一封邮件中提过的,实际上解决了 拜占庭将军问题 。 还有另外一个共识是专门用来处理一种特殊情况的 —— 两声连续的滴答声与互相冲突的区块相关联。这种冲突只有等待下一声滴答的出现才能解决。当下一个与滴答声相关联的区块出现时,它会接在前面冲突的两个区块中的一个后面。而这就会使得另一个区块变成 “孤块”。一条链到底会如何发展,是一个概率问题,但或多或少也能跟工作量证明时钟有关。 大概就是这么回事了以上就是工作量证明对区块链的作用 。矿工们并不是通过买什么 “彩票” 来赢取打包一个区块的权利,也不是什么把电能 转换成一种有价值的东西,这些说法都走远了 。 彩票这一说法无非是用来吸引更多的矿工来参与到挖矿中,它本身并不是区块链运行的机制。有人也许会说区块的哈希值形成了链条,不过这也跟工作量证明没什么关系 ,它只是用密码学来强化对区块顺序的记录而已 。哈希链条还确保之前的滴答声越来越不可改变,变得越来越安全。 工作量证明机制也增强了区块的不可改变性。这也副作用使得隔离见证( Segregated Witness )变得可行,不过其实通过保留签名(witness)也可以实现。所以这一作用只是次要的。 总结比特币区块链的工作量证明实际上就是一个分布式的、去中心化的时钟。 如果你理解了这个解释,那么你应该对工作量证明和权益证明间的区别有了更清楚的认知。显然,两者本质上是不同的:权益证明是(用随机性来分发的)权力,而工作量证明是一个时钟。 在讨论区块链时,我们说 “工作量证明” 其实不太贴切。这个词是从 Hashcash 项目中传下来的 ;在该项目中,它是用来证明工作量的。而在区块链上它则主要用于获得可校验的时间顺序 。当一个人看到一个哈希值满足难度条件,他/她知道 产生这个哈希值一定花去了一些时间 。而这段时间就是由 “工作量” 造成的。不过这个哈希值之所以有意义,就是因为它证明了它的产生是经过了一段时间的。 工作量证明主要跟时间有关,而不是跟工作量有关;这个事实也指出了,可能还有其他的统计问题会更消耗时间但只需要更少的能量。这一事实也意味着比特币的 hashrate(哈希速率)实际上是过多的。我们前面提到的比特币时钟其实只需要一部分的 hashrate 也能运行自如。不过奖励机制的存在刺激了能量的消耗。 (责任编辑:admin) |