TWI776030B - 基於區塊鏈的交易處理方法及裝置、電子設備 - Google Patents
基於區塊鏈的交易處理方法及裝置、電子設備 Download PDFInfo
- Publication number
- TWI776030B TWI776030B TW108109329A TW108109329A TWI776030B TW I776030 B TWI776030 B TW I776030B TW 108109329 A TW108109329 A TW 108109329A TW 108109329 A TW108109329 A TW 108109329A TW I776030 B TWI776030 B TW I776030B
- Authority
- TW
- Taiwan
- Prior art keywords
- nonce
- list
- record
- available
- blockchain
- Prior art date
Links
Images
Classifications
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- 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
- G06F16/275—Synchronous replication
-
- 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/0658—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- 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/02—Banking, e.g. interest calculation or account maintenance
-
- 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/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/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/3247—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 involving digital signatures
- H04L9/3257—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 involving digital signatures using blind signatures
-
- 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/56—Financial cryptography, e.g. electronic payment or 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Databases & Information Systems (AREA)
- Technology Law (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Collating Specific Patterns (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種基於區塊鏈的交易處理方法,包括:用戶端從區塊鏈中維護的與使用者帳戶對應的Nonce列表中,為使用者透過使用者帳戶發起的目標交易獲取可用Nonce記錄;Nonce列表包括多條Nonce記錄,其包括Nonce列表的版本標識和Nonce值;用戶端將可用Nonce記錄添加至目標交易,並將目標交易發佈至區塊鏈;區塊鏈中的節點設備確定可用Nonce記錄中的版本標識,與區塊鏈中的版本標識是否匹配;若否,向用戶端返回目標交易為無效交易的提示資訊;若是,將可用Nonce記錄與Nonce列表中的Nonce記錄進行匹配對目標交易進行重送攻擊檢測,並在目標交易通過重送攻擊檢測時,受理目標交易。
Description
本說明書一個或多個實施例相關於區塊鏈之技術領域,特別係相關於一種基於區塊鏈的交易處理方法及裝置、電子設備。
區塊鏈技術,也被稱之為分散式帳本技術,是一種由若干台計算設備共同參與“記帳”,共同維護一份完整的分散式資料庫的新興技術。由於區塊鏈技術具有分散、公開透明、每台計算設備可以參與資料庫記錄、並且各計算設備之間可以快速的進行資料同步的特性,利用區塊鏈技術來搭建分散系統,並在區塊鏈的分散式資料庫中收錄各種執行程式進行自動執行,已在眾多的領域中廣泛的進行應用。
本發明提出一種基於區塊鏈的交易處理方法,應用於用戶端,所述區塊鏈中維護了與使用者帳戶對應的Nonce列表;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;所
述方法包括:從所述Nonce列表中為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄;將獲取到的所述可用Nonce記錄添加至所述目標交易;將所述目標交易發佈至所述區塊鏈,以由所述區塊鏈中的節點設備在確認所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識不匹配時,向所述用戶端返回所述目標交易為無效交易的提示資訊;以及,在確認可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識匹配時,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易。
可選的,所述從所述Nonce列表中為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄之前,還包括:回應於針對所述用戶端的初始化指令,獲取所述區塊鏈中維護的所述Nonce列表,並將獲取到的所述Nonce列表在所述用戶端本地進行維護。
可選的,所述從所述Nonce列表中為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄,包括:從所述用戶端本地維護的所述Nonce列表中,為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄。
可選的,所述用戶端本地維護的所述Nonce列表中的Nonce記錄預設被標記為可用;
所述方法還包括:
在從所述用戶端本地維護的所述Nonce列表中為所述目標交易獲取到了可用Nonce記錄之後,在所述Nonce列表中將所述可用Nonce記錄標記為不可用。
可選的,還包括:
確定是否接收到所述節點設備返回的所述目標交易被受理的通知消息;
如果是,基於預設幅度對所述可用Nonce記錄中的Nonce值進行單調遞增,並在所述Nonce值單調遞增之後,在所述Nonce列表中將所述可用Nonce記錄重新標記為可用。
可選的,所述用戶端為多執行緒用戶端;所述Nonce列表中的Nonce記錄的數量,指示所述使用者帳戶的交易併發能力。
可選的,所述Nonce記錄還包括:所述Nonce記錄的索引標識。
本發明還提出一種基於區塊鏈的交易處理方法,應用於區塊鏈中的節點設備,所述區塊鏈維護了Nonce列表集合;所述Nonce列表集合包括與若干使用者帳戶對應的Nonce列表;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;所述方法包括:
接收用戶端發送的使用者透過使用者帳戶發起的目標交易;其中,所述目標交易被添加了從所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表中獲取到的可用Nonce記錄;
確定所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識是否匹配;
如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識不匹配,向所述用戶端返回所述目標交易為無效交易的提示資訊;
如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識匹配,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易。
可選的,所述將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,包括:
將所述可用Nonce記錄與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表中的Nonce記錄進行匹配;如果所述可用Nonce記錄與所述Nonce列表中的任一目標Nonce記錄匹配,確定所述目標交易通過重送攻擊檢測。
可選的,還包括:如果所述可用Nonce記錄與所述Nonce列表中的任一目標Nonce記錄匹配,基於預設幅度對所述目標Nonce記錄的Nonce值進行單調遞增;以及,向所述用戶端返回所述目標交易被受理的通知消息。
可選的,所述Nonce記錄還包括:所述Nonce記錄的索引標識。
本說明書還提出一種基於區塊鏈的交易處理裝置,應用於用戶端,所述區塊鏈中維護了與使用者帳戶對應的Nonce列表;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;所述方法包括:獲取模組,從所述Nonce列表中為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄;添加模組,將獲取到的所述可用Nonce記錄添加至所述目標交易;發佈模組,將所述目標交易發佈至所述區塊鏈,以由所述區塊鏈中的節點設備在確認所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識不匹配時,向所述用戶端返回所述目標交易為無效交易的提示資訊;以及,在確認可用Nonce記錄中的版本標
識,與所述區塊鏈中維護的所述Nonce列表的版本標識匹配時,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易。
可選的,所述獲取模組進一步:
在從所述Nonce列表中為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄之前,回應於針對所述用戶端的初始化指令,獲取所述區塊鏈中維護的所述Nonce列表,並將獲取到的所述Nonce列表在所述用戶端本地進行維護。
可選的,所述獲取模組:從所述用戶端本地維護的所述Nonce列表中,為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄。
可選的,所述用戶端本地維護的所述Nonce列表中的Nonce記錄預設被標記為可用;所述獲取模組進一步:在從所述用戶端本地維護的所述Nonce列表中為所述目標交易獲取到了可用Nonce記錄之後,在所述Nonce列表中將所述可用Nonce記錄標記為不可用。
可選的,所述獲取模組進一步:確定是否接收到所述節點設備返回的所述目標交易被受理的通知消息;如果是,基於預設幅度對所述可用Nonce記錄中的Nonce值進行單調遞增,並在所述Nonce值單調遞增之後,在所述Nonce列表中將所述可用Nonce記錄重新標記為可用。
可選的,所述用戶端為多執行緒用戶端;所述Nonce列表中的Nonce記錄的數量,指示所述使用者帳戶的交易併發能力。
可選的,所述Nonce記錄還包括:所述Nonce記錄的索引標識。
本說明書還提出一種基於區塊鏈的交易處理裝置,應用於區塊鏈中的節點設備,所述區塊鏈維護了Nonce列表集合;所述Nonce列表集合包括與若干使用者帳戶對應的Nonce列表;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;所述方法包括:
接收模組,接收用戶端發送的使用者透過使用者帳戶發起的目標交易;其中,所述目標交易被添加了從所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表中獲取到的可用Nonce記錄;
確認模組,確定所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識是否匹配;
返回模組,如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識不匹配,向所述用戶端返回所述目標交易為無效交易的提示資訊;
檢測模組,如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識匹配,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易。
可選的,所述檢測模組進一步:
將所述可用Nonce記錄與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表中的Nonce記錄進行匹配;
如果所述可用Nonce記錄與所述Nonce列表中的任一目標Nonce記錄匹配,確定所述目標交易通過重送攻擊檢測。
可選的,所述檢測模組進一步:
如果所述可用Nonce記錄與所述Nonce列表中的任一目標Nonce記錄匹配,基於預設幅度對所述目標Nonce記錄的Nonce值進行單調遞增;以及,
向所述用戶端返回所述目標交易被受理的通知消息。
可選的,所述Nonce記錄還包括:所述Nonce記錄的索引標識。
本說明書還提出一種電子設備,包括:
處理器;
用於儲存機器可執行指令的記憶體;
其中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易處理的控制邏輯對應的機器可執行指令,所述處理器被促使:從區塊鏈中維護的與使用者帳戶對應的Nonce列表中,為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;將獲取到的所述可用Nonce記錄添加至所述目標交易;將所述目標交易發佈至所述區塊鏈,以由所述區塊鏈中的節點設備在確認所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識不匹配時,向所述用戶端返回所述目標交易為無效交易的提示資訊;以及,在確認可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識匹配時,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易。
本說明書還提出一種電子設備,包括:處理器;用於儲存機器可執行指令的記憶體;其中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易處理的控制邏輯對應的機器可執行指令,所述處
理器被促使:接收用戶端發送的使用者透過使用者帳戶發起的目標交易;其中,所述目標交易被添加了從所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表中獲取到的可用Nonce記錄;所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;確定所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識是否匹配;如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識不匹配,向所述用戶端返回所述目標交易為無效交易的提示資訊;如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識匹配,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易。
透過以上實施例,不僅可以在有效防護重送攻擊的基礎上,引入交易無效機制,在Nonce列表的版本標識發生更新後,即時無效化攜帶舊版本標識的交易;而且,還可以在有效防護重送攻擊的基礎上,提升單帳戶的交易併發能力。
區塊鏈領域的重送攻擊,是指透過在區塊鏈中發佈重複的交易,進而導致一筆相同的交易被執行多次,對使用者造成損失的攻擊行為;
例如,比特幣網路中經典的“雙重支付”(double spending)問題,就是一種較為典型的重送攻擊行為。一筆轉帳交易在經過使用者私鑰的簽章許可後,如果被非法節點截獲,那麼該非法節點可以在該筆交易執行完畢後,基於截獲的該筆交易,發起重送攻擊,在區塊鏈中重複發佈並執行該筆交易,造成一筆轉帳交易被執行多次,進而對使用者造成資金損失。
在示出的一種實施方式中,通常可以在交易中攜帶一個密集遞增的Nonce值(密集遞增的整數)的方式,來應對針對該筆交易的重送攻擊風險;
請參見圖1,圖1為本說明書示出的一種對交易進行重送攻擊檢測的示意圖。
如圖1所示,使用者在用戶端上透過個人的使用者帳戶發起的每筆交易,都可以指定一個Nonce值,並使用使用者持有的私鑰對該筆交易的交易體和指定的Nonce值進行簽章。其中,簽章是對[交易體,Nonce值]的整體簽章,這樣可以保障該筆交易中的Nonce無法被篡改。
當簽章完成後,用戶端可以將該筆交易在區塊鏈中進行發佈。而區塊鏈中的節點設備,在收到該筆交易後,除了需要驗證該筆交易的簽章是否合法以外,還需要檢測該筆交易中的Nonce值,是否與之前已經成功受理的最近一筆交易中的Nonce值保持嚴格的密集遞增;如果該筆交易與已經成功受理的最近一筆交易中的Nonce值保持密集遞增,則可以受理該筆交易;反之,可以認定該比較交易為非法的交易。
例如,假設使用者在用戶端上透過個人的使用者帳戶Account1發起了一筆Nonce值為1的交易,該筆交易在被區塊鏈成功受理後,使用者在用戶端上透過Account1再次發起交易的時候,必須將該交易中的Nonce值指定為2,才會被區塊鏈中的節點設備認定為一筆合法的交易進行受理。
相應的,區塊鏈系統會維護使用者個人的使用者帳戶的Nonce狀態,每成功受理Account1發起的一筆交易,區塊鏈系統會將該使用者帳戶的Nonce值自增1;區塊鏈中的節點設備在收到用戶端發佈的一筆交易後,會將該筆交易中的Nonce值,與維護的Nonce狀態中的Nonce值進行比較,來判斷該筆交易中的Nonce值,是否與已經成功受理的最近一筆交易中的Nonce值嚴格遞增1;如果是,則可以受理該筆交易。
透過以上方式,雖然在某種程度上可以避免交易的重送攻擊風險,但對於使用者帳戶而言,需要在前一筆交易被受理後,才可以繼續發起下一筆交易,因此單帳戶的交易併發能力不足,無法在高併發的場景下進行應用。
基於此,在本說明書中,提出一種能夠在高併發的場景下進行應用的重送攻擊防護方案。
在實現時,可以在區塊鏈中維護一個Nonce列表集合,在該Nonce列表集合中,可以包括與若干使用者帳戶對應的Nonce列表;而在上述Nonce列表中,可以包括若干條Nonce記錄;每一條Nonce記錄由上述Nonce列表的版本標識和Nonce值構成。
當使用者在用戶端上透過個人的使用者帳戶發起一筆目標交易後,用戶端可以從上述Nonce列表為該目標交易獲取一條可用Nonce記錄,並將獲取到的該可用Nonce記錄添加至該目標交易,然後再將該目標交易發佈至區塊鏈。
而區塊鏈中的節點設備在收到該筆目標交易之後,首先可以將上述可用Nonce記錄中的版本標識,與區塊鏈中維護的與該使用者帳戶對應的上述Nonce列表的版本標識進行匹配;如果二者不匹配,可以向用戶端返回該目標交易為無效交易的提示資訊;如果二者匹配,可以進一步將該筆交易中攜帶的可用Nonce記錄,與區塊鏈中維護的與該使用者帳戶對應的上述Nonce列表中的Nonce記錄進行匹配,來對該目標交易進行重送攻擊檢測;
如果該筆交易中攜帶的可用Nonce記錄,與區塊鏈中維護的與該使用者帳戶對應的上述Nonce列表中的任一目標Nonce記錄匹配,則可以確認該筆交易通過重送攻擊檢測,此時節點設備可以受理該筆目標交易進行執行,並在該筆目標交易被成功受理後,將該目標Nonce記錄中的Nonce值按照預設幅度進行單調遞增;比如,仍然可以將該目標Nonce記錄中的Nonce值自增1。
透過以上技術方案,一方面,由於在對使用者在用戶端上透過使用者帳戶發起的每一筆交易進行重送攻擊檢測之前,會將該筆交易所使用的Nonce記錄的版本標識與區塊鏈中維護的與該使用者帳戶對應的Nonce列表的版本標識進行匹配,來對該筆交易進行無效檢測,因此可以在有效避免重送攻擊的基礎上,引入交易無效機制,在Nonce列表的版本標識發生更新後,即時無效化攜帶舊版本標識的交易。
另一方面,由於區塊鏈中維護的與使用者帳戶對應的Nonce列表中,可以包括多條可用Nonce記錄;因此,使用者可以在用戶端上透過使用者帳戶發起多筆包含可用Nonce記錄,並且能夠透過區塊鏈系統的重送攻擊檢測的合法交易,從而可以顯著的提升使用者帳戶的交易併發能力。
下面透過具體實施例並結合具體的應用場景對本說明書進行描述。
請參考圖2,圖2是本說明書一實施例提供的一種基於區塊鏈的交易處理方法;所述方法執行以下步驟:
步驟202,用戶端從區塊鏈中維護的與使用者帳戶對應的Nonce列表中,為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;
步驟204,用戶端將獲取到的所述可用Nonce記錄添加至所述目標交易;
步驟206,用戶端將所述目標交易發佈至所述區塊鏈;
步驟208,區塊鏈中的節點設備接收用戶端發送的所述目標交易,並確定所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識是否匹配;
步驟210,如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識不匹配,向所述用戶端返回所述目標交易為無效交易的提示資訊;
步驟212,如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識匹配,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易。
在本說明書所描述的區塊鏈,具體可以包括私有鏈、共有鏈以及聯盟鏈等,在本說明書中不進行特別限定。
例如,在一個場景中,上述區塊鏈具體可以是由第三方支付平台的伺服器、境內銀行伺服器、境外銀行伺服器、以及若干使用者節點設備作為成員設備組成的一個聯盟鏈。該聯盟鏈的營運方可以依託於該聯盟鏈,來線上部署諸如基於聯盟鏈的跨境轉帳、資產轉移等線上業務。
其中,需要說明的是,在本說明書中所描述的交易(Transaction),是指使用者透過區塊鏈的用戶端建立,並需要最終發佈至區塊鏈的分散式資料庫中的一筆資料。
區塊鏈中的交易,通常存在狹義的交易以及廣義的交易之分。狹義的交易是指使用者向區塊鏈發佈的一筆價值轉移;例如,在傳統的比特幣區塊鏈網路中,交易可以是使用者在區塊鏈中發起的一筆轉帳。而廣義的交易是指使用者向區塊鏈發佈的一筆具有業務意圖的業務資料;例如,營運方可以基於實際的業務需求搭建一個聯盟鏈,依託於聯盟鏈部署一些與價值轉移無關的其它類型的線上業務(比如,防偽校驗業務、租房業務、車輛調度業務、保險理賠業務、信用服務、醫療服務等),而在這類聯盟鏈中,交易可以是使用者在聯盟鏈中發佈的一筆具有業務意圖的業務消息或者業務請求。
在本說明書中,可以在區塊鏈中維護一個Nonce列表集合,在該Nonce列表集合中,可以包括與若干使用者帳戶對應的Nonce列表。在上述Nonce列表中,均可以包括多條Nonce記錄。而每一條Nonce記錄可以包括輔助參數和Nonce值。
也即,在本說明書中,上述Nonce記錄具體可以是一條由包含Nonce值在內的多個欄位構成的複合結構。
在實現時,上述區塊鏈的營運方,可以預先為每一個使用者帳戶分配可用的Nonce值,並在分配的可用的Nonce值的基礎上,為每一個Nonce值設置對應的輔助欄位,再基於每一個可用的Nonce值和對應的輔助欄位,來構造出多條Nonce記錄;
然後,可以基於生成的多條Nonce記錄為該使用者帳戶構造Nonce列表;最後,可以基於為各個使用者帳戶構造的Nonce列表,建立上述Nonce列表集合,並將上述Nonce列表集合發佈至上述區塊鏈,由上述區塊鏈中的節點設備進行共識處理,並在共識通過後,將上述Nonce列表集合儲存在上述區塊鏈的分散式資料進行儲存和維護。
其中,需要說明的是,上述輔助參數的具體參數內容,在本說明書中不進行特別限定;在實際應用中,上述輔助參數,具體可以包括上述區塊鏈的營運方基於實際的需求,在使用者帳戶可用的Nonce值的基礎上擴展出的任意形式的參數;或者參數組合。
也即,在實際應用中,上述輔助參數中所能包含的參數數量以及類別,可以不固定;可以在Nonce值的基礎上擴展出任意一種參數來作為輔助參數;也可以在Nonce值的基礎上擴展出多種參數進行組合來作為輔助參數。
在本說明書中,上述Nonce列表中的Nonce記錄中的輔助參數,具體可以包括上述Nonce列表的版本標識(比如版本編號);其中,上述版本標識,具體用於表示上述Nonce列表當前的版本;對於上述Nonce列表集合中的與各個使用者帳戶對應的Nonce列表而言,上述版本標識可以相同,也可以不相同。
在實際應用中,上述Nonce列表的版本標識,可以由區塊鏈的營運方在上述Nonce列表滿足了特定的版本更換條件時,進行修改更新;或者,也可以由使用者透過用戶端向區塊鏈發佈交易的形式,進行手動更新。
在實際應用中,如果上述Nonce列表的版本標識發生更新,此時已經在區塊鏈中發佈,但還尚未被受理的交易(攜帶上述Nonce列表更新前的版本標識),則可能會由於所攜帶的上述Nonce列表的版本標識(更新前的舊版本標識),與上述Nonce列表更新後的版本標識不匹配,而被認定為無效交易,無法被區塊鏈系統進行交易受理。
透過這種方式,使得區塊鏈的營運方或者使用者,可以透過對上述Nonce列表的版本標識進行更新的方式,將一些已經發佈但還尚未被受理的交易設置為無效狀態,從而可以即時終止一些長時間無法被受理的交易。
在示出的一種實施方式中,上述Nonce列表中的Nonce記錄中的輔助參數,除了可以包括上述Nonce列表的版本標識以外,還可以進一步包括上述Nonce記錄的索引標識(比如索引編號)。其中,上述索引標識,具體用於表示Nonce記錄在Nonce列表中的順序以及位置。
例如,請參見圖3,以上述Nonce列表中的Nonce記錄中的輔助參數,同時包含上述Nonce列表的版本標識和上述Nonce記錄的索引標識為例,此時上述Nonce記錄具體可以是一個Version(版本標識)、Index(索引標識)、Value(Nonce值)等欄位組成的複合結構。在這種情況下,在區塊鏈中維護的Nonce列表集合,可以表示成如圖3所示出的形式。
其中,上述Nonce記錄以及上述Nonce記錄中的Nonce值和上述輔助參數的具體的位元組長度,在本說明書中不進行特別限定;在實際應用中,可以基於上述區塊鏈的營運方的實際需求,進行靈活的設定(比如,營運方可以透過所佔用的位元組長度,來控制Nonce值以及輔助參數的具體取值範圍);
例如,在一種實現方式中,上述Nonce記錄具體可以是一個16位元組組成的複合結構;其中,4位元組表示Version(版本標識)、4位元組表示Index(索引標識)、8位元組表示Value (Nonce值)。
透過在Nonce值的基礎上擴展出多種參數進行組合來作為輔助參數,使得上述Nonce表中的Nonce記錄能夠涵蓋豐富的取值欄位,從而可以降低上述Nonce表中的多條Nonce記錄由於取值相同發生衝突的機率;
例如,兩條由Version(版本標識)和Value(Nonce值)構成的總長度為12位元組的Nonce記錄完全相同發生衝突的機率,會遠低於,兩條由Version(版本標識)、Index(索引標識)和Value(Nonce值)構成的總長度為16位元組的Nonce記錄完全相同發生衝突的機率。
在本說明書中,上述用戶端具體可以是一個多執行緒用戶端;也即,用戶端可以同時啟用多個執行緒,每一個執行緒都可以獨立運行,從而使用者可以透過調用用戶端的多個執行緒,透過個人的使用者帳戶來同時發起多筆交易。
請參見圖4,當使用者在用戶端上調用用戶端啟用的執行緒,透過個人的使用者帳戶發起一筆目標交易後,該執行緒可以從區塊鏈上維護的與該使用者帳戶對應的上述Nonce列表中,為該目標交易獲取一條可用Nonce記錄。
由於上述Nonce列表中包括多條Nonce記錄,使得用戶端啟動的多執行緒均能夠從上述Nonce列表中為發起的交易獲取到可用Nonce記錄,進而使用者可以使用個人的使用者帳戶透過上述用戶端同時發起多筆交易;因此,在本說明書中,上述Nonce列表中的Nonce記錄的數量,實際上可以用於指示使用者個人的使用者帳戶的交易併發能力。比如,上述Nonce列表包括4條Nonce記錄,那麼使用者可以透過使用者帳戶同時發起4筆交易。
基於這一點,在實際應用中,區塊鏈的營運方,可以基於用戶端自身的性能,來靈活的為上述Nonce列表指定所包含的Nonce記錄的數量;或者,用戶端可以向區塊鏈系統主動上報自身的性能,由區塊鏈的營運方來靈活的指定上述Nonce列表所包含的Nonce記錄的數量;
例如,假設用戶端的性能決定,該用戶端可以同時啟動4個執行緒來發起交易,那麼在為登錄該用戶端的使用者帳戶建立上述Nonce列表時,可以為該Nonce列表添加4條可用Nonce記錄。
在示出的一種實施方式中,用戶端可以在初始化階段,預先將區塊鏈上維護的上述Nonce列表“下載”到本地進行維護;
例如,在實現時,用戶端在啟動運行,或者與區塊鏈中的節點設備之間的連接斷開需要重新進行連接時,透過都需要進行初始化操作。在這種情況下,當用戶端收到使用者觸發的針對該用戶端的初始化指令(比如啟動指令、重連指令等)時,則可以回應該初始化指令,與區塊鏈中的節點設備建立連接,並基於該連接訪問區塊鏈的分散式資料庫,獲取區塊鏈中維護的上述Nonce列表,然後可以將獲取到的上述Nonce列表本地進行儲存和維護。
在這種情況下,當用戶端上啟用的執行緒,需要為該目標交易獲取可用Nonce記錄時,可以直接從本地維護的上述Nonce列表中獲取可用Nonce記錄。
透過這種方式,可以避免與區塊鏈上的節點設備進行資料交互,從區塊鏈中維護的上述Nonce列表中讀取資料,為該目標交易獲取可用Nonce記錄,可以提升用戶端的處理性能。
在示出的一種實施方式中,對於用戶端在本地維護的上述Nonce列表,可以由用戶端為該Nonce列表中的Nonce記錄,均預設添加一個表示“可用”的標記。
例如,請參見圖5,仍以上述Nonce記錄為圖4中示出的16位元組組成的複合結構為例,可以為Nonce列表中的Nonce記錄,擴展出一個1位元組的Available欄位;其中,當Available欄位取值為T時,表示該條Nonce記錄“可用”;當Available欄位取值為F時,表示該條Nonce記錄“不可用”。
一方面,當用戶端上啟用的執行緒,在從用戶端本地維護的上述Nonce列表中為使用者發起的目標交易獲取可用Nonce記錄時,可以從上述Nonce列表中所有被標記為“可用”的Nonce記錄來隨機選擇一個Nonce記錄作為可用Nonce記錄。
另一方面,當用戶端上啟用的執行緒,從用戶端本地維護的上述Nonce列表中為使用者發起的目標交易獲取到可用Nonce記錄之後,可以對該可用Nonce記錄攜帶的標記進行修改更新,為該可用Nonce記錄重新添加一個表示“不可用”的標記,以將該可用Nonce記錄標記為不可用。
在本說明書中,當用戶端上啟用的執行緒,為上述目標交易獲取到可用Nonce記錄之後,可以將獲取到的可用Nonce記錄添加至上述目標交易;
例如,請繼續參見圖4,用戶端在為上述目標交易獲取到可用Nonce記錄之後,可以對上述目標交易的交易體,和上述可用Nonce記錄進行封裝,然後提示使用者基於持有的私鑰對封裝後的 [交易體,Nonce記錄]進行整體簽章,這樣可以保障該筆交易中的Nonce記錄無法被篡改。
進一步的,當用戶端上啟用的執行緒,將獲取到的可用Nonce記錄添加至上述目標交易之後,用戶端可以將上述目標交易發佈至區塊鏈;
例如,將上述目標交易發佈至該用戶端接入的節點設備,或者將該目標交易在區塊鏈中進行廣播發佈;其中,用戶端將上述目標交易發佈至區塊鏈的具體方式,通常取決於區塊鏈所採用的共識機制,在本說明書中不進行特別限定。
而當區塊鏈中的節點設備在收到用戶端發佈的上述目標交易之後,首先可以在區塊鏈採用的共識演算法,發起針對該目標交易的共識處理;
其中,區塊鏈採用的共識演算法,以及基於共識演算法對上述目標交易的共識處理過程,在本說明書中不再進行詳述,本領域技術人員在將本說明書記載的技術方案付諸實現時,可以參考相關技術中的記載。
當上述目標交易共識通過後,此時上述區塊鏈中的節點設備,可以進一步發起針對該目標交易的合法性檢測。
其中,在本說明書中,針對上述目標交易的合法性檢測至少可以包括,針對該目標交易攜帶的簽章的合法性檢測、針對該目標交易的有效性檢測、以及,針對上述目標交易的重送攻擊檢測。
在實現時,上述區塊鏈中的節點設備首先可以基於與上述使用者持有的私鑰對應的公鑰,對該目標交易的簽章進行驗證;如果該目標交易的簽章失敗,可以認定該目標交易為不合法的交易,上述節點設備可以直接透過用戶端向使用者返回交易執行失敗的提示消息。
如果目標交易的簽章驗證通過,此時上述節點設備,可以將該目標交易中攜帶的可用Nonce記錄中的版本標識,與區塊鏈中維護的與該使用者個人的使用者帳戶對應的Nonce列表的版本標識進行匹配,以確定該目標交易中攜帶的Nonce列表的版本標識,與區塊鏈中維護的與該使用者個人的使用者帳戶對應的Nonce列表的版本標識是否相同;
如果該目標交易中攜帶的可用Nonce記錄中的版本標識,與區塊鏈中維護的與該使用者個人的使用者帳戶對應的Nonce列表的版本標識並不匹配,表明當前區塊鏈中維護的與該使用者個人的使用者帳戶對應的Nonce列表的版本標識可能已經發生更新;此時,該節點設備可以認定該目標交易為無效交易,向用戶端返回一個該目標交易為無效交易的提示資訊。
如果該目標交易中攜帶的可用Nonce記錄中的版本標識,與區塊鏈中維護的與該使用者個人的使用者帳戶對應的Nonce列表的版本標識匹配,此時該節點設備可以認定該目標交易有效交易,可以進一步基於該目標交易中攜帶的可用Nonce記錄,和區塊鏈中維護的與該使用者個人的使用者帳戶對應的Nonce列表,針對該目標交易進行重送攻擊檢測。
一方面,請繼續參見圖4,上述節點設備可以將上述目標交易中攜帶的Nonce記錄,從區塊鏈上維護的與該使用者帳戶對應的Nonce列表中的Nonce記錄逐一進行匹配;如果上述目標交易中攜帶的Nonce記錄,與上述Nonce列表中的任一目標Nonce記錄匹配,可以確定該目標交易通過重送攻擊檢測;在這種情況下,該節點設備可以受理該目標交易。
另一方面,當上述目標交易被受理後,該節點設備可以基於預設幅度對上述目標Nonce記錄中的Nonce值進行單調遞增;其中,上述預設幅度可以基於實際需求進行自定義;
例如,上述預設幅度仍然可以是1,上述節點設備可以在上述目標交易被受理後,將在上述Nonce列表中匹配到的上述目標Nonce記錄中的Nonce值自增1。
透過這種方式,如果上述目標交易在被受理之後,又再次在區塊鏈中進行了重複發佈,由於上述Nonce列表中與該目標交易攜帶的可用Nonce記錄匹配的目標Nonce記錄中的Nonce值,已經發生了更新,該重複發佈的該目標交易在重送攻擊檢測階段,將無法在上述Nonce列表中匹配到對應的Nonce記錄;因此,該重複發佈的目標交易將不會被再次受理,從而可以有效的避免透過在區塊鏈中重複發佈該目標交易進行重送攻擊。
在示出的一種實施方式中,當上述目標交易被受理後,可以向上述用戶端返回上述目標交易被受理的通知消息;而用戶端在將上述目標交易發佈至區塊鏈後,可以確定是否接收到節點設備返回的該目標交易被受理的通知消息。
如果確認收到上述目標交易被受理的通知消息:
一方面,可以基於預設幅度,對從用戶端本地維護的上述Nonce列表中為上述目標交易獲取到的上述可用Nonce記錄中的Nonce值進行單調遞增;比如,將在上述可用Nonce記錄中的Nonce值也自增1,以與區塊鏈中維護的上述Nonce列表保持內容同步。
另一方面,由於此前該可用Nonce記錄已經被標記為了“不可用”;因此,在基於預設幅度,對該可用Nonce記錄中的Nonce值進行單調遞增後,可以將該可用Nonce記錄的Available欄位的取值,置位為“T”。
透過以上技術方案,一方面,由於在對使用者在用戶端上透過使用者帳戶發起的每一筆交易進行重送攻擊檢測之前,會將該筆交易所使用的Nonce記錄的版本標識與區塊鏈中維護的與該使用者帳戶對應的Nonce列表的版本標識進行匹配,來對該筆交易進行無效檢測,因此可以在有效避免重送攻擊的基礎上,引入交易無效機制,在Nonce列表的版本標識發生更新後,即時無效化攜帶舊版本標識的交易。
另一方面,由於區塊鏈中維護的與使用者帳戶對應的Nonce列表中,可以包括多條可用Nonce記錄;因此,使用者可以在用戶端上透過使用者帳戶發起多筆包含可用Nonce記錄,並且能夠透過區塊鏈系統的重送攻擊檢測的合法交易,從而可以顯著的提升使用者帳戶的交易併發能力。
與上述方法實施例相對應,本說明書還提供了一種基於區塊鏈的交易處理裝置的實施例。本說明書的基於區塊鏈的交易處理裝置的實施例可以應用在電子設備上。裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在電子設備的處理器將非揮發性記憶體中對應的電腦程式指令讀取到內部記憶體中運行形成的。
從硬體層面而言,如圖6所示,為本說明書的基於區塊鏈的交易處理裝置所在電子設備的一種硬體結構圖,除了圖6所示的處理器、內部記憶體、網路介面、以及非揮發性記憶體之外,實施例中裝置所在的電子設備通常根據該電子設備的實際功能,還可以包括其他硬體,對此不再贅述。
圖7是本說明書一例示性實施例示出的一種基於區塊鏈的交易處理裝置的方塊圖。
請參考圖7,所述基於區塊鏈的交易處理裝置70可以應用在前述圖6所示的電子設備中,包括有:獲取模組701、添加模組702和發佈模組703。
獲取模組701,從區塊鏈中維護的與使用者帳戶對應的Nonce列表中,為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括輔助參數和Nonce值;添加模組702,將獲取到的所述可用Nonce記錄添加至所述目標交易;發佈模組703,將所述目標交易發佈至所述區塊鏈,以由所述區塊鏈中的節點設備在確認所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識不匹配時,向所述用戶端返回所述目標交易為無效交易的提示資訊;以及,在確認可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識匹配時,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易。
在本實施例中,所述獲取模組701進一步:
在從所述Nonce列表中為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄之前,回應於針對所述用戶端的初始化指令,獲取所述區塊鏈中維護的所述Nonce列表,並將獲取到的所述Nonce列表在所述用戶端本地進行維護。
在本實施例中,所述獲取模組701:
從所述用戶端本地維護的所述Nonce列表中,為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄。
在本實施例中,所述用戶端本地維護的所述Nonce列表中的Nonce記錄預設被標記為可用;
所述獲取模組701進一步:
在從所述用戶端本地維護的所述Nonce列表中為所述目標交易獲取到了可用Nonce記錄之後,在所述Nonce列表中將所述可用Nonce記錄標記為不可用。
在本實施例中,所述獲取模組701進一步:
確定是否接收到所述節點設備返回的所述目標交易被受理的通知消息;如果是,基於預設幅度對所述可用Nonce記錄中的Nonce值進行單調遞增,並在所述Nonce值單調遞增之後,在所述Nonce列表中將所述可用Nonce記錄重新標記為可用。
在本實施例中,所述用戶端為多執行緒用戶端;所述Nonce列表中的Nonce記錄的數量,指示所述使用者帳戶的交易併發能力。
在本實施例中,所述Nonce記錄還包括:所述Nonce記錄的索引標識。
圖8是本說明書一例示性實施例示出的另一種基於區塊鏈的交易處理裝置的方塊圖。
請參考圖8,所述基於區塊鏈的交易處理裝置80也可以應用在前述圖6所示的電子設備中,包括有:接收模組801、確認模組802、返回模組803和檢測模組804。
接收模組801,接收用戶端發送的使用者透過使用者帳戶發起的目標交易;其中,所述目標交易被添加了從所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表中獲取到的可用Nonce記錄;所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值和Nonce值;
確認模組802,確定所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識是否匹配;
返回模組803,如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識不匹配,向所述用戶端返回所述目標交易為無效交易的提示資訊;
檢測模組804,如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識匹配,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易。
在本實施例中,所述檢測模組804進一步:
將所述可用Nonce記錄與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表中的Nonce記錄進行匹配;
如果所述可用Nonce記錄與所述Nonce列表中的任一目標Nonce記錄匹配,確定所述目標交易通過重送攻擊檢測。
在本實施例中,所述檢測模組804進一步:
如果所述可用Nonce記錄與所述Nonce列表中的任一目標Nonce記錄匹配,基於預設幅度對所述目標Nonce記錄的Nonce值進行單調遞增;以及,
向所述用戶端返回所述目標交易被受理的通知消息。
在本實施例中,所述Nonce記錄還包括:所述Nonce記錄的索引標識。
上述裝置中各個模組的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。
對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的模組可以是或者也可以不是實體上分開的,作為模組顯示的部件可以是或者也可以不是實體模組,即可以位於一個地方,或者也可以分佈到多個網路模組上。可以根據實際的需要選擇其中的部分或者全部模組來實現本說明書方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
上述實施例闡明的系統、裝置、模組或模組,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、行動電話、相機電話、智慧型電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲主機、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
與上述方法實施例相對應,本說明書還提供了一種電子設備的實施例。該電子設備包括:處理器以及用於儲存機器可執行指令的記憶體;其中,處理器和記憶體通常透過內部匯流排相互連接。在其他可能的實現方式中,所述設備還可能包括外部介面,以能夠與其他設備或者部件進行通信。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
從區塊鏈中維護的與使用者帳戶對應的Nonce列表中,為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;將獲取到的所述可用Nonce記錄添加至所述目標交易;將所述目標交易發佈至所述區塊鏈,以由所述區塊鏈中的節點設備在確認所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識不匹配時,向所述用戶端返回所述目標交易為無效交易的提示資訊;以及,在確認可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識匹配時,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
從所述Nonce列表中為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄之前,回應於針對所述用戶端的初始化指令,獲取所述區塊鏈中維護的所述Nonce列表,並將獲取到的所述Nonce列表在所述用戶端本地進行維護。
在本實施例中,透過讀取並執行所述記憶體儲存的與
基於區塊鏈的交易處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
從所述用戶端本地維護的所述Nonce列表中,為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄。
在本實施例中,所述用戶端本地維護的所述Nonce列表中的Nonce記錄預設被標記為可用;透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易處理的控制邏輯對應的機器可執行指令,所述處理器被促使:在從所述用戶端本地維護的所述Nonce列表中為所述目標交易獲取到了可用Nonce記錄之後,在所述Nonce列表中將所述可用Nonce記錄標記為不可用。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易處理的控制邏輯對應的機器可執行指令,所述處理器被促使:確定是否接收到所述節點設備返回的所述目標交易被受理的通知消息;如果是,基於預設幅度對所述可用Nonce記錄中的Nonce值進行單調遞增,並在所述Nonce值單調遞增之後,在所述Nonce列表中將所述可用Nonce記錄重新標記為可用。
與上述方法實施例相對應,本說明書還提供了另一種電子設備的實施例。該電子設備包括:處理器以及用於儲存機器可執行指令的記憶體;其中,處理器和記憶體通常透過內部匯流排相互連接。在其他可能的實現方式中,所述設備還可能包括外部介面,以能夠與其他設備或者部件進行通信。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
接收用戶端發送的使用者透過使用者帳戶發起的目標交易;其中,所述目標交易被添加了從所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表中獲取到的可用Nonce記錄;所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;
確定所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識是否匹配;
如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識不匹配,向所述用戶端返回所述目標交易為無效交易的提示資訊;
如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識匹配,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
將所述可用Nonce記錄與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表中的Nonce記錄進行匹配;
如果所述可用Nonce記錄與所述Nonce列表中的任一目標Nonce記錄匹配,確定所述目標交易通過重送攻擊檢測。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易處理的控制邏輯對應的機器可執行指令,所述處理器被促使:
如果所述可用Nonce記錄與所述Nonce列表中的任一目標Nonce記錄匹配,基於預設幅度對所述目標Nonce記錄的Nonce值進行單調遞增;以及,
向所述用戶端返回所述目標交易被受理的通知消息。
本領域技術人員在考慮說明書及實踐這裡揭露的發明後,將容易想到本說明書的其它實施方案。本說明書旨在涵蓋本說明書的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本說明書的一般性原理並包括本說明書未揭露的本技術領域中的習知常識或慣用技術手段。說明書和實施例僅被視為例示性的,本說明書的真正範圍和精神由下面的申請專利範圍指出。
應當理解的是,本說明書並不局限於上面已經描述並在圖式中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本說明書的範圍僅由所附的申請專利範圍來限制。
以上所述僅為本說明書的較佳實施例而已,並不用以限制本說明書,凡在本說明書的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書保護的範圍之內。
202:步驟
204:步驟
206:步驟
208:步驟
210:步驟
212:步驟
70:基於區塊鏈的交易處理裝置
701:獲取模組
702:添加模組
703:發佈模組
80:基於區塊鏈的交易處理裝置
801:接收模組
802:確認模組
803:返回模組
804:檢測模組
圖1是一例示性實施例提供的一種對交易進行重送攻擊檢測的示意圖。
圖2是一例示性實施例提供的一種基於區塊鏈的交易處理方法的流程圖。
圖3是一例示性實施例提供的一種在區塊鏈中維護的Nonce列表集合的結構示意圖。
圖4是一例示性實施例提供的另一種對交易進行重送攻擊檢測的示意圖。
圖5是一例示性實施例提供的一種用戶端維護的Nonce列表的結構示意圖。
圖6是一例示性實施例提供的一種電子設備的結構示意圖。
圖7是一例示性實施例提供的一種基於區塊鏈的交易處理裝置的方塊圖。
圖8是一例示性實施例提供的另一種基於區塊鏈的交易處理裝置的方塊圖。
Claims (22)
- 一種基於區塊鏈的交易處理方法,應用於用戶端,所述區塊鏈中維護了與使用者帳戶對應的Nonce列表;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;所述方法包括:從所述Nonce列表中為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄;將獲取到的所述可用Nonce記錄添加至所述目標交易;將所述目標交易發佈至所述區塊鏈,以由所述區塊鏈中的節點設備在確認所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識不匹配時,向所述用戶端返回所述目標交易為無效交易的提示資訊;以及,在確認可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識匹配時,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易;在接收到所述節點設備返回的所述目標交易被受理的通知消息後,基於預設幅度對所述可用Nonce記錄中的Nonce值進行單調遞增。
- 根據請求項1所述的方法,所述從所述Nonce列表中為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄之前,還包括:回應於針對所述用戶端的初始化指令,獲取所述區塊鏈中維護的所述Nonce列表,並將獲取到的所述Nonce列表在所述用戶端本地進行維護。
- 根據請求項2所述的方法,所述從所述Nonce列表中為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄,包括:從所述用戶端本地維護的所述Nonce列表中,為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄。
- 根據請求項3所述的方法,所述用戶端本地維護的所述Nonce列表中的Nonce記錄預設被標記為可用;以及所述方法還包括:在從所述用戶端本地維護的所述Nonce列表中為所述目標交易獲取到了可用Nonce記錄之後,在所述Nonce列表中將所述可用Nonce記錄標記為不可用。
- 根據請求項4所述的方法,還包括:在基於預設幅度對所述可用Nonce記錄中的Nonce值進 行單調遞增之後,在所述Nonce列表中將所述可用Nonce記錄重新標記為可用。
- 根據請求項1所述的方法,所述用戶端為多執行緒用戶端;所述Nonce列表中的Nonce記錄的數量,指示所述使用者帳戶的交易併發能力。
- 根據請求項1所述的方法,所述Nonce記錄還包括:所述Nonce記錄的索引標識。
- 一種基於區塊鏈的交易處理方法,應用於區塊鏈中的節點設備,所述區塊鏈維護了Nonce列表集合;所述Nonce列表集合包括與若干使用者帳戶對應的Nonce列表;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;所述方法包括:接收用戶端發送的使用者透過使用者帳戶發起的目標交易;其中,所述目標交易被添加了從所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表中獲取到的可用Nonce記錄;確定所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識是否匹配;如果所述可用Nonce記錄中的版本標識,與所述區塊 鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識不匹配,向所述用戶端返回所述目標交易為無效交易的提示資訊;以及如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識匹配,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易;基於預設幅度對所述Nonce列表中的Nonce記錄的Nonce值進行單調遞增;以及,向所述用戶端返回所述目標交易被受理的通知消息。
- 根據請求項8所述的方法,所述將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,包括:將所述可用Nonce記錄與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表中的Nonce記錄進行匹配;以及如果所述可用Nonce記錄與所述Nonce列表中的任一目標Nonce記錄匹配,確定所述目標交易通過重送攻擊檢測。
- 根據請求項9所述的方法,所述Nonce記錄還包括:所 述Nonce記錄的索引標識。
- 一種基於區塊鏈的交易處理裝置,應用於用戶端,所述區塊鏈中維護了與使用者帳戶對應的Nonce列表;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;所述裝置包括:獲取模組,從所述Nonce列表中為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄;添加模組,將獲取到的所述可用Nonce記錄添加至所述目標交易;以及發佈模組,將所述目標交易發佈至所述區塊鏈,以由所述區塊鏈中的節點設備在確認所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識不匹配時,向所述用戶端返回所述目標交易為無效交易的提示資訊;以及,在確認可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識匹配時,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易;所述獲取模組進一步:在接收到所述節點設備返回的所述目標交易被受理的通知消息後,基於預設幅度對所述可用Nonce記錄中的Nonce值進行單調遞增。
- 根據請求項11所述的裝置,所述獲取模組進一步:在從所述Nonce列表中為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄之前,回應於針對所述用戶端的初始化指令,獲取所述區塊鏈中維護的所述Nonce列表,並將獲取到的所述Nonce列表在所述用戶端本地進行維護。
- 根據請求項12所述的裝置,所述獲取模組:從所述用戶端本地維護的所述Nonce列表中,為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄。
- 根據請求項13所述的裝置,所述用戶端本地維護的所述Nonce列表中的Nonce記錄預設被標記為可用;以及所述獲取模組進一步:在從所述用戶端本地維護的所述Nonce列表中為所述目標交易獲取到了可用Nonce記錄之後,在所述Nonce列表中將所述可用Nonce記錄標記為不可用。
- 根據請求項14所述的裝置,所述獲取模組進一步:在基於預設幅度對所述可用Nonce記錄中的Nonce值進行單調遞增之後,在所述Nonce列表中將所述可用Nonce記錄重新標記為可用。
- 根據請求項11所述的裝置,所述用戶端為多執行緒用戶端;所述Nonce列表中的Nonce記錄的數量,指示所述使用者帳戶的交易併發能力。
- 根據請求項16所述的裝置,所述Nonce記錄還包括:所述Nonce記錄的索引標識。
- 一種基於區塊鏈的交易處理裝置,應用於區塊鏈中的節點設備,所述區塊鏈維護了Nonce列表集合;所述Nonce列表集合包括與若干使用者帳戶對應的Nonce列表;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;所述裝置包括:接收模組,接收用戶端發送的使用者透過使用者帳戶發起的目標交易;其中,所述目標交易被添加了從所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表中獲取到的可用Nonce記錄;確認模組,確定所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識是否匹配;返回模組,如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識不匹配,向所述用戶端返回所述目標交易為 無效交易的提示資訊;以及檢測模組,如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識匹配,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易;基於預設幅度對所述Nonce列表中的Nonce記錄的Nonce值進行單調遞增;以及,向所述用戶端返回所述目標交易被受理的通知消息。
- 根據請求項18所述的裝置,所述檢測模組進一步:將所述可用Nonce記錄與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表中的Nonce記錄進行匹配;以及如果所述可用Nonce記錄與所述Nonce列表中的任一目標Nonce記錄匹配,確定所述目標交易通過重送攻擊檢測。
- 根據請求項19所述的裝置,所述Nonce記錄還包括:所述Nonce記錄的索引標識。
- 一種電子設備,包括:處理器;以及用於儲存機器可執行指令的記憶體; 其中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易處理的控制邏輯對應的機器可執行指令,所述處理器被促使:從區塊鏈中維護的與使用者帳戶對應的Nonce列表中,為使用者透過所述使用者帳戶發起的目標交易獲取可用Nonce記錄;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;將獲取到的所述可用Nonce記錄添加至所述目標交易;以及將所述目標交易發佈至所述區塊鏈,以由所述區塊鏈中的節點設備在確認所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識不匹配時,向用戶端返回所述目標交易為無效交易的提示資訊;以及,在確認可用Nonce記錄中的版本標識,與所述區塊鏈中維護的所述Nonce列表的版本標識匹配時,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易;在接收到所述節點設備返回的所述目標交易被受理的通知消息後,基於預設幅度對所述可用Nonce記錄中的Nonce值進行單調遞增。
- 一種電子設備,包括: 處理器;以及用於儲存機器可執行指令的記憶體;其中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的交易處理的控制邏輯對應的機器可執行指令,所述處理器被促使:接收用戶端發送的使用者透過使用者帳戶發起的目標交易;其中,所述目標交易被添加了從所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表中獲取到的可用Nonce記錄;所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括所述Nonce列表的版本標識和Nonce值;確定所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識是否匹配;如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識不匹配,向所述用戶端返回所述目標交易為無效交易的提示資訊;以及如果所述可用Nonce記錄中的版本標識,與所述區塊鏈中維護的與所述使用者帳戶對應的Nonce列表的版本標識匹配,進一步將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配對所述目標交易進行重送攻擊檢測,並在所述目標交易通過重送攻擊檢測時,受理所述目標交易;基於預設幅度對所述Nonce列表中的Nonce記錄的Nonce值進行單調遞增;以及,向所述用戶端返回所述目 標交易被受理的通知消息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811253448.9A CN110084604B (zh) | 2018-10-25 | 2018-10-25 | 基于区块链的交易处理方法及装置、电子设备 |
CN201811253448.9 | 2018-10-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202016828A TW202016828A (zh) | 2020-05-01 |
TWI776030B true TWI776030B (zh) | 2022-09-01 |
Family
ID=67412881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108109329A TWI776030B (zh) | 2018-10-25 | 2019-03-19 | 基於區塊鏈的交易處理方法及裝置、電子設備 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11250395B2 (zh) |
EP (1) | EP3816912B1 (zh) |
CN (2) | CN111782724B (zh) |
SG (1) | SG11202100796VA (zh) |
TW (1) | TWI776030B (zh) |
WO (1) | WO2020082898A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782724B (zh) * | 2018-10-25 | 2024-06-14 | 创新先进技术有限公司 | 基于区块链的交易处理方法及装置、电子设备 |
CN111541789A (zh) | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的数据同步方法及装置 |
CN111539829B (zh) * | 2020-07-08 | 2020-12-29 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的待过滤交易识别方法及装置 |
CN111541726B (zh) * | 2020-07-08 | 2021-05-18 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的重放交易识别方法及装置 |
CN111541784B (zh) | 2020-07-08 | 2021-07-20 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的交易处理方法及装置 |
CN112492002B (zh) | 2020-07-08 | 2023-01-20 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的交易转发方法及装置 |
CN112258188B (zh) * | 2020-12-02 | 2021-04-02 | 支付宝(杭州)信息技术有限公司 | 一种区块链交易的处理方法、装置、设备及系统 |
CN114637758B (zh) * | 2022-03-28 | 2024-08-16 | 中国银行股份有限公司 | 一种交易处理的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815722A (zh) * | 2016-12-22 | 2017-06-09 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 基于区块链的信息处理方法和装置 |
TW201800999A (zh) * | 2016-06-20 | 2018-01-01 | 久昌金融科技股份有限公司 | 一種用區塊鏈來賦予數位帳戶交易過程獨有id的方法 |
CN108023883A (zh) * | 2017-12-04 | 2018-05-11 | 四川长虹电器股份有限公司 | 一种设备授权管理方法及装置 |
CN108416675A (zh) * | 2018-02-14 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 资产管理方法及装置、电子设备 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4725834A (en) * | 1984-02-27 | 1988-02-16 | American Telephone And Telegraph Company, At&T Bell Laboratories | Reliable broadcast protocol for a token passing bus network |
US7224741B1 (en) * | 2000-07-24 | 2007-05-29 | Zion Hadad | System and method for cellular communications |
US7529371B2 (en) * | 2004-04-22 | 2009-05-05 | International Business Machines Corporation | Replaceable sequenced one-time pads for detection of cloned service client |
US7725927B2 (en) * | 2005-10-28 | 2010-05-25 | Yahoo! Inc. | Low code-footprint security solution |
US8615651B1 (en) * | 2010-05-17 | 2013-12-24 | Google Inc. | Offline shared security key calculation |
US9641488B2 (en) * | 2014-02-28 | 2017-05-02 | Dropbox, Inc. | Advanced security protocol for broadcasting and synchronizing shared folders over local area network |
US10230756B2 (en) * | 2015-11-25 | 2019-03-12 | International Business Machines Corporation | Resisting replay attacks efficiently in a permissioned and privacy-preserving blockchain network |
US10255108B2 (en) * | 2016-01-26 | 2019-04-09 | International Business Machines Corporation | Parallel execution of blockchain transactions |
EP3420669B1 (en) * | 2016-02-23 | 2021-03-24 | Nchain Holdings Limited | Cryptographic method and system for secure extraction of data from a blockchain |
US10762479B2 (en) * | 2017-04-05 | 2020-09-01 | Samsung Sds Co., Ltd. | Method and system for processing blockchain-based real-time transaction |
US11095432B2 (en) * | 2017-04-05 | 2021-08-17 | Samsung Sds Co., Ltd. | System for processing data based on blockchain and operating method thereof |
GB201705858D0 (en) * | 2017-04-11 | 2017-05-24 | Nchain Holdings Ltd | Computer-implemented system and method |
CN107103054B (zh) * | 2017-04-12 | 2019-03-26 | 北京航空航天大学 | 一种私有区块链的智能合约异步执行存储系统与实现方法 |
CN107347009B (zh) * | 2017-08-30 | 2018-08-14 | 北京知金链网络技术有限公司 | 区块链一维随机数共识推举方法 |
CN108053211B (zh) * | 2017-12-27 | 2021-04-06 | 北京欧链科技有限公司 | 基于区块链的交易处理方法及装置 |
CN108492180B (zh) * | 2018-02-14 | 2020-11-24 | 创新先进技术有限公司 | 资产管理方法及装置、电子设备 |
CN108335206B (zh) * | 2018-02-14 | 2020-12-22 | 创新先进技术有限公司 | 资产管理方法及装置、电子设备 |
CN108389129B (zh) * | 2018-02-27 | 2020-12-04 | 创新先进技术有限公司 | 基于区块链的交易执行方法及装置、电子设备 |
CN108647964B (zh) * | 2018-05-02 | 2023-07-28 | 郑杰骞 | 一种区块链数据处理方法、装置及计算机可读存储介质 |
US20210083871A1 (en) * | 2018-04-11 | 2021-03-18 | Aleksey Sergeevich Smirnov | Method and device for implementation of safe transactions in blockchain infrastructure |
CN111782724B (zh) * | 2018-10-25 | 2024-06-14 | 创新先进技术有限公司 | 基于区块链的交易处理方法及装置、电子设备 |
-
2018
- 2018-10-25 CN CN202010541215.XA patent/CN111782724B/zh active Active
- 2018-10-25 CN CN201811253448.9A patent/CN110084604B/zh active Active
-
2019
- 2019-03-19 TW TW108109329A patent/TWI776030B/zh active
- 2019-08-30 SG SG11202100796VA patent/SG11202100796VA/en unknown
- 2019-08-30 WO PCT/CN2019/103657 patent/WO2020082898A1/zh unknown
- 2019-08-30 EP EP19874821.2A patent/EP3816912B1/en active Active
-
2021
- 2021-01-28 US US17/161,642 patent/US11250395B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201800999A (zh) * | 2016-06-20 | 2018-01-01 | 久昌金融科技股份有限公司 | 一種用區塊鏈來賦予數位帳戶交易過程獨有id的方法 |
CN106815722A (zh) * | 2016-12-22 | 2017-06-09 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 基于区块链的信息处理方法和装置 |
CN108023883A (zh) * | 2017-12-04 | 2018-05-11 | 四川长虹电器股份有限公司 | 一种设备授权管理方法及装置 |
CN108416675A (zh) * | 2018-02-14 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 资产管理方法及装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US11250395B2 (en) | 2022-02-15 |
CN111782724B (zh) | 2024-06-14 |
EP3816912B1 (en) | 2023-10-04 |
TW202016828A (zh) | 2020-05-01 |
EP3816912A4 (en) | 2021-07-28 |
CN110084604B (zh) | 2020-04-28 |
CN110084604A (zh) | 2019-08-02 |
SG11202100796VA (en) | 2021-03-30 |
CN111782724A (zh) | 2020-10-16 |
US20210158310A1 (en) | 2021-05-27 |
EP3816912A1 (en) | 2021-05-05 |
WO2020082898A1 (zh) | 2020-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI776030B (zh) | 基於區塊鏈的交易處理方法及裝置、電子設備 | |
TWI734088B (zh) | 基於區塊鏈的交易處理方法及裝置、電子設備 | |
CN109584063B (zh) | 基于区块链的交易处理方法及装置、电子设备 | |
CN109598504B (zh) | 基于区块链的交易处理方法及装置、电子设备 | |
US11562375B2 (en) | Blockchain-based data verification method, apparatus, and electronic device | |
CN108492180B (zh) | 资产管理方法及装置、电子设备 | |
CN110046900B (zh) | 基于区块链的发票作废方法和装置、电子设备 | |
WO2022082360A1 (zh) | 数字资产转移系统 | |
CN111626735B (zh) | 一种数据交互系统、方法和模块 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |