TW202034265A - 一種區塊鏈交易追溯的方法及裝置 - Google Patents
一種區塊鏈交易追溯的方法及裝置 Download PDFInfo
- Publication number
- TW202034265A TW202034265A TW109103162A TW109103162A TW202034265A TW 202034265 A TW202034265 A TW 202034265A TW 109103162 A TW109103162 A TW 109103162A TW 109103162 A TW109103162 A TW 109103162A TW 202034265 A TW202034265 A TW 202034265A
- Authority
- TW
- Taiwan
- Prior art keywords
- transaction
- traced
- block
- bloom filter
- output value
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
- G06Q20/0655—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
-
- 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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- 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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- 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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- 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/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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/38—Payment protocols; Details thereof
- G06Q20/42—Confirmation, e.g. check or permission by the legal debtor of payment
-
- 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
- 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
- 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
- G06Q2220/00—Business processing using cryptography
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種區塊鏈交易追溯的方法及裝置,用以解決現有技術無法快速構建交易的追溯路徑且系統開銷較大的問題。其中方法包括:獲取待追溯交易的資訊,待追溯交易的資訊包括待追溯交易的輸入值,根據待追溯交易的輸入值和區塊鏈系統中每個區塊對應的布隆過濾器,確定待追溯交易的葉子節點,布隆過濾器中存儲有區塊包含的交易的輸出值,根據待追溯交易的葉子節點,生成待追溯交易的追溯路徑。通過本發明實施例中基於每個區塊對應的布隆過濾器和待追溯交易的輸入值進行交易追蹤,能夠快速生成待追溯交易的追溯路徑,有助於提高追溯路徑的追溯效率,降低系統開銷。
Description
本發明屬於區塊鏈技術領域,尤其是關於一種區塊鏈交易追溯的方法及裝置。
在進行基於區塊鏈的數位貨幣技術專案研究時,經常需要在一個擁有UTXO(Unspent Transaction Output,未使用交易輸出)帳戶系統的區塊鏈系統中,追溯某一筆交易從當前區塊到某個祖先區塊(包括創世區塊)的交易路徑。如果依次對每個區塊鏈進行掃描,在空間和時間上的開銷比較大,造成系統資源浪費。
本發明實施例提供一種區塊鏈交易追溯的方法及裝置,用以實現快速構建交易的追溯路徑,節省系統開銷。
本發明實施例提供的一種區塊鏈交易追溯的方法,包括:
獲取待追溯交易的資訊;該待追溯交易的資訊包括該待追溯交易的輸入值;
根據該待追溯交易的輸入值和區塊鏈系統中每個區塊對應的布隆過濾器,確定該待追溯交易的葉子節點;該布隆過濾器中存儲有該區塊包含的
交易的輸出值;
根據該待追溯交易的葉子節點,生成該待追溯交易的追溯路徑。
上述技術方案中,通過設置每個區塊對應的布隆過濾器,依據待追溯交易的輸入值,可以快速生成待追溯交易的追溯路徑,提高追溯路徑的追溯效率,降低系統開銷。
可選的,該根據該待追溯交易的輸入值和區塊鏈系統中每個區塊對應的布隆過濾器,確定該待追溯交易的葉子節點,包括:
將該待追溯交易的輸入值確定為待追溯輸出值;
根據該待追溯輸出值和該區塊鏈系統中每個區塊對應的布隆過濾器,確定出該待追溯交易所依賴的交易所在的區塊;
根據該待追溯輸出值,在待追溯交易的所依賴的交易所在的區塊中查找出與該待追溯輸出值相同的第一交易;
若該第一交易為挖礦交易的交易或符合預設終止條件的區塊的交易,則終止追溯;否則將該第一交易確定為該待追溯交易的葉子節點,並將該第一交易的輸入值確定為該待追溯輸出值,繼續確定該待追溯交易所依賴的交易,直到確定出終止追溯為止。
可選的,該根據該待追溯輸出值和該區塊鏈系統中每個區塊對應的布隆過濾器,確定出該待追溯交易的所依賴的交易所在的區塊,包括:
使用該布隆過濾器中的m個雜湊函數對該待追溯輸出值進行雜湊處理,得到m個對應位置的值;
若該m個對應位置的值都為預設值,則將該區塊確定為該待追溯交易
所依賴的交易所在的區塊。
可選的,在該獲取待追溯交易的資訊之前,還包括:
在生成第一區塊時,將該第一區塊中的所有交易的輸出值存儲在該第一區塊對應的布隆過濾器中。
可選的,該第一區塊對應的布隆過濾器位於該區塊頭中或該區塊鏈系統的資料庫的布隆過濾器陣列中。
相應的,本發明實施例還提供了一種區塊鏈交易追溯的裝置,包括:
獲取單元,用於獲取待追溯交易的資訊;該待追溯交易的資訊包括該待追溯交易的輸入值;
處理單元,用於根據該待追溯交易的輸入值和區塊鏈系統中每個區塊對應的布隆過濾器,確定該待追溯交易的葉子節點;該布隆過濾器中存儲有該區塊包含的交易的輸出值;以及根據該待追溯交易的葉子節點,生成該待追溯交易的追溯路徑。
可選的,該處理單元具體用於:
將該待追溯交易的輸入值確定為待追溯輸出值;
根據該待追溯輸出值和該區塊鏈系統中每個區塊對應的布隆過濾器,確定出該待追溯交易所依賴的交易所在的區塊;
根據該待追溯輸出值,在待追溯交易的所依賴的交易所在的區塊中查找出與該待追溯輸出值相同的第一交易;
若該第一交易為挖礦交易的交易或符合預設終止條件的區塊的交易,則終止追溯;否則將該第一交易確定為該待追溯交易的葉子節點,並將該
第一交易的輸入值確定為該待追溯輸出值,繼續確定該待追溯交易所依賴的交易,直到確定出終止追溯為止。
可選的,該處理單元具體用於:
使用該布隆過濾器中的m個雜湊函數對該待追溯輸出值進行雜湊處理,得到m個對應位置的值;
若該m個對應位置的值都為預設值,則將該區塊確定為該待追溯交易所依賴的交易所在的區塊。
可選的,該處理單元還用於:
在該獲取待追溯交易的資訊之前,在生成第一區塊時,將該第一區塊中的所有交易的輸出值存儲在該第一區塊對應的布隆過濾器中。
可選的,該第一區塊對應的布隆過濾器位於該區塊頭中或該區塊鏈系統的資料庫的布隆過濾器陣列中。
相應的,本發明實施例還提供了一種電腦可讀存儲介質,該電腦可讀存儲介質存儲有電腦可執行指令,該電腦可執行指令用於使該電腦執行上述任意所述的區塊鏈交易追溯的方法。
相應的,本發明實施例還提供了一種計算設備,包括:記憶體和處理器;該記憶體,存儲有一個或多個可執行程式,被用於配置該處理器;該處理器,被配置了一個或多個可執行程式,該一個或多個可執行程式用於執行上述任意所述的區塊鏈交易追溯的方法。
201~203:步驟
100:用戶端
200:區塊鏈系統
801:獲取單元
802:處理單元
900:計算設備
901:記憶體
902:處理器
903:匯流排
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域的普通技術人員來講,在不付出進步性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例提供的一種系統架構的示意圖;
圖2為本發明實施例提供的一種區塊鏈交易追溯的方法的流程示意圖;
圖3為本發明實施例提供的一種區塊的結構示意圖;
圖4為本發明實施例提供的一種布隆過濾器的示意圖;
圖5為本發明實施例提供的一種葉子節點的示意圖;
圖6為本發明實施例提供的一種追溯路徑的示意圖;
圖7為本發明實施例提供的一種布隆過濾器陣列的示意圖;
圖8為本發明實施例提供的一種區塊鏈交易追溯的裝置的結構示意圖;
圖9為本發明實施例提供的一種計算設備的結構示意圖。
為了使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出進步性勞動前提下所獲得的所有其它實施例,都屬於本發明保護的範圍。
圖1為本發明實施例所適用的系統架構。參考圖1所示,該系統架構可以包括多個用戶端100和區塊鏈系統200。用戶端100可以通過網路與區塊鏈系統200連接。
該多個用戶端100可以是不同組織機構所使用的用戶端,可以通過該用戶端100接取區塊鏈系統200。
需要說明的是,上述圖1所示的結構僅是一種示例,本發明實施例對此不做限定。
基於上述描述,圖2示例性的示出了本發明實施例提供的一種區塊鏈交易追溯的方法的流程,該流程可以由區塊鏈交易追溯的裝置執行,該裝置可以為上述區塊鏈系統。
如圖2所示,該流程具體包括:
步驟201,獲取待追溯交易的資訊。
在本發明實施例中,該待追溯交易的資訊可以包括待追溯交易的輸入值。對於UTXO帳戶系統的區塊鏈系統,每筆交易都會有輸入值和輸出值,每筆交易的輸出值是該交易的下一次交易的輸入值。因此,可以通過當前交易的輸入值,來追溯其所依賴的所有歷史交易。
在獲取該待追溯交易的資訊之前,還需要在生成每個區塊時,設置相應的布隆過濾器,每個區塊都會對應一個布隆過濾器。具體的,在生成第一區塊時,可以將該第一區塊中的所有交易的輸出值存儲在該第一區塊對應的布隆過濾器中。
需要說明的是,該布隆過濾器可以位於該第一區塊的區塊頭中,也可以位於區塊鏈系統的資料庫的布隆過濾器陣列中。若布隆過濾器
位於區塊頭中,區塊的具體結構可以如圖3所示。
步驟202,根據該待追溯交易的輸入值和區塊鏈系統中每個區塊對應的布隆過濾器,確定該待追溯交易的葉子節點。
當得到待追溯交易的輸入值之後,就可以根據每個區塊對應的布隆過濾器,來確定該待追溯交易的葉子節點,該葉子節點也就是追溯路徑中的節點,可以稱為葉子交易,是該待追溯交易所依賴的交易。
具體的,針對每個區塊,首先將該待追溯交易的輸入值確定為待追溯輸出值,根據該待追溯輸出值和區塊鏈系統中每個區塊對應的布隆過濾器,確定出該待追溯交易所依賴的交易所在的區塊。然後根據該待追溯輸出值,在待追溯交易的所依賴的交易所在的區塊中查找出與該待追溯輸出值相同的第一交易。最後進行判斷,若第一交易為挖礦(coinbase)交易的交易或符合預設終止條件的區塊的交易,則終止追溯;否則將第一交易確定為待追溯交易的葉子節點,並將第一交易的輸入值確定為待追溯輸出值,繼續確定待追溯交易所依賴的交易,直到確定出終止追溯為止。該預設終止條件可以依據經驗進行設置。當然,這裡在判斷第一交易時,也可以判斷第一交易是否為創世區塊的交易或小於預設區塊高度的交易等,在具體實施過程中可以進行合理調整。
在確定出待追溯交易所依賴的交易所在的區塊的過程中,可以使用布隆過濾器中的m個雜湊函數對該待追溯輸出值進行雜湊處理,得到m個對應位置的值。然後進行判斷,在m個對應位置的值都為預設值時,將該區塊確定為待追溯交易所依賴的交易所在的區塊。這裡的預設值可以依據經驗進行設置,例如可以為1。當m個對應位置的值都為1時,可以
確定待追溯交易所依賴的交易在該區塊中。
步驟203,根據該待追溯交易的葉子節點,生成該待追溯交易的追溯路徑。
當得到該待追溯交易的所有葉子節點時,就可以根據這些葉子節點,生成待追溯交易的追溯路徑,該追溯路徑為樹狀結構,當然,在具體實施時也可以為其它結構,例如圖狀結構。
此外,在進行交易追溯時,可以通過多個執行緒進行同時追溯,從而加快追溯的效率。
為了更好的解釋本發明實施例下面將通過具體的實施場景來描述區塊鏈交易追溯的流程。
實施例一
本發明實施例選擇一個大小為1024位,誤判率為0.001的布隆過濾器,追溯交易T的路徑,假設其路徑有四層交易,每個交易有兩個輸入值,具體的流程如下:
1、生成區塊時,在區塊頭記錄一個布隆過濾器,將本區塊中所有交易的每個輸出值添加到布隆過濾器中;
2、追溯某一筆待追溯交易T,假設T的輸入值為{Ti1,Ti2},針對每個輸入值Tik,,令待追溯輸出值Tok=Tik,創建一個執行緒,執行第3-5步操作;
3、掃描所有區塊的區塊頭,從區塊頭中取出布隆過濾器A,對待追溯輸出值Tok,用布隆過濾器的m個雜湊函數對其進行雜湊處理,判斷布隆過濾器A的對應位置的值是否為1,如果m個對應位置的值均為1,則說明產生待追溯輸出值Tok的交易在此區塊中,具體如圖4所示;
4、掃描此區塊的所有交易,找到產生待追溯輸出值Tok的交易T1,將T1作為交易T的葉子節點,如圖5所示;
5、針對交易T1,如果T1是coinbase交易,則終止追溯;否則轉入第2步;
最終產生一個樹狀的交易追溯路徑,如圖6所示,其中T7、T8、T9、T10為coinbase交易。
實施例二
本實施例選擇一個大小為1024位,誤判率為0.001的布隆過濾器,追溯交易T的路徑,假設其路徑有四層交易,每個交易有兩個輸入值,具體的流程如下:
1、準備階段:首先對每個區塊,根據區塊內所有交易的輸出值,構建布隆過濾器陣列,並以如圖7所示的結構存入資料庫中;
2、追溯某一筆待追溯交易T,假設T的輸入值為{Ti1,Ti2},針對每個輸入值Tik,令待追溯輸出值Tok=Tik,創建一個執行緒,執行第3-5步操作;
3、掃描所有區塊的區塊頭,從資料庫中取出布隆過濾器陣列A,對待追溯輸出值Tok,用布隆過濾器的m個雜湊函數對其進行雜湊處理,判斷布隆過濾器陣列A的對應位置的值是否為1,如果m個對應位置的值均為1,則說明產生待追溯輸出值Tok的交易在此區塊中,具體如圖4所示;
4、掃描此區塊的所有交易,找到產生待追溯輸出值Tok的交易T1,將T1作為交易T的葉子節點,如圖5所示;
5、針對交易T1,如果T1是coinbase交易,則終止追溯;否則轉入第2步;
最終產生一個樹狀的交易追溯路徑,如圖6所示,其中T7、T8、T9、T10為coinbase交易。
上述實施例表明,獲取待追溯交易的資訊,待追溯交易的資訊包括待追溯交易的輸入值,根據待追溯交易的輸入值和區塊鏈系統中每個區塊對應的布隆過濾器,確定待追溯交易的葉子節點,布隆過濾器中存儲有區塊包含的交易的輸出值,根據待追溯交易的葉子節點,生成待追溯交易的追溯路徑。通過設置每個區塊對應的布隆過濾器,依據待追溯交易的輸入值,可以快速生成待追溯交易的追溯路徑,提高追溯路徑的追溯效率,降低系統開銷。
基於相同的技術構思,圖8示例性的示出了本發明實施例提供的一種區塊鏈交易追溯的裝置,該裝置可以執行區塊鏈交易追溯的流程。
如圖8所示,該裝置具體包括:
獲取單元801,用於獲取待追溯交易的資訊;該待追溯交易的資訊包括該待追溯交易的輸入值;
處理單元802,用於根據該待追溯交易的輸入值和區塊鏈系統中每個區塊對應的布隆過濾器,確定該待追溯交易的葉子節點;該布隆過濾器中存儲有該區塊包含的交易的輸出值;以及根據該待追溯交易的葉子節點,生成該待追溯交易的追溯路徑。
可選的,該處理單元802具體用於:
將該待追溯交易的輸入值確定為待追溯輸出值;
根據該待追溯輸出值和該區塊鏈系統中每個區塊對應的布隆過濾器,
確定出該待追溯交易所依賴的交易所在的區塊;
根據該待追溯輸出值,在待追溯交易的所依賴的交易所在的區塊中查找出與該待追溯輸出值相同的第一交易;
若該第一交易為挖礦交易的交易或符合預設終止條件的區塊的交易,則終止追溯;否則將該第一交易確定為該待追溯交易的葉子節點,並將該第一交易的輸入值確定為該待追溯輸出值,繼續確定該待追溯交易所依賴的交易,直到確定出終止追溯為止。
可選的,該處理單元802具體用於:
使用該布隆過濾器中的m個雜湊函數對該待追溯輸出值進行雜湊處理,得到m個對應位置的值;
若該m個對應位置的值都為預設值,則將該區塊確定為該待追溯交易所依賴的交易所在的區塊。
可選的,該處理單元802還用於:
在該獲取待追溯交易的資訊之前,在生成第一區塊時,將該第一區塊中的所有交易的輸出值存儲在該第一區塊對應的布隆過濾器中。
可選的,該第一區塊對應的布隆過濾器位於該區塊頭中或該區塊鏈系統的資料庫的布隆過濾器陣列中。
基於相同的技術構思,本發明實施例還提供了一種電腦可讀存儲介質,該電腦可讀存儲介質存儲有電腦可執行指令,該電腦可執行指令用於使該電腦執行上述區塊鏈交易追溯的方法。
基於相同的技術構思,本發明實施例還提供了一種計算設備,參見圖9,該計算設備900可應用於本發明的上述實施例。該計算設備900
可包括:記憶體901、處理器902,其中:
記憶體901,存儲一個或多個可執行程式,被用於配置處理器902;
處理器902,被配置了一個或多個可執行程式,該一個或多個可執行程式用於執行以下方法:獲取待追溯交易的資訊,該待追溯交易的資訊包括該待追溯交易的輸入值;根據該待追溯交易的輸入值和區塊鏈系統中每個區塊對應的布隆過濾器,確定該待追溯交易的葉子節點;該布隆過濾器中存儲有該區塊包含的交易的輸出值;根據該待追溯交易的葉子節點,生成該待追溯交易的追溯路徑。其中,記憶體901用於存儲程式。具體地,程式可以包括程式碼,程式碼包括電腦操作指令。記憶體901可以為易失性記憶體(volatile memory),例如隨機存取記憶體(random-access memory,簡稱RAM);也可以為非易失性記憶體(non-volatile memory),例如快閃記憶體(flash memory),硬碟(hard disk drive,簡稱HDD)或固態硬碟(solid-state drive,簡稱SSD);還可以為上述任一種或任多種易失性記憶體和非易失性記憶體的組合。
記憶體901存儲了如下的元素,可執行模組或者資料結構,或者它們的子集,或者它們的擴展集:
操作指令:包括各種操作指令,用於實現各種操作;
作業系統:包括各種系統程式,用於實現各種基礎業務以及處理基於硬體的任務。
處理器902可以是中央處理器(central processing unit,簡稱CPU),網路處理器(network processor,簡稱NP)或者CPU和NP的組合。還可以是硬體晶片。上述硬體晶片可以是專用積體電路(application-specific
integrated circuit,簡稱ASIC),可程式設計邏輯器件(programmable logic device,簡稱PLD)或其組合。上述PLD可以是複雜可程式設計邏輯器件(complex programmable logic device,簡稱CPLD),現場可程式設計邏輯閘陣列(field-programmable gate array,簡稱FPGA),通用陣列邏輯(generic array logic,簡稱GAL)或其任意組合。一種可能的設計中,記憶體901也可以和處理器902集成在一起。
匯流排903可以是外設部件互連標準(peripheral component interconnect,簡稱PCI)匯流排或延伸工業標準架構(extended industry standard architecture,簡稱EISA)匯流排等。匯流排可以分為位址匯流排、資料匯流排、控制匯流排等。為便於表示,圖9中僅用一條粗線表示,但並不表示僅有一根匯流排或一種類型的匯流排。
一種可能的實現方式,處理器902具體用於:
將該待追溯交易的輸入值確定為待追溯輸出值;
根據該待追溯輸出值和該區塊鏈系統中每個區塊對應的布隆過濾器,確定出該待追溯交易所依賴的交易所在的區塊;
根據該待追溯輸出值,在待追溯交易的所依賴的交易所在的區塊中查找出與該待追溯輸出值相同的第一交易;
若該第一交易為挖礦交易的交易或符合預設終止條件的區塊的交易,則終止追溯;否則將該第一交易確定為該待追溯交易的葉子節點,並將該第一交易的輸入值確定為該待追溯輸出值,繼續確定該待追溯交易所依賴的交易,直到確定出終止追溯為止。
一種可能的實現方式,處理器902具體用於:
使用該布隆過濾器中的m個雜湊函數對該待追溯輸出值進行雜湊處理,得到m個對應位置的值;
若該m個對應位置的值都為預設值,則將該區塊確定為該待追溯交易所依賴的交易所在的區塊。
一種可能的實現方式,處理器902還用於:
獲取待追溯交易的資訊之前,在生成第一區塊時,將該第一區塊中的所有交易的輸出值存儲在該第一區塊對應的布隆過濾器中。
一種可能的實現方式,該第一區塊對應的布隆過濾器位於該區塊頭中或該區塊鏈系統的資料庫的布隆過濾器陣列中。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得存儲在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料
處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
儘管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本進步性概念,則可對這些實施例作出另外的變更和修改。所以,所附申請專利範圍意欲解釋為包括優選實施例以及落入本發明範圍的所有變更和修改。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明申請專利範圍及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
201~203:步驟
Claims (12)
- 一種區塊鏈交易追溯的方法,其特徵在於,包括:獲取待追溯交易的資訊;該待追溯交易的資訊包括該待追溯交易的輸入值;根據該待追溯交易的輸入值和區塊鏈系統中每個區塊對應的布隆過濾器,確定該待追溯交易的葉子節點;該布隆過濾器中存儲有該區塊包含的交易的輸出值;根據該待追溯交易的葉子節點,生成該待追溯交易的追溯路徑。
- 如請求項1所述的區塊鏈交易追溯的方法,其中,該根據該待追溯交易的輸入值和區塊鏈系統中每個區塊對應的布隆過濾器,確定該待追溯交易的葉子節點,包括:將該待追溯交易的輸入值確定為待追溯輸出值;根據該待追溯輸出值和該區塊鏈系統中每個區塊對應的布隆過濾器,確定出該待追溯交易所依賴的交易所在的區塊;根據該待追溯輸出值,在待追溯交易的所依賴的交易所在的區塊中查找出與該待追溯輸出值相同的第一交易;若該第一交易為挖礦交易的交易或符合預設終止條件的區塊的交易,則終止追溯;否則將該第一交易確定為該待追溯交易的葉子節點,並將該第一交易的輸入值確定為該待追溯輸出值,繼續確定該待追溯交易所依賴的交易,直到確定出終止追溯為止。
- 如請求項2所述的區塊鏈交易追溯的方法,其中,該根據該待追溯輸出值和該區塊鏈系統中每個區塊對應的布隆過濾器,確定出該待追溯交易的所依賴的交易所在的區塊,包括:使用該布隆過濾器中的m個雜湊函數對該待追溯輸出值進行雜湊處理,得到m個對應位置的值;若該m個對應位置的值都為預設值,則將該區塊確定為該待追溯交易所依賴的交易所在的區塊。
- 如請求項1至3中任一項所述的區塊鏈交易追溯的方法,其中,在該獲取待追溯交易的資訊之前,還包括:在生成第一區塊時,將該第一區塊中的所有交易的輸出值存儲在該第一區塊對應的布隆過濾器中。
- 如請求項4所述的區塊鏈交易追溯的方法,其中,該第一區塊對應的布隆過濾器位於該區塊頭中或該區塊鏈系統的資料庫的布隆過濾器陣列中。
- 一種區塊鏈交易追溯的裝置,其特徵在於,包括:獲取單元,用於獲取待追溯交易的資訊;該待追溯交易的資訊包括該待追溯交易的輸入值;處理單元,用於根據該待追溯交易的輸入值和區塊鏈系統中每個區塊對應的布隆過濾器,確定該待追溯交易的葉子節點;該布隆過濾器中存儲有該區塊包含的交易的輸出值;以及根據該待追溯交易的葉子節點,生成該待追溯交易的追溯路徑。
- 如請求項6所述的區塊鏈交易追溯的裝置,其中,該處理單元具體用於:將該待追溯交易的輸入值確定為待追溯輸出值;根據該待追溯輸出值和該區塊鏈系統中每個區塊對應的布隆過濾器,確定出該待追溯交易所依賴的交易所在的區塊;根據該待追溯輸出值,在待追溯交易的所依賴的交易所在的區塊中查找出與該待追溯輸出值相同的第一交易;若該第一交易為挖礦交易的交易或符合預設終止條件的區塊的交易,則終止追溯;否則將該第一交易確定為該待追溯交易的葉子節點,並將該第一交易的輸入值確定為該待追溯輸出值,繼續確定該待追溯交易所依賴的交易,直到確定出終止追溯為止。
- 如請求項7所述的區塊鏈交易追溯的裝置,其中,該處理單元具體用於:使用該布隆過濾器中的m個雜湊函數對該待追溯輸出值進行雜湊處理,得到m個對應位置的值;若該m個對應位置的值都為預設值,則將該區塊確定為該待追溯交易所依賴的交易所在的區塊。
- 如請求項6至8中任一項所述的區塊鏈交易追溯的裝置,其中,該處理單元還用於:在該獲取待追溯交易的資訊之前,在生成第一區塊時,將該第一區塊中的所有交易的輸出值存儲在該第一區塊對應的布隆過濾器中。
- 如請求項9所述的區塊鏈交易追溯的裝置,其中,該第一區塊對應的布隆過濾器位於該區塊頭中或該區塊鏈系統的資料庫的布隆過濾器陣列中。
- 一種電腦可讀存儲介質,其特徵在於,該電腦可讀存儲介質存儲有電腦可執行指令,該電腦可執行指令用於使該電腦執行如請求項1至5中任一項所述的區塊鏈交易追溯的方法。
- 一種計算設備,其特徵在於,包括:記憶體和處理器;該記憶體,存儲一個或多個可執行程式,被用於配置該處理器;該處理器,被配置了一個或多個可執行程式,該一個或多個可執行程式執行如請求項1至5中任一項所述的區塊鏈交易追溯的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910155057.1A CN111640012A (zh) | 2019-03-01 | 2019-03-01 | 一种区块链交易追溯的方法及装置 |
CN201910155057.1 | 2019-03-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202034265A true TW202034265A (zh) | 2020-09-16 |
TWI727639B TWI727639B (zh) | 2021-05-11 |
Family
ID=72330473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109103162A TWI727639B (zh) | 2019-03-01 | 2020-02-03 | 一種區塊鏈交易追溯的方法及裝置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20220005004A1 (zh) |
EP (1) | EP3933743A4 (zh) |
JP (1) | JP7303321B2 (zh) |
KR (1) | KR20210125522A (zh) |
CN (2) | CN111640012A (zh) |
TW (1) | TWI727639B (zh) |
WO (1) | WO2020177488A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3852305B1 (en) * | 2020-01-17 | 2022-11-16 | Fetch.ai Limited | Transaction verification system and method of operation thereof |
GB2595489A (en) * | 2020-05-28 | 2021-12-01 | Nchain Holdings Ltd | Probabilistic membership test for blockchain transaction outputs |
CN112950211B (zh) * | 2021-05-14 | 2021-07-30 | 腾讯科技(深圳)有限公司 | 一种交易验重方法、装置、设备以及介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US11128603B2 (en) * | 2016-09-30 | 2021-09-21 | Nec Corporation | Method and system for providing a transaction forwarding service in blockchain implementations |
US11170395B2 (en) * | 2016-12-02 | 2021-11-09 | Stack Fintech Inc. | Digital banking platform and architecture |
CN107077674B (zh) * | 2016-12-29 | 2021-06-11 | 达闼机器人有限公司 | 交易验证处理方法、装置及节点设备 |
CN107025559B (zh) * | 2017-01-26 | 2020-09-18 | 创新先进技术有限公司 | 一种业务处理方法及装置 |
CN107247773B (zh) * | 2017-06-07 | 2018-05-15 | 北京邮电大学 | 一种基于区块链的在分布式数据库中进行交易查询的方法 |
GB201711879D0 (en) * | 2017-07-24 | 2017-09-06 | Nchain Holdings Ltd | Computer-implemented system and method |
CN108615156A (zh) * | 2018-05-09 | 2018-10-02 | 上海魅联信息技术有限公司 | 一种基于区块链的数据结构 |
CN108711056A (zh) * | 2018-05-16 | 2018-10-26 | 四川大学 | 一种中心化的可追溯的区块链系统及方法 |
CN109299038A (zh) * | 2018-08-29 | 2019-02-01 | 南京数睿数据科技有限公司 | 一种适用于区块链的海量数据摘要生成系统和方法 |
TWM572512U (zh) * | 2018-09-28 | 2019-01-01 | 彰化商業銀行股份有限公司 | 使用區塊鏈技術之跨行帳戶交易查詢系統 |
US10698728B1 (en) * | 2019-11-15 | 2020-06-30 | Blockstack Pbc | Systems and methods for forming application-specific blockchains |
-
2019
- 2019-03-01 CN CN201910155057.1A patent/CN111640012A/zh active Pending
-
2020
- 2020-01-10 EP EP20767224.7A patent/EP3933743A4/en active Pending
- 2020-01-10 WO PCT/CN2020/071551 patent/WO2020177488A1/zh active Application Filing
- 2020-01-10 JP JP2021551810A patent/JP7303321B2/ja active Active
- 2020-01-10 CN CN202080029743.5A patent/CN113711265A/zh active Pending
- 2020-01-10 US US17/281,459 patent/US20220005004A1/en not_active Abandoned
- 2020-01-10 KR KR1020217028551A patent/KR20210125522A/ko not_active Application Discontinuation
- 2020-02-03 TW TW109103162A patent/TWI727639B/zh active
Also Published As
Publication number | Publication date |
---|---|
KR20210125522A (ko) | 2021-10-18 |
WO2020177488A1 (zh) | 2020-09-10 |
CN113711265A (zh) | 2021-11-26 |
US20220005004A1 (en) | 2022-01-06 |
EP3933743A1 (en) | 2022-01-05 |
EP3933743A4 (en) | 2022-04-27 |
JP2022522790A (ja) | 2022-04-20 |
CN111640012A (zh) | 2020-09-08 |
JP7303321B2 (ja) | 2023-07-04 |
TWI727639B (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI727639B (zh) | 一種區塊鏈交易追溯的方法及裝置 | |
CN107196900A (zh) | 一种共识校验的方法及装置 | |
US11314808B2 (en) | Hybrid flows containing a continous flow | |
US20150134591A1 (en) | Method, apparatus, and computer program product for data quality analysis | |
US20160092290A1 (en) | Processing data errors for a data processing system | |
JP2015532749A5 (zh) | ||
US9952577B2 (en) | Graph theory and network analytics and diagnostics for process optimization in manufacturing | |
CN106886535A (zh) | 一种适配多种数据源的数据抽取方法和装置 | |
WO2020248982A1 (zh) | 一种区块链中交易处理的方法及装置 | |
WO2020010982A1 (zh) | 一种风险防控方法、系统及终端设备 | |
CN106649344B (zh) | 一种网络日志压缩方法和装置 | |
WO2020224353A1 (zh) | 一种区块链中智能合约的发布方法及装置 | |
CN109299785A (zh) | 一种机器学习模型的实现方法及装置 | |
CN109194626A (zh) | 基于区块链的数据上链判断方法 | |
CN109558232B (zh) | 并行度的确定方法、装置、设备及介质 | |
WO2019061667A1 (zh) | 电子装置、数据处理方法、系统及计算机可读存储介质 | |
CN111459474B (zh) | 一种模板化的数据处理方法及装置 | |
TWI662486B (zh) | 檢查分布式業務處理完整度的方法及裝置 | |
US10248110B2 (en) | Graph theory and network analytics and diagnostics for process optimization in manufacturing | |
WO2015062035A1 (zh) | 一种列式数据库处理方法及装置 | |
CN110019252A (zh) | 信息处理的方法、装置及电子设备 | |
CN113886199B (zh) | 一种数据处理方法及装置 | |
WO2023065476A1 (zh) | 一种区块链上链信息的处理方法及装置 | |
CN111796806B (zh) | 生成对象的方法、装置、电子设备及可读存储介质 | |
CN113792247B (zh) | 基于代码特征生成功能流程图的方法、装置、设备和介质 |