[發明專利]一種分布式共識算法及分布式系統有效
| 申請號: | 202010225624.9 | 申請日: | 2020-03-26 |
| 公開(公告)號: | CN111447071B | 公開(公告)日: | 2023-08-22 |
| 發明(設計)人: | 柏建華 | 申請(專利權)人: | 柏建華 |
| 主分類號: | H04L9/32 | 分類號: | H04L9/32;H04L12/18;H04L41/00 |
| 代理公司: | 深圳市多智匯新知識產權代理事務所(普通合伙) 44472 | 代理人: | 魯華 |
| 地址: | 518000 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 共識 算法 系統 | ||
本發明涉及一種分布式共識算法及分布式系統,算法包括步驟:S1、確定網絡中投票節點總共有多少,由每個節點維護一個投票委員會名單;S2、一部分有提案權的節點將提案發給所有投票節點;S3、投票節點比較各種提案,選出可以投票的提案,用自己的私鑰簽名后,發給提案節點;S4、提案節點自己統計出自己的得票率,廣播給整個網絡;S5、每個節點分別根據維護的投票節點數量,判斷得票率,確定是否接受這個狀態。本發明的分布式共識算法中,不需要很多點對點通訊,也不需要一個獨立的第三方計票員,由節點自己給自己計票,投票過程簡潔高效,可以避免像比特幣一樣經過漫長的等待才能最終確定交易,適用于各種需要達成分布式一致的場景。
技術領域
本發明涉及計算機技術領域,更具體地說,涉及一種分布式共識算法及分布式系統。
背景技術
在分布式系統中,多個主機通過異步通信方式組成網絡集群。在這樣的一個異步系統中,需要主機之間進行狀態復制,以保證每個主機達成一致的狀態共識。
所謂共識,簡單理解就是指大家都達成一致的意思。分布式一致性問題,簡單的說,就是在一個或多個進程提議了一個值應當是什么后,使系統中所有進程對這個值達成一致意見。這樣的協定問題在分布式系統中很常用,比如:
1、領導者選舉(leader?election):進程對leader達成一致;
2、互斥(mutual?exclusion):進程對進入臨界區的進程達成一致;
3、原子廣播(atomic?broadcast):進程對消息傳遞(delivery)順序達成一致。
對于這些問題有一些特定的算法,但是,分布式一致性問題試圖探討這些問題的一個更一般的形式,如果能夠解決分布式一致性問題,則以上的問題都可以解決。
然而,異步系統中,可能出現無法通信的故障主機,而主機的性能可能下降,網絡可能擁塞,這些可能導致錯誤信息在系統內傳播。因此需要在默認不可靠的異步網絡中定義容錯協議,以確保各主機達成安全可靠的狀態共識。
如果在一個不出現故障的系統中,很容易解決分布式一致性問題。但是實際分布式系統一般是基于消息傳遞的異步分布式系統,進程可能會慢、被殺死或者重啟,消息可能會延遲、丟失、重復、亂序等。
在一個可能發生上述異常的分布式系統中如何就某個值達成一致,形成一致的決議,保證不論發生以上任何異常,都不會破壞決議的一致性,這些正是一致性算法要解決的問題。
區塊鏈架構是一種分布式的架構,其部署模式有公共鏈、聯盟鏈、私有鏈三種,對應的是去中心化分布式系統、部分去中心化分布式系統和弱中心分布式系統。在區塊鏈系統中,每個節點必須要做的事情就是讓自己的賬本跟其他節點的賬本保持一致。
在區塊鏈網絡中,由于應用場景的不同,所設計的目標各異,不同的區塊鏈系統采用了不同的共識算法。
目前區塊鏈中幾種常見的共識機制有:PBFT,Raft,PoW,PoS,DPoS,Ripple。一般來說,在私有鏈和聯盟鏈情況下,對一致性、正確性有很強的要求,一般來說要采用強一致性的共識算法。而在公有鏈情況下,對一致性和正確性通常沒法做到百分之百,通常采用最終一致性(Eventual?Consistency)的共識算法。
發明內容
本發明要解決的技術問題在于,針對現有技術的上述缺陷,提供一種分布式共識算法及分布式系統。
本發明解決其技術問題所采用的技術方案是:
構造一種分布式共識算法,應用于分布式網絡,其中,包括以下步驟:
S1、確定網絡中總共有多少個投票節點,每個投票節點維護一個投票委員會名單;
S2、一部分有提案權的節點A生成待投票的提案,并將提案發給其他所有投票節點B;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于柏建華,未經柏建華許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010225624.9/2.html,轉載請聲明來源鉆瓜專利網。





