Hashgraph由八卦协议和虚拟投票机制构成的共识机制,总体来说可以概括如以下步骤:
1. 每个节点都在试图随机找到其他节点,把自己所知的信息通过八卦协议传递给对方;
2. 每个节点同时也在接受其他节点通过八卦协议传递过来的信息,接受信息时节点需要进行一系列的运算,包括:
a. 接受和处理接收的八卦信息
b. 创建一个新的事件,同时指向自己的最后一个事件和八卦来源节点的最后一个事件
c. 对所有已知的事件计算其创建轮次,确定事件是否是该轮次内的见证人事件
d. 对所有已知的见证人事件进行选举投票,计算出是否为知名见证人
e. 通过知名见证人,确定所有事件的接受轮次
f. 通过事件的接受轮次和共识时间戳,进行虚拟投票决定共识顺序
整个共识算法,单个节点需要保存全网数据。