TWI737977B - 基於區塊鏈的交易處理方法及裝置、電子設備 - Google Patents
基於區塊鏈的交易處理方法及裝置、電子設備 Download PDFInfo
- Publication number
- TWI737977B TWI737977B TW108110893A TW108110893A TWI737977B TW I737977 B TWI737977 B TW I737977B TW 108110893 A TW108110893 A TW 108110893A TW 108110893 A TW108110893 A TW 108110893A TW I737977 B TWI737977 B TW I737977B
- Authority
- TW
- Taiwan
- Prior art keywords
- nonce
- list
- record
- available
- target 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
- 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/12—Accounting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
- G06Q20/3825—Use of electronic 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
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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/385—Payment protocols; Details thereof using an alias or single-use codes
-
- 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
-
- 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
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
-
- 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
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種基於區塊鏈的交易處理方法,包括:用戶端從區塊鏈中維護的與用戶帳戶對應的Nonce列表中,為用戶透過所述用戶帳戶發起的目標交易獲取可用Nonce記錄;其中,所述Nonce列表包括多條Nonce記錄;所述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值,在所述目標交易被受理時,基於預設幅度進行單調遞增。
透過以上實施例,不僅可以有效的防護透過在區塊鏈中發佈重複的交易發起的重播攻擊;而且,可以在有效防護重播攻擊的基礎上,提升單帳戶的交易併發能力。
區塊鏈領域的重播攻擊,是指透過在區塊鏈中發佈重複的交易,進而導致一筆相同的交易被執行多次,對用戶造成損失的攻擊行為;
例如,比特幣網路中經典的“重複交易”(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值自增1。
透過以上技術方案,一方面,由於用戶在用戶端上透過用戶帳戶發起的每一筆交易被成功受理之後,該筆交易所使用的Nonce記錄中的Nonce值都會單調遞增,因此即便將該筆交易在區塊鏈中進行重複發佈,也仍然無法通過區塊鏈系統針對交易的合法性檢測,從而可以有效的防護透過在區塊鏈中發佈重複的交易發起的重播攻擊;
另一方面,由於區塊鏈中維護的與用戶帳戶對應的Nonce列表中,可以包括多條可用Nonce記錄;因此,用戶可以在用戶端上透過用戶帳戶發起多筆包含可用Nonce記錄,並且能夠通過區塊鏈系統的重播攻擊檢測的合法交易,從而可以顯著的提升用戶帳戶的交易併發能力。
下面透過具體實施例並結合具體的應用場景對本說明書進行描述。
請參考圖2,圖2是本說明書一實施例提供的一種基於區塊鏈的交易處理方法;所述方法執行以下步驟:
步驟202,用戶端從區塊鏈中維護的與用戶帳戶對應的Nonce列表中,為用戶透過所述用戶帳戶發起的目標交易獲取可用Nonce記錄;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括輔助參數和Nonce值;
步驟204,用戶端將獲取到的所述可用Nonce記錄添加至所述目標交易;
步驟206,用戶端將所述目標交易發佈至所述區塊鏈;
步驟208,區塊鏈中的節點設備接收用戶端發送的所述目標交易,並將所述可用Nonce記錄與所述Nonce列表中的Nonce記錄進行匹配;如果所述可用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列表,針對該目標交易進行重播攻擊檢測。
一方面,請繼續參見圖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記錄,並且能夠通過區塊鏈系統的重播攻擊檢測的合法交易,從而可以顯著的提升用戶帳戶的交易併發能力。
與上述方法實施例相對應,本說明書還提供了一種基於區塊鏈的交易處理裝置的實施例。本說明書的基於區塊鏈的交易處理裝置的實施例可以應用在電子設備上。裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在電子設備的處理器將非揮發性記憶體中對應的電腦程式指令讀取到記憶體中運行形成的。從硬體層面而言,如圖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記錄中的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。
接收模組801,接收用戶端發送的用戶透過用戶帳戶發起的目標交易;其中,所述目標交易被添加了從所述區塊鏈中維護的與所述用戶帳戶對應的Nonce列表中獲取到的可用Nonce記錄;所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括輔助參數和Nonce值;
匹配模組802,將所述可用Nonce記錄與所述區塊鏈中維護的與所述用戶帳戶對應的Nonce列表中的Nonce記錄進行匹配;
受理模組803,如果所述可用Nonce記錄與所述Nonce列表中的任一目標Nonce記錄匹配,受理所述目標交易;
其中,所述目標Nonce記錄中的Nonce值,在所述目標交易被受理時,基於預設幅度進行單調遞增。
在本實施例中,所述受理模組803進一步:
如果所述可用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-208:步驟
70:基於區塊鏈的交易處理裝置
701:獲取模組
702:添加模組
703:發佈模組
80:基於區塊鏈的交易處理裝置
801:接收模組
802:匹配模組
803:受理模組
圖1是一範例性實施例提供的一種對交易進行重播攻擊檢測的示意圖。
圖2是一範例性實施例提供的一種基於區塊鏈的交易處理方法的流程圖。
圖3是一範例性實施例提供的一種在區塊鏈中維護的Nonce列表集合的結構示意圖。
圖4是一範例性實施例提供的另一種對交易進行重播攻擊檢測的示意圖。
圖5是一範例性實施例提供的一種用戶端維護的Nonce列表的結構示意圖。
圖6是一範例性實施例提供的一種電子設備的結構示意圖。
圖7是一範例性實施例提供的一種基於區塊鏈的交易處理裝置的方塊圖。
圖8是一範例性實施例提供的另一種基於區塊鏈的交易處理裝置的方塊圖。
Claims (24)
- 一種基於區塊鏈的交易處理方法,應用於用戶端,所述區塊鏈維護了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列表中將所述可用Nonce記錄重新標記為可用。
- 根據申請專利範圍第1項所述的方法,所述用戶端為多執行緒用戶端;所述Nonce列表中的Nonce記錄的數量,指示所述用戶帳戶的交易併發能力。
- 根據申請專利範圍第1項所述的方法,所述輔助參數包括:所述Nonce列表的版本標識。
- 根據申請專利範圍第1項所述的方法,所述輔助參數還包括:所述Nonce記錄的索引標識。
- 一種基於區塊鏈的交易處理方法,應用於區塊鏈中的節點設備,所述區塊鏈維護了Nonce列表集合;所述Nonce列表集合包括與多個用戶帳戶對應的多個Nonce列表;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括輔助參數和Nonce值;所述方法包括:接收用戶端發送的用戶透過用戶帳戶發起的目標交易;其中,所述目標交易被添加了從所述區塊鏈中維護的與所述用戶帳戶對應的Nonce列表中獲取到的可用Nonce記錄;將所述可用Nonce記錄與所述區塊鏈中維護的與所述用戶帳戶對應的Nonce列表中的Nonce記錄進行匹配;如果所述可用Nonce記錄與所述Nonce列表中的任一目標Nonce記錄匹配,受理所述目標交易;其中,所述目標Nonce記錄中的Nonce值,在所述目標 交易被受理時,基於預設幅度進行單調遞增。
- 根據申請專利範圍第9項所述的方法,所述輔助參數包括:所述Nonce列表的版本標識。
- 根據申請專利範圍第10項所述的方法,所述輔助參數還包括:所述Nonce記錄的索引標識。
- 一種基於區塊鏈的交易處理裝置,應用於用戶端,所述區塊鏈維護了Nonce列表集合;所述Nonce列表集合包括與多個用戶帳戶對應的多個Nonce列表;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括輔助參數和Nonce值;所述裝置包括:獲取模組,從與用戶帳戶對應的Nonce列表中為用戶透過所述用戶帳戶發起的目標交易獲取可用Nonce記錄;添加模組,將獲取到的所述可用Nonce記錄添加至所述目標交易;發佈模組,將所述目標交易發佈至所述區塊鏈,以由所述區塊鏈中的節點設備將所述目標交易中的可用Nonce記錄與所述用戶帳戶對應的Nonce列表中的Nonce記錄進行匹配,並在所述可用Nonce記錄與所述Nonce列表中的任一目標Nonce記錄匹配時,受理所述目標交易;其中,所述目標Nonce記錄中的Nonce值,在所述目標交易被受理時,基於預設幅度進行單調遞增。
- 根據申請專利範圍第12項所述的裝置,所述獲取模組進一步:在從所述Nonce列表中為用戶透過所述用戶帳戶發起的目標交易獲取可用Nonce記錄之前,響應於針對所述用戶端的初始化指令,獲取所述區塊鏈中維護的所述Nonce列表,並將獲取到的所述Nonce列表在所述用戶端本地進行維護。
- 根據申請專利範圍第13項所述的裝置,所述獲取模組:從所述用戶端本地維護的所述Nonce列表中,為用戶透過所述用戶帳戶發起的目標交易獲取可用Nonce記錄。
- 根據申請專利範圍第14項所述的裝置,所述用戶端本地維護的所述Nonce列表中的Nonce記錄預設被標記為可用;所述獲取模組進一步:在從所述用戶端本地維護的所述Nonce列表中為所述目標交易獲取到了可用Nonce記錄之後,在所述Nonce列表中將所述可用Nonce記錄標記為不可用。
- 根據申請專利範圍第15項所述的裝置,所述獲取模組進一步: 確定是否接收到所述節點設備傳回的所述目標交易被受理的提示訊息;如果是,基於預設幅度對所述可用Nonce記錄中的Nonce值進行單調遞增,並在所述Nonce值單調遞增之後,在所述Nonce列表中將所述可用Nonce記錄重新標記為可用。
- 根據申請專利範圍第12項所述的裝置,所述用戶端為多執行緒用戶端;所述Nonce列表中的Nonce記錄的數量,指示所述用戶帳戶的交易併發能力。
- 根據申請專利範圍第12項所述的裝置,所述輔助參數包括:所述Nonce列表的版本標識。
- 根據申請專利範圍第12項所述的裝置,所述輔助參數還包括:所述Nonce記錄的索引標識。
- 一種基於區塊鏈的交易處理裝置,應用於區塊鏈中的節點設備,所述區塊鏈維護了Nonce列表集合;所述Nonce列表集合包括與多個用戶帳戶對應的多個Nonce列表;其中,所述Nonce列表包括多條Nonce記錄;所述Nonce記錄包括輔助參數和Nonce值;所述裝置包括:接收模組,接收用戶端發送的用戶透過用戶帳戶發起的目標交易;其中,所述目標交易被添加了從所述區塊鏈中維護的與所述用戶帳戶對應的Nonce列表中獲取到的可 用Nonce記錄;匹配模組,將所述可用Nonce記錄與所述區塊鏈中維護的與所述用戶帳戶對應的Nonce列表中的Nonce記錄進行匹配;受理模組,如果所述可用Nonce記錄與所述Nonce列表中的任一目標Nonce記錄匹配,受理所述目標交易;其中,所述目標Nonce記錄中的Nonce值,在所述目標交易被受理時,基於預設幅度進行單調遞增。
- 根據申請專利範圍第20項所述的裝置,所述輔助參數包括:所述Nonce列表的版本標識。
- 根據申請專利範圍第21項所述的裝置,所述輔助參數還包括:所述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 |
---|---|---|---|
CN201811251778.4 | 2018-10-25 | ||
CN201811251778.4A CN109584063B (zh) | 2018-10-25 | 2018-10-25 | 基于区块链的交易处理方法及装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202016789A TW202016789A (zh) | 2020-05-01 |
TWI737977B true TWI737977B (zh) | 2021-09-01 |
Family
ID=65920607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108110893A TWI737977B (zh) | 2018-10-25 | 2019-03-28 | 基於區塊鏈的交易處理方法及裝置、電子設備 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11521275B2 (zh) |
EP (1) | EP3827398A1 (zh) |
CN (2) | CN111899103B (zh) |
SG (1) | SG11202101606YA (zh) |
TW (1) | TWI737977B (zh) |
WO (1) | WO2020086231A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110348975A (zh) * | 2019-05-24 | 2019-10-18 | 深圳壹账通智能科技有限公司 | 报关单信息校验方法及装置、电子设备和存储介质 |
EP4071648A1 (en) * | 2019-06-15 | 2022-10-12 | Meta Platforms, Inc. | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
US11126593B2 (en) | 2019-06-15 | 2021-09-21 | Facebook, Inc. | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
SG11202002416RA (en) | 2019-06-26 | 2020-04-29 | Alibaba Group Holding Ltd | Improved anti-replay device based on memory space interchange |
CN110728504A (zh) * | 2019-09-06 | 2020-01-24 | 平安壹钱包电子商务有限公司 | 区块链的数据处理方法、装置、设备及可读存储介质 |
CN111143466B (zh) * | 2019-11-12 | 2022-06-24 | 成都四方伟业软件股份有限公司 | 一种基于区块链的数据防伪方法 |
CN111598558B (zh) * | 2020-05-13 | 2023-08-22 | 中国联合网络通信集团有限公司 | 记账方法及记账节点服务器、付款方节点服务器 |
TWI751586B (zh) * | 2020-06-17 | 2022-01-01 | 康和綜合證券股份有限公司 | 風險控管裝置及方法 |
CN111541783B (zh) | 2020-07-08 | 2020-10-20 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的交易转发方法及装置 |
CN111539829B (zh) | 2020-07-08 | 2020-12-29 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的待过滤交易识别方法及装置 |
CN111541789A (zh) | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的数据同步方法及装置 |
CN111541726B (zh) * | 2020-07-08 | 2021-05-18 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的重放交易识别方法及装置 |
CN113726875B (zh) | 2020-07-08 | 2024-06-21 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的交易处理方法及装置 |
CN112673656B (zh) * | 2020-08-13 | 2022-08-09 | 华为技术有限公司 | 车载网络安全通信方法、装置和设备 |
CN113516557B (zh) * | 2021-07-14 | 2022-09-23 | 桂林电子科技大学 | 一种有向无环图结构的区块链及其实现方法 |
Citations (3)
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的方法 |
CN108416675A (zh) * | 2018-02-14 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 资产管理方法及装置、电子设备 |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7529371B2 (en) * | 2004-04-22 | 2009-05-05 | International Business Machines Corporation | Replaceable sequenced one-time pads for detection of cloned service client |
US7421446B1 (en) | 2004-08-25 | 2008-09-02 | Unisys Corporation | Allocation of storage for a database |
US7725927B2 (en) | 2005-10-28 | 2010-05-25 | Yahoo! Inc. | Low code-footprint security solution |
US8671261B2 (en) * | 2011-04-14 | 2014-03-11 | Microsoft Corporation | Lightweight random memory allocation |
US9973341B2 (en) * | 2015-01-23 | 2018-05-15 | Daniel Robert Ferrin | Method and apparatus for the limitation of the mining of blocks on a block chain |
AU2016242888A1 (en) | 2015-03-31 | 2017-11-16 | Nasdaq, Inc. | Systems and methods of blockchain transaction recordation |
US20170048235A1 (en) | 2015-07-14 | 2017-02-16 | Fmr Llc | Crypto Captcha and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
WO2017091530A1 (en) | 2015-11-24 | 2017-06-01 | Gartland & Mellina Group | Blockchain solutions for financial services and other transaction-based industries |
US10230756B2 (en) | 2015-11-25 | 2019-03-12 | International Business Machines Corporation | Resisting replay attacks efficiently in a permissioned and privacy-preserving blockchain network |
EP3411824B1 (en) | 2016-02-04 | 2019-10-30 | Nasdaq Technology AB | Systems and methods for storing and sharing transactional data using distributed computer systems |
US20170243193A1 (en) | 2016-02-18 | 2017-08-24 | Skuchain, Inc. | Hybrid blockchain |
US10046228B2 (en) * | 2016-05-02 | 2018-08-14 | Bao Tran | Smart device |
US10764066B2 (en) * | 2016-05-18 | 2020-09-01 | Apple Inc. | EUICC secure timing and certificate revocation |
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 |
JP6377679B2 (ja) | 2016-07-19 | 2018-08-22 | ソフトバンク株式会社 | 制御方法、情報処理システム、コンピュータ及び制御プログラム |
KR101781583B1 (ko) | 2016-08-31 | 2017-09-27 | 서강대학교산학협력단 | 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법 |
US11170346B2 (en) * | 2016-09-19 | 2021-11-09 | Sap Se | Decentralized credentials verification network |
CN106452785B (zh) * | 2016-09-29 | 2019-05-17 | 财付通支付科技有限公司 | 区块链网络、分支节点及区块链网络应用方法 |
WO2018112940A1 (zh) * | 2016-12-23 | 2018-06-28 | 深圳前海达闼云端智能科技有限公司 | 区块链节点的业务执行方法、装置及节点设备 |
CN107077674B (zh) * | 2016-12-29 | 2021-06-11 | 达闼机器人有限公司 | 交易验证处理方法、装置及节点设备 |
KR101835520B1 (ko) | 2016-12-29 | 2018-04-19 | 주식회사 코인플러그 | 밸런스 데이터베이스를 관리하여 통합 포인트 서비스를 제공하는 방법 및 이를 이용한 지원 서버 |
JP6938920B2 (ja) * | 2017-01-19 | 2021-09-22 | 富士通株式会社 | 情報処理システム、検証装置、情報処理方法、検証方法およびプログラム |
US11036875B2 (en) * | 2017-01-24 | 2021-06-15 | Microsoft Technology Licensing, Llc | Dependent enclave binaries |
CN106991607B (zh) * | 2017-03-29 | 2020-04-10 | 杭州溪塔科技有限公司 | 一种基于区块链账户模型的无序交易控制方法 |
US11481360B2 (en) | 2017-04-07 | 2022-10-25 | Hwa-Shang CHANG | Blockchain network and method of operation 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 | 北京航空航天大学 | 一种私有区块链的智能合约异步执行存储系统与实现方法 |
KR101841564B1 (ko) | 2017-04-27 | 2018-05-04 | 주식회사 코인플러그 | Utxo 기반으로 머클트리 구조를 사용하여 전자 바우처를 발행, 사용, 환불, 정산 및 파기하는 방법과 이를 이용한 서버 |
CN107391649A (zh) * | 2017-07-14 | 2017-11-24 | 浙商银行股份有限公司 | 一种提升区块链查询效率的系统及方法 |
US10761877B2 (en) | 2017-07-21 | 2020-09-01 | Intel Corporation | Apparatuses, methods, and systems for blockchain transaction acceleration |
CN107688999B (zh) * | 2017-08-11 | 2020-11-13 | 杭州溪塔科技有限公司 | 一种基于区块链的并行交易执行方法 |
CN111466096B (zh) * | 2017-09-08 | 2021-12-31 | 尤利杰公司 | 提供不可变记录的系统和方法 |
CN107678865A (zh) * | 2017-09-20 | 2018-02-09 | 中国银行股份有限公司 | 基于交易分组的区块链的验证方法以及系统 |
CN107707660B (zh) * | 2017-10-13 | 2020-06-23 | 广州市驱创信息科技有限公司 | 算法可选择的基于身份验证技术的云存储方法及系统 |
KR101978185B1 (ko) | 2017-10-24 | 2019-08-28 | 한국조폐공사 | 블록체인 기반의 소프트웨어 라이센스 관리 방법 및 이를 이용한 라이센스 관리 서버 |
CN108023883B (zh) * | 2017-12-04 | 2020-09-29 | 四川长虹电器股份有限公司 | 一种设备授权管理方法及装置 |
US11196747B2 (en) | 2017-12-07 | 2021-12-07 | Bank Of America Corporation | Automated event processing computing platform for handling and enriching blockchain data |
CN112767158A (zh) * | 2018-02-27 | 2021-05-07 | 创新先进技术有限公司 | 基于区块链的交易执行方法及装置、电子设备 |
KR102646102B1 (ko) | 2018-04-12 | 2024-03-08 | 주식회사 넥슨코리아 | 복수의 사용자들 간에 게임을 진행하여 게임 결과를 기록하기 위한 장치, 방법 컴퓨터 프로그램 |
JP7403104B2 (ja) | 2018-04-19 | 2023-12-22 | ヴィチェーン ファウンデーション リミテッド | ブロックチェーン取引処理 |
CN108614748B (zh) * | 2018-04-19 | 2020-09-29 | 上海分布信息科技有限公司 | 一种拜占庭容错的方法及其通证经济的治理系统 |
CN108664623A (zh) * | 2018-05-14 | 2018-10-16 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种数据存储方法、装置、设备及介质 |
CN108876332B (zh) | 2018-06-04 | 2020-09-22 | 清华大学 | 一种基于生物特征标记认证的区块链安全交易方法及装置 |
US11556874B2 (en) | 2018-06-11 | 2023-01-17 | International Business Machines Corporation | Block creation based on transaction cost and size |
US11159307B2 (en) | 2018-08-08 | 2021-10-26 | International Business Machines Corporation | Ad-hoc trusted groups on a blockchain |
-
2018
- 2018-10-25 CN CN202010752777.9A patent/CN111899103B/zh active Active
- 2018-10-25 CN CN201811251778.4A patent/CN109584063B/zh active Active
-
2019
- 2019-03-28 TW TW108110893A patent/TWI737977B/zh active
- 2019-10-03 EP EP19791062.3A patent/EP3827398A1/en active Pending
- 2019-10-03 WO PCT/US2019/054399 patent/WO2020086231A1/en active Search and Examination
- 2019-10-03 US US16/591,749 patent/US11521275B2/en active Active
- 2019-10-03 SG SG11202101606YA patent/SG11202101606YA/en unknown
-
2020
- 2020-03-03 US US16/807,871 patent/US11074661B2/en active Active
Patent Citations (3)
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 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 基于区块链的信息处理方法和装置 |
CN108416675A (zh) * | 2018-02-14 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 资产管理方法及装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
TW202016789A (zh) | 2020-05-01 |
US11521275B2 (en) | 2022-12-06 |
CN109584063B (zh) | 2020-07-21 |
SG11202101606YA (en) | 2021-03-30 |
WO2020086231A1 (en) | 2020-04-30 |
US20200134737A1 (en) | 2020-04-30 |
CN111899103B (zh) | 2024-05-03 |
CN109584063A (zh) | 2019-04-05 |
EP3827398A1 (en) | 2021-06-02 |
CN111899103A (zh) | 2020-11-06 |
US11074661B2 (en) | 2021-07-27 |
US20200202452A1 (en) | 2020-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI737977B (zh) | 基於區塊鏈的交易處理方法及裝置、電子設備 | |
TWI734088B (zh) | 基於區塊鏈的交易處理方法及裝置、電子設備 | |
TWI706278B (zh) | 基於區塊鏈的交易處理方法及裝置、電子設備 | |
US11562375B2 (en) | Blockchain-based data verification method, apparatus, and electronic device | |
TWI776030B (zh) | 基於區塊鏈的交易處理方法及裝置、電子設備 | |
TWI709058B (zh) | 基於區塊鏈的智能合約調用方法及裝置、電子設備 | |
CN108389129B (zh) | 基于区块链的交易执行方法及装置、电子设备 | |
TW201935383A (zh) | 資產管理方法及裝置、電子設備 | |
TW201935384A (zh) | 資產管理方法及裝置、電子設備 | |
TW201935375A (zh) | 資產管理方法及裝置、電子設備 | |
TW201935385A (zh) | 資產管理方法及裝置、電子設備 | |
CN110046900B (zh) | 基于区块链的发票作废方法和装置、电子设备 |