[發明專利]一種在區塊鏈中實現多節點交易并行執行的方法及系統在審
| 申請號: | 202011242294.0 | 申請日: | 2020-11-10 |
| 公開(公告)號: | CN112073538A | 公開(公告)日: | 2020-12-11 |
| 發明(設計)人: | 石寧;甘子榮;李延輝 | 申請(專利權)人: | 南京可信區塊鏈與算法經濟研究院有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06Q40/04 |
| 代理公司: | 北京弘權知識產權代理事務所(普通合伙) 11363 | 代理人: | 郭放;許偉群 |
| 地址: | 210031 江蘇省南京市江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 區塊 實現 節點 交易 并行 執行 方法 系統 | ||
1.一種在區塊鏈中實現多節點交易并行執行的方法,其特征在于,所述方法包括:
出塊節點接收客戶端發送的交易請求,并根據所述交易請求生成若干筆交易;
出塊節點將所述交易請求和所述交易廣播至區塊鏈系統中的其它節點;
出塊節點根據所述交易請求執行交易,得到每筆交易對應的第一執行結果;其它節點根據接收到的交易請求執行交易得到每筆交易對應的第二執行結果;
出塊節點將所述第一執行結果和交易的數據打包成區塊;
出塊節點發送所述區塊至區塊鏈系統中的其它節點;
其它節點對接收到的區塊執行是否合法性的判斷,得到共識結果;
當所有其他節點得到共識成功的共識結果時,所有其他節點以使得共識成功的交易執行結果更新本地賬本。
2.根據權利要求1所述的方法,其特征在于,所述其它節點對接收到的區塊執行是否合法性的判斷,得到共識結果的步驟包括:
判斷所述區塊中交易的交易類型;
若交易類型為非關聯交易,則判斷所述第一執行結果與第二執行結果是否一致,若一致,則將第一執行結果或第二執行結果作為使得共識成功的交易執行結果,并生成共識成功的共識結果;若不一致,則生成共識失敗的共識結果;
若交易類型為關聯交易,則根據交易請求重新執行所述區塊中的交易,得到第三執行結果,判斷所述第三執行結果與第一執行結果是否一致,若一致,則將第三執行結果或第一執行結果作為使得共識成功的交易執行結果,并生成共識成功的共識結果;若不一致,則生成共識失敗的共識結果。
3.根據權利要求2所述的方法,其特征在于,判斷所述區塊中交易的交易類型的方法包括:
提取區塊中任意一筆交易中生成第一執行結果時修改的狀態值;
若該筆交易修改的狀態值與區塊中其它任意一筆交易中生成第一執行結果時修改的狀態值相同,則該筆交易的交易類型為關聯交易;
若該筆交易修改的狀態值與區塊中其它任意一筆交易中生成第一執行結果時修改的狀態值均不同,則該筆交易的交易類型為非關聯交易。
4.根據權利要求3所述的方法,其特征在于,當所述交易類型為關聯交易時,得到第三執行結果的方法包括:
獲取關聯交易中前一筆交易修改狀態值的最終狀態值;
將所述最終狀態值作為關聯交易中后一筆交易修改狀態值的初始狀態值繼續執行該交易,得到第三執行結果。
5.根據權利要求3所述的方法,其特征在于,當所述交易類型為關聯交易時,根據區塊中相互關聯的交易的順序串行執行交易,得到第三執行結果。
6.一種在區塊鏈中實現多節點交易并行執行的系統,其特征在于,所述系統包括:
客戶端,用于發送交易請求至出塊節點;
出塊節點,被配置為執行下列方法:
接收客戶端發送的交易請求,并根據所述交易請求生成若干筆交易;
將所述交易請求和所述交易廣播至區塊鏈系統中的非出塊節點;
根據所述交易請求執行交易,得到每筆交易對應的第一執行結果;
將所述第一執行結果和交易的數據打包成區塊;
發送所述區塊至非出塊節點;
所述系統還包括:
與所述出塊節點位于同一區塊鏈系統的多個非出塊節點,分別被配置為執行下列方法:
根據接收到的交易請求執行交易得到每筆交易對應的第二執行結果;
對接收到的區塊執行是否合法性的判斷,得到共識結果;
當所有非出塊節點得到共識成功的共識結果時,以使得共識成功的交易執行結果更新本地賬本。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京可信區塊鏈與算法經濟研究院有限公司,未經南京可信區塊鏈與算法經濟研究院有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011242294.0/1.html,轉載請聲明來源鉆瓜專利網。





