上面我们看到了Hashgraph如何在节点之间通信,在通过执行八卦算法后,所有节点都是全节点,存储了完整的网络历史,在需要对某一提案达成共识时并不需要大规模的消息通信,每个节点可以独立执行虚拟投票机制(Virtual Voting),并且所有节点一定会得出相同的共识结果。下面我们可以看到虚拟投票机制的详细名词定义与虚拟投票过程的演示范例,引用自《Hashgraph —— 或许是目前最为优秀的共识协议》一文。
名词定义:
事件(event)
在上面的八卦算法中我们已经接触到了这个概念,类似于
比特币中的区块,事件是一个包含有两个哈希指针的数据结构,并且可以包括0个或若干交易信息,节点在创建事件的同时会加上时间戳并且对整个事件数字签名。
绝对多数(supermajority)
超过2/3以上节点的数量,在很多DPoS系算法上也有这个概念。
可见(seeing)
当事件B可以沿着哈希指针找到事件A,那么事件B就可见事件A。
强可见( strongly seeing)
当事件B能找到事件A的所有路径中跨越了绝对多数的节点,那么事件B强可见事件A。白皮书中提到经过数学论证可以保证两个强可见的节点在虚拟投票时能获得一致的结果。
见证人(witness)
每个节点在每个轮次中创建的第一个事件就是见证人事件,即该轮次的祖先事件,节点可能在某个轮次中没有见证人事件。
知名见证人(famous witness)
如果R轮的见证人能被绝对多数的R+1轮见证人可见,则它就是知名见证人。具体的计算方法详见后文。
创建轮次(round created)
一个事件的创建轮次是R或者R+1,其中R是该事件父节点的最大轮次。当且仅当事件能强可见绝对多数的R轮见证人,则该事件的创建轮次为R+1。
接受轮次(round received)
如果R轮(创建轮次)中的所有知名见证人可见某一普通事件,则该事件的接受轮次就是R轮,如果某普通事件没有被R轮所有知名见证人可见,则它的接受轮次一定晚于R轮。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。