上面我們看到了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進行反饋。