[發明專利]一種改進的PBFT區塊鏈共識方法有效
申請號: | 202010185280.3 | 申請日: | 2020-03-17 |
公開(公告)號: | CN111414420B | 公開(公告)日: | 2023-05-26 |
發明(設計)人: | 李云;吳奧宇 | 申請(專利權)人: | 重慶郵電大學 |
主分類號: | G06F16/27 | 分類號: | G06F16/27;G06Q20/38;H04L9/06;H04L67/1097 |
代理公司: | 重慶輝騰律師事務所 50215 | 代理人: | 王海軍 |
地址: | 400065 重*** | 國省代碼: | 重慶;50 |
權利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關鍵詞: | 一種 改進 pbft 區塊 共識 方法 | ||
1.一種改進的PBFT區塊鏈共識方法,其特征在于,具體包括以下步驟:
將所有節點分為共識集合和待定集合;
對共識集合中的節點進行評分,并通過該評分選擇主節點;對共識集合中的節點進行評分包括:
其中,Si表示節點i的總評分即評估結果;R表示所有節點組成的集合,|R|表示總節點數;di表示節點i的歷史共識評分;ei表示節點剩余電量的百分比;ci和C分別表示節點成功參與共識的次數與總共識次數;k1、k2、k3分別表示歷史共識評分、節點剩余電量的百分比、節點成功參與共識的次數對節點評分的權重;
根據選取的主節點開始視圖的共識過程;
當共識成功時,主節點歷史共識評分+1,參與共識次數+1;從節點參與共識次數+1;
當共識失敗時,主節點歷史共識評分-3;若為從節點懷疑導致視圖切換,則該從節點歷史共識評分+1且參與共識次數+1。
2.根據權利要求1所述的一種改進的PBFT區塊鏈共識方法,其特征在于,在進行第一次共識時,節點被隨機分配到共識集合和待定集合;在之后的共識過程中,共識集合和待定集合中的節點按照節點的評分從高到低進行排序,當共識集合Ra中的節點的歷史共識評分小于0時,將該節點將轉移到待定集合Rb末尾,同時將Rb集合的首節點轉移到共識集合Ra中。
3.根據權利要求2所述的一種改進的PBFT區塊鏈共識方法,其特征在于,從第二次共識開始,將所有節點分為共識集合和待定集合時,需要滿足:
|Ra|=3f+1;
|Rb|=f;
其中,|Ra|表示共識集合Ra中節點的數量;|Rb|表示待定集合Rb中節點的數量;f表示參與共識的集合Ra中允許失效的最大節點數。
4.根據權利要求1所述的一種改進的PBFT區塊鏈共識方法,其特征在于,歷史共識評分、節點剩余電量的百分比、節點成功參與共識的次數對節點評分的權重分別為k1=0.5、k2=0.3、k3=0.2。
5.根據權利要求1所述的一種改進的PBFT區塊鏈共識方法,其特征在于,通過節點的評分選擇主節點包括通過節點的評分對節點進行排序,使得節點序號越小節點評分越大、排序越靠前,且排序越靠前的節點被選為主節點的概率越大,被選出的主節點序號表示為:
其中,p表示最終選出的主節點序號;unifrnd(0,|Ra|-1)表示在0到|Ra|-1之間產生一個隨機數,|Ra|表示共識集合Ra中節點的數量;floor()表示對括號中的數進行向下取整。
6.根據權利要求1所述的一種改進的PBFT區塊鏈共識方法,其特征在于,根據選取的主節點開始視圖的共識過程包括:
主節點將交易打包成區塊后生成預準備消息并向從節點廣播;
從節點收到預準備消息后確認消息的正確性,若消息沒有被篡改且消息中的區塊和交易也沒有被篡改,則向其他節點包括主節點和從節點廣播準備消息;
若消息或消息中的區塊和交易被篡改向客戶端發送視圖變更消息;
客戶端收到不同節點發送的2f+1個相同的視圖變更消息后重新進行共識;
若節點收到不同節點發送的2f+1個與預準備消息一樣的準備消息后,向客戶端回復執行成功消息;
此時,主節點將交易打包的區塊加入到每個節點中;
其中,f表示參與共識的集合Ra中允許失效的最大節點數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于重慶郵電大學,未經重慶郵電大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010185280.3/1.html,轉載請聲明來源鉆瓜專利網。