TWI711287B - 基於區塊鏈的交易共識處理方法及裝置、電子設備 - Google Patents
基於區塊鏈的交易共識處理方法及裝置、電子設備 Download PDFInfo
- Publication number
- TWI711287B TWI711287B TW108122775A TW108122775A TWI711287B TW I711287 B TWI711287 B TW I711287B TW 108122775 A TW108122775 A TW 108122775A TW 108122775 A TW108122775 A TW 108122775A TW I711287 B TWI711287 B TW I711287B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- algorithm
- transaction data
- agreed
- transaction
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1474—Saving, restoring, recovering or retrying in transactions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
- G06Q20/204—Point-of-sale [POS] network systems comprising interface for record bearing medium or carrier for electronic funds transfer or payment credit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1804—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for stock exchange and similar applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/87—Monitoring of transactions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Abstract
一種基於區塊鏈的交易共識處理方法,發起提議的目標節點設備基於預設的壓縮演算法對提議的交易數據進行了壓縮處理,並基於糾刪碼演算法將壓縮處理後的該交易數據分割為指定數量的數據分片;包括:接收目標節點設備單播發送的交易數據的數據分片;其中,目標節點設備單播發送至各節點設備的數據分片不同;將接收到的數據分片廣播發送至其它各節點設備;以及,接收其它各節點設備廣播發送的該交易數據的數據分片;確定接收到的交易數據的數據分片的數量是否達到糾刪碼恢復閾值;如果是,基於糾刪碼重構演算法對接收到的數據分片進行數據恢復;以及,基於解壓縮演算法,對恢復出的交易數據進行解壓縮處理,得到交易數據的原始內容,以完成共識。
Description
本說明書一個或多個實施例涉及區塊鏈技術領域,尤其涉及一種基於區塊鏈的交易共識處理方法及裝置、電子設備。
區塊鏈技術,也被稱之為分布式帳本技術,是一種由若干台計算設備共同參與“記帳”,共同維護一份完整的分布式資料庫的新興技術。由於區塊鏈技術具有去中心化、公開透明、每台計算設備可以參與資料庫記錄、並且各計算設備之間可以快速的進行數據同步的特性,使得區塊鏈技術已在眾多的領域中廣泛的進行應用。
本說明書提出一種基於區塊鏈的交易共識處理方法,該區塊鏈包括若干節點設備;其中,發起提議的目標節點設備基於預設的壓縮演算法對提議的交易數據進行了壓縮處理,並基於糾刪碼演算法將壓縮處理後的該交易數據分割為指定數量的數據分片;該方法包括:
接收該目標節點設備單播發送的該交易數據的數據分片;其中,該目標節點設備單播發送至各節點設備的數據分片不同;
將接收到的數據分片廣播發送至該區塊鏈中的其它各節點設備;以及,接收該其它各節點設備廣播發送的該交易數據的數據分片;
確定接收到的該交易數據的數據分片的數量是否達到糾刪碼恢復閾值;
如果是,基於糾刪碼重構演算法對接收到的數據分片進行數據恢復;以及,基於與該壓縮演算法對應的解壓縮演算法,對恢復出的該交易數據進行解壓縮處理,得到該交易數據的原始內容,以完成對該交易數據的原始內容的共識處理。
本說明書還提出一種基於區塊鏈的交易共識處理裝置,該區塊鏈包括若干節點設備;其中,發起提議的目標節點設備基於預設的壓縮演算法對提議的交易數據進行了壓縮處理,並基於糾刪碼演算法將壓縮處理後的該交易數據分割為指定數量的數據分片;該裝置包括:
接收模組,接收該目標節點設備單播發送的該交易數據的數據分片;其中,該目標節點設備單播發送至各節點設備的數據分片不同;
發送模組,將接收到的數據分片廣播發送至該區塊鏈中的其它各節點設備;以及,接收該其它各節點設備廣播發送的該交易數據的數據分片;
確定模組,確定接收到的該交易數據的數據分片的數量是否達到糾刪碼恢復閾值;
恢復模組,如果是,基於糾刪碼重構演算法對接收到的數據分片進行數據恢復;以及,基於與該壓縮演算法對應的解壓縮演算法,對恢復出的該交易數據進行解壓縮處理,得到該交易數據的原始內容,以完成對該交易數據的原始內容的共識處理。
本說明書還提出一種電子設備,包括:
處理器;
用於儲存機器可執行指令的記憶體;
其中,透過讀取並執行該記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,該處理器被促使:
接收該目標節點設備單播發送的該交易數據的數據分片;其中,發起提議的目標節點設備基於預設的壓縮演算法對提議的交易數據進行了壓縮處理,並基於糾刪碼演算法將壓縮處理後的該交易數據分割為指定數量的數據分片;該目標節點設備單播發送至各節點設備的數據分片不同;
將接收到的數據分片廣播發送至該區塊鏈中的其它各節點設備;以及,接收該其它各節點設備廣播發送的該交易數據的數據分片;
確定接收到的該交易數據的數據分片的數量是否達到糾刪碼恢復閾值;
如果是,基於糾刪碼重構演算法對接收到的數據分片進行數據恢復;以及,基於與該壓縮演算法對應的解壓縮演算法,對恢復出的該交易數據進行解壓縮處理,得到該交易數據的原始內容,以完成對該交易數據的原始內容的共識處理。
透過以上技術方案,由於主節點設備在向各從節點設備提議待共識的交易數據時,基於壓縮演算法對提議的交易數據進行了壓縮處理,並基於糾刪碼演算法對待共識的交易數據進行分片之後再進行傳播:
一方面,使得主節點設備在向各從節點設備提議交易數據時,可以不再需要將完整的交易數據向各從節點設備進行廣播發送,而是向各從節點設備單播發送對上述交易數據進行壓縮處理後分割得到的數據分片即可,因此可以顯著的降低向參與共識的節點設備擴散傳播需要共識的交易數據時所消耗的數據傳輸頻寬,可以在短時間內將待共識的交易數據傳播至各從節點設備來完成共識,從而可以提升共識處理效率;
另一方面,由於主節點設備向各從節點設備單播發送的僅僅是上述交易數據的數據分片,對於主節點設備而言,無法獲知該數據分片所屬的完整交易的完整內容,因此可以有效避免主節點設備向其它參與共識的節點設備有選擇性的單播一些特定的交易,對一些特定的交易進行有選擇性的共識,從而可以保障共識的公正性,反正主節點透過有選擇性共識來進行“作惡”。
本說明書中,旨在提出一種在區塊鏈的共識處理過程中,引入壓縮演算法以及糾刪碼演算法對待共識的交易數據進行壓縮處理,並對壓縮後的交易數據進行分片後進行傳播擴散,來降低在向參與共識的節點設備傳播需要共識的交易數據時所消耗的數據傳輸頻寬,提升共識效率的技術方案。
在實現時,首先,在區塊鏈的每一輪共識中,發起提議的目標節點設備,可以基於預設的壓縮演算法,預先對提議的交易數據進行壓縮處理,並基於糾刪碼演算法對壓縮處理後的交易數據,分割為指定數量的數據分片,然後將分割的數據分片分別單播發送至其它各節點設備;其中,主節點設備單播發送至各節點設備的數據分片不同;
其次,各節點設備在收到上述目標節點設備單播發送的上述交易數據的數據分片時,可以將接收到的數據分片繼續廣播發送至區塊鏈中的其它各節點設備;以及,還可以收集由其它各節點設備廣播發送的數據分片。
最後,對於區塊鏈中的任意一台節點設備而言,可以確定收集到的上述交易數據的數據分片的數量,是否達到了在採用上述糾刪碼演算法對上述交易數據進行分割時定義的糾刪碼恢復閾值;如果是,表明當前收集到的數據分片的數量,已經足夠恢復出上述交易數據,此時可以基於糾刪碼重構演算法對已經收集到的數據分片進行數據恢復,並進一步基於與上述壓縮演算法對應的解壓縮演算法對恢復出的交易數據進行解壓縮處理,得到上述交易數據的原始內容,然後繼續完成對上述交易數據的原始內容的共識處理。
透過以上技術方案,由於目標節點設備在向其它各節點設備提議待共識的交易數據時,基於壓縮演算法對提議的交易數據進行了壓縮處理,並基於糾刪碼演算法對待共識的交易數據進行分片之後再進行傳播:
一方面,使得主節點設備在向各從節點設備提議交易數據時,可以不再需要將完整的交易數據向其它各節點設備進行廣播發送,而是向各節點設備單播發送對上述交易數據進行壓縮處理後分割得到的數據分片即可,因此可以顯著的降低向參與共識的節點設備擴散傳播需要共識的交易數據時所消耗的數據傳輸頻寬,可以在短時間內將待共識的交易數據傳播至各從節點設備來完成共識,從而可以提升共識處理效率;
另一方面,由於上述目標節點設備向其它各節點設備單播發送的僅僅是上述交易數據的數據分片,對於上述目標節點設備而言,無法獲知該數據分片所屬的完整交易的完整內容,因此可以有效避免上述目標節點設備向其它參與共識的節點設備有選擇性的單播一些特定的交易,對一些特定的交易進行有選擇性的共識,從而可以保障共識的公正性,防止上述目標節點設備透過有選擇性共識來進行“作惡”。
請參考圖1,圖1是本說明書一實施例提供的一種基於區塊鏈的交易共識處理方法,應用於區塊鏈中的任一節點設備;其中,該區塊鏈包括若干節點設備,發起提議的目標節點設備基於預設的壓縮演算法對提議的交易數據進行了壓縮處理,並基於糾刪碼演算法將壓縮處理後的該交易數據分割為指定數量的數據分片,該方法執行以下步驟:
步驟102,接收該目標節點設備單播發送的該交易數據的數據分片;其中,該目標節點設備單播發送至各節點設備的數據分片不同;
步驟104,將接收到的數據分片廣播發送至該區塊鏈中的其它各節點設備;以及,接收該其它各節點設備廣播發送的該交易數據的數據分片;
步驟106,確定接收到的該交易數據的數據分片的數量是否達到糾刪碼恢復閾值;
步驟108,如果是,基於糾刪碼重構演算法對接收到的數據分片進行數據恢復;以及,基於與該壓縮演算法對應的解壓縮演算法,對恢復出的該交易數據進行解壓縮處理,得到該交易數據的原始內容,以完成對該交易數據的原始內容的共識處理。
在本說明書所描述的區塊鏈,具體可以包括私有鏈、共有鏈以及聯盟鏈等,在本說明書中不進行特別限定。
例如,在一個場景中,上述區塊鏈具體可以是由第三方支付平台的伺服器、境內銀行伺服器、境外銀行伺服器、以及若干用戶節點設備作為成員設備組成的一個聯盟鏈。該聯盟鏈的運營方可以依託於該聯盟鏈,來在線部署諸如基於聯盟鏈的跨境轉帳、資產轉移等在線業務。
在本說明書中所描述的交易,是指用戶透過區塊鏈的客戶端創建,並需要最終發佈至區塊鏈的分布式資料庫中的一筆數據。
其中,區塊鏈中的交易,存在狹義的交易以及廣義的交易之分。狹義的交易是指用戶向區塊鏈發佈的一筆價值轉移;例如,在傳統的比特幣區塊鏈網路中,交易可以是用戶在區塊鏈中發起的一筆轉帳。而廣義的交易是指用戶向區塊鏈發佈的一筆具有業務意圖的業務數據;例如,運營方可以基於實際的業務需求搭建一個聯盟鏈,依託於聯盟鏈部署一些與價值轉移無關的其它類型的在線業務(比如,租房業務、車輛調度業務、保險理賠業務、信用服務、醫療服務等),而在這類聯盟鏈中,交易可以是用戶在聯盟鏈中發佈的一筆具有業務意圖的業務訊息或者業務請求。
需要說明的是,上述區塊鏈搭載的共識演算法,在本說明書中不進行特別限定;在實際應用中,具體可以採用拜占庭容錯(Byzantine Fault Tolerance)系列演算法作為共識演算法,也可以採用非拜占庭容錯系列演算法作為共識演算法。
其中,所謂拜占庭容錯演算法,是指在由若干個節點設備組成的分布式網路中,需要考慮拜占庭節點(即作惡節點)的分布式容錯演算法;例如,pbft演算法、HoneyBadgerBFT演算法等等;如果採用拜占庭容錯演算法在區塊鏈網路中進行共識處理時,會認為區塊鏈中同時存在作惡節點和故障節點。而相應的,所謂非拜占庭容錯演算法,是指在由若干個節點設備組成的分布式網路中,不考慮拜占庭節點的分布式容錯演算法;例如,raft演算法等等;如果採用非拜占庭容錯演算法在區塊鏈網路中進行共識處理時,會認為區塊鏈中不存在作惡節點,而只存在故障節點。
在本說明書中所描述的上述目標節點設備,是指區塊鏈中具有向所有參與交易共識的節點設備提議最新的待共識的區塊數據的節點設備;
例如,以上述區塊鏈支持的共識演算法為pbft演算法為例,由於在pbft協議下,只有選舉出的主節點設備具有向其它各從節點設備提議交易數據的權限,因此在這種場景下,上述目標節點設備具體可以是指選舉出的主節點設備;
又如,以上述區塊鏈支持的共識演算法為HoneyBadgerBFT演算法為例,由於在HoneyBadgerBFT協議下,區塊鏈中所有的節點設備均具有向其它各節點設備提議交易數據的權限,因此在這種場景下,上述目標節點設備具體可以是指區塊鏈中的任一節點設備。
在本說明書中所描述的由上述目標節點設備提議的交易數據,具體是指由上述目標節點收集到的,由用戶客戶端透過接入的節點設備提交的待共識交易;
其中,在實際應用中,上述目標節點設備可以針對單筆交易發起共識,也可以針對構建的一個交易列表來發起共識。
例如,在一種實施方式中,節點設備可以透過將用戶透過用戶客戶端提交的交易在區塊鏈網路中進行廣播。而主節點設備可以收集各個節點設備在本輪的共識時間段內,在區塊鏈網路中廣播發送的待共識交易,然後基於收集到的待共識交易創建交易列表,將該交易列表作為提議的交易數據向其它各節點設備傳播。
以下以上述區塊鏈為聯盟鏈,以及該聯盟鏈分別採用pbft演算法和HoneyBadgerBFT演算法作為共識演算法,對上述目標節點設備提議的交易列表進行共識處理為例進行說明。
1)區塊鏈採用HoneyBadgerBFT演算法作為共識演算法
HoneyBadgerBFT共識演算法,由RBC子協議和BA子協議組成。其中,RBC子協議,用於將本節點設備提議的交易數據(比如交易列表)傳播到其它節點設備,並接收其它節點設備提議的交易數據。RBC子協議可以保證在區塊鏈的總節點設備數量N=3f+1時,確保至少2f+1個節點設備都能收到相同的提議。BA子協議,主要用於對單個節點設備發起的提議達成共識,該子協議的輸入和輸出只能是0和1兩種;當輸出為1時,表示該節點設備提議的交易數據會進入到最終的共識結果中。
在本說明書中,可以對HoneyBadgerBFT共識演算法的RBC子協議現有的交易數據傳播機制的基礎上,引入壓縮解壓縮機制,對RBC子協議段現有的交易數據傳播擴散機制進行優化改進,以降低採用HoneyBadgerBFT共識演算法的區塊鏈中的節點設備之間進行共識交互時的數據傳輸頻寬,提升共識處理效率。
在採用HoneyBadgerBFT共識演算法的聯盟鏈中,每一台節點設備都可以收集由客戶端提交的交易,並基於收集到的來創建交易列表。此時,創建的交易列表即為主節點設備提議的需要進行共識處理的交易數據。
其中,在採用HoneyBadgerBFT共識演算法的聯盟鏈中,每一台節點設備都可以向聯盟鏈提議創建的交易列表來發起共識。
在本說明書中,聯盟鏈中的目標節點設備在向聯盟鏈提議創建的交易列表時:
一方面,上述目標節點設備可以基於聯盟鏈採用的壓縮演算法,對需要提議的交易列表進行壓縮處理;
需要說明的是,在本說明書中,對聯盟鏈所採用的壓縮演算法的具體演算法類型,並不進行具體限定,在實際應用中本領域技術人員可以基於實際需求靈活選擇。
另一方面,上述目標節點設備還可以基於糾刪碼演算法,對壓縮處理後的交易列表進行分片處理,將上述交易列表分割為指定數量的數據分片。
需要說明的是,對上述交易列表進行分割得到的數據分片的數量,可以與聯盟鏈中的節點設備總數一致;例如,假設聯盟鏈中有N台節點設備,那麼可以將上述交易列表也分割成為N個數據分片。
其中,基於糾刪碼演算法對上述交易列表進行分割的具體過程,在本說明書中不再進行詳細描述,本領域技術人員在將本說明書記載的技術方案付諸實現時,可以參考相關技術中的記載;
例如,基於糾刪碼演算法,假設將上述交易列表分割為N個數據分片,在這N個數據分片將會包含K個數據塊,和M個校驗塊。M表示上述N個數據分片中可以容忍發生錯誤的數據分片的個數。K表示恢復出原始的交易列表至少所需的數據分片的個數(即行數糾刪碼恢復閾值)。即透過上述N個數據分片中的任意K個數據分片,透過糾刪碼重構演算法(即糾刪碼演算法的逆向演算法)都可以恢復出上述交易列表的原始內容。
在本說明書中,當上述目標節點設備基於糾刪碼演算法對壓縮處理後的上述交易列表完成分割後,基於RBC子協議現有的交易數據傳播機制,可以透過向其它各節點設備單播發送VAL訊息,將分割得到的數據分片分別發送至其它各節點設備;其中,VAL訊息用於發起提議的節點設備透過該訊息將交易列表廣播至其他共識節點;上述目標節點設備發送至其它各節點設備的數據分片需要保持不同。
需要說明的是,在上述VAL訊息中,除了可以攜帶需要同步給其它各節點設備的數據分片以外,還可以攜帶用於對該VAL訊息中攜帶的數據分片進行合法性和完整性驗證的校驗資訊。
在示出的一種實施方式中,上述目標節點設備在基於糾刪碼演算法對壓縮處理後的上述交易列表完成分割後,可以基於分割得到的N個數據分片的哈希值構造一顆默克爾樹,然後將構造的默克爾樹的根節點對應的哈希值,以及數據分片的哈希值在上述默克爾樹上的節點,在其它各個分支上的鄰居節點的哈希值作為上述校驗數據,攜帶在VAL訊息中。
例如,基於RBC子協議,VAL訊息格式中,分別包含View字段、RootHash字段、Branches字段以及BlockData字段。
其中,View字段用於攜帶視圖編號;其中,視圖編號通常是一個連續編號的整數,表示聯盟鏈已經成功完成共識的輪數。BlockData字段用於攜帶數據分片;RootHash字段用於攜帶上述默克爾樹的根節點對應的哈希值;Branches字段用於攜帶數據分片的哈希值在上述默克爾樹上的節點,在其它各個分支上的鄰居節點的哈希值。
在本說明書中,收到上述VAL訊息的節點設備,可以遵循RBC子協議的規定,對收到的VAL訊息中攜帶的內容進行驗證;
例如,在實現時,接收到VAL訊息的節點設備,可以基於該VAL訊息中攜帶的數據分片的hash值,以及該數據分片的hash值在上述默克爾樹上的節點,在其它各個分支上的鄰居節點的hash值來重構默克爾樹;然後,可以比較重構後的默克爾樹的根節點的hash,與VAL訊息中攜帶的默克爾樹的根節點的hash是否相同,來完成針對該數據分片進行驗證;如果重構的默克爾樹的樹根對應的hash沒有發生變化,則認為該數據分片通過有效性驗證;反之,可以認為該Pre-Prepare訊息中攜帶的為無效的數據分片,此時可以丟棄該數據分片。
在本說明書中,當接收到VAL訊息中攜帶的數據分片通過驗證後,收到該VAL訊息的節點設備,可以獲取並保存該VAL訊息中攜帶的數據分片,並基於RBC子協議現有的交易數據傳播機制,透過向其它各節點設備廣播發送ECHO訊息,將接收到的數據分片廣播發送給其它各節點設備。其中,ECHO訊息用於採用類似Gossip的網路傳播方式,將當前節點接收到的數據分片同步至其它各節點設備。ECHO訊息的數據格式,與VAL訊息相同,不再贅述。
相應的,收到上述ECHO訊息的節點設備,仍然可以遵循RBC子協議的規定,按照相同的方式對收到的ECHO訊息中攜帶的內容進行驗證,具體的驗證過程不再贅述。
當接收到ECHO訊息中攜帶的數據分片通過驗證後,收到該ECHO訊息的節點設備,可以獲取並保存該ECHO訊息中攜帶的數據分片,並進一步確定接收到的由其它各節點設備廣播發送的ECHO訊息的數量是否達到2f+1個(包括自身廣播的ECHO訊息在內);
其中,f表示HoneyBadgeBFT演算法能夠容錯的錯誤節點的數量;f的具體取值,可以透過公式N=3f+1換算的得到;N表示聯盟鏈中的節點設備的總數量。
如果收到的ECHO訊息的數量達到2f+1個,此時該節點設備可以進一步確定收集到的數據分片,是否達到了糾刪碼演算法支持的糾刪碼恢復閾值;如果是,該節點設備可以立即基於糾刪碼重構演算法,對已經收集到的數據分片進行數據恢復計算,還原出上述交易列表的原始內容。
其中,基於糾刪碼重構演算法,對已經收集到的數據分片進行數據恢復計算的具體計算過程,在本說明書中不再進行詳述,本領域技術人員在將本說明書的技術方案付諸實現時,可以參考相關技術中的記載。
在示出的一種實施方式中,由於一旦上述糾刪碼恢復閾值的具體取值大於2f+1,會導致節點設備,沒有足夠的數據分片來恢復出需要共識的上述交易列表的原始內容,因此在本說明書中,上述糾刪碼演算法支持的糾刪碼恢復閾值的具體取值大小,需要小於或者等於上述2f+1;例如,可以恰好等於2f+1。
透過這種方式,使得主節點設備在基於糾刪碼演算法對上述交易列表進行分割時,可以參考HoneyBadgeBFT演算法支持的錯誤節點的容錯數量f,來控制最終分割得到的數據分片的數量,從而可以確保該節點設備有足夠的數據分片恢復出需要共識的上述交易列表的原始內容的前提下,盡可能的將上述交易列表分割為足夠小的數據分片。
在本說明書中,當該節點設備基於糾刪碼演算法對已經收集到的數據分片進行數據恢復計算,還原出上述交易列表的原始內容後,由於各節點設備傳播擴散的數據分片,為基於壓縮處理後的交易列表進行分割得到的數據分片,因此該節點設備在基於糾刪碼重構演算法,對收集到的數據分片進行數據恢復後,得到的也只是壓縮處理後的交易列表。
在這種情況下,該節點設備在完成以上數據恢復計算後,可以基於與上述壓縮演算法對應的解壓縮演算法,對恢復出的壓縮後的交易列表進行解壓縮處理,來解壓縮出上述交易列表的原始內容,然後再進一步對恢復出的上述交易列表進行合法性和完整性校驗;
例如,在實際應用中,上述ECHO訊息中也可以攜帶默克爾樹的根節點的hash值,以及數據分片的哈希值在上述默克爾樹上的節點,在其它各個分支上的鄰居節點的hash值作為校驗數據。該節點設備在對恢復出的上述交易列表的原始內容進行驗證後,仍然基於糾刪碼演算法重新對恢復出的交易列表進行分割,得到N個數據分片,並基於該N個數據分片重構默克爾樹,然後透過比較重構的默克爾樹的根節點的hash值,與上述ECHO訊息中攜帶的默克爾樹的根節點的hash值是否相同;如果相同,表示恢復出的上述交易列表通過了合法性和完整性校驗,該節點設備收到了一個合法且完整的由上述目標節點設備提議的交易列表。
進一步的,當還原出的上述交易列表的原始內容通過了合法性和完整性校驗後:
一方面,該節點設備可以在本地保存還原出的上述交易列表,並基於RBC子協議現有的交易數據傳播機制,透過向其它各節點設備廣播發送READY訊息,來通知其它各節點設備,自己收到了一個來自上述目標節點設備提議的合法交易列表。
另一方面,該節點設備在收到READY訊息後,可以對該READY訊息進行驗證,以確定其它節點設備收到的上述目標節點設備提議的交易列表,是否與本設備收到的上述目標節點設備提議的交易列表完全相同;
例如,基於RBC子協議,READY訊息格式中,分別包含View字段、ProposeId字段、RootHash字段。
其中,View字段用於攜帶視圖編號;ProposeId用於攜帶發起當前提議的節點設備的編號(即上述目標節點設備的編號);RootHash字段用於攜帶當前提議的默克爾樹的根節點對應的哈希值。
而節點設備在收到READY訊息後,可以基於糾刪碼演算法對本地保存的已經驗證通過的由上述目標節點設備提議的交易列表進行分割,基於分割得到的N個數據分片重新構建默克爾樹,並透過比較重建的默克爾樹的根節點的hash值,和READY訊息中攜帶的hash值,來驗證發送該READY訊息的節點設備,收到的上述目標節點設備提議的交易列表,是否與本設備收到的上述目標節點設備提議的交易列表完全相同;如果相同,此時該READY訊息通過驗證。
進一步的,當收到的READY訊息通過驗證後,該節點設備可以確定接收到的由其它各節點設備廣播發送的READY訊息的數量是否達到2f+1個(包括自身廣播的READY訊息在內);如果收到的READY訊息的數量達到2f+1個,意味著當前聯盟鏈中的2f+1個節點均收到了由上述目標節點設備提議的相同的交易列表,此時可以進入HoneyBadgeBFT共識演算法的下一個階段,根據HoneyBadgeBFT共識演算法中的BA子協議,對該目標節點設備提議的交易列表進行共識處理,並基於BA子協議的輸出結果,來決策該目標節點設備提議的交易列表最終是否能夠進入到最終的共識結果。
其中,基於BA子協議對該目標節點設備提議的交易列表進行共識處理的具體流程,在本說明書中不再進行詳述。
2)區塊鏈採用pbft演算法作為共識演算法
在本說明書中,可以在pbft演算法現有的預準備(pre-prepare)、準備(prepare)、和確認(commit)等三個階段的基礎之上,引入糾刪碼演算法,對pbft演算法的pre-prepare和prepare階段現有的交易數據傳播擴散機制進行優化改進,以降低主節點設備與從節點設備之間進行共識交互時的數據傳輸頻寬,提升共識處理效率。
在本說明書中,在聯盟鏈的每一輪共識開始之前,首先可以在聯盟鏈中的各節點設備中選舉出一台主節點設備(即上述目標節點設備);
例如,基於Pbft演算法,在聯盟鏈的每一輪共識開始之前,可以基於以下的公式,為本輪公式計算出一個主節點設備:
P=v mod R
其中,表示計算出的本輪共識的主節點編號;v表示聯盟鏈當前的視圖編號;視圖編號通常是一個連續編號的整數,表示聯盟鏈已經成功完成共識的輪數;比如,在成功完成一輪共識,選舉出的主節點設備向聯盟鏈成功寫入一個新的區塊之後,可以將視圖編號自動加1。R表示聯盟鏈中的節點設備的總數量。
各個節點設備可以分別執行以上計算,並將計算出的主節點編號與本設備的編號進行匹配,來確定本設備是否被選舉為主節點設備。
一方面,如果一節點設備確定本設備未被選舉為主節點設備,則可以將收到的由客戶端提交的交易向聯盟鏈中的各個節點設備進行廣播發送。
另一方面,如果一節點設備確定本設備被選舉為主節點設備,則可以收集各個用戶客戶端在本輪的共識時間段內廣播發送的交易,並基於收集到的交易,來創建交易列表。
在本說明書中,上述主節點設備在向其它各子節點設備提議創建的交易列表時:
一方面,上述主節點設備可以基於聯盟鏈採用的壓縮演算法,對需要提議的交易列表進行壓縮處理;
另一方面,主節點設備可以基於糾刪碼演算法,對提議的交易列表進行分片處理,將上述交易列表分割為指定數量的數據分片。
當主節點設備基於糾刪碼演算法對上述交易列表完成分割,可以透過向各從節點設備發送Pre-Prepare訊息,將分割得到的數據分片分別發送至其它各節點設備;其中,在本說明書中,主節點設備發送至各從節點設備的數據分片需要保持不同。
基於現有的pbft協議,主節點設備透過可以將完整的交易列表攜帶在Pre-Prepare訊息中,然後將該Pre-Prepare訊息在聯盟鏈中的各個節點設備中進行廣播發送,將完整的交易列表傳播至聯盟鏈中需要參與交易共識的從節點設備。
然而,基於pbft協議現有的交易數據傳播機制,由於Pre-Prepare訊息中需要攜帶完整的交易列表,廣播發送Pre-Prepare訊息就會產生大量的數據副本;比如,需要基於聯盟鏈中節點設備的總數量N,將Pre-Prepare訊息複製N份,然後進行廣播發送;因此,pbft協議在交易數據的傳播階段,會大量佔用聯盟鏈的網路頻寬,對聯盟鏈網路的頻寬性能上具有較高的要求;一旦聯盟鏈網路的頻寬性能不足,會導致無法在短時間內將需要共識的交易列表擴散傳播至其它參與共識的從節點設備。
基於此,在本說明書中,可以對pbft演算法的pre-prepare和prepare階段現有的交易數據傳播機制進行優化改進:
一方面,主節點設備向各從節點設備發送Pre-Prepare訊息中,可以不再攜帶完整的交易列表,而是僅攜帶上述交易列表的一個數據分片。
另一方面,主節點設備向其它各從節點設備擴散Pre-Prepare訊息的方式,可以由廣播發送Pre-Prepare訊息的方式,修改為向各從節點設備單播發送Pre-Prepare訊息;例如,可以針對各個從節點設備分別構建Pre-Prepare訊息,在Pre-Prepare訊息中攜帶彼此互不相同的數據分片,然後逐一將構建的Pre-Prepare訊息依次發送至各從節點設備,以確保各從節點設備能夠收到不同的數據分片。
收到上述Pre-Prepare訊息的從節點設備,首先可以遵循pbft演算法的規定,對收到的Pre-Prepare訊息進行驗證,以確定是否接受收到的Pre-Prepare訊息。
其中,在本說明書中,對收到的Pre-Prepare訊息進行驗證,即為對收到的Pre-Prepare訊息中攜帶的內容進行驗證的過程,具體的驗證過程,在本說明書中不再進行詳述;
例如,遵循pbft演算法的規定,在Pre-Prepare訊息中,可以攜帶待共識的交易數據(本說明書中為數據分片)、視圖編號v、待共識的交易數據的摘要(在本說明書中為數據分片的摘要)、數位簽名等資訊。相應的,在本說明書中,在對Pre-Prepare訊息進行驗證時,具體可以執行以下的驗證過程:
(1)驗證視圖編號V與本地記錄的視圖編號是否一致;
(2)對Pre-Prepare訊息中的數位簽名進行驗證;
(3)對Pre-Prepare訊息中攜帶的數據分片進行有效性驗證;
例如,在實現時,主節點設備可以基於所有數據分片構建一顆默克爾樹,並在Pre-Prepare訊息中攜帶默克爾樹的各分支節點的hash值。而節點設備在對接收到的Pre-Prepare訊息中攜帶的數據分片進行驗證時,可以重新計算該Pre-Prepare訊息中攜帶的數據分片的hash值,基於該hash值以及Pre-Prepare訊息中攜帶的上述默克爾樹的各分支節點的hash值,來重構默克爾樹;然後,可以透過比較重構的默克爾樹的樹根對應的hash,來對該數據分片進行驗證;如果重構的默克爾樹的樹根對應的hash沒有發生變化,則認為該數據分片通過有效性驗證;反之,可以認為該Pre-Prepare訊息中攜帶的為無效的數據分片,此時可以丟棄該數據分片。
當然,在實際應用中,上述Pre-Prepare訊息中所攜帶的內容,也可以基於實際需求進行擴展;例如,在一個例子中,上述Pre-Prepare訊息中還可以攜帶共識高度h。上述共識高度h與視圖編號v在功能上類似,通常是一個連續編號的整數,表示聯盟鏈已經共識過的輪數(並非指示成功共識的輪數)。比如,在一輪共識的過程中,如果主節點設備發生故障,通常會觸發試圖切換,重新選舉主節點設備,在這種情況下,可以立即將共識高度h加一,而由於本輪尚未共識成功,對於視圖編號V而言,則並不加一,仍然保留原來的視圖編號V。
在這種情況下,在對Pre-Prepare訊息進行驗證時,在以上列舉出的驗證過程的基礎上,還可以進一步執行以下示出的驗證:
(4)驗證共識高度h與本地記錄的共識高度h是否一致。
當收到上述Pre-Prepare訊息的節點設備,在執行以上列舉出的驗證過程後,如果驗證通過,表示該節點設備接受上述Pre-Prepare訊息,此時該節點設備可以獲取並保存該Pre-Prepare訊息中攜帶的數據分片,並進入pbft協議的Prepare階段,向聯盟鏈中的其它各個節點設備廣播發送一條用於對上述Pre-Prepare訊息進行確認的Prepare訊息;其中,上述Prepare訊息中攜帶的內容格式,可以與上述Pre-Prepare訊息保持一致。
基於現有的pbft協議,節點設備向聯盟鏈的其它各個節點設備廣播的Prepare訊息中,通常僅攜帶諸如視圖編號v、待共識的交易數據的摘要等數據,在本說明書中,可以對Prepare訊息的格式進行進一步擴展,各節點設備也可以將主節點設備透過Pre-Prepare訊息單播發送的數據分片,也攜帶在上述Prepare訊息中。
一方面,各節點設備可以將攜帶數據分片的Prepare訊息,在聯盟鏈中的其它各個節點設備中進行廣播發送,以將接收到的由主節點設備單播發送的數據分片,進一步擴散傳播至聯盟鏈中的其它各節點設備。
另一方面,各節點設備也可以接收由其它各從節點設備廣播發送的Prepare訊息,對收到Prepare訊息進行驗證,以確定是否接受收到的Prepare訊息。其中,對收到Prepare訊息進行驗證的具體過程,可以參考對Pre-Prepare訊息進行驗證的具體過程,在本說明書中不再進行贅述。
如果驗證通過,表示該節點設備接受收到的Prepare訊息:
一方面,該節點設備可以獲取並保存該Prepare訊息中攜帶的數據分片;
另一方面,該節點設備還可以進一步確定接收到的由其它各節點設備廣播發送的Prepare訊息的數量,是否達到2f+1個(包括自身廣播的Prepare訊息在內)。
其中,f表示pbft演算法能夠容錯的錯誤節點的數量;f的具體取值,可以透過公式N=3f+1換算的得到;N表示聯盟鏈中的節點設備的總數量。
如果收到的Prepare訊息的數量達到2f+1個,此時該節點設備可以進入pbft協議的commit階段,該節點設備可以向聯盟鏈中的其它各個節點設備廣播發送一條commit訊息,繼續完成對上述交易列表的原始內容的共識處理過程。
在本說明書中,聯盟鏈中的節點設備在向聯盟鏈中的其它各個節點設備廣播發送commit訊息之後,也可以接收由其它各節點設備廣播發送的commit訊息訊息,對收到commit訊息進行驗證,以確定是否接受收到的commit訊息。
其中,上述commit訊息中攜帶的內容格式,可以與Pre-Prepare訊息和Prepare訊息保持一致。但需要強調的是,在Pre-Prepare訊息和Prepare訊息中,攜帶的待共識的交易數據的摘要,為上述交易列表的數據摘要,而在commit階段,由於節點設備已經恢復出完整的交易列表,因此在commit訊息中可以攜帶恢復出的完整的交易列表的摘要。
其中,對收到commit訊息進行驗證的具體過程,可以參考對Pre-Prepare訊息進行驗證的具體過程,在本說明書中不再進行贅述。
如果驗證通過,表示該節點設備接受收到的commit訊息,該節點設備還可以進一步確定接收到的由其它各節點設備廣播發送的commit訊息的數量,是否達到2f+1個(包括自身廣播的commit訊息在內)。
如果收到的commit訊息的數量達到2f+1個,此時該節點設備可以進一步確定收集到的數據分片,是否達到了糾刪碼演算法支持的糾刪碼恢復閾值;如果是,該節點設備可以立即基於糾刪碼重構演算法,對已經收集到的數據分片進行數據恢復計算,還原出上述交易列表的原始內容。
其中,基於糾刪碼重構演算法,對已經收集到的數據分片進行數據恢復計算的具體計算過程,在本說明書中不再進行詳述,本領域技術人員在將本說明書的技術方案付諸實現時,可以參考相關技術中的記載。
在示出的一種實施方式中,由於一旦上述糾刪碼恢復閾值的具體取值大於2f+1,會導致從節點設備在commit階段,沒有足夠的數據分片來恢復出需要共識的上述交易列表的原始內容,因此在本說明書中,上述糾刪碼演算法支持的糾刪碼恢復閾值的具體取值大小,需要小於或者等於上述2f+1;例如,可以恰好等於2f+1。
透過這種方式,使得主節點設備在基於糾刪碼演算法對上述交易列表進行分割時,可以參考pbft演算法支持的錯誤節點的容錯數量f,來控制最終分割得到的數據分片的數量,從而可以在確保在commit階段,有足夠的數據分片恢復出需要共識的上述交易列表的原始內容的前提下,盡可能的將上述交易列表分割為足夠小的數據分片。
在本說明書中,當上述節點設備於糾刪碼演算法對已經收集到的數據分片進行數據恢復計算,還原出上述交易列表的原始內容後,由於各節點設備傳播擴散的數據分片,為基於壓縮處理後的交易列表進行分割得到的數據分片,因此該節點設備在基於糾刪碼重構演算法,對收集到的數據分片進行數據恢復後,得到的也只是壓縮處理後的交易列表。
在這種情況下,該節點設備在完成以上數據恢復計算後,可以基於與上述壓縮演算法對應的解壓縮演算法,對恢復出的壓縮後的交易列表進行解壓縮處理,來解壓縮出上述交易列表的原始內容。
在以上實施例中,以聯盟鏈採用pbft演算法和HoneyBadgerBFT演算法作為共識演算法,對上述目標節點設備提議的交易列表進行共識處理為例進行了說明。
需要補充說明的是,在本說明書中,無論是HoneyBadgerBFT共識演算法中的上述目標節點設備,還是pbft演算法中的主節點設備,在對上述交易列表進行分割之前,還可以基於支持的相關演算法對上述交易列表進行預處理。
在示出的另一種實施方式中,在對上述交易列表進行分割之前,還可以對上述交易列表進行加密預處理,基於預設的加密演算法以及加密密鑰對對上述交易列表進行加密處理。
其中,所採用的加密演算法,在本說明書中不進行特別限定;例如,在實際應用中,可以是對稱加密演算法,也可以是非對稱加密演算法。
當完成針對上述交易列表的加密處理之後,此時再基於上述糾刪碼演算法對加密處理後的上述交易列表進行分割,將加密處理後的上述交易列表分割成為指定數量的數據分片。
相應的,當基於收集到的數據分片,還原出原始的交易列表中,由於各節點設備傳播擴散的數據分片,為基於加密處理後的交易列表進行分割得到的數據分片,因此節點設備在基於糾刪碼重構演算法,對收集到的數據分片進行數據恢復後,得到的也只是加密處理後的交易列表。
在這種情況下,節點設備在完成以上數據恢復計算後,可以基於與上述加密演算法對應的解密演算法,以及與上述加密密鑰對應的解密密鑰,對恢復出的壓縮後的交易列表進行解密處理,來解密出上述交易列表的原始內容,以完成對該交易列表的原始內容的共識處理,具體的實施細節不再贅述。
其中,在示出的一種實施方式中,上述加密演算法具體可以是門檻加密演算法。而上述解密演算法具體可以是與門檻加密演算法對應的門檻解密演算法。
在這種場景下,解密密鑰具體可以被分割為指定數量的子密鑰,並將各子密鑰由各節點設備分別持有。
需要說明的是,對上述解密密鑰進行分割得到的子密鑰的數量,可以與聯盟鏈中的節點設備總數一致;例如,假設聯盟鏈中有N台節點設備,那麼可以將上述解密密鑰也分割成為N個子密鑰,由聯盟鏈中的N台節點設備分別持有。
在這種情況下,節點設備還可以收集其它各節點設備持有的子密鑰,並確定收集到的子密鑰的數量是否達到預設的解密門檻閾值;比如,密鑰門檻閾值為N時,表明需要N個節點設備基於持有的子密鑰(也即上述解密密鑰的部分片段),來共同對加密後的數據進行解密。
其中,節點設備收集其它各節點設備持有的子密鑰的具體方式,在本說明書中不進行特別限定;
例如,仍以聯盟鏈採用的共識演算法為pbft演算法為例,節點設備可以在與其它節點設備交互的commit訊息中,攜帶自身持有的子密鑰。
又如,仍以聯盟鏈採用的共識演算法為HoneyBadgerBFT為例,節點設備可以在與其它節點設備交互的ECHO訊息中,攜帶自身持有的子密鑰。
當然,在實際應用中,各節點設備也可以透過單獨定義一個用於傳播持有的子密鑰的交互訊息,利用該交互訊息將自身持有的子密鑰同步到其它節點設備。
如果節點設備設備收集到的子密鑰的數量達到預設的解密門檻閾值,表明該節點設備已經具有足夠的分片來重構解密密鑰,此時該節點設備可以基於收集到的子密鑰對解密密鑰進行重構處理,以恢復出原始的解密密鑰,然後基於門檻解密演算法以及恢復出的原始的解密密鑰,對恢復出的加密處理後的交易列表進行解密處理,來解密出上述交易列表的原始內容。
其中,基於收集到的子密鑰對解密密鑰進行重構的具體過程,在本說明書中不再進行詳細描述,本領域技術人員在將本說明書的技術方案付諸實現時,可以參考相關技術中的記載;
例如,在對解密密鑰進行分割、以及基於收集到的子密鑰對解密密鑰進行恢復,仍然可以採用糾刪碼技術來實現,具體過程不再贅述。
透過這種方式,由於主節點設備在對上述交易列表進行分割之前,預先對主節點設備進行了加密處理,因此可以有效的向各節點設備發送數據分片時的數據安全,使得一些非法的節點設備即便收集到足夠的數據分片恢復出上述交易列表,也無法查看到交易列表的原始內容,從而可以提升節點設備之間進行共識交互時的數據安全。
需要補充說明的是,在以上實施例中,以利用pbft演算法和HoneyBadgeBFT演算法段現有的交易數據傳播擴散機制,將待共識的交易列表傳播擴散至各個參與共識的節點設備為例進行了詳細說明。
需要強調的是,在實際應用中,在需要將待共識的交易列表傳播擴散至各個參與共識的節點設備時,除了利用聯盟鏈搭載的共識演算法中已有的傳播擴散機制來完成交易列表傳播擴散以外,也可以透過定義單獨的傳播擴散協議來完成相同的功能。
另外,以上實施例中,僅以聯盟鏈採用pbft演算法和HoneyBadgeBFT作為共識演算法為例進行了說明,顯然在實際應用中,本說明書中的技術方案也可以等同應用在聯盟鏈採用的其它形式的共識演算法之中。
也即,以上步驟102-106示出的傳播擴散邏輯,除了可以應用在pbft演算法和HoneyBadgeBFT的共識交互過程之中,也可以應用在諸如raft等其它類似的共識演算法之中,其具體的實施細節,在本說明書中不再進行詳述,本領域技術人員在將本說明書的技術方案付諸實現時,可以參考以上實施例中的記載。
與上述方法實施例相對應,本說明書還提供了一種基於區塊鏈的交易共識處理裝置的實施例。本說明書的基於區塊鏈的交易共識處理裝置的實施例可以應用在電子設備上。裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在電子設備的處理器將非揮發性記憶體中對應的電腦程式指令讀取到內部記憶體中運行形成的。從硬體層面而言,如圖2所示,為本說明書的基於區塊鏈的交易共識處理裝置所在電子設備的一種硬體結構圖,除了圖2所示的處理器、內部記憶體、網路介面、以及非揮發性記憶體之外,實施例中裝置所在的電子設備通常根據該電子設備的實際功能,還可以包括其他硬體,對此不再贅述。
圖3是本說明書一示例性實施例示出的一種基於區塊鏈的交易共識處理裝置的方塊圖。
請參考圖3,該基於區塊鏈的交易共識處理裝置30可以應用在前述圖2所示的電子設備中,包括有:接收模組301、發送模組302、確定模組303和恢復模組304。
接收模組301,接收該目標節點設備單播發送的該交易數據的數據分片;其中,發起提議的目標節點設備基於預設的壓縮演算法對提議的交易數據進行了壓縮處理,並基於糾刪碼演算法將壓縮處理後的該交易數據分割為指定數量的數據分片;該目標節點設備單播發送至各節點設備的數據分片不同;
發送模組302,將接收到的數據分片廣播發送至該區塊鏈中的其它各節點設備;以及,接收該其它各節點設備廣播發送的該交易數據的數據分片;
確定模組303,確定接收到的該交易數據的數據分片的數量是否達到糾刪碼恢復閾值;
恢復模組304,如果是,基於糾刪碼重構演算法對接收到的數據分片進行數據恢復得到該交易數據的原始內容,以完成對該交易數據的原始內容的共識處理。
在本實施例中,該裝置30還包括:
分割模組305(圖3中未示出),生成本節點設備提議的交易數據;基於預設的壓縮演算法對本節點設備提議的交易數據進行壓縮處理,並基於糾刪碼演算法將壓縮處理後的該交易數據分割為指定數量的數據分片;
該發送模組302進一步:
將該指定數量的數據分片分別單播發送至其它各節點設備。
在本實施例中,該區塊鏈搭載的共識演算法為HoneyBadgeBFT演算法;
該接收模組301:
接收該目標節點設備單播發送的VAL訊息;其中,該VAL訊息中包括該交易數據的數據分片;
獲取並保存該VAL訊息中的數據分片。
在本實施例中,該區塊鏈搭載的共識演算法為HoneyBadgeBFT演算法,該發送302模組:
向該區塊鏈中的其它各節點設備廣播發送ECHO訊息;其中,該ECHO訊息包括接收到的該數據分片,以使該其它各節點設備在接收到該ECHO訊息時,獲取並保存該ECHO訊息中的數據分片。
在本實施例中,該區塊鏈搭載的共識演算法為pbft演算法;
該接收模組301:
接收該目標節點設備單播發送的Pre-Prepare訊息;其中,該Pre-Prepare訊息中包括該交易數據的數據分片;
獲取並保存該Pre-Prepare訊息中的數據分片。
在本實施例中,該區塊鏈搭載的共識演算法為pbft演算法,該發送模組302:
向該區塊鏈中的其它各節點設備廣播發送Prepare訊息;其中,該Prepare訊息包括接收到的該數據分片,以使該其它各節點設備在接收到該Prepare訊息時,獲取並保存該Prepare訊息中的數據分片。
在本實施例中,該分割模組305:
基於預設的加密演算法以及加密密鑰對提議的交易數據進行加密處理;
基於該糾刪碼演算法將加密處理後的該交易數據分割為指定數量的數據分片。
該恢復模組304:
基於糾刪碼重構演算法對接收到的數據分片進行數據恢復;
基於與該加密演算法對應的解密演算法,以及與該加密密鑰對應的解密密鑰,對恢復出的該交易數據進行解密處理,以得到該交易數據的原始內容。
在本實施例中,該加密演算法為門檻加密演算法;該解密演算法為與門檻加密演算法對應的門檻解密演算法;該解密密鑰被分割為指定數量的子密鑰;其中,各子密鑰由各節點設備分別持有;
該恢復模組304進一步:
收集該其它各節點設備持有的子密鑰;
確定收集到的子密鑰的數量是否達到預設的解密門檻閾值;
如果是,基於收集到的子密鑰重構該解密密鑰,並基於與該門檻加密演算法對應的門檻解密演算法,以及該解密密鑰,對恢復出的該交易數據進行解密處理。
在本實施例中,該目標節點提議的交易數據為交易列表;該指定數量為該區塊鏈中的節點設備的總數量。
在本實施例中,該區塊鏈為聯盟鏈。
上述裝置中各個模組的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。
對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中該作為分離元件說明的模組可以是或者也可以不是物理上分開的,作為模組顯示的元件可以是或者也可以不是物理模組,即可以位於一個地方,或者也可以分佈到多個網路模組上。可以根據實際的需要選擇其中的部分或者全部模組來實現本說明書方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
上述實施例闡明的系統、裝置、模組或模組,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、筆記型電腦、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
與上述方法實施例相對應,本說明書還提供了一種電子設備的實施例。該電子設備包括:處理器以及用於儲存機器可執行指令的記憶體;其中,處理器和記憶體通常透過內部匯流排相互連接。在其他可能的實現方式中,該設備還可能包括外部介面,以能夠與其他設備或者元件進行通信。
在本實施例中,透過讀取並執行該記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,該處理器被促使:
接收該目標節點設備單播發送的該交易數據的數據分片;其中,發起提議的目標節點設備基於預設的壓縮演算法對提議的交易數據進行了壓縮處理,並基於糾刪碼演算法將壓縮處理後的該交易數據分割為指定數量的數據分片;該目標節點設備單播發送至各節點設備的數據分片不同;
將接收到的數據分片廣播發送至該區塊鏈中的其它各節點設備;以及,接收該其它各節點設備廣播發送的該交易數據的數據分片;
確定接收到的該交易數據的數據分片的數量是否達到糾刪碼恢復閾值;
如果是,基於糾刪碼重構演算法對接收到的數據分片進行數據恢復;以及,基於與該壓縮演算法對應的解壓縮演算法,對恢復出的該交易數據進行解壓縮處理,得到該交易數據的原始內容,以完成對該交易數據的原始內容的共識處理。
在本實施例中,透過讀取並執行該記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,該處理器被促使:
生成本節點設備提議的交易數據;
基於預設的壓縮演算法對本節點設備提議的交易數據進行壓縮處理,並基於糾刪碼演算法將壓縮處理後的該交易數據分割為指定數量的數據分片;以及,
將該指定數量的數據分片分別單播發送至其它各節點設備。
在本實施例中,該區塊鏈搭載的共識演算法為HoneyBadgeBFT演算法;
透過讀取並執行該記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,該處理器被促使:
接收該目標節點設備單播發送的VAL訊息;其中,該VAL訊息中包括該交易數據的數據分片;
獲取並保存該VAL訊息中的數據分片。
在本實施例中,該區塊鏈搭載的共識演算法為HoneyBadgeBFT演算法;
透過讀取並執行該記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,該處理器被促使:
向該區塊鏈中的其它各節點設備廣播發送ECHO訊息;其中,該ECHO訊息包括接收到的該數據分片,以使該其它各節點設備在接收到該ECHO訊息時,獲取並保存該ECHO訊息中的數據分片。
在本實施例中,該區塊鏈搭載的共識演算法為pbft演算法;
透過讀取並執行該記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,該處理器被促使:
接收該目標節點設備單播發送的Pre-Prepare訊息;其中,該Pre-Prepare訊息中包括該交易數據的數據分片;
獲取並保存該Pre-Prepare訊息中的數據分片。
在本實施例中,透過讀取並執行該記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,該處理器被促使:
向該區塊鏈中的其它各節點設備廣播發送Prepare訊息;其中,該Prepare訊息包括接收到的該數據分片,以使該其它各節點設備在接收到該Prepare訊息時,獲取並保存該Prepare訊息中的數據分片。
在本實施例中,透過讀取並執行該記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,該處理器被促使:
基於預設的加密演算法以及加密密鑰對提議的交易數據進行加密處理;
基於該糾刪碼演算法將加密處理後的該交易數據分割為指定數量的數據分片。
在本實施例中,透過讀取並執行該記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,該處理器被促使:
基於糾刪碼重構演算法對接收到的數據分片進行數據恢復;
基於與該加密演算法對應的解密演算法,以及與該加密密鑰對應的解密密鑰,對恢復出的該交易數據進行解密處理,以得到該交易數據的原始內容。
在本實施例中,該加密演算法為門檻加密演算法;該解密演算法為與門檻加密演算法對應的門檻解密演算法;該解密密鑰被分割為指定數量的子密鑰;其中,各子密鑰由各節點設備分別持有;
透過讀取並執行該記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,該處理器被促使:
收集該其它各節點設備持有的子密鑰;
確定收集到的子密鑰的數量是否達到預設的解密門檻閾值;
如果是,基於收集到的子密鑰重構該解密密鑰,並基於與該門檻加密演算法對應的門檻解密演算法,以及該解密密鑰,對恢復出的該交易數據進行解密處理。
本領域技術人員在考慮說明書及實踐這裡公開的發明後,將容易想到本說明書的其它實施方案。本說明書旨在涵蓋本說明書的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本說明書的一般性原理並包括本說明書未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本說明書的真正範圍和精神由下面的申請專利範圍指出。
應當理解的是,本說明書並不局限於上面已經描述並在圖式中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本說明書的範圍僅由所附的申請專利範圍來限制。
以上所述僅為本說明書的較佳實施例而已,並不用以限制本說明書,凡在本說明書的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書保護的範圍之內。
102~108:步驟
30:基於區塊鏈的交易共識處理裝置
301:接收模組
302:發送模組
303:確定模組
304:恢復模組
圖1是一示例性實施例提供的一種基於區塊鏈的交易共識處理方法的流程圖。
圖2是一示例性實施例提供的一種電子設備的結構示意圖。
圖3是一示例性實施例提供的一種基於區塊鏈的交易共識處理裝置的方塊圖。
Claims (21)
- 一種基於區塊鏈的交易共識處理方法,該區塊鏈包括若干節點設備;其中,發起提議的目標節點設備基於預設的壓縮演算法對提議的待共識的交易數據進行了壓縮處理,並基於糾刪碼演算法將壓縮處理後的該待共識的交易數據分割為指定數量的數據分片;該方法包括:接收該目標節點設備單播發送的該待共識的交易數據的數據分片;其中,該目標節點設備單播發送至各節點設備的數據分片不同;將接收到的數據分片廣播發送至該區塊鏈中的其它各節點設備;以及,接收該其它各節點設備廣播發送的該待共識的交易數據的數據分片;確定接收到的該待共識的交易數據的數據分片的數量是否達到糾刪碼恢復閾值;如果是,基於糾刪碼重構演算法對接收到的數據分片進行數據恢復;以及,基於與該壓縮演算法對應的解壓縮演算法,對恢復出的該待共識的交易數據進行解壓縮處理,得到該待共識的交易數據的原始內容,以完成對該待共識的交易數據的原始內容的共識處理。
- 根據請求項1所述的方法,該方法還包括:生成本節點設備提議的待共識的交易數據;基於預設的壓縮演算法對本節點設備提議的待共識的 交易數據進行壓縮處理,並基於糾刪碼演算法將壓縮處理後的該待共識的交易數據分割為指定數量的數據分片;以及,將該指定數量的數據分片分別單播發送至其它各節點設備。
- 根據請求項1所述的方法,該區塊鏈搭載的共識演算法為HoneyBadgeBFT演算法;該接收該目標節點設備單播發送的該待共識的交易數據的數據分片,包括:接收該目標節點設備單播發送的VAL訊息;其中,該VAL訊息中包括該待共識的交易數據的數據分片;獲取並保存該VAL訊息中的數據分片。
- 根據請求項3所述的方法,該將接收到的數據分片廣播發送至該區塊鏈中的其它各節點設備,包括:向該區塊鏈中的其它各節點設備廣播發送ECHO訊息;其中,該ECHO訊息包括接收到的該數據分片,以使該其它各節點設備在接收到該ECHO訊息時,獲取並保存該ECHO訊息中的數據分片。
- 根據請求項1所述的方法,該區塊鏈搭載的共識演算法為pbft演算法;該接收該目標節點設備單播發送的該待共識的交易數 據的數據分片,包括:接收該目標節點設備單播發送的Pre-Prepare訊息;其中,該Pre-Prepare訊息中包括該待共識的交易數據的數據分片;獲取並保存該Pre-Prepare訊息中的數據分片。
- 根據請求項5所述的方法,該將接收到的數據分片廣播發送至該區塊鏈中的其它各節點設備,包括:向該區塊鏈中的其它各節點設備廣播發送Prepare訊息;其中,該Prepare訊息包括接收到的該數據分片,以使該其它各節點設備在接收到該Prepare訊息時,獲取並保存該Prepare訊息中的數據分片。
- 根據請求項1或2所述的方法,該基於該糾刪碼演算法將提議的待共識的交易數據分割為指定數量的數據分片,包括:基於預設的加密演算法以及加密密鑰對提議的待共識的交易數據進行加密處理;基於該糾刪碼演算法將加密處理後的該待共識的交易數據分割為指定數量的數據分片;該基於糾刪碼重構演算法對接收到的數據分片進行數據恢復,包括:基於糾刪碼重構演算法對接收到的數據分片進行數據恢復; 基於與該加密演算法對應的解密演算法,以及與該加密密鑰對應的解密密鑰,對恢復出的該待共識的交易數據進行解密處理,以得到該待共識的交易數據的原始內容。
- 根據請求項7所述的方法,該加密演算法為門檻加密演算法;該解密演算法為與門檻加密演算法對應的門檻解密演算法;該解密密鑰被分割為指定數量的子密鑰;其中,各子密鑰由各節點設備分別持有;該基於與該加密演算法對應的解密演算法,以及與該加密密鑰對應的解密密鑰,對恢復出的該待共識的交易數據進行解密處理,包括:收集該其它各節點設備持有的子密鑰;確定收集到的子密鑰的數量是否達到預設的解密門檻閾值;如果是,基於收集到的子密鑰重構該解密密鑰,並基於與該門檻加密演算法對應的門檻解密演算法,以及該解密密鑰,對恢復出的該待共識的交易數據進行解密處理。
- 根據請求項1所述的方法,該目標節點提議的待共識的交易數據為交易列表;該指定數量為該區塊鏈中的節點設備的總數量。
- 根據請求項1所述的方法,該區塊鏈為聯盟鏈。
- 一種基於區塊鏈的交易共識處理裝置,該區塊鏈包括若干節點設備;其中,發起提議的目標節點設備基於預設的壓縮演算法對提議的待共識的交易數據進行了壓縮處理,並基於糾刪碼演算法將壓縮處理後的該待共識的交易數據分割為指定數量的數據分片;該裝置包括:接收模組,接收該目標節點設備單播發送的該待共識的交易數據的數據分片;其中,該目標節點設備單播發送至各節點設備的數據分片不同;發送模組,將接收到的數據分片廣播發送至該區塊鏈中的其它各節點設備;以及,接收該其它各節點設備廣播發送的該待共識的交易數據的數據分片;確定模組,確定接收到的該待共識的交易數據的數據分片的數量是否達到糾刪碼恢復閾值;恢復模組,如果是,基於糾刪碼重構演算法對接收到的數據分片進行數據恢復;以及,基於與該壓縮演算法對應的解壓縮演算法,對恢復出的該待共識的交易數據進行解壓縮處理,得到該待共識的交易數據的原始內容,以完成對該待共識的交易數據的原始內容的共識處理。
- 根據請求項11所述的裝置,該裝置還包括:分割模組,生成本節點設備提議的待共識的交易數據;基於預設的壓縮演算法對本節點設備提議的待共識的交易數據進行壓縮處理,並基於糾刪碼演算法將壓縮處理後的該待共識的交易數據分割為指定數量的數據分片; 該發送模組進一步:將該指定數量的數據分片分別單播發送至其它各節點設備。
- 根據請求項11所述的裝置,該區塊鏈搭載的共識演算法為HoneyBadgeBFT演算法;該接收模組:接收該目標節點設備單播發送的VAL訊息;其中,該VAL訊息中包括該待共識的交易數據的數據分片;獲取並保存該VAL訊息中的數據分片。
- 根據請求項13所述的裝置,該發送模組:向該區塊鏈中的其它各節點設備廣播發送ECHO訊息;其中,該ECHO訊息包括接收到的該數據分片,以使該其它各節點設備在接收到該ECHO訊息時,獲取並保存該ECHO訊息中的數據分片。
- 根據請求項11所述的裝置,該區塊鏈搭載的共識演算法為pbft演算法;該接收模組:接收該目標節點設備單播發送的Pre-Prepare訊息;其中,該Pre-Prepare訊息中包括該待共識的交易數據的數據分片;獲取並保存該Pre-Prepare訊息中的數據分片。
- 根據請求項15所述的裝置,該發送模組:向該區塊鏈中的其它各節點設備廣播發送Prepare訊息;其中,該Prepare訊息包括接收到的該數據分片,以使該其它各節點設備在接收到該Prepare訊息時,獲取並保存該Prepare訊息中的數據分片。
- 根據請求項12所述的裝置,該分割模組:基於預設的加密演算法以及加密密鑰對提議的待共識的交易數據進行加密處理;基於該糾刪碼演算法將加密處理後的該待共識的交易數據分割為指定數量的數據分片;該恢復模組:基於糾刪碼重構演算法對接收到的數據分片進行數據恢復;基於與該加密演算法對應的解密演算法,以及與該加密密鑰對應的解密密鑰,對恢復出的該待共識的交易數據進行解密處理,以得到該待共識的交易數據的原始內容。
- 根據請求項17所述的裝置,該加密演算法為門檻加密演算法;該解密演算法為與門檻加密演算法對應的門檻解密演算法;該解密密鑰被分割為指定數量的子密鑰;其中,各子密鑰由各節點設備分別持有;該恢復模組進一步: 收集該其它各節點設備持有的子密鑰;確定收集到的子密鑰的數量是否達到預設的解密門檻閾值;如果是,基於收集到的子密鑰重構該解密密鑰,並基於與該門檻加密演算法對應的門檻解密演算法,以及該解密密鑰,對恢復出的該待共識的交易數據進行解密處理。
- 根據請求項11所述的裝置,該目標節點提議的待共識的交易數據為交易列表;該指定數量為該區塊鏈中的節點設備的總數量。
- 根據請求項11所述的裝置,該區塊鏈為聯盟鏈。
- 一種電子設備,包括:處理器;用於儲存機器可執行指令的記憶體;其中,透過讀取並執行該記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,該處理器被促使:接收目標節點設備單播發送的待共識的交易數據的數據分片;其中,發起提議的目標節點設備基於預設的壓縮演算法對提議的待共識的交易數據進行了壓縮處理,並基於糾刪碼演算法將壓縮處理後的該待共識的交易數據分割為指定數量的數據分片;該目標節點設備單播發送至各節 點設備的數據分片不同;將接收到的數據分片廣播發送至該區塊鏈中的其它各節點設備;以及,接收該其它各節點設備廣播發送的該待共識的交易數據的數據分片;確定接收到的該待共識的交易數據的數據分片的數量是否達到糾刪碼恢復閾值;如果是,基於糾刪碼重構演算法對接收到的數據分片進行數據恢復;以及,基於與該壓縮演算法對應的解壓縮演算法,對恢復出的該待共識的交易數據進行解壓縮處理,得到該待共識的交易數據的原始內容,以完成對該待共識的交易數據的原始內容的共識處理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811012581.5 | 2018-08-31 | ||
CN201811012581.5A CN109379397B (zh) | 2018-08-31 | 2018-08-31 | 基于区块链的交易共识处理方法及装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202011329A TW202011329A (zh) | 2020-03-16 |
TWI711287B true TWI711287B (zh) | 2020-11-21 |
Family
ID=65405075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108122775A TWI711287B (zh) | 2018-08-31 | 2019-06-28 | 基於區塊鏈的交易共識處理方法及裝置、電子設備 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11144411B2 (zh) |
EP (1) | EP3780553B1 (zh) |
CN (1) | CN109379397B (zh) |
SG (1) | SG11202010382VA (zh) |
TW (1) | TWI711287B (zh) |
WO (1) | WO2020042805A1 (zh) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109345386B (zh) | 2018-08-31 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 基于区块链的交易共识处理方法及装置、电子设备 |
CN109379397B (zh) * | 2018-08-31 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 基于区块链的交易共识处理方法及装置、电子设备 |
CN109345389A (zh) | 2018-09-25 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 一种资源分享方法、装置及设备 |
CN110046894B (zh) * | 2019-04-19 | 2021-11-09 | 电子科技大学 | 一种基于纠删码的分组可重构区块链建立方法 |
US10896171B2 (en) * | 2019-06-13 | 2021-01-19 | Tyson York Winarski | Big data blockchains with Merkle trees |
CN110430282B (zh) * | 2019-08-16 | 2022-03-01 | 微位(深圳)网络科技有限公司 | 分布式系统节点之间的数据传输方法及装置 |
CN112491935A (zh) * | 2019-08-20 | 2021-03-12 | 厦门本能管家科技有限公司 | 一种用于区块链的水波式广播方法及系统 |
CN110933022A (zh) * | 2019-10-11 | 2020-03-27 | 深圳壹账通智能科技有限公司 | 区块处理方法、装置、计算机设备及存储介质 |
CN110879687B (zh) * | 2019-10-18 | 2021-03-16 | 蚂蚁区块链科技(上海)有限公司 | 一种基于磁盘存储的数据读取方法、装置及设备 |
CN111127013B (zh) * | 2019-12-24 | 2023-12-29 | 深圳大学 | 基于区块链的去中心化数据交易方法、装置、设备及介质 |
EP4165578A1 (en) | 2020-05-06 | 2023-04-19 | Kwikclick, LLC | Using a product or service as the start of an mlm tree |
CN111342966B (zh) * | 2020-05-22 | 2020-08-25 | 支付宝(杭州)信息技术有限公司 | 一种数据的存储方法、数据的恢复方法、装置及设备 |
CN111600965B (zh) * | 2020-06-05 | 2023-10-27 | 支付宝(杭州)信息技术有限公司 | 区块链中的共识方法和系统 |
CN111711526B (zh) * | 2020-06-16 | 2024-03-26 | 深圳前海微众银行股份有限公司 | 一种区块链节点的共识方法及系统 |
CN111679939B (zh) * | 2020-06-16 | 2024-02-02 | 江苏超流信息技术有限公司 | 数据备份方法及系统 |
CN111526218B (zh) | 2020-07-03 | 2020-09-22 | 支付宝(杭州)信息技术有限公司 | 联盟链中的共识方法和系统 |
CN111526217B (zh) * | 2020-07-03 | 2020-10-09 | 支付宝(杭州)信息技术有限公司 | 一种区块链中的共识方法和系统 |
CN111526219B (zh) | 2020-07-03 | 2021-02-09 | 支付宝(杭州)信息技术有限公司 | 一种联盟链的共识方法及联盟链系统 |
CN111526165B (zh) * | 2020-07-03 | 2020-10-09 | 支付宝(杭州)信息技术有限公司 | 联盟链中的共识方法和系统 |
CN113888168A (zh) * | 2020-07-03 | 2022-01-04 | 支付宝(杭州)信息技术有限公司 | 联盟链的共识方法、数据校验方法、装置及系统 |
CN111526216B (zh) * | 2020-07-03 | 2020-09-22 | 支付宝(杭州)信息技术有限公司 | 联盟链中的共识方法和系统 |
US11763331B2 (en) | 2020-07-09 | 2023-09-19 | KwikClick, LLC | Enhancing existing social media network from data |
US11587154B2 (en) | 2020-07-09 | 2023-02-21 | KwikClick, LLC | Product-based trees for online store |
CN111897791B (zh) * | 2020-07-15 | 2024-01-12 | 银联商务股份有限公司 | 一种业务分流方法、装置、设备和存储介质 |
CN112328693A (zh) * | 2020-11-16 | 2021-02-05 | 杭州复杂美科技有限公司 | 区块同步方法、设备和存储介质 |
US20220166616A1 (en) * | 2020-11-24 | 2022-05-26 | International Business Machines Corporation | Key reclamation in blockchain network via oprf |
WO2022204601A2 (en) * | 2021-03-26 | 2022-09-29 | KwikClick, LLC | Incorporating additional blockchains into a multi-level marketing system blockchain |
CN113132253B (zh) * | 2021-03-29 | 2022-09-16 | 杭州趣链科技有限公司 | 带宽限流方法和电子设备 |
US20220318779A1 (en) * | 2021-04-01 | 2022-10-06 | International Business Machines Corporation | Secure Off-Line Transactions Through Broadcast Encryption |
US11930499B2 (en) * | 2021-04-07 | 2024-03-12 | Tencent America LLC | Network monitoring in service enabler architecture layer (SEAL) |
CN113206882B (zh) * | 2021-05-06 | 2022-05-24 | 杭州复杂美科技有限公司 | 共识方法、计算机设备和存储介质 |
CN114679466B (zh) * | 2021-06-04 | 2023-02-10 | 腾讯云计算(北京)有限责任公司 | 区块链网络的共识处理方法、装置、计算机设备和介质 |
CN113538152B (zh) * | 2021-08-02 | 2024-01-05 | 浙江数秦科技有限公司 | 一种保护数据隐私的数据交易平台 |
CN113746637B (zh) * | 2021-09-03 | 2024-02-27 | 华东师范大学 | 适用于联盟链且具有高可扩展性的segbft共识算法 |
CN113541968B (zh) * | 2021-09-16 | 2021-11-26 | 中国信息通信研究院 | 共识方法、装置及区块链系统 |
CN113761069A (zh) * | 2021-09-24 | 2021-12-07 | 支付宝(杭州)信息技术有限公司 | 一种区块链的共识方法、系统、节点及电子设备 |
CN113849564A (zh) * | 2021-09-24 | 2021-12-28 | 支付宝(杭州)信息技术有限公司 | 一种区块链的共识方法、共识节点及电子设备 |
CN114553434B (zh) * | 2021-10-09 | 2024-03-12 | 支付宝(杭州)信息技术有限公司 | 一种共识方法、区块链系统和共识节点 |
CN113630258B (zh) * | 2021-10-09 | 2022-01-11 | 支付宝(杭州)信息技术有限公司 | 一种共识方法、区块链系统和共识节点 |
CN113645044B (zh) * | 2021-10-09 | 2022-01-11 | 支付宝(杭州)信息技术有限公司 | 一种共识方法、区块链系统和共识节点 |
CN113761071B (zh) * | 2021-10-09 | 2023-07-11 | 支付宝(杭州)信息技术有限公司 | 一种共识方法、区块链系统和共识节点 |
TWI805142B (zh) * | 2021-12-21 | 2023-06-11 | 中國信託產物保險股份有限公司 | 線上投保簽核系統 |
CN114258015B (zh) * | 2021-12-23 | 2023-10-24 | 成都三零瑞通移动通信有限公司 | 一种基于全网共识的集群终端防失控方法及系统 |
CN114244851B (zh) * | 2021-12-24 | 2023-07-07 | 四川启睿克科技有限公司 | 一种基于区块链的数据分发方法 |
CN114374704B (zh) * | 2021-12-29 | 2023-07-07 | 张海滨 | 可靠广播方法、装置、系统及介质 |
CN114049123B (zh) * | 2022-01-12 | 2022-10-04 | 杭州趣链科技有限公司 | 区块链的共识方法、装置、计算机设备和存储介质 |
CN114422513B (zh) * | 2022-01-19 | 2024-02-27 | 贵州数创控股(集团)有限公司 | 一种基于Raft-PBFT的区块链共识方法 |
CN114553604B (zh) * | 2022-04-26 | 2022-07-08 | 南京邮电大学 | 一种物联网终端节点访问控制方法 |
CN114978553B (zh) * | 2022-06-30 | 2024-01-30 | 中国光大银行股份有限公司 | 一种联盟链密码算法切换方法、装置及联盟链系统 |
CN115174573B (zh) * | 2022-06-30 | 2024-02-02 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的数据广播方法、节点和区块链系统 |
CN115174574A (zh) * | 2022-06-30 | 2022-10-11 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的数据广播方法、节点和区块链系统 |
US20240095225A1 (en) * | 2022-09-20 | 2024-03-21 | Bank Of America Corporation | Intelligently storing data in a fault tolerant system using robotic process automation and blockchain |
CN116455904B (zh) * | 2023-06-12 | 2023-09-05 | 湖南天河国云科技有限公司 | 基于异步网络去中心化的区块链共识方法及系统 |
CN117040936B (zh) * | 2023-10-10 | 2024-02-02 | 北京市农林科学院信息技术研究中心 | 数据共享方法、装置、电子设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015173434A1 (en) * | 2014-05-16 | 2015-11-19 | Nec Europe Ltd. | Method for proving retrievability of information |
CN105741095A (zh) * | 2016-01-29 | 2016-07-06 | 彭军红 | 一种区块链动态压缩存取方法 |
CN106529951A (zh) * | 2016-12-30 | 2017-03-22 | 杭州云象网络技术有限公司 | 一种联盟链网络下采用异步方式的节点共识验证方法 |
CN106603198A (zh) * | 2016-12-02 | 2017-04-26 | 深圳大学 | 具有网络编码的区块链分布式存储方法及系统 |
CN107948334A (zh) * | 2018-01-09 | 2018-04-20 | 无锡华云数据技术服务有限公司 | 基于分布式存储系统的数据处理方法 |
US20180139278A1 (en) * | 2016-11-14 | 2018-05-17 | International Business Machines Corporation | Decentralized immutable storage blockchain configuration |
TW201830302A (zh) * | 2017-03-30 | 2018-08-16 | 大陸商騰訊科技(深圳)有限公司 | 業務處理方法、裝置、資料共享系統及儲存介質 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510621B2 (en) | 2009-12-29 | 2013-08-13 | Industrial Technology Research Institute | Method and apparatus for providing resource unit based data block partition |
EP4242957A3 (en) | 2014-12-15 | 2023-11-22 | Royal Bank Of Canada | Verification of data processes in a network of computing resources |
US20160321751A1 (en) * | 2015-04-28 | 2016-11-03 | Domus Tower, Inc. | Real-time settlement of securities trades over append-only ledgers |
US20180191503A1 (en) * | 2015-07-14 | 2018-07-05 | Fmr Llc | Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US10339523B2 (en) * | 2015-07-14 | 2019-07-02 | Fmr Llc | Point-to-point transaction guidance apparatuses, methods and systems |
US20170140375A1 (en) * | 2015-11-15 | 2017-05-18 | Michael Kunstel | System and Method for Permissioned Distributed Block Chain |
CN105847279A (zh) | 2016-05-03 | 2016-08-10 | 深圳市永兴元科技有限公司 | 分布式数据处理方法及数据中心 |
US10204341B2 (en) | 2016-05-24 | 2019-02-12 | Mastercard International Incorporated | Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees |
GB201613174D0 (en) | 2016-07-29 | 2016-09-14 | Eitc Holdings Ltd | Computer-implemented system and method |
CN106302720B (zh) * | 2016-08-13 | 2019-12-13 | 青岛莱月网络科技有限公司 | 一种用于区块链可生存存储系统及其方法 |
US10402796B2 (en) * | 2016-08-29 | 2019-09-03 | Bank Of America Corporation | Application life-cycle transition record recreation system |
CN106656974B (zh) | 2016-10-17 | 2019-07-16 | 江苏通付盾科技有限公司 | 区块链的分组共识方法及系统 |
US10445302B2 (en) * | 2017-01-03 | 2019-10-15 | International Business Machines Corporation | Limiting blockchain size to optimize performance |
US10291413B2 (en) | 2017-02-17 | 2019-05-14 | Accenture Global Solutions Limited | Hardware blockchain corrective consensus operating procedure enforcement |
US10817873B2 (en) * | 2017-03-22 | 2020-10-27 | Factom, Inc. | Auditing of electronic documents |
CN107277781B (zh) * | 2017-05-03 | 2019-03-22 | 上海点融信息科技有限责任公司 | 移动宽带网络下的区块链多播网络、区块链设备及其通信方法 |
GB201709367D0 (en) | 2017-06-13 | 2017-07-26 | Nchain Holdings Ltd | Computer-implemented system and method |
US11321718B1 (en) * | 2017-07-17 | 2022-05-03 | Agasthya P. Narendranathan | Systems and methods for blockchain based identity assurance and risk management |
US10761877B2 (en) * | 2017-07-21 | 2020-09-01 | Intel Corporation | Apparatuses, methods, and systems for blockchain transaction acceleration |
US11146380B2 (en) * | 2017-08-03 | 2021-10-12 | Parity Technologies Ltd. | Methods and systems for a heterogeneous multi-chain framework |
US10831935B2 (en) * | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
CN107728941B (zh) * | 2017-09-28 | 2019-09-24 | 中国银行股份有限公司 | 一种区块链数据压缩方法及系统 |
US10833861B2 (en) * | 2017-11-28 | 2020-11-10 | International Business Machines Corporation | Protection of confidentiality, privacy and ownership assurance in a blockchain based decentralized identity management system |
US10936238B2 (en) * | 2017-11-28 | 2021-03-02 | Pure Storage, Inc. | Hybrid data tiering |
US10824744B2 (en) * | 2018-02-08 | 2020-11-03 | Cisco Technology, Inc. | Secure client-server communication |
CN108199842B (zh) * | 2018-02-13 | 2021-03-02 | 克洛斯比尔有限公司 | 延迟公布信息的方法和系统 |
CN108389129B (zh) * | 2018-02-27 | 2020-12-04 | 创新先进技术有限公司 | 基于区块链的交易执行方法及装置、电子设备 |
US20190394175A1 (en) * | 2018-06-21 | 2019-12-26 | University Of Maryland, Baltimore County | Systems and methods for permissioned blockchain infrastructure with fine-grained access control and confidentiality-preserving publish/subscribe messaging |
CN109379397B (zh) * | 2018-08-31 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 基于区块链的交易共识处理方法及装置、电子设备 |
CN109345386B (zh) * | 2018-08-31 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 基于区块链的交易共识处理方法及装置、电子设备 |
CN109379387B (zh) | 2018-12-14 | 2020-12-22 | 成都三零嘉微电子有限公司 | 一种物联网设备间的安全认证和数据通信系统 |
-
2018
- 2018-08-31 CN CN201811012581.5A patent/CN109379397B/zh active Active
-
2019
- 2019-06-28 TW TW108122775A patent/TWI711287B/zh active
- 2019-07-17 WO PCT/CN2019/096409 patent/WO2020042805A1/zh unknown
- 2019-07-17 SG SG11202010382VA patent/SG11202010382VA/en unknown
- 2019-07-17 EP EP19854036.1A patent/EP3780553B1/en active Active
-
2020
- 2020-10-23 US US17/079,343 patent/US11144411B2/en active Active
-
2021
- 2021-08-12 US US17/401,092 patent/US11698840B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015173434A1 (en) * | 2014-05-16 | 2015-11-19 | Nec Europe Ltd. | Method for proving retrievability of information |
CN105741095A (zh) * | 2016-01-29 | 2016-07-06 | 彭军红 | 一种区块链动态压缩存取方法 |
US20180139278A1 (en) * | 2016-11-14 | 2018-05-17 | International Business Machines Corporation | Decentralized immutable storage blockchain configuration |
CN106603198A (zh) * | 2016-12-02 | 2017-04-26 | 深圳大学 | 具有网络编码的区块链分布式存储方法及系统 |
CN106529951A (zh) * | 2016-12-30 | 2017-03-22 | 杭州云象网络技术有限公司 | 一种联盟链网络下采用异步方式的节点共识验证方法 |
TW201830302A (zh) * | 2017-03-30 | 2018-08-16 | 大陸商騰訊科技(深圳)有限公司 | 業務處理方法、裝置、資料共享系統及儲存介質 |
CN107948334A (zh) * | 2018-01-09 | 2018-04-20 | 无锡华云数据技术服务有限公司 | 基于分布式存储系统的数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
SG11202010382VA (en) | 2020-11-27 |
CN109379397A (zh) | 2019-02-22 |
WO2020042805A1 (zh) | 2020-03-05 |
US20210109825A1 (en) | 2021-04-15 |
US11698840B2 (en) | 2023-07-11 |
US11144411B2 (en) | 2021-10-12 |
EP3780553A1 (en) | 2021-02-17 |
TW202011329A (zh) | 2020-03-16 |
EP3780553B1 (en) | 2023-03-22 |
EP3780553A4 (en) | 2021-06-16 |
CN109379397B (zh) | 2019-12-06 |
US20210374020A1 (en) | 2021-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI711287B (zh) | 基於區塊鏈的交易共識處理方法及裝置、電子設備 | |
TWI698767B (zh) | 基於區塊鏈的交易共識處理方法及裝置、電子設備 | |
CN110351133B (zh) | 用于区块链系统中的主节点切换处理的方法及装置 | |
Duan et al. | BEAT: Asynchronous BFT made practical | |
TWI705690B (zh) | 分布式網路中進行主節點變更的系統 | |
CN108111604B (zh) | 区块链共识方法、装置和系统、标识信息处理方法和装置 | |
US11128522B2 (en) | Changing a master node in a blockchain system | |
EP3394756B1 (en) | Method and system for byzantine fault - tolerance replicating of data | |
CN112910840A (zh) | 一种基于联盟区块链的医疗数据存储共享方法及系统 | |
KR20200074911A (ko) | 분산 시스템 내의 네트워크 노드를 위한 복구 프로세스의 수행 | |
CN111242617A (zh) | 用于执行交易正确性验证的方法及装置 | |
CN111314067A (zh) | 区块存储方法、装置、计算机设备及存储介质 | |
CN111526197A (zh) | 一种云端数据安全共享方法 | |
CN112468297B (zh) | 基于区块链的密钥备份方法及装置 | |
GB2574076A (en) | Distributed data storage | |
CN112631836A (zh) | 用于区块链的方法、装置、存储介质及电子设备 | |
Armknecht et al. | Sharing proofs of retrievability across tenants | |
CN115941164A (zh) | 一种区块链上实现分布式密钥生成的方法、系统和节点 | |
CN115567203A (zh) | 一种恢复秘密信息的方法、装置、设备及存储介质 | |
CN115941163A (zh) | 一种区块链上实现分布式密钥生成的方法、系统和节点 | |
CN115412568A (zh) | 分布式数据传输方法、装置及系统 | |
CN112019335A (zh) | 一种基于sm2算法的多方协同加解密方法及装置、系统、介质 | |
Zhang et al. | TBFT: efficient byzantine fault tolerance using trusted execution environment | |
CN115001719B (zh) | 隐私数据处理系统、方法、装置、计算机设备及存储介质 | |
Freitas et al. | Deterministic or probabilistic?-A survey on Byzantine fault tolerant state machine replication |