区块链里的共识机制

转载
2407 天前
13785
A5创业网

本文来源:A5创业网  作者:巫行云

火讯财经注:将协商规则最后达成的规则统一,其实是一种共识机制。在中本聪刚开始时有很多的虚拟货币的尝试,那时候有一个密码学家,他发明了匿名的分布式的电子加密货币系统,实现了点对点的交易和不可更改的交易记录,但是最后没有成功,因为他的每个节点分别记录自己的账本,这不可避免会带来各节点的不一致,未来解决这个问题,这个密码学家设计了非常复杂的奖惩机制,但是之后还没有从根本上去解决。

在一个中心化的结构里面,系统的共识是由这个中心决定的,参与的各方只需要服从命令就可以了,中心化的体系里面共识建立效率是非常高的。

这就是为什么中心化的机构要比去中心化的机构相对而言效率更高的缘故?比如说你上一所大学,什么时间之前要交多少学费,要打到哪个账号里,需要到哪栋楼报道,这都是由学校安排好的,只要服从就好了,如果你不按规定的时间地点报道,你就没有资格加入这所学校,在这个中心化体系中要按照中心提出的要求,这种中心化方式也会让入学报名这项工作变得井井有条。并且可以快速的完成这项工作。


那么在一个去中心化的体系里,由于参与者的地位都是平等的,当出现意见分歧的时候,他们如何达成共识呢?我们可以想象一下,如果你和学校,老师,地位是平等的,那么在办理入学的这件事情上会出现什么样的情况呢?在报名环节里,你和同学们老师校长,最有可能商议出来的事情就是谁的年纪最大就听谁的。

然后将这种协商规则最后达成的规则统一,其实这也是一种共识机制,在中本聪刚开始时有很多的虚拟货币的尝试,那时候有一个密码学家,他发明了匿名的分布式的电子加密货币系统,实现了点对点的交易,和不可更改的交易记录,但是最后没有成功,因为他的每个节点分别记录自己的账本,这不可避免会带来各节点的不一致,未来解决这个问题,这个密码学家设计了非常复杂的奖惩机制,但是之后还没有从根本上去解决。

由此可见一个设计精妙,实际操作起来简单的共识机制,是一个分布式体系能够顺利自运转下去的关键所在,简而言之,共识机制就是达成共识的依据,也是区块链的核心之一,他使得去中心化的体系能够共同维护同一个账本,目前比较知名的共识机制,有工作量证明pow,还有权益证明pos。

早期的区块链项目都是模仿比特币的,实行的都是工作量证明,这里就和大家说以下比特币的共识机制工作连证明,还有最长链机制。

在英国的密码学家,他发明了哈希现金,就是用的工作量的证明系统,这个方法解决了互联网垃圾邮件的问题,他要求计算机在获得发送信息权限之前,要做一定量的计算工作,这个对于正常的信息传播来说不很难察觉,但是他对于想全网大量散播垃圾邮件的计算机来说,就行成了巨大的工作量和负担。


在比特币之前哈希现金被用于过滤垃圾邮件,工作量正明简单来说就是一份证明,用来确认你做过一定量的工作,就好比说你拿到了大学的毕业证,就能客观证明你大学四年的学习,具备一个大学生的一个学习能力。

监测过程是效率极低的,对结果来进行认证,认证你是否完成了相应的工作量,这样的方式是一种高效的方式,比特币的工作证明对于挖矿,算力,这样的一些概念。在之前的文章我有提过,就不多说了。

最长链机制最长的那条链,一般区块链网络未来长久的发展都会要求所有节点遵守一个公式,就是所有保存到本地的节点都要求被验证通过的最长链,由于区块链的每个区块都必须引用他上一个区块,所以最长链也是最难被推翻的,那么怎样来保证最长链呢?

理论上来说旷工是可以在任何一个区块上计算下一个区块的,但是只有最长区块链的区块才能获得系统的承认,并得到挖矿的奖励,打包区块的奖励只有在该区块上被增加之后才能被使用。

也就说,如果你是矿工你挖出来的新的区块你获得新生的比特币奖励,只有往后延伸区块之后,你才能动用这笔区块奖励,这也是保证区块链不发生分裂的一个机制。


我们回到工作量的证明,虽然工作量证明很公平,然而对他大家也是有一定的批评的,最常见的指责就是大量消耗能源,因为节点算力竞赛是需要电力的,这个在挖矿在比特币挖矿中电力挖矿成本中占很大的比重。

就可以实际感受到工作量证明对能源的消耗是占比很大的,做一就出现了另外一种共识机制就是权益证明,权益证明是和工作量证明相对应的另外一种共识机制,权益证明就是你在这个网络中你拥有币得多少来竞争你记账的权利。简单说就是你的币越多,你获得记账的概率就越大。

这种证明方式就是缩短了共识达成的时间,也不在消耗大量的能源,这就叫权益证明,有可能以偶人就会问是不是我花很多钱买大量的币,是不是在网络里面就会有话语权,这里也要给大家说一下币龄,也就是数字货币的年龄。

在比特币的世界里utxo位于区块的高度,或者说在最长链这个区块的高度的的差值,决定着这笔utxo的币龄,差值越大币龄就越大,差值越小比龄也就越小,如果你花费了这个utxo的话也就代表着这个币龄被消耗了。

举例来说就是你的朋友给你转给了一枚比特币,这笔交易被旷工在四十二万的这个高度上被打包,那么目前的区块哦的高度是四十八万,那么到目前为止你还没有把这枚比特币花出去,那么你手上拥有的这枚比特币的币龄是六万,你的权益很有可能是六万乘以一枚等于六万枚。

假设全网的utxo的币的加起来乘以币龄是一千亿,那么你获得记账权利的概率就是一千万分之六,在pos机制里面拥有币和币龄越高的节点拥有着产生新区块的权利,简单来说就是你拥有的币越多,并且你拥有的币龄越久,你就会有币别人获得更大的记账的概率。

由于工作量证明带来的能源消耗,还有其他的缺陷,越来越多的区块链项目抛弃原来的单一工作量证明,开始实施工作量证明加权益证明的混合的共识机制,在以太坊的设计里面,在后期也会有工作量证明转化为权益证明,而真正的权益证明,共识机制运行起来的区块链早就在2012年就诞生了,中文名字叫点点币。

除了工作量证明还有权益证明外还有其他的共识机制,比如说股份授权证明机制,这个就类似于董事会投票,持币者投出一定量的票,代理他们验证和记账,另外还有燃烧证明,沉淀证明,能力证明,还有消逝时间证明等等这样的方案。