[發明專利]一種基于可靠廣播的二元共識方法及裝置有效
| 申請號: | 202110984390.0 | 申請日: | 2021-08-25 |
| 公開(公告)號: | CN113794694B | 公開(公告)日: | 2022-08-26 |
| 發明(設計)人: | 段斯斯;張海濱 | 申請(專利權)人: | 清華大學;山東區塊鏈研究院 |
| 主分類號: | H04L9/40 | 分類號: | H04L9/40;H04L67/1097 |
| 代理公司: | 北京新知遠方知識產權代理事務所(普通合伙) 11397 | 代理人: | 馬軍芳;張艷 |
| 地址: | 100089*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 可靠 廣播 二元 共識 方法 裝置 | ||
1.一種基于可靠廣播的二元共識方法,其特征在于,應用于分布式系統中的任一共識節點,所述分布式系統至少包括N個共識節點,其中N≥3f+1,所述f為大于0的整數,所述方法包括:
針對任一共識節點的待共識提議,確定對應于該待共識提議的初始投票值;其中,所述待共識提議為所述共識節點提出并期望其他共識節點進行共識的數據;投票值用于表示各共識節點對待共識提議的共識意見;初始投票值為第一投票值或第二投票值;
循環執行以下每輪共識步驟,直到達到預設停止條件,其中每輪共識步驟包括:
將本輪預投票值廣播至其他共識節點;若接收到其他共識節點廣播的f+1個本輪預投票值,所述f+1個本輪預投票值均相同、且與本地本輪廣播的預投票值不同,則將本地預投票值修改為所述f+1個本輪預投票值對應的投票值,并再次廣播修改后的預投票值;
基于其他共識節點廣播的本輪預投票值確定本輪主投票值,并將確定的主投票值廣播至其他共識節點;
基于其他共識節點廣播的本輪主投票值確定本輪最終投票值,利用可靠廣播RBC協議將確定的最終投票值廣播至其他共識節點;
基于接收到的其他共識節點利用可靠廣播RBC協議廣播的本輪最終投票值確定所述待共識提議的共識情況。
2.根據權利要求1所述的方法,其特征在于,所述可靠廣播RBC協議為無條件安全的可靠廣播RBC協議。
3.根據權利要求1所述的方法,其特征在于,所述基于其他共識節點廣播的本輪預投票值確定本輪主投票值,包括:
在接收到其他共識節點廣播的2f+1個本輪預投票值,且所述2f+1個本輪預投票值均相同的情況下,將所述2f+1個本輪預投票值對應的投票值添加到本輪投票集合中;
將最先添加到本輪投票集合中的值確定為本輪主投票值。
4.根據權利要求3所述的方法,其特征在于,所述基于其他共識節點廣播的本輪主投票值確定本輪最終投票值,包括:
基于所述本輪投票集合對接收到的本輪主投票值進行合法性驗證;
在接收到N-f個合法本輪主投票值的情況下,基于所述N-f個合法本輪主投票值確定最終投票值。
5.根據權利要求4所述的方法,其特征在于,所述基于所述N-f個合法本輪主投票值確定最終投票值,包括:
若所述N-f個合法本輪主投票值均相同,則將所述N-f個合法本輪主投票值對應的投票值確定為最終投票值;
若所述N-f個合法本輪主投票值不完全相同,則確定最終投票值為不同于第一投票值與第二投票值的預定義值。
6.根據權利要求5所述的方法,其特征在于,所述基于接收到的其他共識節點利用可靠廣播RBC協議廣播的本輪最終投票值,確定所述待共識提議的共識情況,包括:
基于所述本輪投票集合對接收到的本輪最終投票值進行合法性驗證;
在接收到N-f個合法本輪最終投票值的情況下,若所述N-f個本輪最終投票值均相同、為第一投票值或第二投票值,則將所述N-f個本輪最終投票值對應的投票值確定為所述待共識提議的共識結果,并將該N-f個本輪最終投票值對應的投票值確定為下輪共識的預投票值。
7.根據權利要求6所述的方法,其特征在于,還包括:
若所述N-f個合法本輪最終投票值不完全相同,且其中存在f+1個本輪最終投票值相同、為第一投票值或第二投票值,則將所述f+1個本輪最終投票值對應的投票值確定為下輪共識的預投票值;
若所述N-f個合法本輪最終投票值中不存在f+1個相同的投票值,則隨機確定本地拋幣值,所述本地拋幣值為第一投票值或第二投票值,將所述本地拋幣值確定為下輪共識的預投票值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清華大學;山東區塊鏈研究院,未經清華大學;山東區塊鏈研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110984390.0/1.html,轉載請聲明來源鉆瓜專利網。





