TWI698767B - 基於區塊鏈的交易共識處理方法及裝置、電子設備 - Google Patents
基於區塊鏈的交易共識處理方法及裝置、電子設備 Download PDFInfo
- Publication number
- TWI698767B TWI698767B TW108108595A TW108108595A TWI698767B TW I698767 B TWI698767 B TW I698767B TW 108108595 A TW108108595 A TW 108108595A TW 108108595 A TW108108595 A TW 108108595A TW I698767 B TWI698767 B TW I698767B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- algorithm
- transaction data
- node device
- transaction
- Prior art date
Links
Images
Classifications
-
- 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
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/154—Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/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/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
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Quality & Reliability (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一種基於區塊鏈的交易共識處理方法,所述區塊鏈中的節點設備至少包括一主節點設備以及若干從節點設備;其中,所述主節點設備基於抹除碼演算法將提議的交易資料分割為指定數量的資料分段,包括:接收所述主節點設備單播發送的所述交易資料的資料分段;其中,所述主節點設備單播發送至各節點設備的資料分段不同;將接收到的資料分段廣播發送至所述區塊鏈中的其它各節點設備;以及,接收所述其它各節點設備廣播發送的所述交易資料的資料分段;確定接收到的所述交易資料的資料分段的數量是否達到抹除碼恢復臨限值;如果是,基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到所述交易資料的原始內容,以完成對所述交易資料的原始內容的共識處理。
Description
本說明書一個或多個實施例涉及區塊鏈技術領域,尤其涉及一種基於區塊鏈的交易共識處理方法及裝置、電子設備。
區塊鏈技術,也被稱之為分散式帳本技術,是一種由若干台計算設備共同參與“記帳”,共同維護一份完整的分散式資料庫的新興技術。由於區塊鏈技術具有去中心化、公開透明、每台計算設備可以參與資料庫記錄、並且各計算設備之間可以快速的進行資料同步的特性,使得區塊鏈技術已在眾多的領域中廣泛的進行應用
本說明書提出一種基於區塊鏈的交易共識處理方法,所述區塊鏈中的節點設備至少包括一主節點設備以及若干從節點設備;其中,所述主節點設備基於抹除碼演算法將提議的交易資料分割為指定數量的資料分段,所述方法包括:
接收所述主節點設備單播發送的所述交易資料的資料分段;其中,所述主節點設備單播發送至各節點設備的資料分段不同;
將接收到的資料分段廣播發送至所述區塊鏈中的其它各節點設備;以及,接收所述其它各節點設備廣播發送的所述交易資料的資料分段;
確定接收到的所述交易資料的資料分段的數量是否達到抹除碼恢復臨限值;
如果是,基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到所述交易資料的原始內容,以完成對所述交易資料的原始內容的共識處理。
可選的,所述方法還包括:
確定本節點設備是否被選舉為所述主節點設備;
如果是,基於所述抹除碼演算法將提議的交易資料分割為指定數量的資料分段;以及,
將所述指定數量的資料分段分別單播發送至其它各節點設備。
可選的,所述區塊鏈搭載的共識演算法為pbft演算法;
所述接收所述主節點設備單播發送的所述交易資料的資料分段,包括:
接收所述主節點設備單播發送的Pre-Prepare訊息;其中,所述Pre-Prepare訊息中包括所述交易資料的資料分段;
獲取並保存所述Pre-Prepare訊息中的資料分段。
可選的,所述將接收到的資料分段廣播發送至所述區塊鏈中的其它各節點設備,包括:
向所述區塊鏈中的其它各節點設備廣播發送Prepare訊息;其中,所述Prepare訊息包括接收到的所述資料分段,以使所述其它各節點設備在接收到所述Prepare訊息時,獲取並保存所述Prepare訊息中的資料分段。
可選的,所述基於所述抹除碼演算法將提議的交易資料分割為指定數量的資料分段,包括:
基於預設的壓縮演算法對提議的所述交易資料進行壓縮處理;
基於所述抹除碼演算法將壓縮處理後的所述交易資料分割為指定數量的資料分段。
所述基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到所述交易資料的原始內容,包括:
基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到壓縮後的所述交易資料;
基於與所述壓縮演算法對應的解壓縮演算法,對恢復出的所述交易資料進行解壓縮處理,以得到所述交易資料的原始內容。
可選的,所述基於所述抹除碼演算法將提議的交易資料分割為指定數量的資料分段,包括:
基於預設的加密演算法以及加密密鑰對提議的交易資料進行加密處理;
基於所述抹除碼演算法將加密處理後的所述交易資料分割為指定數量的資料分段。
所述基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到所述交易資料的原始內容,包括:
基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到加密後的所述交易資料;
基於與所述加密演算法對應的解密演算法,以及與所述加密密鑰對應的解密密鑰,對恢復出的所述交易資料進行解密處理,以得到所述交易資料的原始內容。
可選的,所述加密演算法為門檻加密演算法;所述解密演算法為與門檻加密演算法對應的門檻解密演算法;所述解密密鑰被分割為指定數量的子密鑰;其中,各子密鑰由各節點設備分別持有;
所述基於與所述加密演算法對應的解密演算法,以及與所述加密密鑰對應的解密密鑰,對恢復出的所述交易資料進行解密處理,包括:
收集所述其它各節點設備持有的子密鑰;
確定收集到的子密鑰的數量是否達到預設的解密門檻臨限值;
如果是,基於收集到的子密鑰重構所述解密密鑰,並基於與所述門檻加密演算法對應的門檻解密演算法,以及所述解密密鑰,對恢復出的所述交易資料進行解密處理。
可選的,所述主節點提議的交易資料,為所述主節點設備當前共識週期內由各用戶客戶端廣播發送的待共識交易構建的交易列表;所述指定數量為所述區塊鏈中的節點設備的總數量。
可選的,所述區塊鏈為聯盟鏈。
本說明書還提出一種基於區塊鏈的交易共識處理裝置,所述區塊鏈中的節點設備至少包括一主節點設備以及若干從節點設備;其中,所述主節點設備基於抹除碼演算法將提議的交易資料分割為指定數量的資料分段,所述裝置包括:
接收模組,接收所述主節點設備單播發送的所述交易資料的資料分段;其中,所述主節點設備單播發送至各節點設備的資料分段不同;
發送模組,將接收到的資料分段廣播發送至所述區塊鏈中的其它各節點設備;以及,接收所述其它各節點設備廣播發送的所述交易資料的資料分段;
確定模組,確定接收到的所述交易資料的資料分段的數量是否達到抹除碼恢復臨限值;
恢復模組,如果是,基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到所述交易資料的原始內容,以完成對所述交易資料的原始內容的共識處理。
可選的,所述裝置還包括:
分割模組,確定本節點設備是否被選舉為所述主節點設備;如果是,基於所述抹除碼演算法將提議的交易資料分割為指定數量的資料分段;
所述發送模組進一步:
將所述指定數量的資料分段分別單播發送至其它各節點設備。
可選的,所述區塊鏈搭載的共識演算法為pbft演算法;
所述接收模組:
接收所述主節點設備單播發送的Pre-Prepare訊息;其中,所述Pre-Prepare訊息中包括所述交易資料的資料分段;
獲取並保存所述Pre-Prepare訊息中的資料分段。
可選的,所述發送模組:
向所述區塊鏈中的其它各節點設備廣播發送Prepare訊息;其中,所述Prepare訊息包括接收到的所述資料分段,以使所述其它各節點設備在接收到所述Prepare訊息時,獲取並保存所述Prepare訊息中的資料分段。
可選的,所述分割模組:
基於預設的壓縮演算法對提議的所述交易資料進行壓縮處理;
基於所述抹除碼演算法將壓縮處理後的所述交易資料分割為指定數量的資料分段。
所述恢復模組:
基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到壓縮後的所述交易資料;
基於與所述壓縮演算法對應的解壓縮演算法,對恢復出的所述交易資料進行解壓縮處理,以得到所述交易資料的原始內容。
可選的,所述分割模組:
基於預設的加密演算法以及加密密鑰對提議的交易資料進行加密處理;
基於所述抹除碼演算法將加密處理後的所述交易資料分割為指定數量的資料分段。
所述恢復模組:
基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到加密後的所述交易資料;
基於與所述加密演算法對應的解密演算法,以及與所述加密密鑰對應的解密密鑰,對恢復出的所述交易資料進行解密處理,以得到所述交易資料的原始內容。
可選的,所述加密演算法為門檻加密演算法;所述解密演算法為與門檻加密演算法對應的門檻解密演算法;所述解密密鑰被分割為指定數量的子密鑰;其中,各子密鑰由各節點設備分別持有;
所述恢復模組進一步:
收集所述其它各節點設備持有的子密鑰;
確定收集到的子密鑰的數量是否達到預設的解密門檻臨限值;
如果是,基於收集到的子密鑰重構所述解密密鑰,並基於與所述門檻加密演算法對應的門檻解密演算法,以及所述解密密鑰,對恢復出的所述交易資料進行解密處理。
可選的,所述主節點提議的交易資料,為所述主節點設備當前共識週期內由各用戶客戶端廣播發送的待共識交易構建的交易列表;所述指定數量為所述區塊鏈中的節點設備的總數量。
可選的,所述區塊鏈為聯盟鏈。
本說明書還提出一種電子設備,包括:
處理器;
用於儲存機器可執行指令的記憶體;
其中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
接收所述主節點設備單播發送的所述交易資料的資料分段;其中,所述區塊鏈中的節點設備至少包括一主節點設備以及若干從節點設備;所述主節點設備基於抹除碼演算法將提議的交易資料分割為指定數量的資料分段所述主節點設備單播發送至各節點設備的資料分段不同;
將接收到的資料分段廣播發送至所述區塊鏈中的其它各節點設備;以及,接收所述其它各節點設備廣播發送的所述交易資料的資料分段;
確定接收到的所述交易資料的資料分段的數量是否達到抹除碼恢復臨限值;
如果是,基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到所述交易資料的原始內容,以完成對所述交易資料的原始內容的共識處理。
透過以上技術方案,由於主節點設備在向各從節點設備提議待共識的交易資料時,基於抹除碼演算法對待共識的交易資料進行分段之後再進行傳播:
一方面,使得主節點設備在向各從節點設備提議交易資料時,可以不再需要將完整的交易資料向各從節點設備進行廣播發送,而是採用向各從節點設備單播發送資料分段即可,因此可以顯著的降低向參與共識的節點設備擴散傳播需要共識的交易資料時所消耗的資料傳輸頻寬,可以在短時間內將待共識的交易資料傳播至各從節點設備來完成共識,從而可以提升共識處理效率;
另一方面,由於主節點設備向各從節點設備單播發送的僅僅是上述交易資料的資料分段,對於主節點設備而言,無法獲知該資料分段所屬的完整交易的完整內容,因此可以有效避免主節點設備向其它參與共識的節點設備有選擇性的單播一些特定的交易,對一些特定的交易進行有選擇性的共識,從而可以保障共識的公正性,反正主節點透過有選擇性共識來進行“作惡”。
本說明書中,旨在提出一種在區塊鏈的共識處理過程中,引入抹除碼演算法對待共識的交易資料進行分段後進行傳播擴散,來降低在向參與共識的節點設備傳播需要共識的交易資料時所消耗的資料傳輸頻寬,提升共識效率的技術方案。
在實現時,在區塊鏈的每一輪共識開始之前,可以在區塊鏈中的各節點設備中選舉出一台主節點設備(比如,每一輪共識都重新選舉出一主節點設備,其它節點設備作為從節點設備),由主節點設備向發起交易共識,並負責基於共識透過的交易資料為區塊鏈創建最新的區塊。
主節點設備在發起一輪交易共識時,首先可以基於抹除碼演算法將提議的待共識的交易資料,分割為指定數量的資料分段,然後將分割的資料分段分別單播發送至其它各節點設備;其中,主節點設備單播發送至各節點設備的資料分段不同;
其次,各從節點設備在收到主節點設備單播發送的上述交易資料的資料分段時,可以將接收到的資料分段繼續廣播發送至區塊鏈中的其它各節點設備;以及,還可以收集由其它各節點設備廣播發送的資料分段。
最後,對於區塊鏈中的任意一台節點設備(包括主節點設備和從節點設備)而言,可以確定收集到的上述交易資料的資料分段的數量,是否達到了在採用上述抹除碼演算法對上述交易資料進行分割時定義的抹除碼恢復臨限值;如果是,表明當前收集到的資料分段的數量,已經足夠恢復出上述交易資料的原始內容,此時可以基於抹除碼重構演算法對已經收集到的資料分段進行資料恢復,得到上述交易資料的原始內容,然後完成對上述交易資料的原始內容的共識處理。
透過以上技術方案,由於主節點設備在向各從節點設備提議待共識的交易資料時,基於抹除碼演算法對待共識的交易資料進行分段之後再進行傳播:
一方面,使得主節點設備在向各從節點設備提議交易資料時,可以不再需要將完整的交易資料向各從節點設備進行廣播發送,而是採用向各從節點設備單播發送資料分段即可,因此可以顯著的降低向參與共識的節點設備擴散傳播需要共識的交易資料時所消耗的資料傳輸頻寬,可以在短時間內將待共識的交易資料傳播至各從節點設備來完成共識,從而可以提升共識處理效率;
另一方面,由於主節點設備向各從節點設備單播發送的僅僅是上述交易資料的資料分段,對於主節點設備而言,無法獲知該資料分段所屬的完整交易的完整內容,因此可以有效避免主節點設備向其它參與共識的節點設備有選擇性的單播一些特定的交易,對一些特定的交易進行有選擇性的共識,從而可以保障共識的公正性,反正主節點透過有選擇性共識來進行“作惡”。
下面透過具體實施例並結合具體的應用場景對本說明書進行描述。
請參考圖1,圖1是本說明書一實施例提供的一種基於區塊鏈的交易共識處理方法,應用於區塊鏈中的任一節點設備;其中,所述區塊鏈中的節點設備至少包括一主節點設備以及若干從節點設備,所述主節點設備基於抹除碼演算法將提議的交易資料分割為指定數量的資料分段,執行以下步驟:
步驟102,接收所述主節點設備單播發送的所述交易資料的資料分段;其中,所述主節點設備單播發送至各節點設備的資料分段不同;
步驟104,將接收到的資料分段廣播發送至所述區塊鏈中的其它各節點設備;以及,接收所述其它各節點設備廣播發送的所述交易資料的資料分段;
步驟106,確定接收到的所述交易資料的資料分段的數量是否達到抹除碼恢復臨限值;
步驟108,如果是,基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到所述交易資料的原始內容,以完成對所述交易資料的原始內容的共識處理。
在本說明書所描述的區塊鏈,具體可以包括私有鏈、共有鏈以及聯盟鏈等,在本說明書中不進行特別限定。
例如,在一個場景中,上述區塊鏈具體可以是由第三方支付平臺的伺服器、境內銀行伺服器、境外銀行伺服器、以及若干用戶節點設備作為成員設備組成的一個聯盟鏈。該聯盟鏈的營運方可以依託於該聯盟鏈,來在線部署諸如基於聯盟鏈的跨境轉帳、資產轉移等在線業務。
在本說明書中所描述的交易,是指用戶透過區塊鏈的客戶端創建,並需要最終發佈至區塊鏈的分散式資料庫中的一筆資料。
其中,區塊鏈中的交易,存在狹義的交易以及廣義的交易之分。狹義的交易是指用戶向區塊鏈發佈的一筆價值轉移;例如,在傳統的比特幣區塊鏈網路中,交易可以是用戶在區塊鏈中發起的一筆轉帳。而廣義的交易是指用戶向區塊鏈發佈的一筆具有業務意圖的業務資料;例如,營運方可以基於實際的業務需求搭建一個聯盟鏈,依託於聯盟鏈部署一些與價值轉移無關的其它類型的在線業務(比如,租房業務、車輛調度業務、保險理賠業務、信用服務、醫療服務等),而在這類聯盟鏈中,交易可以是用戶在聯盟鏈中發佈的一筆具有業務意圖的業務訊息或者業務請求。
需要說明的是,上述區塊鏈搭載的共識演算法,在本說明書中不進行特別限定;在實際應用中,具體可以採用拜占庭容錯(Byzantine Fault Tolerance)系列演算法作為共識演算法,也可以採用非拜占庭容錯系列演算法作為共識演算法。
其中,所謂拜占庭容錯演算法,是指在由若干個節點設備組成的分散式網路中,需要考慮拜占庭節點(即作惡節點)的分散式容錯演算法;例如,pbft演算法;如果採用拜占庭容錯演算法在區塊鏈網路中進行共識處理時,會認為區塊鏈中同時儲存作惡節點和故障節點。而相應的,所謂非拜占庭容錯演算法,是指在由若干個節點設備組成的分散式網路中,不考慮拜占庭節點的分散式容錯演算法;例如,raft演算法等等;如果採用非拜占庭容錯演算法在區塊鏈網路中進行共識處理時,會認為區塊鏈中不存在作惡節點,而只存在故障節點。
在本說明書中所描述的由主節點設備提議的交易資料,具體是指由主節點設備收集到的,由用戶客戶端透過接入的節點設備提交的待共識交易;例如,在一種實現方式中,用戶客戶端可以透過接入的節點設備將用戶發起的交易在區塊鏈中進行廣播發送。
其中,在實際應用中,主節點設備可以針對單筆交易發起共識,也可以針對構建的一個交易列表來發起共識。
例如,在一種實施方式中,用戶客戶端可以將用戶提交的交易在區塊鏈網路中進行廣播。而主節點設備可以收集各個用戶客戶端,在本輪的共識時間段內,在區塊鏈網路中廣播發送的待共識交易,然後基於收集到的待共識交易創建交易列表,將該交易列表作為提議的交易資料向其它各節點設備傳播。
以下以上述區塊鏈為聯盟鏈,以及該聯盟鏈採用pbft演算法作為共識演算法,對主節點設備提議的交易列表進行共識處理為例進行說明。
在本說明書中,可以在pbft演算法現有的預準備(pre-prepare)、準備(prepare)、和確認(commit)等三個階段的基礎之上,引入抹除碼演算法,對pbft演算法的pre-prepare和prepare階段現有的交易資料傳播擴散機制進行優化改進,以降低主節點設備與從節點設備之間進行共識互動時的資料傳輸頻寬,提升共識處理效率。
請參見圖2,圖2為本說明書示出的一種優化後的pbft演算法三個階段的互動示意圖。
如圖2所示,在聯盟鏈的每一輪共識開始之前,首先可以在聯盟鏈中的各節點設備中選舉出一台主節點設備;
例如,基於Pbft演算法,在聯盟鏈的每一輪共識開始之前,可以基於以下的公式,為本輪公式計算出一個主節點設備:
P=v mod R
其中,表示計算出的本輪共識的主節點編號;v表示聯盟鏈當前的視圖編號;視圖編號通常是一個連續編號的整數,表示聯盟鏈已經成功完成共識的輪數;比如,在成功完成一輪共識,選舉出的主節點設備向聯盟鏈成功寫入一個新的區塊之後,可以將視圖編號自動加1。R表示聯盟鏈中的節點設備的總數量。
各個節點設備可以分別執行以上計算,並將計算出的主節點編號與本設備的編號進行匹配,來確定本設備是否被選舉為主節點設備。
一方面,如果一節點設備確定本設備未被選舉為主節點設備,則可以將收到的由客戶端提交的交易向聯盟鏈中的各個節點設備進行廣播發送。
另一方面,如果一節點設備確定本設備被選舉為主節點設備,則可以收集各個用戶客戶端在本輪的共識時間段內廣播發送的交易,並基於收集到的交易,來創建交易列表。此時,創建的交易列表即為主節點設備提議的需要進行共識處理的交易資料。
進一步的,主節點設備可以基於抹除碼演算法,對提議的交易列表進行分段處理,將上述交易列表分割為指定數量的資料分段。
需要說明的是,對上述交易列表進行分割得到的資料分段的數量,可以與聯盟鏈中的節點設備總數一致;例如,假設聯盟鏈中有N台節點設備,那麼可以將上述交易列表也分割成為N個資料分段。
其中,基於抹除碼演算法對上述交易列表進行分割的具體過程,在本說明書中不再進行詳細描述,本領域技術人員在將本說明書記載的技術方案付諸實現時,可以參考相關技術中的記載;
例如,基於抹除碼演算法,假設將上述交易列表分割為N個資料分段,在這N個資料分段將會包含K個資料塊,和M個校驗塊。M表示上述N個資料分段中可以容忍發生錯誤的資料分段的個數。K表示恢復出原始的交易列表至少所需的資料分段的個數(即行數抹除碼恢復臨限值)。即透過上述N個資料分段中的任意K個資料分段,透過抹除碼重構演算法(即抹除碼演算法的逆向演算法)都可以恢復出上述交易列表的原始內容。
當主節點設備基於抹除碼演算法對上述交易列表完成分割,可以透過向各從節點設備發送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訊息依次發送至各從節點設備,以確保各從節點設備能夠收到不同的資料分段。
請繼續參見圖2,收到上述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是否一致。
請繼續參見圖2,當收到上述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協議的Prepare階段,由於各節點設備傳播擴散的資料分段,為基於壓縮處理後的交易列表進行分割得到的資料分段,因此節點設備在基於抹除碼重構演算法,對收集到的資料分段進行資料恢復後,得到的也只是壓縮處理後的交易列表。
在這種情況下,節點設備在完成以上資料恢復計算後,可以基於與上述壓縮演算法對應的解壓縮演算法,對恢復出的壓縮後的交易列表進行解壓縮處理,來解壓縮出上述交易列表的原始內容,然後繼續執行commit階段的共識處理過程,具體的實施細節不再贅述。
透過這種方式,由於主節點設備在對上述交易列表進行分割之前,預先對主節點設備進行了壓縮處理,因此可以有效減低壓縮後的資料分段的大小,從而能夠最大程度的降低主節點設備與從節點設備之間進行共識互動時的資料傳輸頻寬。
在示出的另一種實施方式中,主節點設備對上述交易列表進行分割之前,還可以對上述交易列表進行加密預處理,基於預設的加密演算法以及加密密鑰對對上述交易列表進行加密處理。
其中,上述主節點設備所採用的加密演算法,在本說明書中不進行特別限定;例如,在實際應用中,可以是對稱加密演算法,也可以是非對稱加密演算法。
當完成針對上述交易列表的加密處理之後,此時主節點設備再基於上述抹除碼演算法對加密處理後的上述交易列表進行分割,將加密處理後的上述交易列表分割成為指定數量的資料分段。
相應的,在pbft協議的Prepare階段,由於各節點設備傳播擴散的資料分段,為基於加密處理後的交易列表進行分割得到的資料分段,因此節點設備在基於抹除碼重構演算法,對收集到的資料分段進行資料恢復後,得到的也只是加密處理後的交易列表。
在這種情況下,節點設備在完成以上資料恢復計算後,可以基於與上述加密演算法對應的解密演算法,以及與上述加密密鑰對應的解密密鑰,對恢復出的壓縮後的交易列表進行解密處理,來解密出上述交易列表的原始內容,然後繼續執行commit階段的共識處理過程,具體的實施細節不再贅述。
其中,在示出的一種實施方式中,上述加密演算法具體可以是門檻加密演算法。而上述解密演算法具體可以是與門檻加密演算法對應的門檻解密演算法。
在這種場景下,解密密鑰具體可以被分割為指定數量的子密鑰,並將各子密鑰由各節點設備分別持有。
需要說明的是,對上述解密密鑰進行分割得到的子密鑰的數量,可以與聯盟鏈中的節點設備總數一致;例如,假設聯盟鏈中有N台節點設備,那麼可以將上述解密密鑰也分割成為N個子密鑰,由聯盟鏈中的N台節點設備分別持有。
在這種情況下,節點設備還可以收集其它各節點設備持有的子密鑰,並確定收集到的子密鑰的數量是否達到預設的解密門檻臨限值;比如,密鑰門檻臨限值為N時,表明需要N個節點設備基於持有的子密鑰(也即上述解密密鑰的部分片段),來共同對加密後的資料進行解密。
其中,節點設備收集其它各節點設備持有的子密鑰的具體方式,在本說明書中不進行特別限定;
例如,仍以聯盟鏈採用的共識演算法為pbft演算法為例,節點設備可以在與其它節點設備互動的commit訊息中,攜帶自身持有的子密鑰;當然,在實際應用中,各節點設備也可以透過單獨定義一個用於傳播持有的子密鑰的互動訊息,利用該互動訊息將自身持有的子密鑰同步到其它節點設備。
如果節點設備設備收集到的子密鑰的數量達到預設的解密門檻臨限值,表明該節點設備已經具有足夠的分段來重構解密密鑰,此時該節點設備可以基於收集到的子密鑰對解密密鑰進行重構處理,以恢復出原始的解密密鑰,然後基於門檻解密演算法以及恢復出的原始的解密密鑰,對恢復出的加密處理後的交易列表進行解密處理,來解密出上述交易列表的原始內容。
其中,基於收集到的子密鑰對解密密鑰進行重構的具體過程,在本說明書中不再進行詳細描述,本領域技術人員在將本說明書的技術方案付諸實現時,可以參考相關技術中的記載;
例如,在對解密密鑰進行分割、以及基於收集到的子密鑰對解密密鑰進行恢復,仍然可以採用抹除碼技術來實現,具體過程不再贅述。
透過這種方式,由於主節點設備在對上述交易列表進行分割之前,預先對主節點設備進行了加密處理,因此可以有效的提升主節點設備在向各節點設備發送資料分段時的資料安全,使得一些非法的節點設備即便收集到足夠的資料分段恢復出上述交易列表,也無法查看到交易列表的原始內容,從而可以提升主節點設備與從節點設備之間進行共識互動時的資料安全。
需要補充說明的是,在以上實施例中,以利用pbft演算法的pre-prepare和prepare階段現有的交易資料傳播擴散機制,將待共識的交易列表傳播擴散至各個參與共識的節點設備為例進行了詳細說明。
需要強調的是,在實際應用中,在需要將待共識的交易列表傳播擴散至各個參與共識的節點設備時,除了利用聯盟鏈搭載的共識演算法中已有的傳播擴散機制來完成交易列表傳播擴散以外,也可以透過定義單獨的傳播擴散協議來完成相同的功能;
例如,仍然以聯盟鏈採用的共識演算法為pbft演算法為例,主節點設備與從節點設備之間在啟動pbft演算法規定的三個階段的共識互動之前,主節點設備可以透過定義的傳播擴散協議,與從節點設備進行共識互動,提前將需要共識的交易列表傳播擴散至各個從節點設備。也即,節點設備可以透過定義的傳播擴散協議,提前將需要共識的交易列表擴散傳播到各個參與共識的節點設備之後,再啟動pbft演算法規定的三個階段的共識互動,完成對該交易列表的共識處理。
在這種情況下,pbft演算法的pre-prepare和prepare階段現有的交易資料傳播擴散機制則不再不需要執行以上實施例中描述的優化過程;比如,pre-prepare訊息和prepare訊息中,可以不再攜帶完整的交易列表,或者是交易列表的資料分段,而是直接攜帶上述交易列表的摘要值即可。
另外,以上實施例中,僅以聯盟鏈採用pbft演算法作為共識演算法為例進行了說明,顯然在實際應用中,本說明書中的技術方案也可以等同應用在聯盟鏈採用的其它形式的共識演算法之中。
也即,以上步驟102-106示出的傳播擴散邏輯,除了可以應用在pbft演算法的共識互動過程之中,也可以應用在注入raft等其它類似的共識演算法之中,其具體的實施細節,在本說明書中不再進行詳述,本領域技術人員在將本說明書的技術方案付諸實現時,可以參考以上實施例中的記載。
透過以上各實施例可見,由於主節點設備在向各從節點設備提議待共識的交易資料時,可以基於抹除碼演算法對待共識的交易資料進行分段之後再進行傳播:
一方面,使得主節點設備在向各從節點設備提議交易資料時,可以不再需要將完整的交易資料向各從節點設備進行廣播發送,而是採用向各從節點設備單播發送資料分段即可,因此可以顯著的降低向參與共識的節點設備擴散傳播需要共識的交易資料時所消耗的資料傳輸頻寬,可以在短時間內將待共識的交易資料傳播至各從節點設備來完成共識,從而可以提升共識處理效率;另一方面,由於主節點設備向各從節點設備單播發送的僅僅是上述交易資料的資料分段,對於主節點設備而言,無法獲知該資料分段所屬的完整交易的完整內容,因此可以有效避免主節點設備向其它參與共識的節點設備有選擇性的單播一些特定的交易,對一些特定的交易進行有選擇性的共識,從而可以保障共識的公正性,反正主節點透過有選擇性共識來進行“作惡”。
與上述方法實施例相對應,本說明書還提供了一種基於區塊鏈的交易共識處理裝置的實施例。本說明書的基於區塊鏈的交易共識處理裝置的實施例可以應用在電子設備上。裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在電子設備的處理器將非揮發性記憶體中對應的電腦程式指令讀取到記憶體中運行形成的。從硬體層面而言,如圖3所示,為本說明書的基於區塊鏈的交易共識處理裝置所在電子設備的一種硬體結構圖,除了圖3所示的處理器、記憶體、網路介面、以及非揮發性記憶體之外,實施例中裝置所在的電子設備通常根據該電子設備的實際功能,還可以包括其他硬體,對此不
再贅述。
圖4是本說明書一示例性實施例示出的一種基於區塊鏈的交易共識處理裝置的方塊圖。
請參考圖4,所述基於區塊鏈的交易共識處理裝置40可以應用在前述圖3所示的電子設備中,包括有:接收模組401、發送模組402、確定模組403和恢復模組404。
接收模組401,接收所述主節點設備單播發送的所述交易資料的資料分段;其中,所述區塊鏈中的節點設備至少包括一主節點設備以及若干從節點設備;所述主節點設備基於抹除碼演算法將提議的交易資料分割為指定數量的資料分段所述主節點設備單播發送至各節點設備的資料分段不同;發送模組402,將接收到的資料分段廣播發送至所述區塊鏈中的其它各節點設備;以及,接收所述其它各節點設備廣播發送的所述交易資料的資料分段;確定模組403,確定接收到的所述交易資料的資料分段的數量是否達到抹除碼恢復臨限值;恢復模組404,如果是,基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到所述交易資料的原始內容,以完成對所述交易資料的原始內容的共識處理。
在本實施例中,所述裝置40還包括:分割模組,確定本節點設備是否被選舉為所述主節點設備;如果是,基於所述抹除碼演算法將提議的交易資料分割為指定數量的資料分段;
所述發送模組402進一步:將所述指定數量的資料分段分別單播發送至其它各節點設備。
在本實施例中,所述區塊鏈搭載的共識演算法為pbft演算法;所述接收模組401:接收所述主節點設備單播發送的Pre-Prepare訊息;其中,所述Pre-Prepare訊息中包括所述交易資料的資料分段;獲取並保存所述Pre-Prepare訊息中的資料分段。
在本實施例中,所述發送模組402:向所述區塊鏈中的其它各節點設備廣播發送Prepare訊息;其中,所述Prepare訊息包括接收到的所述資料分段,以使所述其它各節點設備在接收到所述Prepare訊息時,獲取並保存所述Prepare訊息中的資料分段。
在本實施例中,所述分割模組:基於預設的壓縮演算法對提議的所述交易資料進行壓縮處理;基於所述抹除碼演算法將壓縮處理後的所述交易資料分割為指定數量的資料分段。
所述恢復模組404:基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到壓縮後的所述交易資料;基於與所述壓縮演算法對應的解壓縮演算法,對恢復
出的所述交易資料進行解壓縮處理,以得到所述交易資料的原始內容。
在本實施例中,所述分割模組:基於預設的加密演算法以及加密密鑰對提議的交易資料進行加密處理;基於所述抹除碼演算法將加密處理後的所述交易資料分割為指定數量的資料分段。
所述恢復模組404:基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到加密後的所述交易資料;基於與所述加密演算法對應的解密演算法,以及與所述加密密鑰對應的解密密鑰,對恢復出的所述交易資料進行解密處理,以得到所述交易資料的原始內容。
在本實施例中,所述加密演算法為門檻加密演算法;所述解密演算法為與門檻加密演算法對應的門檻解密演算法;所述解密密鑰被分割為指定數量的子密鑰;其中,各子密鑰由各節點設備分別持有;所述恢復模組404進一步:收集所述其它各節點設備持有的子密鑰;確定收集到的子密鑰的數量是否達到預設的解密門檻臨限值;如果是,基於收集到的子密鑰重構所述解密密鑰,並基於與所述門檻加密演算法對應的門檻解密演算法,以及所述解密密鑰,對恢復出的所述交易資料進行解密處理。
在本實施例中,所述主節點提議的交易資料,為所述主節點設備當前共識週期內由各用戶客戶端廣播發送的待共識交易構建的交易列表;所述指定數量為所述區塊鏈中的節點設備的總數量。
在本實施例中,所述區塊鏈為聯盟鏈。
上述裝置中各個模組的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。
對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的模組可以是或者也可以不是物理上分開的,作為模組顯示的部件可以是或者也可以不是物理模組,即可以位於一個地方,或者也可以分佈到多個網路模組上。可以根據實際的需要選擇其中的部分或者全部模組來實現本說明書方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
上述實施例闡明的系統、裝置或模組,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
與上述方法實施例相對應,本說明書還提供了一種電子設備的實施例。該電子設備包括:處理器以及用於儲存機器可執行指令的記憶體;其中,處理器和記憶體通常透過內部匯流排相互連接。在其他可能的實現方式中,所述設備還可能包括外部介面,以能夠與其他設備或者部件進行通信。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
接收所述主節點設備單播發送的所述交易資料的資料分段;其中,所述區塊鏈中的節點設備至少包括一主節點設備以及若干從節點設備;所述主節點設備基於抹除碼演算法將提議的交易資料分割為指定數量的資料分段所述主節點設備單播發送至各節點設備的資料分段不同;
將接收到的資料分段廣播發送至所述區塊鏈中的其它各節點設備;以及,接收所述其它各節點設備廣播發送的所述交易資料的資料分段;
確定接收到的所述交易資料的資料分段的數量是否達到抹除碼恢復臨限值;
如果是,基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到所述交易資料的原始內容,以完成對所述交易資料的原始內容的共識處理。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
確定本節點設備是否被選舉為所述主節點設備;
如果是,基於所述抹除碼演算法將提議的交易資料分割為指定數量的資料分段;以及,
將所述指定數量的資料分段分別單播發送至其它各節點設備。
在本實施例中,所述區塊鏈搭載的共識演算法為pbft演算法;
透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
接收所述主節點設備單播發送的Pre-Prepare訊息;其中,所述Pre-Prepare訊息中包括所述交易資料的資料分段;
獲取並保存所述Pre-Prepare訊息中的資料分段。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
向所述區塊鏈中的其它各節點設備廣播發送Prepare訊息;其中,所述Prepare訊息包括接收到的所述資料分段,以使所述其它各節點設備在接收到所述Prepare訊息時,獲取並保存所述Prepare訊息中的資料分段。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
基於預設的壓縮演算法對提議的所述交易資料進行壓縮處理;
基於所述抹除碼演算法將壓縮處理後的所述交易資料分割為指定數量的資料分段。
在本實施例中, 透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到壓縮後的所述交易資料;
基於與所述壓縮演算法對應的解壓縮演算法,對恢復出的所述交易資料進行解壓縮處理,以得到所述交易資料的原始內容。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
基於預設的加密演算法以及加密密鑰對提議的交易資料進行加密處理;
基於所述抹除碼演算法將加密處理後的所述交易資料分割為指定數量的資料分段。
在本實施例中, 透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到加密後的所述交易資料;基於與所述加密演算法對應的解密演算法,以及與所述加密密鑰對應的解密密鑰,對恢復出的所述交易資料進行解密處理,以得到所述交易資料的原始內容。
在本實施例中,所述加密演算法為門檻加密演算法;所述解密演算法為與門檻加密演算法對應的門檻解密演算法;所述解密密鑰被分割為指定數量的子密鑰;其中,各子密鑰由各節點設備分別持有;透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,所述處理器被促使:收集所述其它各節點設備持有的子密鑰;確定收集到的子密鑰的數量是否達到預設的解密門檻臨限值;如果是,基於收集到的子密鑰重構所述解密密鑰,並基於與所述門檻加密演算法對應的門檻解密演算法,以及所述解密密鑰,對恢復出的所述交易資料進行解密處理。
本領域技術人員在考慮說明書及實踐這裡揭露的發明後,將容易想到本說明書的其它實施方案。本說明書旨在涵蓋本說明書的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本說明書的一般性原理並包括本說明書未揭露的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本說明書的真正範圍和精神由下面的申請專利範圍指出。
應當理解的是,本說明書並不局限於上面已經描述並
在圖式中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本說明書的範圍僅由所附的申請專利範圍來限制。
以上所述僅為本說明書的較佳實施例而已,並不用以限制本說明書,凡在本說明書的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書保護的範圍之內。
102、104、106、108:步驟
40:交易共識處理裝置
401:接收模組
402:發送模組
403:確定模組
404:恢復模組
圖1是一示例性實施例提供的一種基於區塊鏈的交易共識處理方法的流程圖。
圖2是一示例性實施例提供的一種優化後的pbft演算法三個階段的互動示意圖。
圖3是一示例性實施例提供的一種電子設備的結構示意圖。
圖4是一示例性實施例提供的一種基於區塊鏈的交易共識處理裝置的方塊圖。
Claims (19)
- 一種基於區塊鏈的交易共識處理方法,所述區塊鏈中的節點設備至少包括一主節點設備以及若干從節點設備;其中,所述主節點設備基於抹除碼演算法將提議的交易資料分割為指定數量的資料分段,所述方法包括:以裝置接收所述主節點設備單播發送的所述交易資料的資料分段;其中,所述主節點設備單播發送至各節點設備的資料分段不同;以所述裝置將接收到的資料分段廣播發送至所述區塊鏈中的其它各節點設備;以及,接收所述其它各節點設備廣播發送的所述交易資料的資料分段;以所述裝置確定接收到的所述交易資料的資料分段的數量是否達到抹除碼恢復臨限值;如果是,以所述裝置基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到所述交易資料的原始內容,以完成對所述交易資料的原始內容的共識處理。
- 根據申請專利範圍第1項所述的方法,所述方法還包括:以所述裝置確定本節點設備是否被選舉為所述主節點設備;如果是,基於所述抹除碼演算法將提議的交易資料分割為指定數量的資料分段;以及, 以所述裝置將所述指定數量的資料分段分別單播發送至其它各節點設備。
- 根據申請專利範圍第1項所述的方法,其中,所述區塊鏈搭載的共識演算法為pbft演算法;所述以所述裝置接收所述主節點設備單播發送的所述交易資料的資料分段,包括:以所述裝置接收所述主節點設備單播發送的Pre-Prepare訊息;其中,所述Pre-Prepare訊息中包括所述交易資料的資料分段;獲取並保存所述Pre-Prepare訊息中的資料分段。
- 根據申請專利範圍第3項所述的方法,其中,所述以所述裝置將接收到的資料分段廣播發送至所述區塊鏈中的其它各節點設備,包括:以所述裝置向所述區塊鏈中的其它各節點設備廣播發送Prepare訊息;其中,所述Prepare訊息包括接收到的所述資料分段,以使所述其它各節點設備在接收到所述Prepare訊息時,獲取並保存所述Prepare訊息中的資料分段。
- 根據申請專利範圍第1或2項所述的方法,其中,所述基於所述抹除碼演算法將提議的交易資料分割為指定數量的資料分段,包括,以所述裝置: 基於預設的壓縮演算法對提議的所述交易資料進行壓縮處理;基於所述抹除碼演算法將壓縮處理後的所述交易資料分割為指定數量的資料分段;所述基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到所述交易資料的原始內容,包括:基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到壓縮後的所述交易資料;基於與所述壓縮演算法對應的解壓縮演算法,對恢復出的所述交易資料進行解壓縮處理,以得到所述交易資料的原始內容。
- 根據申請專利範圍第1或2項所述的方法,其中,基於所述抹除碼演算法將提議的交易資料分割為指定數量的資料分段,包括,以所述裝置:基於預設的加密演算法以及加密密鑰對提議的交易資料進行加密處理;基於所述抹除碼演算法將加密處理後的所述交易資料分割為指定數量的資料分段;所述基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到所述交易資料的原始內容,包括:基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到加密後的所述交易資料;基於與所述加密演算法對應的解密演算法,以及與所 述加密密鑰對應的解密密鑰,對恢復出的所述交易資料進行解密處理,以得到所述交易資料的原始內容。
- 根據申請專利範圍第6項所述的方法,其中,所述加密演算法為門檻加密演算法;所述解密演算法為與門檻加密演算法對應的門檻解密演算法;所述解密密鑰被分割為指定數量的子密鑰;其中,各子密鑰由各節點設備分別持有;進一步以所述裝置:基於與所述加密演算法對應的解密演算法,以及與所述加密密鑰對應的解密密鑰,對恢復出的所述交易資料進行解密處理,包括:收集所述其它各節點設備持有的子密鑰;確定收集到的子密鑰的數量是否達到預設的解密門檻臨限值;如果是,基於收集到的子密鑰重構所述解密密鑰,並基於與所述門檻加密演算法對應的門檻解密演算法,以及所述解密密鑰,對恢復出的所述交易資料進行解密處理。
- 根據申請專利範圍第1項所述的方法,其中,所述主節點提議的交易資料,為所述主節點設備當前共識週期內由各用戶客戶端廣播發送的待共識交易構建的交易列表;所述指定數量為所述區塊鏈中的節點設備的總數量。
- 根據申請專利範圍第1項所述的方法,其中,所述區塊鏈為聯盟鏈。
- 一種基於區塊鏈的交易共識處理裝置,所述區塊鏈中的節點設備至少包括一主節點設備以及若干從節點設備;其中,所述主節點設備基於抹除碼演算法將提議的交易資料分割為指定數量的資料分段,所述裝置包括:接收模組,接收所述主節點設備單播發送的所述交易資料的資料分段;其中,所述主節點設備單播發送至各節點設備的資料分段不同;發送模組,將接收到的資料分段廣播發送至所述區塊鏈中的其它各節點設備;以及,接收所述其它各節點設備廣播發送的所述交易資料的資料分段;確定模組,確定接收到的所述交易資料的資料分段的數量是否達到抹除碼恢復臨限值;恢復模組,如果是,基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到所述交易資料的原始內容,以完成對所述交易資料的原始內容的共識處理。
- 根據申請專利範圍第10項所述的裝置,所述裝置還包括:分割模組,確定本節點設備是否被選舉為所述主節點設備;如果是,基於所述抹除碼演算法將提議的交易資料分割為指定數量的資料分段; 所述發送模組進一步:將所述指定數量的資料分段分別單播發送至其它各節點設備。
- 根據申請專利範圍第10項所述的裝置,其中,所述區塊鏈搭載的共識演算法為pbft演算法;所述接收模組:接收所述主節點設備單播發送的Pre-Prepare訊息;其中,所述Pre-Prepare訊息中包括所述交易資料的資料分段;獲取並保存所述Pre-Prepare訊息中的資料分段。
- 根據申請專利範圍第12項所述的裝置,其中,所述發送模組:向所述區塊鏈中的其它各節點設備廣播發送Prepare訊息;其中,所述Prepare訊息包括接收到的所述資料分段,以使所述其它各節點設備在接收到所述Prepare訊息時,獲取並保存所述Prepare訊息中的資料分段。
- 根據申請專利範圍第11項所述的裝置,其中,所述分割模組:基於預設的壓縮演算法對提議的所述交易資料進行壓縮處理;基於所述抹除碼演算法將壓縮處理後的所述交易資料 分割為指定數量的資料分段;所述恢復模組:基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到壓縮後的所述交易資料;基於與所述壓縮演算法對應的解壓縮演算法,對恢復出的所述交易資料進行解壓縮處理,以得到所述交易資料的原始內容。
- 根據申請專利範圍第11項所述的裝置,其中,所述分割模組:基於預設的加密演算法以及加密密鑰對提議的交易資料進行加密處理;基於所述抹除碼演算法將加密處理後的所述交易資料分割為指定數量的資料分段;所述恢復模組:基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到加密後的所述交易資料;基於與所述加密演算法對應的解密演算法,以及與所述加密密鑰對應的解密密鑰,對恢復出的所述交易資料進行解密處理,以得到所述交易資料的原始內容。
- 根據申請專利範圍第15項所述的裝置,其中,所述加密演算法為門檻加密演算法;所述解密演算法為與門檻加密演算法對應的門檻解密演算法;所述解密密鑰被分割為 指定數量的子密鑰;其中,各子密鑰由各節點設備分別持有;所述恢復模組進一步:收集所述其它各節點設備持有的子密鑰;確定收集到的子密鑰的數量是否達到預設的解密門檻臨限值;如果是,基於收集到的子密鑰重構所述解密密鑰,並基於與所述門檻加密演算法對應的門檻解密演算法,以及所述解密密鑰,對恢復出的所述交易資料進行解密處理。
- 根據申請專利範圍第10項所述的裝置,其中,所述主節點提議的交易資料,為所述主節點設備當前共識週期內由各用戶客戶端廣播發送的待共識交易構建的交易列表;所述指定數量為所述區塊鏈中的節點設備的總數量。
- 根據申請專利範圍第10項所述的裝置,其中,所述區塊鏈為聯盟鏈。
- 一種電子設備,包括:處理器;用於儲存機器可執行指令的記憶體;其中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易共識處理的控制邏輯對應的機器可執行指令,其中,所述區塊鏈中的節點設備至少包括一主節點設備以及 若干從節點設備,所述主節點設備基於抹除碼演算法將提議的交易資料分割為指定數量的資料分段,且所述處理器被促使:接收所述主節點設備單播發送的所述交易資料的資料分段;其中,所述主節點設備單播發送至各節點設備的資料分段不同;將接收到的資料分段廣播發送至所述區塊鏈中的其它各節點設備;以及,接收所述其它各節點設備廣播發送的所述交易資料的資料分段;確定接收到的所述交易資料的資料分段的數量是否達到抹除碼恢復臨限值;如果是,基於抹除碼重構演算法對接收到的資料分段進行資料恢復得到所述交易資料的原始內容,以完成對所述交易資料的原始內容的共識處理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811015599.0 | 2018-08-31 | ||
CN201811015599.0A CN109345386B (zh) | 2018-08-31 | 2018-08-31 | 基于区块链的交易共识处理方法及装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202011246A TW202011246A (zh) | 2020-03-16 |
TWI698767B true TWI698767B (zh) | 2020-07-11 |
Family
ID=65292007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108108595A TWI698767B (zh) | 2018-08-31 | 2019-03-14 | 基於區塊鏈的交易共識處理方法及裝置、電子設備 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11023309B2 (zh) |
EP (1) | EP3809356A4 (zh) |
CN (1) | CN109345386B (zh) |
SG (1) | SG11202010530PA (zh) |
TW (1) | TWI698767B (zh) |
WO (1) | WO2020042792A1 (zh) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109345386B (zh) | 2018-08-31 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 基于区块链的交易共识处理方法及装置、电子设备 |
CN109379397B (zh) | 2018-08-31 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 基于区块链的交易共识处理方法及装置、电子设备 |
WO2020085825A1 (ko) * | 2018-10-24 | 2020-04-30 | 삼성전자 주식회사 | 트랜잭션을 관리하기 위한 방법, 디바이스, 컴퓨터 판독가능 매체, 및 시스템 |
CN109918925A (zh) * | 2019-02-19 | 2019-06-21 | 上海泉坤信息科技有限公司 | 数据存储方法、数据节点及存储介质 |
CN109687979A (zh) * | 2019-03-06 | 2019-04-26 | 郑州师范学院 | 一种环签名方法、装置、设备及介质 |
CN110086607B (zh) * | 2019-03-13 | 2021-08-17 | 深圳壹账通智能科技有限公司 | 快速切换部署密钥的方法、装置、计算机设备和存储介质 |
US10938750B2 (en) | 2019-03-18 | 2021-03-02 | Advanced New Technologies Co., Ltd. | Consensus system downtime recovery |
EP3580913B1 (en) | 2019-03-18 | 2021-01-20 | Advanced New Technologies Co., Ltd. | Consensus system downtime recovery |
CN110870288B (zh) | 2019-03-18 | 2022-05-27 | 创新先进技术有限公司 | 共识系统停机时间恢复 |
CN110046894B (zh) * | 2019-04-19 | 2021-11-09 | 电子科技大学 | 一种基于纠删码的分组可重构区块链建立方法 |
CN110225103B (zh) * | 2019-05-23 | 2021-08-24 | 创新先进技术有限公司 | 一种业务推荐方法、装置及设备 |
CN112612856B (zh) * | 2019-07-09 | 2024-03-29 | 创新先进技术有限公司 | 基于区块链的数据处理方法和装置 |
CN110619020B (zh) * | 2019-09-02 | 2022-04-01 | 杭州趣链科技有限公司 | 一种基于机器学习的区块链分片方法 |
CN110545286B (zh) * | 2019-09-18 | 2022-04-26 | 腾讯科技(深圳)有限公司 | 加入联盟链、退出联盟链的方法、装置、设备及存储介质 |
CN110933022A (zh) * | 2019-10-11 | 2020-03-27 | 深圳壹账通智能科技有限公司 | 区块处理方法、装置、计算机设备及存储介质 |
CN110879687B (zh) * | 2019-10-18 | 2021-03-16 | 蚂蚁区块链科技(上海)有限公司 | 一种基于磁盘存储的数据读取方法、装置及设备 |
US11368285B2 (en) * | 2019-12-05 | 2022-06-21 | International Business Machines Corporation | Efficient threshold storage of data object |
EP4049404A1 (en) | 2020-01-24 | 2022-08-31 | Via Science, Inc. | Secure data processing |
CN111385152B (zh) * | 2020-03-12 | 2021-08-06 | 上海曼恒数字技术股份有限公司 | 一种基于vr设备的硬件管理和内容分发系统 |
CN111447057B (zh) * | 2020-03-25 | 2023-04-28 | 南方电网科学研究院有限责任公司 | 一种基于门限秘密共享技术的安全存储方法及设备 |
CN113657898A (zh) * | 2020-06-05 | 2021-11-16 | 支付宝(杭州)信息技术有限公司 | 联盟链中的共识方法和系统 |
CN111711526B (zh) * | 2020-06-16 | 2024-03-26 | 深圳前海微众银行股份有限公司 | 一种区块链节点的共识方法及系统 |
CN113298649A (zh) * | 2020-07-01 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 交易数据的处理方法和装置、数据处理方法和装置 |
CN111526218B (zh) * | 2020-07-03 | 2020-09-22 | 支付宝(杭州)信息技术有限公司 | 联盟链中的共识方法和系统 |
CN111526219B (zh) * | 2020-07-03 | 2021-02-09 | 支付宝(杭州)信息技术有限公司 | 一种联盟链的共识方法及联盟链系统 |
CN112100144A (zh) * | 2020-08-20 | 2020-12-18 | 东软集团股份有限公司 | 区块链文件共享方法、装置、存储介质及电子设备 |
CN111813795B (zh) | 2020-08-28 | 2020-12-04 | 支付宝(杭州)信息技术有限公司 | 在区块链网络中确认交易的方法及装置 |
CN112650812A (zh) * | 2020-12-22 | 2021-04-13 | 深圳壹账通智能科技有限公司 | 一种数据分片存储方法、装置、计算机设备和存储介质 |
CN112835743B (zh) * | 2021-01-25 | 2023-12-19 | 中央财经大学 | 分布式账本数据存储优化方法、装置、电子设备及介质 |
CN112632628B (zh) * | 2021-01-30 | 2023-11-24 | 山西晋合思创信息科技有限公司 | 一种基于区块链技术的司法案件数据管理方法 |
CN112907369B (zh) * | 2021-02-08 | 2022-04-12 | 网易(杭州)网络有限公司 | 基于区块链的数据共识方法及装置、电子设备、存储介质 |
CN112860805A (zh) * | 2021-04-01 | 2021-05-28 | 中国工商银行股份有限公司 | 一种区块链数据交互方法及系统 |
CN112991066A (zh) * | 2021-04-27 | 2021-06-18 | 支付宝(杭州)信息技术有限公司 | 联盟链中的共识方法、装置和电子设备 |
CN112988470B (zh) * | 2021-04-27 | 2021-09-07 | 支付宝(杭州)信息技术有限公司 | 联盟链中的共识方法、共识节点和系统 |
US11625698B2 (en) | 2021-06-01 | 2023-04-11 | Bank Of America Corporation | Intelligent distributed ledger consent optimizing apparatus for asset transfer |
CN113242044B (zh) * | 2021-06-02 | 2022-10-14 | 湖北央中巨石信息技术有限公司 | 一种减少内存占用的区块链数据存储压缩方法 |
CN114679466B (zh) * | 2021-06-04 | 2023-02-10 | 腾讯云计算(北京)有限责任公司 | 区块链网络的共识处理方法、装置、计算机设备和介质 |
CN113573255A (zh) * | 2021-07-26 | 2021-10-29 | 上海点融信息科技有限责任公司 | 基于区块链进行共识的方法、装置及存储介质 |
CN113507482B (zh) * | 2021-07-27 | 2023-10-10 | 御风科技(海南)有限公司 | 数据安全传输方法、安全交易方法、系统、介质和设备 |
CN113468517A (zh) * | 2021-09-02 | 2021-10-01 | 北京交研智慧科技有限公司 | 一种基于区块链的数据共享方法、系统及存储介质 |
CN113746637B (zh) * | 2021-09-03 | 2024-02-27 | 华东师范大学 | 适用于联盟链且具有高可扩展性的segbft共识算法 |
CN113886115B (zh) * | 2021-09-09 | 2024-02-20 | 上海智能网联汽车技术中心有限公司 | 一种基于车路协同的区块链拜占庭容错方法及系统 |
CN113761069A (zh) * | 2021-09-24 | 2021-12-07 | 支付宝(杭州)信息技术有限公司 | 一种区块链的共识方法、系统、节点及电子设备 |
CN113837758A (zh) * | 2021-09-27 | 2021-12-24 | 深圳前海微众银行股份有限公司 | 一种区块链系统的共识方法及装置 |
CN113645044B (zh) * | 2021-10-09 | 2022-01-11 | 支付宝(杭州)信息技术有限公司 | 一种共识方法、区块链系统和共识节点 |
CN113761071B (zh) * | 2021-10-09 | 2023-07-11 | 支付宝(杭州)信息技术有限公司 | 一种共识方法、区块链系统和共识节点 |
CN113630259B (zh) * | 2021-10-09 | 2021-12-14 | 支付宝(杭州)信息技术有限公司 | 一种共识方法、区块链系统和共识节点 |
CN114124350A (zh) * | 2021-11-11 | 2022-03-01 | 弥达斯科技(深圳)有限公司 | 一种网络异构环境下提升性能的共识算法 |
CN114065246B (zh) * | 2021-11-16 | 2022-08-19 | 上海柯林布瑞信息技术有限公司 | 医疗区块链数据上链方法和装置 |
CN114218612B (zh) * | 2021-12-14 | 2023-10-20 | 河北省科学院应用数学研究所 | 一种适用于联盟链高频交易场景的共识方法 |
CN114285555A (zh) * | 2021-12-15 | 2022-04-05 | 支付宝(杭州)信息技术有限公司 | 基于区块链的组播方法及装置 |
CN114258015B (zh) * | 2021-12-23 | 2023-10-24 | 成都三零瑞通移动通信有限公司 | 一种基于全网共识的集群终端防失控方法及系统 |
CN114374704B (zh) * | 2021-12-29 | 2023-07-07 | 张海滨 | 可靠广播方法、装置、系统及介质 |
CN114301918B (zh) * | 2021-12-29 | 2023-09-22 | 吉林大学 | 一种基于作恶节点淘汰树的高效区块链共识方法 |
CN114567427B (zh) * | 2022-01-05 | 2023-10-20 | 北京理工大学 | 一种区块链隐蔽数据分段传输方法 |
CN114723444A (zh) * | 2022-01-21 | 2022-07-08 | 佛山赛思禅科技有限公司 | 一种用于并行投票共识的数据分片方法 |
CN114710512B (zh) * | 2022-03-30 | 2023-09-29 | 蚂蚁区块链科技(上海)有限公司 | 共识结果的分发方法、节点和区块链系统 |
CN115296843B (zh) * | 2022-06-29 | 2024-04-16 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的交易执行方法、第一节点和第二节点 |
CN115174574A (zh) * | 2022-06-30 | 2022-10-11 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的数据广播方法、节点和区块链系统 |
CN115174573B (zh) * | 2022-06-30 | 2024-02-02 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的数据广播方法、节点和区块链系统 |
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 |
CN115964445B (zh) * | 2023-02-23 | 2024-03-05 | 合肥申威睿思信息科技有限公司 | 一种分布式数据库的多副本实现方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201138356A (en) * | 2009-12-29 | 2011-11-01 | Ind Tech Res Inst | Methods and apparatus for data block partition |
CN106656974A (zh) * | 2016-10-17 | 2017-05-10 | 江苏通付盾科技有限公司 | 区块链的分组共识方法及系统 |
TW201810152A (zh) * | 2016-07-29 | 2018-03-16 | 安地卡及巴布達商區塊鏈控股有限公司 | 區塊鏈實施系統及方法 |
US20180241573A1 (en) * | 2017-02-17 | 2018-08-23 | Accenture Global Solutions Limited | Hardware Blockchain Corrective Consensus Operating Procedure Enforcement |
Family Cites Families (31)
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 |
EP3234792B1 (en) * | 2014-12-15 | 2023-06-07 | 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 |
WO2017036546A1 (en) | 2015-09-04 | 2017-03-09 | Nec Europe Ltd. | Method for storing an object on a plurality of storage nodes |
US20170140375A1 (en) | 2015-11-15 | 2017-05-18 | Michael Kunstel | System and Method for Permissioned Distributed Block Chain |
CN105741095A (zh) * | 2016-01-29 | 2016-07-06 | 彭军红 | 一种区块链动态压缩存取方法 |
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 |
US10402796B2 (en) | 2016-08-29 | 2019-09-03 | Bank Of America Corporation | Application life-cycle transition record recreation system |
US10554746B2 (en) * | 2016-11-14 | 2020-02-04 | 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 | 杭州云象网络技术有限公司 | 一种联盟链网络下采用异步方式的节点共识验证方法 |
US10445302B2 (en) | 2017-01-03 | 2019-10-15 | International Business Machines Corporation | Limiting blockchain size to optimize performance |
US10817873B2 (en) | 2017-03-22 | 2020-10-27 | Factom, Inc. | Auditing of electronic documents |
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 |
CN107948334B (zh) | 2018-01-09 | 2019-06-07 | 无锡华云数据技术服务有限公司 | 基于分布式存储系统的数据处理方法 |
US10824744B2 (en) | 2018-02-08 | 2020-11-03 | Cisco Technology, Inc. | Secure client-server communication |
CN108199842B (zh) | 2018-02-13 | 2021-03-02 | 克洛斯比尔有限公司 | 延迟公布信息的方法和系统 |
CN112767158A (zh) | 2018-02-27 | 2021-05-07 | 创新先进技术有限公司 | 基于区块链的交易执行方法及装置、电子设备 |
WO2019246599A1 (en) | 2018-06-21 | 2019-12-26 | Haibin Zhang | Systems and methods for permissioned blockchain infrastructure with fine-grained access control and confidentiality-preserving publish/subscribe messaging |
CN109345386B (zh) * | 2018-08-31 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 基于区块链的交易共识处理方法及装置、电子设备 |
CN109379397B (zh) | 2018-08-31 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 基于区块链的交易共识处理方法及装置、电子设备 |
-
2018
- 2018-08-31 CN CN201811015599.0A patent/CN109345386B/zh active Active
-
2019
- 2019-03-14 TW TW108108595A patent/TWI698767B/zh active
- 2019-07-17 WO PCT/CN2019/096269 patent/WO2020042792A1/zh unknown
- 2019-07-17 SG SG11202010530PA patent/SG11202010530PA/en unknown
- 2019-07-17 EP EP19855726.6A patent/EP3809356A4/en active Pending
-
2020
- 2020-10-21 US US17/076,526 patent/US11023309B2/en active Active
-
2021
- 2021-04-26 US US17/240,467 patent/US11614994B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201138356A (en) * | 2009-12-29 | 2011-11-01 | Ind Tech Res Inst | Methods and apparatus for data block partition |
TW201810152A (zh) * | 2016-07-29 | 2018-03-16 | 安地卡及巴布達商區塊鏈控股有限公司 | 區塊鏈實施系統及方法 |
CN106656974A (zh) * | 2016-10-17 | 2017-05-10 | 江苏通付盾科技有限公司 | 区块链的分组共识方法及系统 |
US20180241573A1 (en) * | 2017-02-17 | 2018-08-23 | Accenture Global Solutions Limited | Hardware Blockchain Corrective Consensus Operating Procedure Enforcement |
Also Published As
Publication number | Publication date |
---|---|
TW202011246A (zh) | 2020-03-16 |
EP3809356A1 (en) | 2021-04-21 |
CN109345386B (zh) | 2020-04-14 |
US11023309B2 (en) | 2021-06-01 |
WO2020042792A1 (zh) | 2020-03-05 |
US11614994B2 (en) | 2023-03-28 |
US20210248030A1 (en) | 2021-08-12 |
SG11202010530PA (en) | 2020-11-27 |
CN109345386A (zh) | 2019-02-15 |
EP3809356A4 (en) | 2021-08-18 |
US20210034455A1 (en) | 2021-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI698767B (zh) | 基於區塊鏈的交易共識處理方法及裝置、電子設備 | |
TWI711287B (zh) | 基於區塊鏈的交易共識處理方法及裝置、電子設備 | |
CN110351133B (zh) | 用于区块链系统中的主节点切换处理的方法及装置 | |
US10791107B2 (en) | Performing a change of primary node in a distributed system | |
US10771259B2 (en) | Achieving consensus among network nodes in a distributed system | |
CN108111604B (zh) | 区块链共识方法、装置和系统、标识信息处理方法和装置 | |
CA3050560C (en) | Performing a recovery process for a network node in a distributed system | |
CN111242617B (zh) | 用于执行交易正确性验证的方法及装置 | |
JP6980131B2 (ja) | ブロックチェーンブロックの非同期処理 | |
TW202040965A (zh) | 基於恢復的公開金鑰進行認證 | |
CN112468297A (zh) | 基于区块链的密钥备份方法及装置 | |
CN112631836A (zh) | 用于区块链的方法、装置、存储介质及电子设备 | |
GB2574076A (en) | Distributed data storage | |
Armknecht et al. | Sharing proofs of retrievability across tenants | |
WO2024092935A1 (zh) | 一种区块链上实现分布式密钥生成的方法、系统和节点 | |
JPWO2020065633A5 (zh) | ||
CN114205142B (zh) | 数据传输方法、装置、电子设备和存储介质 | |
CN115941164A (zh) | 一种区块链上实现分布式密钥生成的方法、系统和节点 | |
CN112019335A (zh) | 一种基于sm2算法的多方协同加解密方法及装置、系统、介质 | |
CN115001719B (zh) | 隐私数据处理系统、方法、装置、计算机设备及存储介质 | |
CN114401125B (zh) | 满足因果序的共识方法、装置、系统及计算机存储介质 | |
Zhang et al. | TBFT: efficient byzantine fault tolerance using trusted execution environment |