TWI740378B - 用於進行交易驗證的方法及裝置 - Google Patents
用於進行交易驗證的方法及裝置 Download PDFInfo
- Publication number
- TWI740378B TWI740378B TW109104859A TW109104859A TWI740378B TW I740378 B TWI740378 B TW I740378B TW 109104859 A TW109104859 A TW 109104859A TW 109104859 A TW109104859 A TW 109104859A TW I740378 B TWI740378 B TW I740378B
- Authority
- TW
- Taiwan
- Prior art keywords
- transaction
- designated
- verified
- party
- data
- 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/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/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
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Development Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本公開提供用於進行交易驗證的方法及裝置。該方法包括:接收待驗證交易資料,所述待驗證交易資料包括交易資訊明文和針對所述交易資訊明文的至少一個確認方簽名資料,所述交易資訊明文包括指定確認方資訊集,所述指定確認方資訊集包括被指定對所述交易資訊明文進行確認的至少一個指定確認方的指定確認方資訊,所述確認方簽名資料包括確認方簽名;針對所述至少一個確認方簽名資料中的確認方簽名,基於該確認方簽名資料和所述交易資訊明文,對該確認方簽名資料中的確認方簽名進行驗證,以獲取驗證通過確認方資訊集;以及當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定所述待驗證資料驗證通過。
Description
本公開涉及區塊鏈技術領域,具體地,涉及用於進行交易驗證的方法及裝置。
區塊鏈技術利用鏈式資料結構來驗證和儲存資料,並利用分散式節點共識演算法來生成和更新資料,利用密碼學的方式保證資料傳輸和存取安全。在利用區塊鏈技術處理交易時,針對用戶端發起的交易,只有在該交易通過驗證時才會執行該交易,因而能夠保證交易安全性。
在某些交易場景下,發起方發起的交易可能存在其它關聯方,只有該交易得到其它關聯方的確認時,才能夠確認該交易為合法交易。例如,在供應鏈協作場景中,涉及在多個交易方之間的交易轉讓,為了保證交易安全,在執行該交易之前,需要在確定各個交易方均確認了該交易,才能夠執行該交易。
鑒於上述,本公開提供了一種用於進行交易驗證的方法及裝置。利用該方法和裝置,能夠根據為每筆交易提供定制化的交易驗證過程,並且能夠減少驗證過程的資料存取量。
根據本公開的一個態樣,提供了一種用於進行交易驗證的方法,包括:接收待驗證交易資料,所述待驗證交易資料包括交易資訊明文和針對所述交易資訊明文的至少一個確認方簽名資料,所述交易資訊明文包括指定確認方資訊集,所述指定確認方資訊集包括被指定對所述交易資訊明文進行確認的至少一個指定確認方的指定確認方資訊,所述確認方簽名資料包括確認方簽名;針對所述至少一個確認方簽名資料中的確認方簽名,基於該確認方簽名資料和所述交易資訊明文,對該確認方簽名資料中的確認方簽名進行驗證,以獲取驗證通過確認方資訊集;以及當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定所述待驗證資料驗證通過。
可選地,在一個示例中,所述各個指定確認方可以具有指定確認方權重,當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定所述待驗證資料驗證通過還可以包括:當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,以及該預定數量的指定確認方資訊所對應的指定確認方權重之和不低於第一預定值時,確定所述待驗證資料驗證通過。
可選地,在一個示例中,所述至少一個指定確認方的指定確認方公開金鑰可以具有公開金鑰權重,當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定所述待驗證資料驗證通過還可以包括:當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,以及該預定數量的指定確認方資訊所對應的公開金鑰權重之和不低於第二預定值時,確定所述待驗證資料驗證通過。
可選地,在一個示例中,所述確認方簽名資料還可以包括確認方公開金鑰,基於該確認方簽名資料和所述交易資訊明文,對該確認方簽名資料中的確認方簽名進行驗證可以包括:利用該確認方簽名資料中的確認方公開金鑰,對該確認方簽名資料中的確認方簽名進行解密以得到確認方簽名中的交易資訊;當所述確認方簽名中的交易資訊與所述交易資訊明文一致時,確認該確認方簽名驗證通過。
可選地,在一個示例中,所述指定確認方資訊可以包括指定確認方公開金鑰,所述驗證通過確認方資訊集可以包括驗證通過確認方公開金鑰集。
可選地,在一個示例中,所述確認方資訊可以包括指定確認方帳號,所述驗證通過確認方資訊集包括驗證通過確認方公開金鑰集,所述方法還可以包括:基於所述指定確認方帳號集中的至少一個指定確認方帳號,獲取區塊鏈系統中的對應指定確認方公開金鑰,以獲取指定確認方公開金鑰集。當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定所述待驗證資料驗證通過可以包括:當所述驗證通過確認方公開金鑰集包括預定數量的指定確認方公開金鑰時,確定所述待驗證資料驗證通過。
可選地,在一個示例中,所述確認方簽名資料還可以包括確認方帳號,基於該確認方簽名資料和所述交易資訊明文,對該確認方簽名資料中的確認方簽名進行驗證可以包括:基於所述確認方帳號,獲取區塊鏈系統中的確認方公開金鑰;利用所獲取的確認方公開金鑰,對該確認方簽名資料中的確認方簽名進行解密以得到確認方簽名中的交易資訊;當所述確認方簽名中的交易資訊與所述交易資訊明文一致時,確認該確認方簽名驗證通過。
可選地,在一個示例中,所述指定確認方資訊可以包括指定確認方公開金鑰,所述驗證通過確認方資訊集可以包括驗證通過確認方公開金鑰集。
可選地,在一個示例中,所述指定確認方資訊可以包括指定確認方帳號,所述驗證通過確認方資訊集可以包括驗證通過確認方帳號集。
可選地,在一個示例中,所述待驗證交易資料還可以包括針對所述交易資訊明文的交易發起方簽名資料,所述交易發起方簽名資料包括交易發起方簽名,所述方法還可以包括:基於所述交易資訊明文和所述交易發起方簽名資料,對所述交易發起方簽名進行驗證;當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定所述待驗證資料驗證通過可以包括:當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊且所述交易方通過驗證時,確定所述待驗證資料驗證通過。
可選地,在一個示例中,所述交易發起方簽名資料還可以包括交易發起方公開金鑰,基於所述交易資訊明文和所述交易發起方簽名資料,對所述交易發起方進行驗證可以包括:利用所述交易發起方簽名資料中的交易發起方公開金鑰對所述交易發起方簽名進行解密以得到交易發起方簽名中的交易資訊;基於所述交易資訊明文中的交易發起方帳號,獲取區塊鏈系統中的交易發起方公開金鑰;當所述交易發起方簽名中的交易資訊與所述交易資訊明文一致,且所述交易發起方簽名資料中交易發起方公開金鑰與所述區塊鏈系統中的交易發起方公開金鑰一致時,確定所述交易發起方簽名資料驗證通過。
可選地,在一個示例中,基於所述交易資訊明文和所述交易發起方簽名資料,對所述交易發起方進行驗證可以包括:基於所述交易資訊明文中的交易發起方帳號,獲取區塊鏈系統中的交易發起方公開金鑰;利用所獲取到的交易發起方公開金鑰,對所述交易發起方簽名進行解密以得到所述交易發起方簽名中的交易資訊;以及當所述交易發起方簽名的交易資訊與所述交易資訊明文一致時,確定所述交易發起方簽名資料驗證通過。
根據本公開的另一態樣,還提供一種用於進行交易驗證的裝置,包括:待驗證交易資料接收單元,被配置為接收待驗證交易資料,所述待驗證交易資料包括交易資訊明文和針對所述交易資訊明文的至少一個確認方簽名資料,所述交易資訊明文包括指定確認方資訊集,所述指定確認方資訊集包括被指定對所述交易資訊明文進行確認的至少一個指定確認方的指定確認方資訊,所述確認方簽名資料包括確認方簽名;確認方簽名驗證單元,被配置為針對所述至少一個確認方簽名資料中的確認方簽名,基於該確認方簽名資料和所述交易資訊明文,對該確認方簽名資料中的確認方簽名進行驗證,以獲取驗證通過確認方資訊集;以及待驗證資料驗證單元,被配置為當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定所述待驗證資料驗證通過。
可選地,在一個示例中,所述各個指定確認方可以具有指定確認方權重,所述待驗證資料驗證單元可以被配置為:當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,以及該預定數量的指定確認方資訊所對應的指定確認方權重之和不低於第一預定值時,確定所述待驗證資料驗證通過。
可選地,在一個示例中,所述至少一個指定確認方的指定確認方公開金鑰可以具有公開金鑰權重,所述待驗證資料驗證單元可以被配置為:當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,以及該預定數量的指定確認方資訊所對應的公開金鑰權重之和不低於第二預定值時,確定所述待驗證資料驗證通過。
可選地,在一個示例中,所述確認方簽名資料還可以包括確認方公開金鑰,所述確認方簽名驗證單元可以包括:確認方簽名解密模組,被配置為利用該確認方簽名資料中的確認方公開金鑰,對該確認方簽名資料中的確認方簽名進行解密以得到確認方簽名中的交易資訊;以及確認方簽名驗證模組,被配置為當所述確認方簽名中的交易資訊與所述交易資訊明文一致時,確認該確認方簽名驗證通過。
可選地,在一個示例中,所述確認方資訊可以包括指定確認方帳號,所述驗證通過確認方資訊集包括驗證通過確認方公開金鑰集,所述裝置還可以包括:指定確認方公開金鑰集獲取單元,被配置為基於所述指定確認方帳號集中的至少一個指定確認方帳號,獲取區塊鏈系統中的對應指定確認方公開金鑰,以獲取指定確認方公開金鑰集。述待驗證資料驗證單元被配置為:當所述驗證通過確認方公開金鑰集包括預定數量的指定確認方公開金鑰時,確定所述待驗證資料驗證通過。
可選地,在一個示例中,所述確認方簽名資料還可以包括確認方帳號,所述確認方簽名驗證單元可以包括:確認方公開金鑰獲取模組,被配置為基於所述確認方帳號,獲取區塊鏈系統中的確認方公開金鑰;確認方簽名解密模組,被配置為利用所獲取的確認方公開金鑰,對該確認方簽名資料中的確認方簽名進行解密以得到確認方簽名中的交易資訊;以及確認方簽名驗證模組,被配置為當所述確認方簽名中的交易資訊與所述交易資訊明文一致時,確認該確認方簽名驗證通過。
可選地,在一個示例中,所述待驗證交易資料還可以包括針對所述交易資訊明文的交易發起方簽名資料,所述交易發起方簽名資料包括交易發起方簽名,所述裝置還可以包括:交易發起方簽名資料驗證單元,被配置為基於所述交易資訊明文和所述交易發起方簽名資料,對所述交易發起方簽名進行驗證。所待驗證資料驗證單元被配置為:當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊且所述交易方通過驗證時,確定所述待驗證資料驗證通過。
可選地,在一個示例中,所述交易發起方簽名資料還可以包括交易發起方公開金鑰,所述交易發起方簽名資料驗證單元可以包括:交易發起方簽名解密模組,被配置為利用所述交易發起方簽名資料中的交易發起方公開金鑰對所述交易發起方簽名進行解密以得到交易發起方簽名中的交易資訊;公開金鑰獲取模組,被配置為基於所述交易資訊明文中的交易發起方帳號,獲取區塊鏈系統中的交易發起方公開金鑰;以及交易發起方簽名驗證模組,被配置為當所述交易發起方簽名中的交易資訊與所述交易資訊明文一致,以及所述交易發起方簽名資料中交易發起方公開金鑰與所述區塊鏈系統中的交易發起方公開金鑰一致時,確定所述交易發起方簽名資料驗證通過。
可選地,在一個示例中,所述交易發起方簽名資料驗證單元可以包括:公開金鑰獲取模組,被配置為基於所述交易資訊明文中的交易發起方帳號,獲取區塊鏈系統中的交易發起方公開金鑰;交易發起方簽名解密模組,被配置為利用所獲取到的交易發起方公開金鑰,對所述交易發起方簽名進行解密以得到所述交易發起方簽名中的交易資訊;以及交易發起方簽名驗證模組,被配置為當所述交易發起方簽名的交易資訊與所述交易資訊明文一致時,確定所述交易發起方簽名資料驗證通過。
根據本公開的另一態樣,還提供一種計算設備,包括:至少一個處理器;以及記憶體,所述記憶體儲存指令,當所述指令被所述至少一個處理器執行時,使得所述至少一個處理器執行如上所述的方法。
根據本公開的另一態樣,還提供一種非暫時性機器可讀儲存媒體,其儲存有可執行指令,所述指令當被執行時使得所述機器執行如上所述的方法。
利用本公開的方法和裝置,通過為交易指定對該交易進行確認的指定確認方,在對待驗證交易資料中的至少一個確認方簽名進行驗證之後,當驗證通過確認方包括預定數量的指定確認方時,確定該待驗證交易資料通過驗證,由此能夠根據交易的性質來指定交易確認方,以為交易提供定制化的驗證過程。此外,該驗證過程還降低了資料存取量。
利用本公開的方法和裝置,為各個指定確認方賦予指定確認方權重,在驗證通過的確認方包括預定數量的指定確認方,該預定數量的指定確認方的指定確認方權重之和達到第一預定值時,確定待驗證交易資料驗證通過,能夠進一步提高交易安全性。
利用本公開的方法和裝置,為指定確認方公開金鑰賦予公開金鑰權重,驗證通過確認方資訊集包括指定確認方公開金鑰集中的預定數量的指定確定方公開金鑰時,以及該預定數量的指定確認方公開金鑰所對應的公開金鑰權重之和不低於第二預定值時,確定待驗證資料驗證通過,能夠進一步提高交易安全性。
利用本公開的方法和裝置,通過在待驗證交易資料中包括指定確認方公開金鑰集,以通過分析驗證通過確認方公開金鑰和指定確認方公開金鑰集來判斷驗證通過確定方是否包括預定數量的指定確認方,能夠簡化驗證過程。
利用本公開的方法和裝置,通過對交易方發起方進行驗證,當交易發起方通過驗證且驗證通過確認方資訊集中包括預定數量的指定確認方資訊時,確定待驗證交易資料通過驗證,從而能夠在確定交易發起方是合法發起方時確定待驗證交易資料通過驗證,以提高交易安全性。
以下將參考示例實施方式討論本文描述的主題。應該理解,討論這些實施方式只是為了使得本領域技術人員能夠更好地理解從而實現本文描述的主題,並非是對申請專利範圍中所闡述的保護範圍、適用性或者示例的限制。可以在不脫離本公開內容的保護範圍的情況下,對所討論的元素的功能和排列進行改變。各個示例可以根據需要,省略、替代或者添加各種過程或元件。另外,相對一些示例所描述的特徵在其它例子中也可以進行組合。
如本文中使用的,術語“包括”及其變型表示開放的術語,含義是“包括但不限於”。術語“基於”表示“至少部分地基於”。術語“一個實施例”和“一實施例”表示“至少一個實施例”。術語“另一個實施例”表示“至少一個其他實施例”。術語“第一”、“第二”等可以指代不同的或相同的物件。下面可以包括其他的定義,無論是明確的還是隱含的。除非上下文中明確地指明,否則一個術語的定義在整個說明書中是一致的。
現在結合附圖來描述本公開的用於進行交易驗證的方法及裝置。
區塊鏈是一種按照時間順序來將資料區塊順序相連組合而成的鏈式資料結構,並且以密碼學方式保證資料區塊不可篡改和不可偽造。區塊鏈包括一個或多個區塊。區塊鏈中的每個區塊通過包括該區塊鏈中緊接其之前的前一個區塊的加密散列而連結到該前一個區塊。每個區塊還包括時間戳記、該區塊的加密雜湊以及一個或多個交易(transaction)。對已經被區塊鏈網路的節點驗證的交易進行雜湊處理並形成Merkle樹。在Merkle樹中,對葉節點處的資料進行雜湊處理,並且針對Merkle樹的每個分支,在該分支的根處級聯該分支的所有雜湊值。針對Merkle樹執行上述處理,直到整個Merkle樹的根節點。Merkle樹的根節點儲存代表該Merkle樹中的所有資料的雜湊值。當一個雜湊值聲稱是Merkle樹中儲存的交易時,可以通過判斷該雜湊值是否與Merkle樹的結構一致來進行快速驗證。
區塊鏈是用於儲存交易的資料結構。區塊鏈網路是用於管理、更新和維護一個或多個區塊鏈結構的計算節點網路。如上所述,區塊鏈網路可以包括公有區塊鏈網路、私有區塊鏈網路或聯盟區塊鏈網路。
在公有區塊鏈網路中,共識過程由共識網路的節點控制。例如,在公有區塊鏈網路中可以存在成千上萬個實體協作處理,每個實體操作該公有區塊鏈網路中的至少一個節點。因此,公有區塊鏈網路可以被認為是參與實體的公有網路。在一些示例中,大多數實體(節點)必須按序對每個區塊進行簽名,並且將簽名後的區塊添加到區塊鏈網路的區塊鏈中。公有區塊鏈網路的示例可以包括特定對等支付網路。此外,術語“區塊鏈”不特別指代任何特定的區塊鏈。
公有區塊鏈網路支援公有交易。公有交易在公有區塊鏈網路內的所有節點之間共用,並且儲存在全域區塊鏈中。全域區塊鏈是指跨所有節點複製的區塊鏈。為了達成共識(例如,同意向區塊鏈添加區塊),在公有區塊鏈網路內實現共識協定。共識協議的示例包括但不限於:工作量證明(POW,proof-of-work),權益證明(POS,proof-of-stake)和權威證明(POA,proof-of-authority)。在本公開中,採用POW作為非限制性示例。
私有區塊鏈網路被提供來用於特定實體。私有區塊鏈網路中的各個節點的讀寫權限被嚴格控制。因此,私有區塊鏈網路通常也稱為許可網路,其對允許誰參與網路以及的網路參與水準(例如,僅在某些交易情形下)進行限制。在私有區塊鏈網路中,可以使用各種類型的存取控制機制(例如,現有參與方對添加新實體進行投票,監管機構控制許可等)。
聯盟區塊鏈網路在參與實體之間是私有的。在聯盟區塊鏈網路中,共識過程由授權節點控制。例如,由若干個(例如,10個)實體(例如,金融機構,保險公司)組成的聯盟可以操作聯盟區塊鏈網路,每個實體操作該聯盟區塊鏈網路中的至少一個節點。因此,聯盟區塊鏈網路可以被認為是參與實體的私有網路。在一些示例中,每個參與實體(節點)必須按序對每個區塊進行簽名,並將該區塊添加到區塊鏈。在一些示例中,可以由參與實體(節點)的子集(例如,至少7個實體)來對每個區塊進行簽名,並將該區塊添加到區塊鏈。
在本公開中參考聯盟區塊鏈網路來詳細描述本公開的實施例。然而,可以預期,本公開的實施例可以在任何適合的區塊鏈網路中實現。
區塊鏈是防篡改的共用數位分類帳,其在公有或私有對等網路中記錄交易。分類帳被分發到網路中的所有成員節點,並且網路中發生的資產交易歷史記錄被永久記錄在區塊中。
共識機制確保分散式區塊鏈網路中的所有網路節點按照相同的循序執行交易,並且隨後寫入相同的分類帳。共識模型旨在解決拜占庭問題。在拜占庭問題中,分散式區塊鏈網路中的比如伺服器或網路節點的元件可能會出現故障,或者故意向其他節點傳播錯誤的資訊。由於其他網路節點需要首先就哪個網路節點首先失敗達成共識,從而其他網路節點很難將該元件聲明失敗並將其排除出區塊鏈網路。
圖1示出了可用於執行根據本公開的實施例的交易驗證方法的環境100的示例的示意圖。在一些示例中,環境100使得實體能夠參與區塊鏈網路102。如圖1所示,環境100包括網路104、和計算設備/系統106、108。在一些示例中,網路104可以包括區域網路(LAN),廣域網路(WAN),網際網路或其組合,並且連接網站、使用者設備(例如,計算設備)和後端系統。在一些示例中,可以通過有線和/或無線通訊鏈路來存取網路104。在一些示例中,計算設備/系統106、108通過網路104相互通信,以及通過網路104實現與區塊鏈網路102之間的通信,以及區塊鏈網路102中的節點(或,節點設備)通過網路104來進行通信。通常,網路104表示一個或多個通信網路。在一些情況下,計算設備/系統106、108可以是雲端計算系統(未示出)的節點,或者每個計算設備/系統106、108可以是單獨的雲端計算系統,其包括通過網路104互連的多個電腦並且用作分散式處理系統。
在所描繪的示例中,計算設備/系統106、108中的每個可以包括能夠參與作為區塊鏈網路102中的節點的任何合適的計算系統。計算設備/系統的示例包括但不限於,伺服器、桌上型電腦、筆記型電腦、平板電腦設備和智慧型手機等。在一些示例中,計算設備/系統106、108上可以安裝有用於與區塊鏈網路102交互的一個或多個電腦實現的服務。例如,計算設備/系統106可以上可以安裝有第一實體(例如,使用者A)的服務,比如,第一實體用於管理其與一個或多個其他實體(例如,其他使用者)的交易的交易管理系統。計算設備/系統108可以上可以安裝有第二實體(例如,使用者B)的服務,比如,第二實體用於管理其與一個或多個其他實體(例如,其他使用者)的交易的交易管理系統。在圖1的示例中,區塊鏈網路102被表示為節點的對等網路,並且計算設備/系統106、108分別作為參與區塊鏈網路102的第一實體和第二實體的節點。
圖2示出了執行根據本公開的實施例的交易驗證方法的系統架構200的示例的示意圖。系統架構200的示例包括分別與參與方A、參與方B和參與方C對應的參與方系統202、204、206。每個參與方(例如,用戶、企業)參與被提供來作為對等網路的區塊鏈網路212。區塊鏈網路212包括多個節點214,其中,節點214中的至少一些節點在區塊鏈216中記錄資訊,並且所記錄的資訊不可更改。儘管在區塊鏈網路212內示意性地示出了單個區塊鏈216,但是可以提供區塊鏈216的多個副本,並且在區塊鏈網路212中維護多個副本,如稍後詳細描述的。
在所示出的示例中,每個參與方系統202、204、206分別由參與方A、參與方B和參與方C提供,或者被提供來作為參與方A、參與方B和參與方C,並且充當區塊鏈網路212內的對應節點214。如這裡所使用的,節點通常是指連接到區塊鏈網路212的單個系統(例如,電腦,伺服器),並且使得相應的參與方能夠參與區塊鏈網路。在圖2示出的示例中,參與方對應於每個節點214。然而,一個參與方可以操作區塊鏈網路212內的多個節點214,和/或多個參與方可以共用單個節點214。在一些示例中,參與方系統202、204、206使用協定(例如,超文字傳輸協定安全(HTTPS))和/或使用遠端程序呼叫(RPC)來與區塊鏈網路212通信,或者通過區塊鏈網路212進行通信。
節點214在區塊鏈網路212的參與度可以不同。例如,一些節點214可以參與共識過程(例如,作為將區塊添加到區塊鏈216的礦工節點),而其他節點214不參與共識過程。作為另一示例,一些節點214儲存區塊鏈216的完整副本,而其他節點214僅儲存區塊鏈216的部分副本。在圖2的示例中,參與方系統202、204、206各自儲存區塊鏈216的完整副本216’、216’’、216’’’。
區塊鏈(例如,圖2中的區塊鏈216)由一連串的區塊組成,每個區塊儲存資料。資料的示例可以包括表示兩個或更多參與方之間的交易的交易資料。在本公開中,交易被使用來作為非限制性示例,可以預期的是,任何適當的資料都可以儲存在區塊鏈中(例如,文檔、圖像、視頻、音頻)。交易的示例可以包括但不限於交換有價值的東西(例如,資產、產品、服務和貨幣等)。交易資料被不可更改地儲存在區塊鏈中。
在儲存在區塊中之前,對交易資料進行雜湊處理。雜湊處理是將(作為字串資料提供的)交易資料轉換為固定長度的雜湊值(也被作為字串資料提供)的過程。通過對交易詩句進行雜湊處理後,即使交易資料出現輕微更改,也會導致得到完全不同的雜湊值。雜湊值通常是通過使用雜湊函數來對交易資料進行雜湊處理而生成的。雜湊函數的示例包括但不限於安全散列演算法(SHA)-256,其輸出256位元的雜湊值。
多個交易的交易資料被雜湊化並且儲存在區塊中。例如,對兩個交易資料進行雜湊處理得到兩個雜湊值,然後,對所得到的兩個雜湊值再次進行雜湊處理以得到另一雜湊值。重複該過程,直到對於要儲存在區塊中的所有交易,得到單個雜湊值。該雜湊值被稱為Merkle根雜湊,並且被儲存在區塊的頭部。任何交易的更改都會導致其雜湊值發生變化,最終導致Merkle根雜湊值發生變化。
通過共識協議來將區塊添加到區塊鏈中。區塊鏈網路中的多個節點參與共識協議,並且競爭來將區塊添加到區塊鏈中。這樣的節點被稱為礦工節點(或記帳節點)。以上介紹的POW用作非限制性示例。
礦工節點執行共識過程來將交易(所對應的區塊)添加到區塊鏈。雖然多個礦工節點參與共識過程,但只有一個礦工節點可以將區塊寫入區塊鏈。也就是說,礦工節點在共識過程中競爭以將其區塊添加到區塊鏈中。更詳細地,礦工節點週期性地從交易池中收集待處理的交易(例如,直到達到在區塊中可以包括的交易數量的預定限制,如果有的話)。交易池包括來自區塊鏈網路中的參與方的交易訊息。礦工節點創建區塊,並將交易添加到區塊中。在將交易添加到區塊之前,礦工節點檢查待添加的交易中是否存在區塊鏈的區塊中具有的交易。如果該交易已被添加到另一個區塊中,則該交易將被丟棄。
礦工節點生成區塊頭,對區塊中的所有交易進行雜湊處理,並且成對地組合雜湊值以生成進一步的雜湊值,直到針對區塊中的所有交易得到單個雜湊值(Merkle根雜湊)。然後,將Merkle根雜湊添加到區塊頭中。礦工還確定區塊鏈中的最新區塊(即,添加到區塊鏈的最後一個區塊)的雜湊值。礦工節點還可以在區塊頭中添加亂數值(noune值)和時間戳記。在挖掘過程中,礦工節點嘗試找到滿足所需參數的雜湊值。礦工節點不斷更改nonce值,直到找到滿足所需參數的雜湊值。
區塊鏈網路中的每個礦工都試圖找到滿足所需參數的雜湊值,並且以這種方式彼此競爭。最終,一個礦工節點找到滿足所需參數的雜湊值,並將該雜湊值通告給區塊鏈網路中的所有其他礦工節點。其他礦工節點驗證雜湊值,如果確定為正確,則驗證區塊中的每個交易,接受該區塊,並將該區塊附加到它們的區塊鏈副本中。以這種方式,區塊鏈的全域狀態在區塊鏈網路內的所有礦工節點上達成一致。上述過程是POW共識協議。
在圖2所提供的示例中,參與方A想要向參與方B發送一定數量的資金。參與方A生成交易訊息,並將交易訊息發送到區塊鏈網路,該交易訊息被增加到交易池中。區塊鏈網路中的每個礦工節點創建區塊,並從交易池中獲取交易,並將交易添加到區塊。按照這種方式,參與方A所發佈的交易被添加到礦工節點的區塊中。
在一些區塊鏈網路中,實施密碼技術來維護交易的隱私性。例如,如果兩個節點想要保持交易私密性,使得區塊鏈網路中的其他節點不能獲悉交易細節,則節點可以對交易資料進行加密處理。加密方法的示例包括但不限於對稱加密和非對稱加密。對稱加密是指使用單個金鑰進行加密(根據明文生成密文)和解密(根據密文生成明文)的加密過程。在對稱加密中,多個節點可以使用相同的金鑰,因此每個節點都可以對交易資料進行加密/解密。
非對稱加密是指使用金鑰對來進行加密。每個金鑰對包括私密金鑰和公開金鑰,私密金鑰僅對於相應節點是已知的,並且公開金鑰對於區塊鏈網路中的任何或所有其他節點是已知的。節點可以使用另一個節點的公開金鑰來加密資料,並且可以使用其他節點的私密金鑰來解密經過加密的資料。例如,再次參考圖1。參與方A可以使用參與方B的公開金鑰來加密資料,並將加密資料發送給參與方B.參與方B可以使用其私密金鑰來解密加密資料(密文)並提取原始資料(明文)。使用節點的公開金鑰加密的訊息,只能使用該節點的私密金鑰解密。
非對稱加密用於提供數位簽章,這使得交易中的參與方能夠確認交易中的其他參與方以及交易的有效性。例如,節點可以對訊息進行數位簽章,而另一個節點可以根據參與方A的數位簽章確認訊息是由該節點發送的。數位簽章還可以用於確保訊息在傳輸過程中不被篡改。例如,再次參考圖1。參與方A將向參與方B發送訊息。參與方A生成訊息的雜湊值,然後使用其私密金鑰對雜湊值進行加密來生成數位簽章。參與方A將該數位簽章附加到訊息,並將具有數位簽章的訊息發送給參與方B。參與方B使用參與方A的公開金鑰解密數位簽章,從而解密出對應的雜湊值。參與方B對所接收的訊息進行雜湊處理以得到另一雜湊值,然後比較兩個雜湊值。如果雜湊值相同,則參與方B可以確認該訊息確實來自參與方A,並且未被篡改。
圖3是根據本公開的一個實施例的交易驗證方法的流程圖。
如圖3所示,在塊302,接收待驗證交易資料。待驗證交易資料包括交易資訊明文和針對交易資訊明文的至少一個確認方簽名資料,交易資訊明文包括指定確認方資訊集。交易資訊明文是指未加密的交易資訊,在未出現被篡改或資訊丟失等情形下,其實質內容與交易資訊的內容一致。
當交易涉及多個關聯交易方時,針對每筆交易,涉及該交易的交易發起方和確認方。確認方例如可以確認該交易是否為合法交易、是否同意該交易進行等。各交易方之間可以協商確定交易確認規則,在產生交易時按照彼此之間確認的交易規則對交易進行確認。針對每筆交易,可以將除交易發起方之外的其它交易方看作確認方,而被指定對該交易進行確認的確認方為指定確認方。每筆交易的指定確認方可以由交易發起方指定,也可以由該交易的關聯交易方共同約定指定規則或以指定清單的方式確認指定確認方。每筆交易的指定確認方可以為一個或多個,指定確認方的具體數量可以根據業務場景來確定。
交易發起方發起一筆交易時,可以在簽名之後發送給各個指定確認方以由指定確認方簽名。在獲得交易發起方簽名資料和確認方簽名資料之後,可以生成待驗證交易資料,併發送給區塊鏈系統以對該交易進行驗證。區鏈系統例如可以是如圖1和圖2所示的系統。
圖4是根據本公開的一個實施例的交易驗證方法中的待驗證交易資料生成過程的示例性流程圖。
如圖4所示,在塊402,交易發起方在發起交易時生成交易資訊。交易資訊例如可以包括交易發起方帳號、交易對象帳號、交易金額、交易摘要、時間戳記等資訊。在交易資訊中還包括指定確認方資訊集。指定確認方資訊集包括被指定對該交易進行確認的至少一個指定確認方的指定確認方資訊。指定確認方資訊例如可以是指定確認方公開金鑰,還可以是指定確認方帳號。
在生成交易資訊之後,在塊404,交易發起方利用自己的私密金鑰對所生成的交易資訊進行簽名,以得到交易發起方簽名。然後在塊406、塊412等交易資訊發送過程中,將交易資料(包括交易資訊明文和交易發起方簽名資料)發送給各個確認方。交易發起方簽名資料可以包括交易發起方公開金鑰和交易發起方簽名。
在一個示例中,交易發起方可以僅向指定確認方發送交易資訊明文和交易發起方簽名資料。在另一示例中,交易發起方可以向所有確認方發送交易資訊明文和交易發起方簽名。各個確認方可以在接收到這些資料之後,基於交易資訊明文中的指定確認方資訊集確認自己是否是相應交易的指定確認方。
在塊408、塊414等過程中,各確認方可以在交易發起方簽名驗證合法之後對所接收到的交易資料進行驗證,並在驗證通過後對交易資訊明文進行簽名,以得到確認方簽名資料。指定確認方可以利用交易發起方簽名資料中的公開金鑰對交易發起方簽名進行驗證。具體地,可以利用交易發起方公開金鑰對交易發起方簽名進行解密以得到交易發起方簽名中的交易資訊,當解密得到的交易資訊與交易資訊明文一致時,確認所接收到的交易資料來自於合法的交易發起方。在一個示例中,當資訊網路環境的安全性時,在發送給各個確認方或指定確認方的交易資料中可以不包括交易發起方簽名資料。在該示例中,各個指定確認方不需要執行交易發起方簽名驗證操作。在一個示例中,各確認方可以在確定自己為對應交易的指定確認方時進行驗簽和簽名。在另一示例中,各個確認方可以對所接收到的所有交易資料進行驗簽和簽名,或者按照該確認方自身的規則來決定是否驗簽或簽名。
在得到確認方簽名資料之後,在塊410、塊416等過程,各個確認方將確認方簽名資料發送給交易發起方。然後,交易發起方在塊418,生成待驗證交易資料,並在塊420,將待驗證交易資料發送給區塊鏈系統。區塊鏈系統在接收到待驗證交易資料之後,在塊422,對待驗證交易資料執行交易驗證。
確認方簽名資料可以只包括指定確認方簽名資料。未被指定為指定確認方的確認方也可能對所接收到的交易資料進行簽名。此時,發送給區塊鏈系統的待驗證交易資料中的確認方簽名資料包括指定確認方簽名資料和非指定確認方簽名資料。
作為示例,待驗證交易資料例如可以採用如下數格式:[Payload,[PubA, SignA],[PubB,signB],[PubC,signC]]。其中Payload為交易資訊明文,其資料格式可以為[XX,XX,XX,[PubB,PubC]]。PubA為交易發起方簽名,PubB、PubC分別為指定確認方B和C的簽名,[PubB,PubC]為指定確認方資訊集。
在接收到待驗證交易資料之後,在塊304,針對至少一個確認方簽名資料中的各個確認方簽名資料的確認方簽名,基於該確認方簽名資料和交易資訊明文,對該確認方簽名資料中的確認方簽名進行驗證,以獲取驗證通過確認方資訊集。驗證通過確認方資訊集包括確認方簽名被驗證為合法的各個確認方的確認方資訊。對確認方簽名的驗證過程將在後述參考圖8和圖9進行說明。
在獲取驗證驗證通過確認方資訊集之後,在塊306,判斷驗證通過確認方資訊集中是否包括指定確認方資訊集中的預定數量的指定確認方資訊。當驗證通過確認方資訊集包括指定確認方資訊集中的預定數量的指定確定方資訊時,在塊308,確定待驗證資料驗證通過,否則在塊310確定相應交易不合法,該交易失敗。
在一個示例中,可以在驗證通過確認方資訊集包括指定確認方資訊集中的所有指定確認方資訊時,確定待驗證交易資料驗證通過。在該示例中,驗證通過的條件是所有指定確認方都對交易資訊明文進行了簽名且所有指定確認方簽名被驗證為合法。在另一示例中,各個交易關聯方也可以約定多數通過規則,即當多數指定確認方對交易資訊明文進行了簽名且這些簽名驗證為合法時確定待交易資料驗證通過(即對應交易得到了多數指定確認方的確認)。
在一個示例中,各個指定確認方可以具有指定確認方權重。當驗證通過確認方資訊集包括指定確認方資訊集中的預定數量的指定確定方資訊時,還可以進一步判斷該預定數量的指定確認方資訊所對應的各個指定確認方的指定確認方權重之和是否不低於第一預定值。如果該預定數量的指定確認方資訊所對應的指定確認方權重之和不低於第一預定值,可以確定待驗證資料驗證通過。例如,可以在各個指定確認方的確認方權重之和達到100時,確定待驗證交易資料驗證通過。指定確認方權重可以儲存在區塊鏈系統中,也可以被包括在確認方簽名資料中。各個確認方在對所接收到的交易資訊進行簽名時,還可以利用私密金鑰對指定確認方權重進行加密,並將加密後的指定確認方權重包括在確認方簽名資料中發送給交易發起方。
當待驗證交易資料通過驗證時,區塊鏈系統可以執行智能合約,以執行待驗證交易資料的對應交易。智能合約可以由交易發起方指定,還可以以在區塊鏈系統中指定智能合約。
在另一示例中,還可以對交易方簽名資料進行驗證,以驗證對應交易是否由合法的交易發起方發起。圖5是根據本公開的一個實施例的交易驗證方法中的交易發起方驗證過程和待驗證交易資料驗證過程的流程圖。
如圖5所示,在塊502,基於交易資訊明文和交易發起方簽名資料,對交易發起方簽名資料進行驗證。然後在塊504,判斷交易發起方簽名資料是否驗證通過。交易發起方簽名資料可以包括交易發起方簽名,還可以包括交易發起方公開金鑰。對交易發起方簽名資料的驗證可以包括交易發起方簽名驗證過程,還可以包括交易發起方公開金鑰驗證過程。對交易發起方簽名資料的驗證過程將在下文參照圖6和圖7進行說明。
當交易發起方資料驗證通過時,在塊506,判斷驗證通過方資訊集是否包括預定數量的指定確認方資訊。當交易發起方資料驗證通過且驗證通過確認方資訊集包括預定數量的指定確認方資訊時,在塊508,確定待驗證交易資料驗證通過,否則在塊510,確定待驗證交易未通過驗證,對應交易失敗。
圖6是根據本公開的一個實施例的交易驗證方法中的交易發起方簽名資料驗證過程的一個示例的流程圖。在該示例中,交易發起方簽名資料包括交易發起方公開金鑰和交易發起方簽名。
如圖6所示,在塊602,利用交易發起方簽名資料中的交易發起方公開金鑰對交易發起方簽名進行解密以得到交易發起方簽名中的交易資訊。然後在塊604,判斷解密得到的交易資訊是否與待驗證交易資料中的交易資訊明文一致。在一個示例中,可以對解密得到的交易資訊和交易資訊明文分別進行雜湊運算以得到雜湊值,然後比較二者的雜湊值是否一致。
當從交易發起方簽名中解密得到的交易資訊與待驗證交易資料中的交易資訊明文一致時,在塊606,基於交易資訊明文中的交易發起方帳號,獲取區塊鏈系統中的交易發起方公開金鑰。在各個交易方參與到區塊鏈網路中時,該交易方的公開金鑰會發送到區塊鏈系統中並進行儲存。因而,可以從交易資訊明文中獲取交易發起方的帳號,然後可根據交易發起方帳號從區塊鏈系統中獲取相應的交易發起方公開金鑰。以基於乙太坊實現的區塊鏈系統為例,可以從區塊鏈的世界狀態中獲取交易發起方公開金鑰。
然後,在塊608,判斷從區塊鏈系統中獲取的交易發起方公開金鑰是否與交易發起方簽名中的交易發起方公開金鑰一致。當二者一致時,表明交易發起方是該交易發起方公開金鑰的合法使用者,因而在塊610,確定交易發起方簽名資料驗證通過。如果二者不一致,則表明交易發起方不是該交易發起方公開金鑰的合法使用者,因而在塊612,確認交易發起方簽名資料驗證不通過,對應交易失敗。
圖6中的各個過程可以以其它順序進行排列組合。例如,可以在確認區塊鏈系統中的交易發起方公開金鑰與交易發起方簽名資料中的交易發起方簽名資料一致時,利用被確定為一致的交易發起方公開金鑰來驗證交易發起方簽名。
圖7是根據本公開的一個實施例的交易驗證方法中的交易發起方簽名資料驗證過程的另一示例的流程圖。在該示例中,交易發起方簽名資料包括交易發起方簽名。
如圖7所示,在塊702,基於交易資訊明文中的交易發起方帳號,獲取區塊鏈系統中的交易發起方公開金鑰。
在獲取到交易發起方公開金鑰後,在塊704,利用所獲取到的交易發起方公開金鑰,對交易發起方簽名進行解密以得到交易發起方簽名中的交易資訊。然後在塊706,判斷解密得到的交易資訊是否與待驗證交易資料中的交易資訊明文一致。當二者一致時,表明交易發起方是該交易發起方公開金鑰的合法使用者,在塊708,確定交易發起方簽名資料驗證通過。如果二者不一致,則表明交易發起方不是該交易發起方公開金鑰的合法使用者,在塊710,確認交易發起方簽名資料驗證不通過,對應交易失敗。
圖8是根據本公開的一個實施例的交易驗證方法中的確認方簽名驗證過程的一個示例的流程圖。在該示例中,確認方簽名資料包括確認方公開金鑰。
如圖8所示,在塊802,利用該確認方簽名資料中的確認方公開金鑰,對該確認方簽名資料中的確認方簽名進行解密以得到確認方簽名中的交易資訊。
然後,在塊804,判斷從確認方簽名中解密得到的交易資訊是否與待驗證交易資料中的交易資訊明文一致。在一個示例中,可以對二者進行雜湊運算後比較二者的雜湊值是否一致。
當二者一致時,在塊806,確認該確認方簽名資料驗證通過。如果二者不一致,則在塊808,確認該確認方簽名驗證不通過。在對所有確認方簽名進行驗證後,可基於驗證通過的確認方的確認方公開金鑰來生成驗證通過確認方公開金鑰集。
待驗證交易資料中的指定確認方資訊可以包括指定確認方公開金鑰。相應地,指定確認方資訊集可以是指定確認方公開金鑰集。在另一示例中,在確認方簽名資料包括確認方公開金鑰時,指定確認方資訊還可以包括指定確認方帳號。相應地,指定確認方資訊集為指定確認方帳號集。此時,可以基於指定確認方帳號集中的至少一個指定確認方帳號,獲取區塊鏈系統中的對應指定確認方公開金鑰,以獲取指定確認方公開金鑰集。
在對各個確認方簽名進行驗證之後,可以對驗證通過公開金鑰集和指定確認方公開金鑰集進行比對,以確定驗證通過確認方公開金鑰集是否包括指定確認方公開金鑰集中的預定數量的指定確認方公開金鑰。當驗證通過確認方公開金鑰集中包括預定數量的指定確認方公開金鑰時,可以確定待驗證交易資料通過驗。
指定確認方可以具有多個公開金鑰,在對交易資料進行簽名以生成確認方簽名資料時,指定確認方可以選擇取其中一個公開金鑰所對應的私密金鑰來進行簽名,並將對應的公開金鑰放入確認方簽名資料中。各個指定確認方的多個公開金鑰可以具有公開金鑰權重,指定確認方可根據業務場景決定使用權重高還是權重低的公開金鑰。在該示例中,當驗證通過確認方資訊集包括指定確認方資訊集中的預定數量的指定確定方資訊時,可以進一步確認該預定數量的指定確認方所使用的公開金鑰的公開金鑰權重之和是否不低於第二預定值。可以在該預定數量的指定確認方資訊所對應的公開金鑰權重之和不低於第二預定值時,確定待驗證資料驗證通過。
指定確認方公開金鑰的公開金鑰權重可以以索引的形式儲存在區塊鏈系統中,從而可以根據指定確認方公開金鑰來查詢對應的公開金鑰權重。在另一示例中,公開金鑰權重也可以被包括在對應的指定確認方簽名中。
在一個示例中,在待驗證交易資料通過驗證時,還可以將通過驗證的各個指定確認方的公開金鑰儲存在本地,以供智能合約執行時使用。智能合約可以根據業務場景來配置,在某些業務場景中,智能合約中可以包括需要使用指定確認方公開金鑰的規則。在儲存指定確認方公開金鑰時,可以省去智能合約執行過程中的公開金鑰查詢過程。
在另一示例中,確認方簽名資料可以包括確認方帳號。此時,可以採用圖9所示的示例來進行確認方簽名驗證。圖9是根據本公開的一個實施例的交易驗證方法中的確認方簽名驗證過程的另一示例的流程圖。
如圖9所示,在塊902,基於確認方簽名資料中的確認方帳號,獲取區塊鏈系統中的確認方公開金鑰。由於各個交易方在參與區塊鏈網路時已將公開金鑰儲存在區塊鏈系統中,因而可以基於確認方帳號獲取確認方公開金鑰。例如,可以從世界狀態中獲取確認方公開金鑰。
在獲取到確認方公開金鑰之後,在塊904,利用所獲取的確認方公開金鑰,對該確認方簽名資料中的確認方簽名進行解密以得到確認方簽名中的交易資訊。
然後,在塊906,確定從確認方簽名中解密得到的交易資訊是否與待驗證交易資料中的交易資訊明文一致。當二者一致時,表明確認方簽名合法,在塊908,確定該確認方簽名驗證通過。當二者不一致時,該確認方簽名不合法,在塊910,確定該確認方簽名驗證不通過。
在對各個確認方簽名進行驗證之後,可以基於驗證通過的確認方的確認方帳號生成驗證通過確認方帳號集。此時,待驗證交易資料中的指定確認方資訊可以包括指定確認方帳號。在獲取驗證通過確認方帳號集之後,可以對驗證通過確認方帳號集和指定確認方帳號集進行比對,以確認驗證通過確認方帳號集中是否包括預定數量的指定確認方帳號。由此,可以確認對相應交易進行確認的指定數認方數量是否達到要求。
還可以基於驗證通過的確認方的確認方公開金鑰生成驗證通過確認方公開金鑰集。相應地,待驗證交易資料中的指定確認方資訊可以包括指定確認方公開金鑰,指定確認方資訊集為指定確認方公開金鑰集。在獲取驗證通過確認方帳號集之後,可以對驗證通過確認方公開金鑰集和指定確認方公開金鑰集進行比對,以確認驗證通過確認方公開金鑰集中是否包括預定數量的指定確認方公開金鑰。
圖10是根據本公開的一個實施例的交易驗證裝置的結構方塊圖。如圖10所示,交易驗證裝置1000包括待驗證交易資料接收單元1010、確認方簽名驗證單元1020、交易發起方簽名資料驗證單元1030和待驗證資料驗證單元1040。
待驗證交易資料接收單元1010被配置為接收待驗證交易資料,待驗證交易資料包括交易資訊明文和針對交易資訊明文的至少一個確認方簽名資料,交易資訊明文包括指定確認方資訊集,指定確認方資訊集包括被指定對交易資料進行確認的至少一個指定確認方的指定確認方資訊,確認方簽名資料包括確認方簽名。
確認方簽名驗證單元1020被配置為針對所述至少一個確認方簽名資料中的確認方簽名,基於該確認方簽名資料和交易資訊明文,對該確認方簽名資料中的確認方簽名進行驗證,以獲取驗證通過確認方資訊集。交易發起方簽名資料驗證單元1030被配置為基於所述交易資訊明文和所述交易發起方簽名資料,對交易發起方簽名進行驗證。
待驗證資料驗證單元1040被配置為當驗證通過確認方資訊集包括指定確認方資訊集中的預定數量的指定確定方資訊且交易方通過驗證時,確定待驗證資料驗證通過。在另一示例中,交易驗證裝置可以不包括交易發起方簽名資料驗證單元。此時,待驗證資料驗證單元1040可以被配置為當驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定待驗證資料驗證通過。
在一個示例中,各個指定確認方可以具有指定確認方權重,待驗證資料驗證單元1040可以被配置為當驗證通過確認方資訊集包括指定確認方資訊集中的預定數量的指定確定方資訊時,以及該預定數量的指定確認方資訊所對應的指定確認方權重之和不低於第一預定值時,確定待驗證資料驗證通過。
圖11是圖10所示的交易驗證裝置中的交易發起方簽名資料驗證單元的一個示例的結構方塊圖。如圖11所示,交易發起方簽名資料驗證單元1030包括交易發起方簽名解密模組1031、公開金鑰獲取模組1032和交易發起方簽名驗證模組1033。在該示例中,交易發起方簽名資料還可以包括交易發起方公開金鑰。
交易發起方簽名解密模組1031被配置為利用交易發起方簽名資料中的交易發起方公開金鑰對交易發起方簽名進行解密以得到交易發起方簽名中的交易資訊。公開金鑰獲取模組1032被配置為基於交易資訊明文中的交易發起方帳號,獲取區塊鏈系統中的交易發起方公開金鑰。交易發起方簽名驗證模組1033被配置為當交易發起方簽名中的交易資訊與交易資訊明文一致,以及交易發起方簽名資料中交易發起方公開金鑰與區塊鏈系統中的交易發起方公開金鑰一致時,確定交易發起方簽名資料驗證通過。
圖12是圖10所示的交易驗證裝置中的交易發起方簽名資料驗證單元的另一示例的結構方塊圖。交易發起方簽名資料驗證單元1030包括公開金鑰獲取模組1034、交易發起方簽名解密模組1035和交易發起方簽名驗證模組1036。
公開金鑰獲取模組1034被配置為基於交易資訊明文中的交易發起方帳號,獲取區塊鏈系統中的交易發起方公開金鑰。交易發起方簽名解密模組1035被配置為利用所獲取到的交易發起方公開金鑰,對交易發起方簽名進行解密以得到交易發起方簽名中的交易資訊。交易發起方簽名驗證模組1036被配置為當交易發起方簽名的交易資訊與交易資訊明文一致時,確定交易發起方簽名資料驗證通過。
圖13是圖10所示的交易驗證裝置中的確認方簽名驗證單元的一個示例的結構方塊圖。如圖13所示,確認方簽名驗證單元1020包括確認方簽名解密模組1021和確認方簽名驗證模組1022。在該示例中,確認方簽名資料還可以包括確認方公開金鑰。
確認方簽名解密模組1021被配置為利用該確認方簽名資料中的確認方公開金鑰,對該確認方簽名資料中的確認方簽名進行解密以得到確認方簽名中的交易資訊。確認方簽名驗證模組1022被配置為當確認方簽名中的交易資訊與交易資訊明文一致時,確認該確認方簽名驗證通過。
在另一示例中,指定確認方資訊可以包括指定確認方帳號,驗證通過確認方資訊集包括驗證通過確認方公開金鑰集。在該示例中,交易驗證裝置還可以包括指定確認方公開金鑰集獲取單元(圖中未示出)。指定確認方公開金鑰集獲取單元被配置為基於指定確認方帳號集中的至少一個指定確認方帳號,獲取區塊鏈系統中的對應指定確認方公開金鑰,以獲取指定確認方公開金鑰集。此時,待驗證資料驗證單元被配置為當驗證通過確認方資訊集包括預定數量的指定確認方公開金鑰時,確定待驗證資料驗證通過。
在一個示例中,至少一個指定確認方的指定確認方公開金鑰可以具有公開金鑰權重,待驗證資料驗證單元可以被配置為當驗證通過確認方資訊集包括指定確認方資訊集中的預定數量的指定確定方資訊時,以及該預定數量的指定確認方資訊所對應的公開金鑰權重之和不低於第二預定值時,確定待驗證資料驗證通過。
圖14是圖10所示的交易驗證裝置中的確認方簽名簽名驗證單元的另一示例的結構方塊圖。如圖14所示,確認方簽名驗證單元1020包括確認方公開金鑰獲取模組1023、確認方簽名解密模組1024和確認方簽名驗證模組1025。在該示例中,確認方簽名資料還可以包括確認方帳號
確認方公開金鑰獲取模組1023被配置為基於所述確認方帳號,獲取區塊鏈系統中的確認方公開金鑰。確認方簽名解密模組1024被配置為利用所獲取的確認方公開金鑰,對該確認方簽名資料中的確認方簽名進行解密以得到確認方簽名中的交易資訊。確認方簽名驗證模組1025被配置為當確認方簽名中的交易資訊與交易資訊明文一致時,確認該確認方簽名驗證通過。
以上參照圖1到圖14,對根據本公開的對交易進行驗證的方法及裝置的實施例進行了描述。在以上對方法實施例的描述中所提及的細節,同樣適用於本公開的裝置的實施例。
本公開的對交易進行驗證的裝置可以採用硬體實現,也可以採用軟體或者硬體和軟體的組合來實現。本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見。
本公開的對交易進行驗證的裝置可以採用硬體實現,也可以採用軟體或者硬體和軟體的組合來實現。以軟體實現為例,作為一個邏輯意義上的裝置,是通過其所在設備的處理器將記憶體中對應的電腦程式指令讀取到記憶體中運行形成的。在本公開中,對交易進行驗證的裝置例如可以利用計算設備實現。
圖15是根據本公開的一個實施例的用於實現交易驗證方法的計算設備的結構方塊圖。如圖15所示,計算設備1500包括處理器1510、記憶體1520、記憶體1530、通信介面1540和內部匯流排1550,並且處理器1510、記憶體(例如,非易失性記憶體)1520、記憶體1530、通信介面1540經由匯流排1550連接在一起。根據一個實施例,計算設備1500可以包括至少一個處理器1510,該至少一個處理器1510執行在電腦可讀儲存媒體(即,記憶體1520)中儲存或編碼的至少一個電腦可讀指令(即,上述以軟體形式實現的元素)。
在一個實施例中,在記憶體1520中儲存電腦可執行指令,其當執行時使得至少一個處理器1510:接收待驗證交易資料,所述待驗證交易資料包括交易資訊明文和針對所述交易資訊明文的至少一個確認方簽名資料,所述交易資訊明文包括指定確認方資訊集,所述指定確認方資訊集包括被指定對所述交易資訊明文進行確認的至少一個指定確認方的指定確認方資訊,所述確認方簽名資料包括確認方簽名;針對所述至少一個確認方簽名資料中的確認方簽名,基於該確認方簽名資料和所述交易資訊明文,對該確認方簽名資料中的確認方簽名進行驗證,以獲取驗證通過確認方資訊集;以及當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定所述待驗證資料驗證通過。
應該理解,在記憶體1520中儲存的電腦可執行指令當執行時使得至少一個處理器1510進行本公開的各個實施例中以上結合圖1-15描述的各種操作和功能。
根據一個實施例,提供了一種例如非暫時性機器可讀媒體的程式產品。非暫時性機器可讀媒體可以具有指令(即,上述以軟體形式實現的元素),該指令當被機器執行時,使得機器執行本公開的各個實施例中以上結合圖1-15描述的各種操作和功能。
具體地,可以提供配有可讀儲存媒體的系統或者裝置,在該可讀儲存媒體上儲存著實現上述實施例中任一實施例的功能的軟體程式碼,且使該系統或者裝置的電腦或處理器讀出並執行儲存在該可讀儲存媒體中的指令。
在這種情況下,從可讀媒體讀取的程式碼本身可實現上述實施例中任何一項實施例的功能,因此機器可讀代碼和儲存機器可讀代碼的可讀儲存媒體構成了本發明的一部分。
可讀儲存媒體的實施例包括軟碟、硬碟、磁光碟、光碟(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁帶、非易失性儲存卡和ROM。可選擇地,可以由通信網路從伺服器電腦上或雲端上下載程式碼。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多工處理和並行處理也是可以的或者可能是有利的。
上述各流程和各系統結構圖中不是所有的步驟和單元都是必須的,可以根據實際的需要忽略某些步驟或單元。各步驟的執行順序不是固定的,可以根據需要進行確定。上述各實施例中描述的裝置結構可以是物理結構,也可以是邏輯結構,即,有些單元可能由同一物理實體實現,或者,有些單元可能分由多個物理實體實現,或者,可以由多個獨立設備中的某些部件共同實現。
在整個本說明書中使用的術語“示例性”意味著“用作示例、實例或例示”,並不意味著比其它實施例“優選”或“具有優勢”。出於提供對所描述技術的理解的目的,具體實施方式包括具體細節。然而,可以在沒有這些具體細節的情況下實施這些技術。在一些實例中,為了避免對所描述的實施例的概念造成難以理解,公知的結構和裝置以方塊圖形式示出。
以上結合附圖詳細描述了本公開的實施例的可選實施方式,但是,本公開的實施例並不限於上述實施方式中的具體細節,在本公開的實施例的技術構思範圍內,可以對本公開的實施例的技術方案進行多種簡單變型,這些簡單變型均屬於本公開的實施例的保護範圍。
本公開內容的上述描述被提供來使得本領域任何普通技術人員能夠實現或者使用本公開內容。對於本領域普通技術人員來說,對本公開內容進行的各種修改是顯而易見的,並且,也可以在不脫離本公開內容的保護範圍的情況下,將本文所定義的一般性原理應用於其它變型。因此,本公開內容並不限於本文所描述的示例和設計,而是與符合本文公開的原理和新穎性特徵的最廣範圍相一致。
100:環境
102:區塊鏈網路
104:網路
106,108:計算設備/系統
200:系統架構
202,204,206:參與方系統
212:區塊鏈網路
214:節點
216:區塊鏈
302,304,306,308,310:塊
402,404,406,408,410,412,414,416,418,420,422:塊
502,504,506,508,510:塊
602,604,606,608,610,612:塊
702,704,706,708,710:塊
802,804,806,808:塊
902,904,906,908,910:塊
1000:交易驗證裝置
1010:待驗證交易資料接收單元
1020:確認方簽名驗證單元
1021:確認方簽名解密模組
1022:確認方簽名驗證模組
1023:確認方公開金鑰獲取模組
1024:確認方簽名解密模組
1025:確認方簽名驗證模組
1030:交易發起方簽名資料驗證單元
1031:交易發起方簽名解密模組
1032:公開金鑰獲取模組
1033:交易發起方簽名驗證模組
1034:公開金鑰獲取模組
1035:交易發起方簽名解密模組
1036:交易發起方簽名驗證模組
1040:待驗證資料驗證單元
1500:計算設備
1510:處理器
1520:記憶體
1530:記憶體
1540:通信介面
1550:內部匯流排
通過參照下面的附圖,可以實現對於本公開內容的本質和優點的進一步理解。在附圖中,類似元件或特徵可以具有相同的附圖標記。附圖是用來提供對本發明實施例的進一步理解,並且構成說明書的一部分,與下面的具體實施方式一起用於解釋本公開的實施例,但並不構成對本公開的實施例的限制。在附圖中:
[圖1]示出了可用於執行根據本公開的實施例的交易驗證方法的環境的示例的示意圖;
[圖2]示出了執行根據本公開的實施例的交易驗證方法的系統架構的示例的示意圖;
[圖3]是根據本公開的一個實施例的交易驗證方法的流程圖;
[圖4]是根據本公開的一個實施例的交易驗證方法中的待驗證交易資料生成過程的示例性流程圖;
[圖5]是根據本公開的一個實施例的交易驗證方法中的交易發起方驗證過程和待驗證交易資料驗證過程的流程圖;
[圖6]是根據本公開的一個實施例的交易驗證方法中的交易發起方簽名資料驗證過程的一個示例的流程圖;
[圖7]是根據本公開的一個實施例的交易驗證方法中的交易發起方簽名資料驗證過程的另一示例的流程圖;
[圖8]是根據本公開的一個實施例的交易驗證方法中的確認方簽名驗證過程的一個示例的流程圖;
[圖9]是根據本公開的一個實施例的交易驗證方法中的確認方簽名驗證過程的另一示例的流程圖;
[圖10]是根據本公開的一個實施例的交易驗證裝置的結構方塊圖;
[圖11]是圖10所示的交易驗證裝置中的交易發起方簽名資料驗證單元的一個示例的結構方塊圖;
[圖12]是圖10所示的交易驗證裝置中的交易發起方簽名資料驗證單元的另一示例的結構方塊圖;
[圖13]是圖10所示的交易驗證裝置中的確認方簽名驗證單元的一個示例的結構方塊圖;
[圖14]是圖10所示的交易驗證裝置中的確認方簽名簽名驗證單元的另一示例的結構方塊圖;
[圖15]是根據本公開的一個實施例的用於實現交易驗證方法的計算設備的結構方塊圖。
Claims (14)
- 一種用於進行交易驗證的方法,包括:由區塊鏈系統接收待驗證交易資料,所述待驗證交易資料包括交易資訊明文和針對所述交易資訊明文的多個確認方簽名資料,其中所述多個確認方簽名資料的每個確認方簽名資料包括由各個確認方利用所述各個確認方的多個私密金鑰之一所生成的數位簽章;各確認方的各私密金鑰對應於所述確認方的公開金鑰;及各確認方的各公開金鑰包括權重,且所述確認方的各公開金鑰的權重不同於所述確認方的各其他公開金鑰的權重;所述交易資訊明文包括指定確認方資訊集,所述指定確認方資訊集包括被指定對所述交易資訊明文進行確認的至少一個指定確認方的指定確認方資訊;由所述區塊鏈系統利用對應於用來生成所述數位簽章的所述私密金鑰的所述公開金鑰驗證所述交易資料中的各數位簽章以獲取驗證通過確認方資訊集,其中所述驗證通過確認方資訊集包括已驗證通過所述數位簽章之各確認方的指定確認方資訊;針對各已驗證數位簽章確定用以驗證所述數位簽章的所述公開金鑰的權重;確定用以驗證所述數位簽章的所述公開金鑰的所述權 重之和;以及當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊且所述權重之所述和滿足預定值時,由所述區塊鏈系統確定所述待驗證資料驗證通過。
- 如請求項1所述的方法,其中,所述指定確認方資訊集針對各指定確認方指明所述指定確認方的確認方帳號;所述方法還包括利用各指定確認方的確認方帳號,從所述區塊鏈系統的區塊鏈獲取各指定確認方的公開金鑰;及當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定所述待驗證資料驗證通過包括:當所獲取的公開金鑰包括預定數量的公開金鑰時,確定所述待驗證資料驗證通過。
- 如請求項1所述的方法,其中,所述待驗證交易資料還包括針對所述交易資訊明文的交易發起方簽名資料,所述交易發起方簽名資料包括交易發起方簽名,所述方法還包括:基於所述交易資訊明文和所述交易發起方簽名資料,對所述交易發起方簽名資料進行驗證;當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定所述待驗證 資料驗證通過包括:當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊且所述交易方簽名資料通過驗證時,確定所述待驗證資料驗證通過。
- 如請求項3所述的方法,其中,所述交易發起方簽名資料還包括交易發起方公開金鑰,所述方法還包括:利用所述交易發起方公開金鑰和所述交易資訊明文,對所述交易發起方簽名進行驗證。
- 如請求項3所述的方法,其中:所述交易資訊明文包括指明交易發起方帳號的資料;基於所述交易資訊明文和所述交易發起方簽名資料,對所述交易發起方進行驗證包括:基於所述交易資訊明文中的所述交易發起方帳號,獲取所述區塊鏈系統中的交易發起方公開金鑰;及利用所述交易發起方公開金鑰和所述交易資訊明文,對所述交易發起方簽名進行驗證。
- 一種非易失性電腦可讀媒體,儲存有可被電腦系統執行的指令,用以進行包括以下之操作:由區塊鏈系統接收待驗證交易資料,所述待驗證交易資料包括交易資訊明文和針對所述交易資訊明文的多個確認方簽名資料,其中所述多個確認方簽名資料的每個確認方簽名資料包括由各個確認方利用所述各個確認方的多個私密金鑰之 一所生成的數位簽章;各確認方的各私密金鑰對應於所述確認方的公開金鑰;及各確認方的各公開金鑰包括權重,且所述確認方的各公開金鑰的權重不同於所述確認方的各其他公開金鑰的權重;所述交易資訊明文包括指定確認方資訊集,所述指定確認方資訊集包括被指定對所述交易資訊明文進行確認的至少一個指定確認方的指定確認方資訊;由所述區塊鏈系統利用對應於用來生成所述數位簽章的所述私密金鑰的所述公開金鑰驗證所述交易資料中的各數位簽章以獲取驗證通過確認方資訊集,其中所述驗證通過確認方資訊集包括已驗證通過所述數位簽章之各確認方的指定確認方資訊;針對各已驗證數位簽章確定用以驗證所述數位簽章的所述公開金鑰的權重;確定用以驗證所述數位簽章的所述公開金鑰的所述權重之和;以及當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊且所述權重之所述和滿足預定值時,由所述區塊鏈系統確定所述待驗證資料驗證通過。
- 如請求項6所述的非易失性電腦可讀媒體,其中,所述指定確認方資訊集針對各指定確認方指明 所述指定確認方的確認方帳號;所述操作還包括利用各指定確認方的確認方帳號,從所述區塊鏈系統的區塊鏈獲取各指定確認方的公開金鑰;及當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定所述待驗證資料驗證通過包括:當所獲取的公開金鑰包括預定數量的公開金鑰時,確定所述待驗證資料驗證通過。
- 如請求項6所述的非易失性電腦可讀媒體,其中,所述待驗證交易資料還包括針對所述交易資訊明文的交易發起方簽名資料,所述交易發起方簽名資料包括交易發起方簽名,所述操作還包括:基於所述交易資訊明文和所述交易發起方簽名資料,對所述交易發起方簽名資料進行驗證;當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定所述待驗證資料驗證通過包括:當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊且所述交易方簽名資料通過驗證時,確定所述待驗證資料驗證通過。
- 如請求項8所述的非易失性電腦可讀媒體,其中,所述交易發起方簽名資料還包括交易發起方公開金鑰,所述操作還包括: 利用所述交易發起方公開金鑰和所述交易資訊明文,對所述交易發起方簽名進行驗證。
- 一種電腦實施的系統,包括:一個或多個電腦;及一個或多個電腦記憶體裝置,其係與所述一個或多個電腦可互操作地耦合且具有非易失性電腦可讀媒體,所述非易失性電腦可讀媒體儲存一個或多個指令,當被所述一個或多個電腦執行時所述一個或多個指令進行包括以下之操作:由區塊鏈系統接收待驗證交易資料,所述待驗證交易資料包括交易資訊明文和針對所述交易資訊明文的多個確認方簽名資料,其中所述多個確認方簽名資料的每個確認方簽名資料包括由各個確認方利用所述各個確認方的多個私密金鑰之一所生成的數位簽章;各確認方的各私密金鑰對應於所述確認方的公開金鑰;及各確認方的各公開金鑰包括權重,且所述確認方的各公開金鑰的權重不同於所述確認方的各其他公開金鑰的權重;所述交易資訊明文包括指定確認方資訊集,所述指定確認方資訊集包括被指定對所述交易資訊明文進行確認的至少一個指定確認方的指定確認方資訊;由所述區塊鏈系統利用對應於用來生成所述數位簽章 的所述私密金鑰的所述公開金鑰驗證所述交易資料中的各數位簽章以獲取驗證通過確認方資訊集,其中所述驗證通過確認方資訊集包括已驗證通過所述數位簽章之各確認方的指定確認方資訊;針對各已驗證數位簽章確定用以驗證所述數位簽章的所述公開金鑰的權重;確定用以驗證所述數位簽章的所述公開金鑰的所述權重之和;以及當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊且所述權重之所述和滿足預定值時,由所述區塊鏈系統確定所述待驗證資料驗證通過。
- 如請求項10所述之電腦實施的系統,其中,所述指定確認方資訊集針對各指定確認方指明所述指定確認方的確認方帳號;所述操作還包括利用各指定確認方的確認方帳號,從所述區塊鏈系統的區塊鏈獲取各指定確認方的公開金鑰;及當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定所述待驗證資料驗證通過包括:當所獲取的公開金鑰包括預定數量的公開金鑰時,確定所述待驗證資料驗證通過。
- 如請求項10所述之電腦實施的系統,其 中,所述待驗證交易資料還包括針對所述交易資訊明文的交易發起方簽名資料,所述交易發起方簽名資料包括交易發起方簽名,所述操作還包括:基於所述交易資訊明文和所述交易發起方簽名資料,對所述交易發起方簽名資料進行驗證;當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊時,確定所述待驗證資料驗證通過包括:當所述驗證通過確認方資訊集包括所述指定確認方資訊集中的預定數量的指定確定方資訊且所述交易方簽名資料通過驗證時,確定所述待驗證資料驗證通過。
- 如請求項12所述之電腦實施的系統,其中,所述交易發起方簽名資料還包括交易發起方公開金鑰,所述操作還包括:利用所述交易發起方公開金鑰和所述交易資訊明文,對所述交易發起方簽名進行驗證。
- 如請求項12所述之電腦實施的系統,其中:所述交易資訊明文包括指明交易發起方帳號的資料;基於所述交易資訊明文和所述交易發起方簽名資料,對所述交易發起方進行驗證包括:基於所述交易資訊明文中的所述交易發起方帳號,獲取所述區塊鏈系統中的交易發起方公開金鑰;及利用所述交易發起方公開金鑰和所述交易資訊明 文,對所述交易發起方簽名進行驗證。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910630854.0A CN110458560B (zh) | 2019-07-12 | 2019-07-12 | 用于进行交易验证的方法及装置 |
CN201910630854.0 | 2019-07-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202103079A TW202103079A (zh) | 2021-01-16 |
TWI740378B true TWI740378B (zh) | 2021-09-21 |
Family
ID=68481117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109104859A TWI740378B (zh) | 2019-07-12 | 2020-02-15 | 用於進行交易驗證的方法及裝置 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110458560B (zh) |
TW (1) | TWI740378B (zh) |
WO (1) | WO2021008117A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI817863B (zh) * | 2022-12-09 | 2023-10-01 | 臺灣網路認證股份有限公司 | 區塊鏈合約交易的驗證系統及其方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110458560B (zh) * | 2019-07-12 | 2021-10-12 | 创新先进技术有限公司 | 用于进行交易验证的方法及装置 |
US10951417B2 (en) | 2019-07-12 | 2021-03-16 | Advanced New Technologies Co., Ltd. | Blockchain-based transaction verification |
CN110942292B (zh) * | 2019-11-21 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 一种用户信息处理方法、装置、电子设备以及存储介质 |
CN111080292B (zh) * | 2019-11-25 | 2021-09-10 | 支付宝(杭州)信息技术有限公司 | 用于获取区块链交易签名数据的方法及装置 |
CN111242617B (zh) * | 2020-01-02 | 2022-05-10 | 支付宝(杭州)信息技术有限公司 | 用于执行交易正确性验证的方法及装置 |
CN111200741B (zh) * | 2020-04-02 | 2022-04-15 | 上海商魁信息科技有限公司 | 一种视频处理方法、装置和机器可读存储介质 |
CN111460527A (zh) * | 2020-04-28 | 2020-07-28 | 北京俩撇科技有限公司 | 一种基于区块链的电子数据交换方法、装置及区块链系统 |
GB202109064D0 (en) * | 2021-06-24 | 2021-08-11 | Nchain Licensing Ag | Computer implemented method and system |
CN113469690B (zh) * | 2021-07-23 | 2024-03-26 | 佳乔(深圳)投资有限公司 | 一种基于区块链的交易结算方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656974A (zh) * | 2016-10-17 | 2017-05-10 | 江苏通付盾科技有限公司 | 区块链的分组共识方法及系统 |
CN107330787A (zh) * | 2017-05-24 | 2017-11-07 | 智牛股权投资基金(平潭)合伙企业(有限合伙) | 一种高效安全的区块链链下高频交易支付方法、系统 |
CN109165944A (zh) * | 2018-08-21 | 2019-01-08 | 北京京东金融科技控股有限公司 | 基于区块链的多方签名认证方法、装置、设备及存储介质 |
TW201913515A (zh) * | 2017-08-24 | 2019-04-01 | 香港商阿里巴巴集團服務有限公司 | 選擇共識節點的處理方法、裝置及伺服器 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608588A (zh) * | 2016-01-04 | 2016-05-25 | 布比(北京)网络技术有限公司 | 一种溯源记录处理的方法及装置 |
CN108023729B (zh) * | 2017-10-13 | 2020-06-23 | 中国银联股份有限公司 | 区块链网络及其交易方法 |
GB2569278A (en) * | 2017-10-23 | 2019-06-19 | Cygnetise Ltd | Methods and apparatus for verifying a user transaction |
CN108596619B (zh) * | 2018-04-26 | 2022-11-01 | 深圳怡化电脑股份有限公司 | 用于区块链系统的交易方法、装置、中心节点及系统 |
CN108848148B (zh) * | 2018-06-04 | 2021-05-18 | 立旃(上海)科技有限公司 | 基于区块链的交易信息确认方法及装置 |
CN109067543B (zh) * | 2018-07-24 | 2020-04-14 | 腾讯科技(深圳)有限公司 | 数字证书管理方法、装置、计算机设备和存储介质 |
CN109936457B (zh) * | 2019-02-20 | 2022-04-26 | 深圳前海微众银行股份有限公司 | 区块链多方见证方法、装置、设备及计算机可读存储介质 |
CN110458560B (zh) * | 2019-07-12 | 2021-10-12 | 创新先进技术有限公司 | 用于进行交易验证的方法及装置 |
-
2019
- 2019-07-12 CN CN201910630854.0A patent/CN110458560B/zh active Active
-
2020
- 2020-01-13 WO PCT/CN2020/071740 patent/WO2021008117A1/zh active Application Filing
- 2020-02-15 TW TW109104859A patent/TWI740378B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656974A (zh) * | 2016-10-17 | 2017-05-10 | 江苏通付盾科技有限公司 | 区块链的分组共识方法及系统 |
CN107330787A (zh) * | 2017-05-24 | 2017-11-07 | 智牛股权投资基金(平潭)合伙企业(有限合伙) | 一种高效安全的区块链链下高频交易支付方法、系统 |
TW201913515A (zh) * | 2017-08-24 | 2019-04-01 | 香港商阿里巴巴集團服務有限公司 | 選擇共識節點的處理方法、裝置及伺服器 |
CN109165944A (zh) * | 2018-08-21 | 2019-01-08 | 北京京东金融科技控股有限公司 | 基于区块链的多方签名认证方法、装置、设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI817863B (zh) * | 2022-12-09 | 2023-10-01 | 臺灣網路認證股份有限公司 | 區塊鏈合約交易的驗證系統及其方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021008117A1 (zh) | 2021-01-21 |
TW202103079A (zh) | 2021-01-16 |
CN110458560B (zh) | 2021-10-12 |
CN110458560A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI740378B (zh) | 用於進行交易驗證的方法及裝置 | |
CN111062716B (zh) | 生成区块链签名数据的方法及装置、区块链交易发起系统 | |
US11032077B2 (en) | Blockchain-based transaction method and apparatus, and remitter device | |
US11050549B2 (en) | Blockchain-based transaction method and apparatus, and remitter device | |
WO2021184885A1 (zh) | 用于更新区块链节点处的公钥集合的方法及装置 | |
EP3639232B1 (en) | Anti-replay attack authentication protocol | |
TWI712306B (zh) | 在區塊鏈網路中的跨資產交易的方法、電腦可讀儲存媒體及系統 | |
WO2021135757A1 (zh) | 用于执行交易正确性验证的方法及装置 | |
WO2021135857A1 (zh) | 对信任节点信息进行更新的方法及装置 | |
US11126458B2 (en) | Method, apparatus, and electronic device for resource allocation based on blockchain | |
US10951417B2 (en) | Blockchain-based transaction verification | |
CN111080292B (zh) | 用于获取区块链交易签名数据的方法及装置 | |
US10904013B2 (en) | Managing blockchain-based centralized ledger systems | |
WO2021135744A1 (zh) | 用于区块链节点的数据同步方法及装置 | |
US11386426B2 (en) | Invoice invalidation method and apparatus based on blockchain, and electronic device | |
EP3808030B1 (en) | Managing blockchain-based centralized ledger systems | |
WO2021143364A1 (zh) | 获取去中心化应用集群中的交易处理状态的方法及装置 | |
WO2021135755A1 (zh) | 发送针对数据请求的应答消息的方法及装置、区块链系统 | |
WO2021114796A1 (zh) | 用于更新多层块链式结构中的信任点的方法及装置 | |
CN110827034B (zh) | 用于发起区块链交易的方法及装置 | |
CN111144894B (zh) | Utxo处理方法及装置 | |
WO2021114926A1 (zh) | 用于生成多层块链式结构的方法及装置 |