System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本說明書實施例屬于區塊鏈,尤其涉及一種區塊鏈系統中的共識方法和裝置。
技術介紹
1、區塊鏈系統中,不同參與方通過部署的節點(node)可以建立一個分布式的區塊鏈網絡。利用鏈式區塊結構構造的去中心化(或稱為多中心化)的分布式賬本,保存于分布式的區塊鏈網絡中的每個節點(或大多節點上,如共識節點)上。這樣的區塊鏈系統需要解決去中心化(或多中心化)的多個節點上各自的賬本數據的一致性和正確性的問題。每個節點上都運行著區塊鏈程序,在一定容錯需求的設計下,通過共識(consensus)機制保證所有忠誠節點具有相同的交易,從而保證所有忠誠節點對相同交易的執行結果一致,并將交易及執行結果打包生成區塊。
2、當前主流的共識協議包括:pow(proof?of?work,工作量證明)協議、pos(proof?ofstake,股權證明)協議、dpos(delegated?proof?of?stake,委任權益證明)協議、pbft(practical?byzantine?fault?tolerance,實用拜占庭容錯)協議,honeybadgerbft(honeybadger?byzantine?fault?tolerance,蜜獾拜占庭容錯)協議、hotstuff協議,等等。
3、在這些共識協議中,存在著一類基于主節點驅動的共識協議,對于這類共識協議來說,通常在每一輪共識中只存在唯一的主節點,并由該唯一的主節點來發起共識提議;例如,pbft協議和hotstuff協議,就是這一類基于主節點驅動的共識協議。
4、然而,在實
技術實現思路
1、本說明書提出一種區塊鏈系統中的共識方法,所述區塊鏈系統中參與共識的共識節點包括選舉出的一主節點和若干從節點;所述方法應用于所述區塊鏈系統中的任一從節點,所述方法包括:
2、確定是否在預設的超時時長內未接收到由所述主節點發起的共識提議;
3、如果在預設的超時時長內未接收到所述主節點發起的共識提議,向其它從節點廣播發送超時消息,并收集所述其它從節點廣播發送的所述超時消息;其中,所述超時消息包含所述主節點的節點標識;
4、響應于收集到了quorum個所述超時消息,基于收集到的quorum個所述超時消息生成用于指示所述主節點發生宕機的證明;
5、將所述證明廣播發送至其它從節點,以由所述其它從節點對所述證明進行有效性驗證,并在所述證明通過了有效性驗證之后,將所述主節點從參與共識的共識節點列表中移除,并基于移除了所述主節點的所述共識節點列表中的共識節點繼續進行共識處理。
6、可選的,所述超時消息包含發送該超時消息的從節點的數字簽名;
7、響應于收集到了quorum個所述超時消息,基于收集到的quorum個所述超時消息生成用于指示所述主節點發生異常的證明之前,還包括:
8、對接收到的超時消息包含的數字簽名進行驗證;
9、如果接收到的超時消息包含的數字簽名驗證通過,進一步驗證該超時消息包含的消息內容與接收到的其它的超時消息包含的消息內容是否相同;
10、如果該超時消息包含的消息內容與接收到的其它的超時消息包含的消息內容相同,則將該超時消息作為有效超時消息進行保存。
11、可選的,響應于收集到了quorum個所述超時消息,基于收集到的quorum個所述超時消息生成用于指示所述主節點發生異常的證明,包括:
12、響應于收集到了quorum個所述有效超時消息,基于收集到的quorum個所述有效超時消息生成用于指示所述主節點發生宕機的證明。
13、可選的,所述超時消息的消息內容中包含指示該消息為超時消息的類型標識、所述主節點的節點標識,以及所述主節點未進行提議的共識提議的提議標識。
14、可選的,所述方法還包括:
15、接收其它從節點廣播發送的用于指示所述主節點發生宕機的證明;
16、對所述證明進行有效性驗證,并在所述證明通過了有效性驗證之后,將所述主節點從參與共識的共識節點列表中移除,并基于移除了所述主節點的所述共識節點列表中的共識節點繼續進行共識處理。
17、可選的,將所述證明廣播發送至其它從節點,包括:
18、基于運行的可靠廣播協議將所述證明廣播發送至其它從節點;
19、接收其它從節點廣播發送的證明,包括:
20、基于運行的可靠廣播協議接收其它從節點廣播發送的證明。
21、可選的,將所述主節點從參與共識的共識節點列表中移除,包括:
22、將所述主節點從本地維護的參與共識的共識節點列表中移除。
23、可選的,所述證明為基于收集到的quorum個所述超時消息包含的數字簽名構成的數字簽名集合;
24、基于收集到的quorum個所述超時消息生成用于指示所述主節點發生異常的證明,包括:
25、基于收集到的quorum個所述超時消息包含的數字簽名創建數字簽名集合,以作為用于指示所述主節點發生異常的證明;
26、對所述證明進行有效性驗證,包括:
27、對所述數字簽名集合中包含的數字簽名進行驗證;
28、如果所述數字簽名集合中包含的至少quorum個數字簽名驗證通過,則確定所述證明通過了有效性驗證。
29、可選的,所述區塊鏈系統中的各個從節點分別持有對主私鑰進行分割得到的一私鑰分片;所述超時消息包含的數字簽名為各個從節點基于持有的私鑰分片對該超時消息進行簽名處理得到的局部簽名;所述證明為針對收集到的quorum個所述超時消息包含的局部簽名進行聚合生成的門限簽名;
30、基于收集到的quorum個所述超時消息生成用于指示所述主節點發生異常的證明,包括:
31、針對收集到的quorum個所述超時消息包含的局部簽名進行聚合生成門限簽名,以作為用于指示所述主節點發生異常的證明;
32、對所述證明進行有效性驗證,包括:
33、基于與所述主私鑰對應的主公鑰對所述門限簽名進行驗證;
34、如果所述門限簽名驗證通過,則確定所述證明通過了有效性驗證。
35、可選的,基于移除了所述主節點的所述共識節點列表中的共識節點繼續進行共識處理,包括:
36、從移除了所述主節點的所述共識節點列表中,重新確定新的主節點,并與該共識節點列表中的其它的各個共識節點進行共識消息交互,以繼續對所述新的主節點發起的共識提議進行共識處理。
37、可選的,從移除了所述主節點的所述共識節點列表中,重新確定新的主節點,包括:
38、執行用戶為所述區塊鏈系統自定義的主節點確定規則,從移除了所述主節點的所述共識節點列表中本文檔來自技高網...
【技術保護點】
1.一種區塊鏈系統中的共識方法,所述區塊鏈系統中參與共識的共識節點包括選舉出的一主節點和若干從節點;所述方法應用于所述區塊鏈系統中的任一從節點,所述方法包括:
2.如權利要求1所述的方法,所述方法還包括:
3.如權利要求2所述的方法,將所述證明廣播發送至其它從節點,包括:
4.如權利要求2所述的方法,所述證明為基于收集到的Quorum個所述超時消息包含的數字簽名構成的數字簽名集合;
5.如權利要求1所述的方法,基于移除了所述主節點的所述共識節點列表中的共識節點繼續進行共識處理,包括:
6.如權利要求5所述的方法,所述區塊鏈系統中的共識節點運行的共識協議,支持在主節點發生宕機之后,由除了該主節點以外的其它共識節點通過顯式的消息交互,來重新確定新的主節點;
7.如權利要求6所述的方法,所述區塊鏈系統中的共識節點運行的共識協議為PBFT協議;
8.如權利要求5所述的方法,所述區塊鏈系統中的共識節點運行的共識協議,支持在主節點發生宕機之后,在除了該主節點以外的其它共識節點上隱式的執行統一的主節點確定規則,
9.如權利要求8所述的方法,所述區塊鏈系統中的共識節點運行的共識協議為HotStuff協議;
10.一種區塊鏈系統中的共識方法,所述區塊鏈系統中參與共識的共識節點包括選舉出的一主節點和若干從節點;所述區塊鏈上部署了用于對主節點進行異常管理的智能合約;所述智能合約維護了參與共識的共識節點列表;所述方法應用于所述區塊鏈系統中的任一從節點,所述方法包括:
11.一種區塊鏈系統中的共識裝置,所述區塊鏈系統中參與共識的共識節點包括選舉出的一主節點和若干從節點;所述裝置應用于所述區塊鏈系統中的任一從節點,所述裝置包括:
12.一種區塊鏈系統中的共識裝置,所述區塊鏈系統中參與共識的共識節點包括選舉出的一主節點和若干從節點;所述區塊鏈上部署了用于對主節點進行異常管理的智能合約;所述智能合約維護了參與共識的共識節點列表;所述裝置應用于所述區塊鏈系統中的任一從節點,所述裝置包括:
13.一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其中,所述處理器執行所述計算機程序時實現權利要求1至10任一所述方法的步驟。
14.一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現權利要求1至10任一所述方法的步驟。
15.一種計算機程序產品,包括計算機程序,所述計算機程序被處理器執行時實現權利要求1至10任一所述方法的步驟。
...【技術特征摘要】
1.一種區塊鏈系統中的共識方法,所述區塊鏈系統中參與共識的共識節點包括選舉出的一主節點和若干從節點;所述方法應用于所述區塊鏈系統中的任一從節點,所述方法包括:
2.如權利要求1所述的方法,所述方法還包括:
3.如權利要求2所述的方法,將所述證明廣播發送至其它從節點,包括:
4.如權利要求2所述的方法,所述證明為基于收集到的quorum個所述超時消息包含的數字簽名構成的數字簽名集合;
5.如權利要求1所述的方法,基于移除了所述主節點的所述共識節點列表中的共識節點繼續進行共識處理,包括:
6.如權利要求5所述的方法,所述區塊鏈系統中的共識節點運行的共識協議,支持在主節點發生宕機之后,由除了該主節點以外的其它共識節點通過顯式的消息交互,來重新確定新的主節點;
7.如權利要求6所述的方法,所述區塊鏈系統中的共識節點運行的共識協議為pbft協議;
8.如權利要求5所述的方法,所述區塊鏈系統中的共識節點運行的共識協議,支持在主節點發生宕機之后,在除了該主節點以外的其它共識節點上隱式的執行統一的主節點確定規則,來重新確定出新的主節點;
9.如權利要求8所述的方法,所述區塊鏈系統中的共識節點運行的共識協議為hotstuff協議;
...
【專利技術屬性】
技術研發人員:榮康,
申請(專利權)人:螞蟻區塊鏈科技上海有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。