[發明專利]一種基于聯盟區塊鏈沖突交易檢測與規避系統的方法有效
| 申請號: | 202010414671.8 | 申請日: | 2020-05-15 |
| 公開(公告)號: | CN111563093B | 公開(公告)日: | 2023-04-25 |
| 發明(設計)人: | 徐小瓊;代淼;羅德宇;曹恢龍;董劉楊;虞紅芳;孫罡 | 申請(專利權)人: | 電子科技大學 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F16/27;G06Q20/40 |
| 代理公司: | 北京正華智誠專利代理事務所(普通合伙) 11870 | 代理人: | 李夢蝶 |
| 地址: | 611731 四川省成*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 聯盟 區塊 沖突 交易 檢測 規避 系統 方法 | ||
1.一種基于聯盟區塊鏈沖突交易檢測與規避系統的方法,所述方法基于一種聯盟區塊鏈沖突交易檢測與規避系統實現,所述聯盟區塊鏈沖突交易檢測與規避系統包括:交易分組子系統、交易重處理子系統、交易沖突檢測子系統和沖突交易丟棄子系統;
所述交易分組子系統用于:根據交易提案讀寫集的鍵值及鍵值對應信息,對交易進行拆分成一個或多個子交易,同時對子交易進行基于鍵值的分組,得到多個子交易分組;
所述交易包括:交易提案和背書結果;
所述子交易分組包括一個或多個讀操作子交易分組和寫操作子交易分組;
所述讀操作子交易的鍵值的對應信息包括:子交易版本號;
所述寫操作子交易的鍵值的對應信息包括:子交易版本號和子交易數值;
所述交易重處理子系統用于:遍歷每個子交易分組各自的需要對同一數據集操作的子交易,根據子交易版本號,尋得并過濾低版本號的子交易;并對子交易分組進行重排序;
所述交易沖突檢測子系統用于針對每個子交易分組,檢測沖突的子交易;
所述沖突交易丟棄子系統用于丟棄沖突的子交易;
其特征在于,包括以下步驟:
S1、在Fabric聯盟區塊鏈的排序節點中增設并啟動聯盟區塊鏈沖突交易檢測與規避系統;
S2、通過交易分組子系統,對到達排序節點的交易進行交易拆分以及子交易的分組,得到子交易分組,同時,根據排序節點的成塊規則將交易提案排序打包成塊;
S3、通過交易重處理子系統,對塊內的每個子交易分組,遍歷同一子交易分組中的需要對同一數據集操作的子交易,根據子交易版本號,尋得并過濾低版本號的子交易;
S4、通過交易重處理子系統,對子交易分組進行重排序,將寫集為空的交易提案,即只讀的交易提案的子交易分組排在前列;
S5、通過交易沖突檢測子系統,基于子交易分組賬戶余額,采用最小沖突交易集合搜索算法,對沖突的子交易進行檢測;
S6、通過沖突交易丟棄子系統,丟棄沖突的子交易,以此實現規避區塊鏈的交易沖突。
2.根據權利要求1所述的基于聯盟區塊鏈沖突交易檢測與規避系統的方法,其特征在于,所述步驟S2包括以下分步驟:
S21、根據塊內存儲的交易提案的讀寫集,將交易拆分成一個或多個鍵值不同的子交易;
S22、遍歷子交易的鍵值,將鍵值相同的子交易分至同一組,將鍵值不同的子交易分為不同組,得到子交易分組,并將子交易分組存儲到待處理交易緩存列表中;
S23、通過排序節點周期性的對待處理交易緩存列表進行判斷,判斷當前緩存隊列的子交易分組數目是否達到區塊鏈給定的最大塊內子交易分組數目,若是,則將交易提案排序打包成塊,并進入步驟S3,若否,則跳轉至步驟S24;
S24、判斷當前時間與上次打包成塊的間隔時間已超過區塊鏈系統配置的兩個塊之間的時間間隔,若是,則將交易提案排序打包成塊,并進入步驟S3,若否,則跳轉至步驟S21。
3.根據權利要求2所述的基于聯盟區塊鏈沖突交易檢測與規避系統的方法,其特征在于,所述步驟S3包括以下分步驟:
S31、針對每個子交易分組,遍歷分組中所有子交易的子交易版本號,采用選擇排序Selection-sort算法,得到該分組交易的最大版本號;
S32、遍歷同一子交易分組中的需要對同一數據集操作的子交易,刪除掉交易版本號小于最大版本號的子交易。
4.根據權利要求3所述的基于聯盟區塊鏈沖突交易檢測與規避系統的方法,其特征在于,所述步驟S5中子交易分組賬戶余額的計算方法遵循下式:
其中,m為交易分組的序列號,為交易分組m中所有子交易預處理后的賬戶總余額,為交易分組m的鍵值在世界狀態StateBase對應的Value值,i為交易分組m的寫操作子交易序列號,N為交易分組m中寫操作子交易總數,為子交易分組m的子交易i的鍵值對應信息中的子交易數值。
5.根據權利要求4所述的基于聯盟區塊鏈沖突交易檢測與規避系統的方法,其特征在于,所述步驟S5包括以下分步驟:
S51、遍歷所有的子交易分組,判斷是否存在賬戶余額小于0的子交易分組,若是,則跳轉至步驟S52,若否,則結束,此時待丟棄子交易備選集為空,即不存在待丟棄的沖突的子交易;
S52、以所有的子交易分組為節點,以子交易分組中的各個子交易各自之間的交易依賴關系為邊,建立沖突關系圖;所述邊為有向有權邊,其方向為從轉賬節點指向收賬節點的方向,其權重為轉賬節點向收賬節點轉賬的金額,轉賬節點和收賬節點由子交易的鍵值確立,轉賬的金額由鍵值對應信息中的子交易數值確立;
S53、在沖突關系圖中選擇當前子交易分組賬戶余額最小且小于0的節點作為開始點;
S54、刪除開始點當前的方向向外且權重最大的邊,并將該邊對應的子交易信息記錄進待丟棄子交易備選集;
S55、判斷被刪除的邊所連接的兩個節點的子交易分組賬戶余額是否大于0,若是,則跳轉至步驟S56,若否,則跳轉至步驟S54;
S56、判斷當前沖突關系圖中是否存在子交易分組賬戶余額小于0的節點,若是,則跳轉至步驟S53,若否,此時待丟棄子交易備選集中的子交易便是待丟棄的沖突的子交易,并進入步驟S6。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于電子科技大學,未經電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010414671.8/1.html,轉載請聲明來源鉆瓜專利網。





