TWI715892B - 基於區塊鏈的智慧合約調用方法及裝置、電子設備 - Google Patents
基於區塊鏈的智慧合約調用方法及裝置、電子設備 Download PDFInfo
- Publication number
- TWI715892B TWI715892B TW107142059A TW107142059A TWI715892B TW I715892 B TWI715892 B TW I715892B TW 107142059 A TW107142059 A TW 107142059A TW 107142059 A TW107142059 A TW 107142059A TW I715892 B TWI715892 B TW I715892B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- target data
- smart contract
- target
- storage system
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6272—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
-
- 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/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- 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
-
- 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
Abstract
一種基於區塊鏈的智慧合約調用方法,包括:接收用於發起智慧合約調用的目標交易;其中,目標交易包括調用資料;調用資料中的至少部分資料包括儲存在與所述區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;向第三方儲存系統查詢與資料摘要對應的目標資料,並接收第三方儲存系統返回的查詢結果;查詢結果包括加密後的目標資料;獲取用於對加密後的目標資料進行解密的金鑰,基於金鑰對加密後的目標資料進行解密,並對解密後的目標資料進行內容校驗;如果目標資料校驗通過,調用智慧合約,對目標交易中的調用資料執行智慧合約計算,並在智慧合約計算執行完畢後將計算結果儲存至區塊鏈的分散式資料庫。
Description
本說明書一個或多個實施例關於區塊鏈技術領域,尤其關於一種基於區塊鏈的智慧合約調用方法及裝置、電子設備。
區塊鏈技術,也被稱之為分散式帳本技術,是一種由若干台計算設備共同參與“記帳”,共同維護一份完整的分散式資料庫的新興技術。由於區塊鏈技術具有去中心化、公開透明、每台計算設備可以參與資料庫記錄、並且各計算設備之間可以快速的進行資料同步的特性,使得區塊鏈技術已在眾多的領域中廣泛的進行應用。
本說明書提出一種基於區塊鏈的智慧合約調用方法,包括:
接收用於發起智慧合約調用的目標交易;其中,所述目標交易包括調用資料;所述調用資料中的至少部分資料包括儲存在與所述區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;
向所述第三方儲存系統查詢與所述資料摘要對應的目標資料,並接收所述第三方儲存系統返回的查詢結果;所述查詢結果包括加密後的所述目標資料;
獲取用於對加密後的所述目標資料進行解密的金鑰,基於所述金鑰對加密後的所述目標資料進行解密,並對解密後的所述目標資料進行內容校驗;
如果所述目標資料校驗通過,調用所述智慧合約,對所述目標交易中的調用資料執行智慧合約計算,並在所述智慧合約計算執行完畢後將計算結果儲存至所述區塊鏈的分散式資料庫。
可選的,所述第三方儲存系統中儲存了所述目標資料與所述目標資料的資料摘要之間的對應關係;
所述向所述第三方儲存系統查詢與所述資料摘要對應的目標資料,包括:
將所述資料摘要作為查詢索引向所述第三方儲存系統發起查詢,以查詢與所述資料摘要對應的目標資料。
可選的,所述查詢結果還包括與所述金鑰對應的金鑰中繼資料;
所述獲取用於對加密後的所述目標資料進行解密的金鑰,基於所述金鑰對加密後的所述目標資料進行解密,包括:
將所述加密後的目標資料以及所述金鑰中繼資料發送至與所述區塊鏈對接的第三方解密系統,其中所述第三方解密系統維護了金鑰與金鑰中繼資料之間的映射關係,以由所述第三方解密系統查詢所述映射關係獲取與所述金鑰中繼資料對應的金鑰,並基於獲取到的金鑰對加密後的所述目標資料進行解密;
接收所述第三方解密系統返回的解密後的目標資料。
可選的,所述對所述目標資料進行內容校驗,包括:
基於預設的摘要演算法計算所述目標資料的資料摘要;
確定計算得到的資料摘要與所述目標交易中的所述目標資料的資料摘要是否一致;
如果計算得到的資料摘要與所述目標交易中的所述目標資料的資料摘要一致,確定針對所述目標資料的校驗通過。
可選的,所述第三方儲存系統包括中心化的內容可定址儲存CAS系統;或者,分散式的CAS儲存系統。
可選的,所述區塊鏈為由若干成員區塊鏈組成的聯盟鏈中的任一成員區塊鏈。
可選的,所述第三方儲存系統為所述聯盟鏈中與所述區塊鏈存在資料跨鏈引用關係的其它成員區塊鏈。
本說明書提出一種基於區塊鏈的智慧合約調用裝置,包括:
接收模組,接收用於發起智慧合約調用的目標交易;其中,所述目標交易包括調用資料;所述調用資料中的至少部分資料包括儲存在與所述區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;
查詢模組,向所述第三方儲存系統查詢與所述資料摘要對應的目標資料,並接收所述第三方儲存系統返回的查詢結果;所述查詢結果包括加密後的所述目標資料;
解密模組,獲取用於對加密後的所述目標資料進行解密的金鑰,基於所述金鑰對加密後的所述目標資料進行解密,並對解密後的所述目標資料進行內容校驗;
調用模組,如果所述目標資料校驗通過,調用所述智慧合約,對所述目標交易中的調用資料執行智慧合約計算,並在所述智慧合約計算執行完畢後將計算結果儲存至所述區塊鏈的分散式資料庫。
可選的,所述第三方儲存系統中儲存了所述目標資料與所述目標資料的資料摘要之間的對應關係;
所述查詢模組:
將所述資料摘要作為查詢索引向所述第三方儲存系統發起查詢,以查詢與所述資料摘要對應的目標資料。
可選的,所述查詢結果還包括與所述金鑰對應的金鑰中繼資料;
所述解密模組:
將所述加密後的目標資料以及所述金鑰中繼資料發送至與所述區塊鏈對接的第三方解密系統,其中所述第三方解密系統維護了金鑰與金鑰中繼資料之間的映射關係,以由所述第三方解密系統查詢所述映射關係獲取與所述金鑰中繼資料對應的金鑰,並基於獲取到的金鑰對加密後的所述目標資料進行解密;
接收所述第三方解密系統返回的解密後的目標資料。
可選的,所述查詢模組:
基於預設的摘要演算法計算所述目標資料的資料摘要;
確定計算得到的資料摘要與所述目標交易中的所述目標資料的資料摘要是否一致;
如果計算得到的資料摘要與所述目標交易中的所述目標資料的資料摘要一致,確定針對所述目標資料的校驗通過。
可選的,所述第三方儲存系統包括中心化的內容可定址儲存CAS系統;或者,分散式的CAS儲存系統。
可選的,所述區塊鏈為由若干成員區塊鏈組成的聯盟鏈中的任一成員區塊鏈。
可選的,所述第三方儲存系統為所述聯盟鏈中與所述區塊鏈存在資料跨鏈引用關係的其它成員區塊鏈。
本說明書還提出一種電子設備,包括:
處理器;
用於儲存機器可執行指令的記憶體;
其中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的基於區塊鏈的智慧合約調用的控制邏輯對應的機器可執行指令,所述處理器被促使:
接收用於發起智慧合約調用的目標交易;其中,所述目標交易包括調用資料;所述調用資料中的至少部分資料包括儲存在與所述區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;
向所述第三方儲存系統查詢與所述資料摘要對應的目標資料,並接收所述第三方儲存系統返回的查詢結果;所述查詢結果包括加密後的所述目標資料;
獲取用於對加密後的所述目標資料進行解密的金鑰,基於所述金鑰對加密後的所述目標資料進行解密,並對解密後的所述目標資料進行內容校驗;
如果所述目標資料校驗通過,調用所述智慧合約,對所述目標交易中的調用資料執行智慧合約計算,並在所述智慧合約計算執行完畢後將計算結果儲存至所述區塊鏈的分散式資料庫。
透過以上實施例,透過在用於發起智慧合約調用的交易中攜帶儲存在第三方儲存系統中的目標資料的資料摘要,使得區塊鏈中接收到該交易的節點設備,可以基於該資料摘要向第三方儲存系統查詢對應的目標資料,對查詢到的加密後的目標資料進行解密,並對解密後的目標資料進行內容校驗,並在該目標資料校驗通過後,調用智慧合約,對該交易中的調用資料執行智慧合約計算,以及在智慧合約計算執行完畢後將計算結果儲存至區塊鏈的分散式資料庫;
一方面,實現了可以在用於發起智慧合約調用的交易中,引用與區塊鏈對接的第三方儲存系統中儲存的目標資料作為調用資料,可以避免將上述第三方儲存系統中儲存的目標資料的原始內容同步至區塊鏈中的各節點設備,而造成的在區塊鏈上的資料冗餘儲存;
另一方面,由於從上述第三方儲存系統中查詢到的與上述資料摘要對應的目標資料為加密後的資料,因此可以提升資料使用的安全等級,避免直接使用明文資料而造成的資料洩露。
在傳統的區塊鏈的智慧合約調用流程中,在調用智慧合約時所需的調用資料(即輸入給智慧合約的調用參數),通常全部來自於區塊鏈的分散式資料庫(即區塊鏈帳本)上儲存的資料內容,並不能引用外部儲存中儲存的資料內容;因此,對於區塊鏈網路中的各節點設備而言,在調用智慧合約時參與智慧合約計算的調用資料,通常全部來自於鏈上,進而形成了一種“資料使用閉環”。
而本說明書中則旨在公開一種,在調用智慧合約時引用第三方儲存平臺中儲存的不可變資料內容作為交易內容,來打破區塊鏈的“資料使用閉環”的技術方案。
在實現時,區塊鏈可以預先與第三方儲存系統對接,在第三方儲存系統中可以預先儲存若干可供在區塊鏈上部署的智慧合約引用的不可變資料內容。
而接入區塊鏈的成員用戶在發起智慧合約調用時,可以在用於發起智慧合約調用的交易中添加上述第三方儲存系統中儲存的資料內容的資料摘要,來引用上述第三方儲存系統中儲存的資料內容作為調用資料。
當區塊鏈上的節點設備收到上述成員使用者發佈的交易時,可以基於該資料摘要向上述第三方儲存系統發起查詢,來查詢與該資料摘要對應的資料內容,並對查詢到的資料內容進行內容校驗;當內容校驗通過,可以調用智慧合約,聲明智慧合約中聲明的智慧合約程式,對該交易中的完整調用資料執行智慧合約計算,並在智慧合約計算執行完畢後將計算結果儲存至區塊鏈的分散式資料庫。
在以上實施例中,透過在用於發起智慧合約調用的交易中攜帶儲存在第三方儲存系統中的目標資料的資料摘要,使得區塊鏈中接收到該交易的節點設備,可以基於該資料摘要向第三方儲存系統查詢對應的目標資料,對目標資料進行內容校驗,並在該目標資料校驗通過後,調用智慧合約,對該交易中的調用資料執行智慧合約計算,以及在智慧合約計算執行完畢後將計算結果儲存至區塊鏈的分散式資料庫,從而實現了可以在用於發起智慧合約調用的交易中,引用與區塊鏈對接的第三方儲存系統中儲存的目標資料作為調用資料,可以避免將上述第三方儲存系統中儲存的目標資料的原始內容同步至區塊鏈中的各節點設備,而造成的在區塊鏈上的資料冗餘儲存。
下面透過具體實施例並結合具體的應用場景對本說明書進行描述。
請參考圖1,圖1是本說明書一實施例提供的一種基於區塊鏈的智慧合約調用方法,應用於區塊鏈中的節點設備,執行以下步驟:
步驟102,接收用於發起智慧合約調用的目標交易;其中,所述目標交易包括調用資料;所述調用資料中的至少部分資料包括儲存在與所述區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;
步驟104,向所述第三方儲存系統查詢與所述資料摘要對應的目標資料,並對所述目標資料進行內容校驗;
步驟106,如果所述目標資料校驗通過,調用所述智慧合約,對所述目標交易中的調用資料執行智慧合約計算,並在所述智慧合約計算執行完畢後將計算結果儲存至所述區塊鏈的分散式資料庫。
在本說明書描述的區塊鏈,具體可以包括所支援的智慧合約,可以引用與區塊鏈對接的第三方儲存系統中儲存的不可變資料內容作為調用資料的任意類型的區塊鏈網路。
例如,在一個場景中,上述區塊鏈具體可以是一個由若干成員區塊鏈組成的聯盟鏈中的任一成員區塊鏈。在該聯盟鏈中,各個成員區塊鏈中支持的智慧合約,均可以跨鏈引用其它成員區塊鏈中儲存的資料內容作為調用資料。
上述第三方儲存系統,包括面向區塊鏈提供可靠的資料儲存服務的CAS(content-addressable-storage,內容可定址儲存)儲存平臺。所謂內容可定址,是指不再採用資料在儲存系統中的儲存偏移量進行定址,而是依靠資料的內容來進行定址。
在CAS儲存平臺中,可以將儲存的資料內容的資料摘要,作為原始的資料內容的查詢索引,並保存查詢索引與原始的資料內容之間的對應關係,從而資料查詢方可以透過將資料摘要作為查詢索引,從CAS儲存平臺中查詢對應的原始資料內容。
例如,在一種實施方式中,上述資料摘要具體可以是針對資料內容進行hash計算得到的hash值;資料查詢方可以將hash值作為查詢索引,從CAS儲存平臺中查詢與hash值對應的原始資料內容。
其中,在實際應用中,上述第三方儲存系統可以包括傳統的中心化的CAS(content-addressable-storage,內容可定址儲存)系統;或者,也可以包括去中心化的分散式的CAS系統;
例如,在一個場景中,上述區塊鏈具體可以是一個由若干成員區塊鏈組成的聯盟鏈中的任一成員區塊鏈。而上述第三方儲存系統,具體可以是部署在聯盟鏈中的,可以與聯盟鏈中的各成員區塊鏈對接的諸如基於OSS (Object Storage Service,物件儲存服務)架構的分散式系統。
或者,在另一個例子中,也可以將上述聯盟鏈中的除了上述區塊鏈以外的與該區塊鏈存在資料跨鏈引用關係的其它成員區塊鏈,作為與該區塊鏈對接的第三方儲存系統,來實現各成員區塊鏈之間的資料跨鏈引用。亦即,上述第三方儲存系統具體可以是一個與上述區塊鏈存在跨鏈引用關係的其它區塊鏈。以下以上述區塊鏈為由若干成員區塊鏈組成的聯盟鏈中的成員區塊鏈為例,並結合“第三方儲存系統部署”、“調用資料引用”、以及“智慧合約調用執行”幾部分,對本說明書的技術方案進行詳細說明。
1)第三方儲存系統部署
在本說明書中,營運方可以預先搭建一個由若干成員區塊鏈構成的聯盟鏈。在該聯盟鏈中,每一個成員區塊鏈都是該聯盟鏈中的一個聯盟成員。而上述區塊鏈具體可以是該聯盟鏈中的任一成員區塊鏈。
聯盟鏈的營運方,還可以在聯盟鏈中部署第三方儲存系統,與聯盟鏈中的各個成員區塊鏈進行對接,面向各成員區塊鏈提供可靠的資料儲存服務。
例如,上述第三方儲存系統可以面向各成員區塊鏈提供持續可靠的API訪問介面,使得聯盟鏈中的各個成員區塊鏈可以透過訪問該API訪問介面,與上述第三方儲存系統進行對接。
其中,在聯盟鏈中部署第三方儲存系統時,可以針對聯盟鏈部署一個全域的第三方儲存系統,也可以針對聯盟鏈中的各成員區塊鏈分別部署一個獨立的第三方儲存系統,在本說明書中不進行特別限定。
在本說明書中,上述第三方儲存系統,可以是支援內容可定址的CAS儲存系統。在實際應用中,上述第三方儲存系統可以是傳統的中心化的CAS系統,也可以是分散式的CAS系統。
其中,上述分散式的CAS系統,可以包括傳統的中心化的分散式系統,以及去中心化的分散式系統。
在示出的一種實施方式中,上述第三方儲存系統,具體可以是部署在聯盟鏈中的,可以與聯盟鏈中的各成員區塊鏈對接的諸如基於OSS架構的中心化的分散式系統。
在示出的另一種實施方式中,上述第三方儲存系統,也可以是去中心化的分散式系統。在實現時,可以將上述聯盟鏈中除了上述區塊鏈以外的與該區塊鏈存在資料跨鏈引用關係的其它成員區塊鏈,作為與該區塊鏈對接的第三方儲存系統。即聯盟鏈中的任一成員區塊鏈可以作為與另一成員區塊鏈對接的第三方儲存系統,來實現資料的跨鏈引用。
舉例而言,在一種場景下,營運方可以基於實際的業務需求來搭建聯盟鏈,並賦予聯盟鏈中的各成員區塊鏈不同的業務角色;即聯盟鏈對應一個完整的業務流程,而各成員區塊鏈可以分別對應上述完成的業務流程中的一個子流程。
例如,在一個例子中,以營運方基於“線上租房交易”這一業務需求搭建的聯盟鏈為例,組成該聯盟鏈中的各成員區塊鏈中可以包括“交易鏈”、“認證鏈”以及“資料鏈”。其中,“交易鏈”、“認證鏈”以及“資料鏈”可以分別對應“線上租房交易”這一業務流程中的一個子流程;比如,“資料鏈”用於維護租房使用者的實名資料;“認證鏈”用於完成針對用戶的租房實名認證;而“交易鏈”用於完成線上的租房交易。
然後,營運方可以基於各成員區塊鏈之間的單向的資料跨鏈引用關係,在業務層面將聯盟鏈構建成一張DAG (Directed Acyclic Graph,有向無環圖)結構的拓撲圖。
其中,需要說明的是,各成員區塊鏈之間的單向的資料跨鏈引用關係,通常取決於實際的業務需求,在本說明書中不進行特別限定。
例如,請參見圖2,圖2為一個例子中示出的DAG結構的聯盟鏈的示意圖。
如圖2所示,仍以營運方基於“線上租房”這一業務需求搭建的聯盟鏈為例,組成該聯盟鏈中的各成員區塊鏈中可以包括“交易鏈”、“認證鏈”以及“資料鏈”。其中,“資料鏈”用於維護租房使用者的實名資料,使用者可以透過在“資料鏈”上發佈交易將個人的實名資料儲存在“資料鏈”的分散式資料庫中;“認證鏈”用於引用發佈在“資料鏈”上的使用者的實名資料完成針對使用者的租房實名認證,用戶可以透過在“認證鏈”上發佈交易完成個人的實名認證,並將實名認證結果發佈在“認證鏈”的分散式資料庫;而“交易鏈”用於引用發佈在“認證鏈”上的針對用戶的實名認證結果,使用者可以透過在“交易鏈”上發佈交易完成線上租房交易,並將交易結果發佈在“認證鏈”的分散式資料庫。
透過將與上述聯盟鏈中的任一目標成員區塊鏈存在資料跨鏈引用關係的其它成員區塊鏈,作為與該目標成員區塊鏈對接的分散式儲存平臺:
一方面可以在業務層面實現各個成員區塊鏈之間的跨鏈資料引用;
另一方面,由於作為第三方儲存系統的成員區塊鏈在調用執行部署的智慧合約時,如果參與智慧合約計算的調用資料引用了第三方儲存系統中儲存的目標資料,則不再需要將上述被引用的目標資料的原始內容,同步至上述目標成員區塊鏈中的各個節點設備,而且上述目標成員區塊鏈中也不再需要儲存上述被引用的目標資料的原始內容;
因此,對於上述目標成員區塊鏈而言,不再需要對該目標成員區塊鏈中儲存的目標資料的原始內容,與作為第三方儲存系統的成員區塊鏈同步的被引用的目標資料進行額外的資料關聯,僅透過被引用的目標資料的資料摘要,就可以實現被引用的目標資料在兩個不同的區塊鏈上的資料關聯,可以保證上述目標成員區塊鏈上部署的智慧合約所引用的目標資料和作為第三方儲存系統的成員區塊鏈上儲存的上述被引用的目標資料,在業務語義上的一致性。
2)調用資料引用
在本說明書中,對於需要接入聯盟鏈的用戶,可以預先在聯盟鏈中進行用戶註冊,取得聯盟鏈返回的一對公開金鑰和私密金鑰。當註冊完成後,聯盟鏈可以為用戶創建一個對應的帳戶物件。
而對於註冊完成的用戶而言,可以透過聯盟鏈中各個成員區塊鏈提供的API介面,接入各個成員區塊鏈,透過向各個成員區塊鏈中發佈基於持有的私密金鑰簽名後的交易,調用在各個成員區塊鏈中部署的智慧合約。
比如,以圖2中示出的聯盟鏈中的“交易鏈”為例,聯盟鏈的營運方可以在該“交易鏈”中發佈用於完成線上租房核算的智慧合約,而用戶可以透過在該“交易鏈”中發佈交易,來觸發調用上述智慧合約,來完成線上的租房交易的核算。
其中,聯盟鏈的營運方在聯盟鏈上部署智慧合約的具體過程,在本說明書中不再進行詳細描述,本領域技術人員在將本說明書記載的技術方案付諸實踐時,可以參考相關技術中的記載。
例如,接入聯盟鏈的多方成員可以共同協商一份智慧合約,在智慧合約中聲明開發完成的智慧合約程式(比如可以是一些可調用的函數相關的程式碼),然後將智慧合約在聯盟鏈中進行發佈,由聯盟鏈中的節點設備進行共識處理;當共識通過後,可以將上述智慧合約收錄儲存至聯盟鏈的分散式資料庫,以完成智慧合約的部署。
在本說明書中,聯盟鏈的營運方可以面向接入聯盟鏈的成員使用者開發用戶端軟體(比如APP),而成員使用者可以透過用戶端軟體按照聯盟鏈所支援的標準的交易格式,來組裝交易資料,並透過調用各個成員區塊鏈提供的API介面,將組成的交易資料發佈至聯盟鏈中由成員使用者指定的目標成員區塊鏈中,來發起對該目標成員區塊鏈中部署的智慧合約進行調用。
其中,在成員使用者透過用戶端軟體組裝的交易資料中,可以攜帶成員使用者提供的調用資料,這些調用資料將作為輸入給智慧合約的調用參數。而在這些調用資料中,其中的至少部分調用資料,可以利用資料摘要來進行替代。
在示出的一種實施方式中,成員使用者在透過用戶端軟體來組裝需要在上述目標成員區塊鏈上執行的交易資料時,可以透過用戶端軟體來填寫該交易中需要攜帶的調用資料;而用戶端軟體可以解析成員使用者填寫的調用資料,來確定成員使用者填寫的調用資料中是否存在,已經在與上述目標成員區塊鏈對接的第三方儲存系統中儲存的資料。亦即,確定成員使用者填寫的調用資料是否引用了第三方儲存系統中儲存的資料。
如果成員使用者填寫的調用資料中存在已經在上述第三方儲存系統中儲存的資料時,可以向上述第三方儲存系統查詢這部分調用資料對應的資料摘要(即查詢索引),或者按照與上述第三方儲存系統所支援的相同的資料摘要演算法,針對這部分交易內容重新計算資料摘要,然後將該資料摘要填充到標準的交易格式中;
例如,在實現時,可以在聯盟鏈支援的標準的交易格式中,擴展出一個用於攜帶調用資料的資料摘要欄位,用戶端軟體按照標準的交易格式組裝交易資料時,可以將所有已經在上述第三方儲存系統中儲存的被引用資料的資料摘要,填充至該資料摘要欄位。
3)智慧合約的調用執行
在本說明書中,上述目標成員區塊鏈中的節點設備,在收到上述成員用戶基於私密金鑰發佈的該筆交易後,首先可以基於該用戶持有的私密金鑰對應的公開金鑰對該用戶進行身份認證;
例如,在實際應用中,用戶可以基於持有的私密金鑰對發起的交易進行簽名,區塊鏈中的節點設備可以基於該使用者持有的私密金鑰對應的公開金鑰,對簽名進行認證;如果簽名認證通過,此時針對該用戶的身份認證通過。
當身份認證通過後,該節點設備可以在上述目標成員區塊鏈中發起對該筆交易進行共識處理,並在共識通過後,將該筆交易收錄儲存至該目標成員區塊鏈的分散式資料庫。一旦該筆交易被成功收錄儲存至上述目標成員區塊鏈的分散式資料庫,後續就可以基於收錄至分散式資料庫的該筆交易,來觸發調用智慧合約,執行該智慧合約中聲明的智慧合約程式。
例如,在實現時,在智慧合約中的智慧合約程式,通常會被預設嚴格的觸發執行條件。而智慧合約定期檢查當前收錄在分散式資料庫中的交易,是否滿足了上述執行條件,並將分散式資料中儲存的滿足了上述執行條件的交易加入到一個待驗證的交易佇列中,對該交易佇列中的交易進行共識處理;如果共識通過,可以觸發執行該智慧合約中聲明的智慧合約程式。
其中,需要說明的是,上述目標成員區塊鏈中對交易進行共識處理時,所採用的共識演算法,在本說明書中不進行特別限定,各個成員區塊鏈支援的共識演算法可以相同,也可以不同。例如,對於聯盟鏈可以採用諸如PBFT等主流的共識演算法,或者也可以由聯盟鏈自主研發的共識演算法。
在本說明書中,基於上述交易來觸發調用智慧合約,執行該智慧合約中聲明的智慧合約程式時,首先智慧合約可以對上述交易中所攜帶的調用資料進行解析,以確定該交易中攜帶的調用資料中是否存在資料摘要;
例如,節點設備可以透過解析標準的交易格式中所擴展出的,用於攜帶交易內容的資料摘要欄位是否為空值,來確定該交易中攜帶的交易內容中是否存在資料摘要。
如果該交易中攜帶的調用資料中存在資料摘要,表明該交易中的部分調用資料,引用了上述第三方儲存系統中已經儲存的資料內容,在這種情況下,為了獲取該交易中攜帶的完整的調用資料,智慧合約可以向與上述目標成員區塊鏈對接的第三方儲存系統查詢與該資料摘要對應的目標資料。
在實現時,該智慧合約可以構建一個查詢請求,將上述資料摘要作為查詢索引,攜帶在該查詢請求中,然後將該查詢請求提交給上述第三方儲存系統,而上述第三方儲存系統在收到該查詢請求後,可以從該查詢請求中讀取查詢索引,然後基於該查詢索引,遍歷本機存放區的資料內容和資料摘要之間的對應關係,來查詢與上述查詢索引對應的目標資料,並將查詢到的目標資料返回給上述智慧合約。
其中,需要說明的是,由於上述第三方儲存系統,可以是與上述目標成員區塊鏈儲存跨鏈引用關係的其它成員區塊鏈,因此在這種場景下,上述智慧合約構建的查詢請求,可以向該作為第三方儲存系統的其它成員區塊鏈中的節點設備進行廣播發送。
而在實際應用中,由於其它成員區塊鏈中所採用的共識演算法上的差異,可能會導致上述智慧合約向上述其它成員區塊鏈中的各節點設備分別發送查詢請求後,可能會得到具有差異的查詢結果。
例如,區塊鏈中所採用的共識演算法,通常可以按照是否能達到分散式一致,劃分為兩類;其中,所謂分散式一致,是指通過共識演算法的共識後,區塊鏈中的各個節點設備上保存的資料完全相同。
一類是,可以確保各節點設備能夠達到分散式一致的共識演算法;比如,pbft共識演算法,由於採用容錯機制來達成共識,因此可以確保各節點設備在共識完成後保存的資料完全相同;
另一類是,無法確保各節點設備能夠達到分散式一致的共識演算法;比如,諸如pos或者pow共識演算法,由於採用了競爭記帳機制來達成共識,因此無法確保各節點設備在共識完成後保存的資料完成相同;比如,以pow共識演算法為例,透過工作量計算取得記帳許可權的節點設備,可以只保存由該節點設備提議的區塊的資料,造成各個節點設備本機存放區的區塊資料可能會存在差異。
因此,一旦上述作為第三方儲存系統的其它成員區塊鏈採用的共識演算法為以上示出的第二類共識演算法,就可能出現上述智慧合約在向上述其它成員區塊鏈中的各節點設備分別發送查詢請求後,可能會出現部分的節點設備在本地未查找到相關的資料,而其它的節點設備在其本地查找到了相關的資料的情況。
在一種場景下,如果作為上述作為第三方儲存系統的其它成員區塊鏈採用的共識演算法為以上示出的第一類共識演算法,上述智慧合約可以透過一個也支援這類共識演算法的查詢用戶端,向上述其它成員區塊鏈進行資料查詢,來取得一致性的查詢結果;
例如,以pbft共識演算法為例,假設上述作為第三方儲存系統的其它成員區塊鏈中的節點設備的數量為3f+1,上述智慧合約在透過上述查詢用戶端將查詢請求分別發送至上述其它成員區塊鏈中的節點設備之後,如果收到了其中f+1個節點設備返回了相同的查詢結果,即可以認為該查詢結果為最終的查詢結果。
在一種場景下,如果作為上述作為第三方儲存系統的其它成員區塊鏈採用的共識演算法為以上示出的第二類共識演算法,則需要在上述其它成員區塊鏈上指定一個穩定可靠的節點設備作為查詢節點,上述智慧合約可以將查詢請求發送給該查詢節點,從該查詢節點本地保存的資料中來查找相關的資料。
亦即,在這種場景下,可以認為該查詢節點本地保存的資料,為面向資料引用方的一致性結果,只有該查詢節點本地保存的資料,可以作為被部署在其它成員區塊鏈上的智慧合約進行引用。
其中,需要說明的是,在實際應用中,在上述查詢請求中除了可以攜帶作為查詢索引的資料摘要以外,為了便於快速的查詢到與資料摘要對應的目標資料,在該查詢請求中還可以攜帶一些輔助查詢參數;
例如,以與上述目標成員區塊鏈對接的第三方儲存系統,為上述聯盟鏈中與該目標成員區塊鏈儲存資料跨鏈引用關係的其它成員區塊鏈為例,在這種情況下,由於作為第三方儲存系統的其它成員區塊鏈中所保存的被引用的資料內容以及對應的資料摘要,通常已經以區塊的形式被儲存在區塊鏈的分散式資料庫中;因此,為了方便查詢,在上述查詢請求中,還可以攜帶上述資料摘要所在的成員區塊鏈的編號、區塊號等等作為輔助查詢參數。
在本說明書中,為了提升資料儲存安全,上述第三方儲存系統上儲存的資料可以基於預設的加密演算法預先進行加密處理;其中,對資料進行加密的方式,在本說明書中不進行特別限定,可以採用傳統的對稱加密,或者也可以採用非對稱加密。亦即,在本說明書中,對上述目標資料進行加密時所使用的加密金鑰和解密金鑰,可以是同一個金鑰,也可以不同的金鑰。
在這種情況下,上述第三方儲存系統在收到上述智慧合約發送的查詢請求後,可以將加密後的上述目標資料作為查詢結果返回給上述智慧合約,由上述智慧合約對加密後的上述目標資料進行解密處理,來獲取上述目標資料的明文內容。
在示出的一種實施方式中,對加密後的上述目標資料進行解密處理,具體可以透過與上述聯盟鏈對接的一個獨立的第三方解密系統來完成;
透過一個與上述聯盟鏈對接的獨立的第三方解密系統,來完成對上述第三方儲存系統中儲存的加密後的資料進行解密,使得解密資料所需的金鑰,可以在一個獨立的解密系統中單獨來進行維護,更容易對金鑰進行集中式管理,因而可以提升資料使用安全。
其中,需要說明的是,上述第三方解密系統,可以是一個中心化系統,也可以是一個分散式系統,在本說明書中不進行特別限定;
例如,上述第三方解密系統具體可以是基於一台與上述聯盟鏈對接的獨立的解密設備搭建的中心化系統,也可以是由若干台設備構成的設備集群搭建的分散式系統;比如,在一個例子中,上述第三方解密系統,也可以是上述聯盟鏈中的一個負責對上述第三方儲存系統中儲存的加密資料進行解密處理的成員區塊鏈。
在示出的一種實施方式中,上述第三方儲存系統中返回的查詢結果中,除了可以包含加密後的上述目標資料以外,還可以攜帶對上述目標資料進行加密時所使用的金鑰相關的金鑰中繼資料。其中,上述金鑰中繼資料具體是指加密資料時所使用的金鑰相關的描述資訊,
而在上述第三方解密系統中,可以預先維護金鑰與金鑰中繼資料之間的映射關係。上述智慧合約在發起對加密後的上述目標資料的解密時,可以將加密後的上述目標資料以及上述金鑰中繼資料進一步發送至上述第三方解密系統。
上述第三方解密系統在收到加密後的上述目標資料以及金鑰中繼資料後,首先可以查詢上述映射關係,來獲取與上述金鑰中繼資料對應的金鑰,然後基於獲取到的金鑰以及與上述加密演算法對應的解密演算法對加密後的上述目標資料進行解密處理,得到上述目標資料的明文內容。
當完成對加密後的上述目標資料的解密操作,上述第三方解密系統可以將解密後得到的上述目標資料的明文內容,返回給上述智慧合約。
當然,在實際應用中,對上述第三方儲存系統中儲存的加密後的資料進行解密的過程,也可以由上述智慧合約來獨立的完成;比如,還可以在上述智慧合約聲明相關的解密程式,進而智慧合約可以直接調用聲明的解密程式,對從第三方儲存系統查詢到的加密後的目標資料進行解密,對此在本說明書中不進行特別限定。
在本說明書中,當上述智慧合約從與上述目標成員區塊鏈對接的第三方儲存系統查詢到與接收到的交易中所攜帶的資料摘要對應的加密後的目標資料,並透過以上描述的解密過程進行解密獲得上述目標資料的明文內容後,可以發起調用上述智慧合約,執行該智慧合約中聲明的智慧合約程式,對該交易中所攜帶的完整的調用資料,進行智慧合約計算。首先,上述智慧合約可以針對查詢到的該目標資料進行內容校驗,以確保查詢到的目標資料,與上述交易中攜帶的資料摘要對應的資料內容是否一致。
在實現時,上述智慧合約可以重新計算查詢到的該目標資料的資料摘要,然後將重新計算得到的資料摘要,與接收到的上述交易中攜帶的資料摘要進行匹配,以確定重新計算得到的資料摘要,與接收到的上述交易中攜帶的資料摘要是否一致;
如果二者一致,此時針對查詢到的該目標資料的內容校驗通過,該交易為有效交易,智慧合約可以獲取該交易中攜帶的完整的調用資料,然後將該完成的調用參數作為上述智慧合約中聲明的智慧合約程式的輸入參數,輸入至上述智慧合約程式中進行智慧合約計算。
反之,如果二者不一致,此時針對查詢到的該目標資料的內容校驗不通過,在這種情況下,儲存在上述第三方儲存系統中的原始的被引用的目標資料,可能由於系統的不可靠性發生了修改更新,此時該交易為無效交易,此時可以直接終止針對上述智慧合約的調用過程。
其中,需要說明的是,上述智慧合約重新計算查詢到的該目標資料的資料摘要時,該目標資料的資料結構、對該目標資料執行的編碼方式、以及所採用的摘要演算法,均需要與上述第三方儲存系統保持一致,以確保該節點設備和上述第三方儲存系統在針對相同的目標資料進行資料摘要計算時,能夠得到相同的計算結果。
在本說明書中,當智慧合約將上述交易中攜帶的完整的調用資料作為輸入參數,輸入至上述智慧合約中聲明的智慧合約程式中完成智慧合約計算之後,此時該筆交易執行完畢,可以進一步將該智慧合約計算的計算結果(即該筆交易的執行結果),在該目標成員區塊鏈的分散式資料庫中進行儲存。
其中,區塊鏈的分散式資料庫所記錄的資訊通常包括交易log以及交易state組成。
交易log,用於儲存交易日誌,由一個個區塊(block)按照發生順序串聯而成,是分散式資料庫中的交易記錄;上述交易在共識通過後,可以收錄儲存至交易log中相應的區塊中。
交易state,用於儲存分散式資料庫中記錄的交易在執行完畢後所導致的狀態變化;例如,區塊鏈通常由很多小的物件組成(比如帳戶物件、合約物件以及資產物件等等),每在區塊鏈的分散式資料庫中收錄一筆交易,該筆交易在執行完畢後,與該交易相關的狀態都會同步的發生更新;比如,以在區塊鏈中提交的線上轉帳交易為例,該筆交易透過調用相關的智慧合約執行完畢後,與本次轉帳相關的帳戶物件的餘額會同步的發生更新。
在這種情況下,當上述智慧合約完成針對上述交易中攜帶的完整的調用資料的智慧合約計算後,可以進一步將上述智慧合約計算的計算結果,在上述交易state中進行儲存,對該筆交易所導致的相關物件的狀態變化進行更新;比如,仍以在區塊鏈中提交的線上轉帳交易為例,當上述智慧合約完成針對上述交易中攜帶的完整的調用資料的智慧合約計算後,可以在交易state中對與本次轉帳相關的帳戶物件的餘額進行更新。
在以上實施例中,透過在用於發起智慧合約調用的交易中攜帶儲存在第三方儲存系統中的目標資料的資料摘要,使得區塊鏈中接收到該交易的節點設備,可以基於該資料摘要向第三方儲存系統查詢對應的目標資料,對查詢到的加密後的目標資料進行解密,並對解密後的目標資料進行內容校驗,並在該目標資料校驗通過後,調用智慧合約,對該交易中的調用資料執行智慧合約計算,以及在智慧合約計算執行完畢後將計算結果儲存至區塊鏈的分散式資料庫;
一方面,實現了可以在用於發起智慧合約調用的交易中,引用與區塊鏈對接的第三方儲存系統中儲存的目標資料作為調用資料,可以避免將上述第三方儲存系統中儲存的目標資料的原始內容同步至區塊鏈中的各節點設備,而造成的在區塊鏈上的資料冗餘儲存;
例如,以與目標區塊鏈對接的第三方儲存系統為與該區塊鏈存在資料跨鏈引用關係的其它區塊鏈為例,假設該其它區塊鏈包括5個節點設備,而該目標區塊鏈包括50個節點設備;如果仍然採用將該其它區塊鏈中儲存的被引用資料內容同步至該目標區塊鏈的方式,則需要將該被引用資料內容同步分別同步至該目標區塊鏈中的50個節點,從而造成該被引用資料內容在該目標區塊鏈中的大量冗餘;而如果該目標區塊鏈僅儲存上述被引用資料內容的資料摘要,那麼對於上述其它區塊鏈而言,則不再需要將上述被引用資料內容分別向上述50個節點設備分別進行同步,從而可以顯著降低上述目標區塊鏈的資料儲存冗餘。
另一方面,由於從上述第三方儲存系統中查詢到的與上述資料摘要對應的目標資料為加密後的資料,因此可以提升資料使用的安全等級,避免直接使用明文資料而造成的資料洩露。
與上述方法實施例相對應,本說明書還提供了一種基於區塊鏈的智慧合約調用裝置的實施例。本說明書的基於區塊鏈的智慧合約調用裝置的實施例可以應用在電子設備上。裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在電子設備的處理器將非易失性記憶體中對應的電腦程式指令讀取到記憶體中運行形成的。從硬體層面而言,如圖3所示,為本說明書的基於區塊鏈的智慧合約調用裝置所在電子設備的一種硬體結構圖,除了圖3所示的處理器、記憶體、網路介面、以及非易失性記憶體之外,實施例中裝置所在的電子設備通常根據該電子設備的實際功能,還可以包括其他硬體,對此不再贅述。
圖4是本說明書一示例性實施例示出的一種基於區塊鏈的智慧合約調用裝置的框圖。
請參考圖4,所述基於區塊鏈的智慧合約調用裝置30可以應用在前述圖2所示的電子設備中,包括有:接收模組401、查詢模組402和解密模組403。
接收模組401,接收用於發起智慧合約調用的目標交易;其中,所述目標交易包括調用資料;所述調用資料中的至少部分資料包括儲存在與所述區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;
查詢模組402,向所述第三方儲存系統查詢與所述資料摘要對應的目標資料,並接收所述第三方儲存系統返回的查詢結果;所述查詢結果包括加密後的所述目標資料;
解密模組403,獲取用於對加密後的所述目標資料進行解密的金鑰,基於所述金鑰對加密後的所述目標資料進行解密,並對解密後的所述目標資料進行內容校驗;
調用模組404,如果所述目標資料校驗通過,調用所述智慧合約,對所述目標交易中的調用資料執行智慧合約計算,並在所述智慧合約計算執行完畢後將計算結果儲存至所述區塊鏈的分散式資料庫。
在本說明書還提出,所述第三方儲存系統中儲存了所述目標資料與所述目標資料的資料摘要之間的對應關係;
所述查詢模組402:
將所述資料摘要作為查詢索引向所述第三方儲存系統發起查詢,以查詢與所述資料摘要對應的目標資料。
在本實施例中,所述查詢結果還包括與所述金鑰對應的金鑰中繼資料;
所述解密模組403:
將所述加密後的目標資料以及所述金鑰中繼資料發送至與所述區塊鏈對接的第三方解密系統,其中所述第三方解密系統維護了金鑰與金鑰中繼資料之間的映射關係,以由所述第三方解密系統查詢所述映射關係獲取與所述金鑰中繼資料對應的金鑰,並基於獲取到的金鑰對加密後的所述目標資料進行解密;
接收所述第三方解密系統返回的解密後的目標資料。
在本實施例中,所述查詢模組:
基於預設的摘要演算法計算所述目標資料的資料摘要;
確定計算得到的資料摘要與所述目標交易中的所述目標資料的資料摘要是否一致;
如果計算得到的資料摘要與所述目標交易中的所述目標資料的資料摘要一致,確定針對所述目標資料的校驗通過。
在本實施例中,所述第三方儲存系統包括中心化的內容可定址儲存CAS系統;或者,分散式的CAS儲存系統。
在本實施例中,所述區塊鏈為由若干成員區塊鏈組成的聯盟鏈中的任一成員區塊鏈。
在本實施例中,所述第三方儲存系統為所述聯盟鏈中與所述區塊鏈存在資料跨鏈引用關係的其它成員區塊鏈。
上述裝置中各個模組的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。
對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的模組可以是或者也可以不是物理上分開的,作為模組顯示的部件可以是或者也可以不是物理模組,即可以位於一個地方,或者也可以分佈到多個網路模組上。可以根據實際的需要選擇其中的部分或者全部模組來實現本說明書方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
上述實施例闡明的系統、裝置、模組或模組,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、蜂窩電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
與上述方法實施例相對應,本說明書還提供了一種電子設備的實施例。該電子設備包括:處理器以及用於儲存機器可執行指令的記憶體;其中,處理器和記憶體通常透過內部匯流排相互連接。在其他可能的實現方式中,所述設備還可能包括外部介面,以能夠與其他設備或者部件進行通信。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的智慧合約調用的控制邏輯對應的機器可執行指令,所述處理器被促使:
接收用於發起智慧合約調用的目標交易;其中,所述目標交易包括調用資料;所述調用資料中的至少部分資料包括儲存在與所述區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;
向所述第三方儲存系統查詢與所述資料摘要對應的目標資料,並接收所述第三方儲存系統返回的查詢結果;所述查詢結果包括加密後的所述目標資料;
獲取用於對加密後的所述目標資料進行解密的金鑰,基於所述金鑰對加密後的所述目標資料進行解密,並對解密後的所述目標資料進行內容校驗;
如果所述目標資料校驗通過,調用所述智慧合約,對所述目標交易中的調用資料執行智慧合約計算,並在所述智慧合約計算執行完畢後將計算結果儲存至所述區塊鏈的分散式資料庫。
在本實施例中,所述第三方儲存系統中儲存了所述目標資料與所述目標資料的資料摘要之間的對應關係;
透過讀取並執行所述記憶體儲存的與基於區塊鏈的智慧合約調用的控制邏輯對應的機器可執行指令,所述處理器被促使:
將所述資料摘要作為查詢索引向所述第三方儲存系統發起查詢,以查詢與所述資料摘要對應的目標資料。
在本實施例中,所述查詢結果還包括與所述金鑰對應的金鑰中繼資料;
透過讀取並執行所述記憶體儲存的與基於區塊鏈的智慧合約調用的控制邏輯對應的機器可執行指令,所述處理器被促使:
將所述加密後的目標資料以及所述金鑰中繼資料發送至與所述區塊鏈對接的第三方解密系統,其中所述第三方解密系統維護了金鑰與金鑰中繼資料之間的映射關係,以由所述第三方解密系統查詢所述映射關係獲取與所述金鑰中繼資料對應的金鑰,並基於獲取到的金鑰對加密後的所述目標資料進行解密;
接收所述第三方解密系統返回的解密後的目標資料。
在本實施例中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的智慧合約調用的控制邏輯對應的機器可執行指令,所述處理器被促使:
基於預設的摘要演算法計算所述目標資料的資料摘要;
確定計算得到的資料摘要與所述目標交易中的所述目標資料的資料摘要是否一致;
如果計算得到的資料摘要與所述目標交易中的所述目標資料的資料摘要一致,確定針對所述目標資料的校驗通過。
本領域技術人員在考慮說明書及實踐這裡公開的發明後,將容易想到本說明書的其它實施方案。本說明書旨在涵蓋本說明書的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本說明書的一般性原理並包括本說明書未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本說明書的真正範圍和精神由下面的申請專利範圍指出。
應當理解的是,本說明書並不局限於上面已經描述並在附圖中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本說明書的範圍僅由所附的申請專利範圍來限制。
以上所述僅為本說明書的較佳實施例而已,並不用以限制本說明書,凡在本說明書的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書保護的範圍之內。
30‧‧‧基於區塊鏈的智慧合約調用裝置
401‧‧‧接收模組
402‧‧‧查詢模組
403‧‧‧解密模組
404‧‧‧調用模組
圖1是一示例性實施例提供的一種基於區塊鏈的智慧合約調用方法的流程圖。
圖2是一示例性實施例提供的一種聯盟鏈的結構示意圖。
圖3是一示例性實施例提供的一種電子設備的結構示意圖。
圖4是一示例性實施例提供的一種基於區塊鏈的智慧合約調用裝置的框圖。
Claims (13)
- 一種基於區塊鏈的智慧合約調用方法,包括:接收用於發起智慧合約調用的目標交易;其中,該目標交易包括調用資料;該調用資料中的至少部分資料包括儲存在與該區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;向該第三方儲存系統查詢與該資料摘要對應的目標資料,並接收該第三方儲存系統返回的查詢結果;該查詢結果包括加密後的該目標資料;獲取用於對加密後的該目標資料進行解密的金鑰,基於該金鑰對加密後的該目標資料進行解密,並對解密後的該目標資料進行內容校驗;如果該目標資料校驗通過,調用該智慧合約,對該目標交易中的調用資料執行智慧合約計算,並在該智慧合約計算執行完畢後將計算結果儲存至該區塊鏈的分散式資料庫,其中,該第三方儲存系統中儲存了該目標資料與該目標資料的資料摘要之間的對應關係;所述向該第三方儲存系統查詢與該資料摘要對應的目標資料,包括:將該資料摘要作為查詢索引向該第三方儲存系統發起查詢,以查詢與該資料摘要對應的目標資料。
- 一種基於區塊鏈的智慧合約調用方法,包括:接收用於發起智慧合約調用的目標交易;其中,該目標交易包括調用資料;該調用資料中的至少部分資料包括儲存在與該區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;向該第三方儲存系統查詢與該資料摘要對應的目標資料,並接收該第三方儲存系統返回的查詢結果;該查詢結果包括加密後的該目標資料;獲取用於對加密後的該目標資料進行解密的金鑰,基於該金鑰對加密後的該目標資料進行解密,並對解密後的該目標資料進行內容校驗;如果該目標資料校驗通過,調用該智慧合約,對該目標交易中的調用資料執行智慧合約計算,並在該智慧合約計算執行完畢後將計算結果儲存至該區塊鏈的分散式資料庫,其中,該查詢結果還包括與該金鑰對應的金鑰中繼資料;所述獲取用於對加密後的該目標資料進行解密的金鑰,基於該金鑰對加密後的該目標資料進行解密,包括:將所述加密後的目標資料以及該金鑰中繼資料發送至與該區塊鏈對接的第三方解密系統,其中該第三方解密系統維護了金鑰與金鑰中繼資料之間的映射關係,以由該第三方解密系統查詢該映射關係獲取與該金鑰中繼資料對應的金鑰,並基於獲取到的金鑰對加密後的該目標資料進行解密; 接收該第三方解密系統返回的解密後的目標資料。
- 一種基於區塊鏈的智慧合約調用方法,包括:接收用於發起智慧合約調用的目標交易;其中,該目標交易包括調用資料;該調用資料中的至少部分資料包括儲存在與該區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;向該第三方儲存系統查詢與該資料摘要對應的目標資料,並接收該第三方儲存系統返回的查詢結果;該查詢結果包括加密後的該目標資料;獲取用於對加密後的該目標資料進行解密的金鑰,基於該金鑰對加密後的該目標資料進行解密,並對解密後的該目標資料進行內容校驗;如果該目標資料校驗通過,調用該智慧合約,對該目標交易中的調用資料執行智慧合約計算,並在該智慧合約計算執行完畢後將計算結果儲存至該區塊鏈的分散式資料庫,其中,所述對該目標資料進行內容校驗,包括:基於預設的摘要演算法計算該目標資料的資料摘要;確定計算得到的資料摘要與該目標交易中的該目標資料的資料摘要是否一致;如果計算得到的資料摘要與該目標交易中的該目標資料的資料摘要一致,確定針對該目標資料的校驗通過。
- 一種基於區塊鏈的智慧合約調用方法,包括: 接收用於發起智慧合約調用的目標交易;其中,該目標交易包括調用資料;該調用資料中的至少部分資料包括儲存在與該區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;向該第三方儲存系統查詢與該資料摘要對應的目標資料,並接收該第三方儲存系統返回的查詢結果;該查詢結果包括加密後的該目標資料;獲取用於對加密後的該目標資料進行解密的金鑰,基於該金鑰對加密後的該目標資料進行解密,並對解密後的該目標資料進行內容校驗;如果該目標資料校驗通過,調用該智慧合約,對該目標交易中的調用資料執行智慧合約計算,並在該智慧合約計算執行完畢後將計算結果儲存至該區塊鏈的分散式資料庫,其中,該第三方儲存系統包括中心化的內容可定址儲存CAS系統;或者,分散式的CAS儲存系統。
- 一種基於區塊鏈的智慧合約調用方法,包括:接收用於發起智慧合約調用的目標交易;其中,該目標交易包括調用資料;該調用資料中的至少部分資料包括儲存在與該區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;向該第三方儲存系統查詢與該資料摘要對應的目標資料,並接收該第三方儲存系統返回的查詢結果;該查詢結果包括加密後的該目標資料; 獲取用於對加密後的該目標資料進行解密的金鑰,基於該金鑰對加密後的該目標資料進行解密,並對解密後的該目標資料進行內容校驗;如果該目標資料校驗通過,調用該智慧合約,對該目標交易中的調用資料執行智慧合約計算,並在該智慧合約計算執行完畢後將計算結果儲存至該區塊鏈的分散式資料庫,其中,該區塊鏈為由若干成員區塊鏈組成的聯盟鏈中的任一成員區塊鏈。
- 根據請求項5所述的方法,該第三方儲存系統為該聯盟鏈中與該區塊鏈存在資料跨鏈引用關係的其它成員區塊鏈。
- 一種基於區塊鏈的智慧合約調用裝置,包括:接收模組,接收用於發起智慧合約調用的目標交易;其中,該目標交易包括調用資料;該調用資料中的至少部分資料包括儲存在與該區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;查詢模組,向該第三方儲存系統查詢與該資料摘要對應的目標資料,並接收該第三方儲存系統返回的查詢結果;該查詢結果包括加密後的該目標資料;解密模組,獲取用於對加密後的該目標資料進行解密的金鑰,基於該金鑰對加密後的該目標資料進行解密,並對解密後的該目標資料進行內容校驗; 調用模組,如果該目標資料校驗通過,調用該智慧合約,對該目標交易中的調用資料執行智慧合約計算,並在該智慧合約計算執行完畢後將計算結果儲存至該區塊鏈的分散式資料庫,其中,該第三方儲存系統中儲存了該目標資料與該目標資料的資料摘要之間的對應關係;該查詢模組:將該資料摘要作為查詢索引向該第三方儲存系統發起查詢,以查詢與該資料摘要對應的目標資料。
- 一種基於區塊鏈的智慧合約調用裝置,包括:接收模組,接收用於發起智慧合約調用的目標交易;其中,該目標交易包括調用資料;該調用資料中的至少部分資料包括儲存在與該區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;查詢模組,向該第三方儲存系統查詢與該資料摘要對應的目標資料,並接收該第三方儲存系統返回的查詢結果;該查詢結果包括加密後的該目標資料;解密模組,獲取用於對加密後的該目標資料進行解密的金鑰,基於該金鑰對加密後的該目標資料進行解密,並對解密後的該目標資料進行內容校驗;調用模組,如果該目標資料校驗通過,調用該智慧合約,對該目標交易中的調用資料執行智慧合約計算,並在該智慧合約計算執行完畢後將計算結果儲存至該區塊鏈的 分散式資料庫,其中,該查詢結果還包括與該金鑰對應的金鑰中繼資料;該解密模組:將所述加密後的目標資料以及該金鑰中繼資料發送至與該區塊鏈對接的第三方解密系統,其中該第三方解密系統維護了金鑰與金鑰中繼資料之間的映射關係,以由該第三方解密系統查詢該映射關係獲取與該金鑰中繼資料對應的金鑰,並基於獲取到的金鑰對加密後的該目標資料進行解密;接收該第三方解密系統返回的解密後的目標資料。
- 一種基於區塊鏈的智慧合約調用裝置,包括:接收模組,接收用於發起智慧合約調用的目標交易;其中,該目標交易包括調用資料;該調用資料中的至少部分資料包括儲存在與該區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;查詢模組,向該第三方儲存系統查詢與該資料摘要對應的目標資料,並接收該第三方儲存系統返回的查詢結果;該查詢結果包括加密後的該目標資料;解密模組,獲取用於對加密後的該目標資料進行解密的金鑰,基於該金鑰對加密後的該目標資料進行解密,並對解密後的該目標資料進行內容校驗;調用模組,如果該目標資料校驗通過,調用該智慧合約,對該目標交易中的調用資料執行智慧合約計算,並在 該智慧合約計算執行完畢後將計算結果儲存至該區塊鏈的分散式資料庫,其中,,該查詢模組:基於預設的摘要演算法計算該目標資料的資料摘要;確定計算得到的資料摘要與該目標交易中的該目標資料的資料摘要是否一致;如果計算得到的資料摘要與該目標交易中的該目標資料的資料摘要一致,確定針對該目標資料的校驗通過。
- 一種基於區塊鏈的智慧合約調用裝置,包括:接收模組,接收用於發起智慧合約調用的目標交易;其中,該目標交易包括調用資料;該調用資料中的至少部分資料包括儲存在與該區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;查詢模組,向該第三方儲存系統查詢與該資料摘要對應的目標資料,並接收該第三方儲存系統返回的查詢結果;該查詢結果包括加密後的該目標資料;解密模組,獲取用於對加密後的該目標資料進行解密的金鑰,基於該金鑰對加密後的該目標資料進行解密,並對解密後的該目標資料進行內容校驗;調用模組,如果該目標資料校驗通過,調用該智慧合約,對該目標交易中的調用資料執行智慧合約計算,並在該智慧合約計算執行完畢後將計算結果儲存至該區塊鏈的分散式資料庫,其中,,該第三方儲存系統包括中心化的內容可定址儲存CAS系統;或者,分散式的CAS儲存系 統。
- 一種基於區塊鏈的智慧合約調用裝置,包括:接收模組,接收用於發起智慧合約調用的目標交易;其中,該目標交易包括調用資料;該調用資料中的至少部分資料包括儲存在與該區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;查詢模組,向該第三方儲存系統查詢與該資料摘要對應的目標資料,並接收該第三方儲存系統返回的查詢結果;該查詢結果包括加密後的該目標資料;解密模組,獲取用於對加密後的該目標資料進行解密的金鑰,基於該金鑰對加密後的該目標資料進行解密,並對解密後的該目標資料進行內容校驗;調用模組,如果該目標資料校驗通過,調用該智慧合約,對該目標交易中的調用資料執行智慧合約計算,並在該智慧合約計算執行完畢後將計算結果儲存至該區塊鏈的分散式資料庫,其中,,該區塊鏈為由若干成員區塊鏈組成的聯盟鏈中的任一成員區塊鏈。
- 根據請求項11所述的裝置,該第三方儲存系統為該聯盟鏈中與該區塊鏈存在資料跨鏈引用關係的其它成員區塊鏈。
- 一種電子設備,包括: 處理器;用於儲存機器可執行指令的記憶體;其中,透過讀取並執行所述記憶體儲存的與基於區塊鏈的基於區塊鏈的智慧合約調用的控制邏輯對應的機器可執行指令,該處理器被促使:接收用於發起智慧合約調用的目標交易;其中,該目標交易包括調用資料;該調用資料中的至少部分資料包括儲存在與該區塊鏈對接的第三方儲存系統中的目標資料的資料摘要;向該第三方儲存系統查詢與該資料摘要對應的目標資料,並接收該第三方儲存系統返回的查詢結果;該查詢結果包括加密後的該目標資料;獲取用於對加密後的該目標資料進行解密的金鑰,基於該金鑰對加密後的該目標資料進行解密,並對解密後的該目標資料進行內容校驗;如果該目標資料校驗通過,調用該智慧合約,對該目標交易中的調用資料執行智慧合約計算,並在該智慧合約計算執行完畢後將計算結果儲存至該區塊鏈的分散式資料庫,其中,該第三方儲存系統中儲存了該目標資料與該目標資料的資料摘要之間的對應關係;所述向該第三方儲存系統查詢與該資料摘要對應的目標資料,包括:將該資料摘要作為查詢索引向該第三方儲存系統發起 查詢,以查詢與該資料摘要對應的目標資料。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810681250.4A CN108898390B (zh) | 2018-06-27 | 2018-06-27 | 基于区块链的智能合约调用方法及装置、电子设备 |
CN201810681250.4 | 2018-06-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202001607A TW202001607A (zh) | 2020-01-01 |
TWI715892B true TWI715892B (zh) | 2021-01-11 |
Family
ID=64346733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107142059A TWI715892B (zh) | 2018-06-27 | 2018-11-26 | 基於區塊鏈的智慧合約調用方法及裝置、電子設備 |
Country Status (11)
Country | Link |
---|---|
US (1) | US10783190B2 (zh) |
EP (1) | EP3701700B1 (zh) |
JP (1) | JP6840292B2 (zh) |
KR (1) | KR102228965B1 (zh) |
CN (2) | CN113095822A (zh) |
AU (1) | AU2019292928B2 (zh) |
CA (1) | CA3084086C (zh) |
PH (1) | PH12020550735A1 (zh) |
SG (1) | SG11202005028VA (zh) |
TW (1) | TWI715892B (zh) |
WO (1) | WO2020006172A1 (zh) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109003078B (zh) | 2018-06-27 | 2021-08-24 | 创新先进技术有限公司 | 基于区块链的智能合约调用方法及装置、电子设备 |
US10880074B2 (en) * | 2018-10-15 | 2020-12-29 | Adobe Inc. | Smart contract platform for generating and customizing smart contracts |
CN110046522A (zh) * | 2018-11-28 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 基于区块链的业务处理方法及装置、电子设备 |
TWI683590B (zh) * | 2018-11-28 | 2020-01-21 | 財團法人資訊工業策進會 | 物聯網裝置之控制方法及控制系統 |
CN110033259B (zh) * | 2018-11-28 | 2021-08-31 | 创新先进技术有限公司 | 基于区块链的数据存证方法及装置、电子设备 |
CN110060111A (zh) | 2018-12-12 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 基于区块链的发票访问方法和装置、电子设备 |
SG11201906754SA (en) * | 2018-12-13 | 2019-08-27 | Alibaba Group Holding Ltd | Off-chain smart contract service based on trusted execution environment |
CN111782668A (zh) * | 2018-12-20 | 2020-10-16 | 阿里巴巴集团控股有限公司 | 数据结构的读取及更新方法、装置、电子设备 |
CN109710694A (zh) * | 2018-12-26 | 2019-05-03 | 深圳市网心科技有限公司 | 数据处理方法、设备、存储介质和区块链系统 |
CN109754249A (zh) * | 2018-12-27 | 2019-05-14 | 石更箭数据科技(上海)有限公司 | 数据交易方法及系统、平台、存储介质 |
CN109697613B (zh) * | 2018-12-29 | 2020-08-25 | 链博(成都)科技有限公司 | 用于区块链中网络交易安全认证方法和系统 |
CN109947848A (zh) * | 2019-01-30 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 基于区块链的存证方法和装置 |
CN111767555A (zh) * | 2019-01-31 | 2020-10-13 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法及节点、存储介质 |
CN109636610B (zh) * | 2019-02-01 | 2022-10-04 | 安徽中科晶格技术有限公司 | 一种去中心化的数据交易系统及方法 |
CN110033244B (zh) * | 2019-03-15 | 2021-10-22 | 创新先进技术有限公司 | 基于区块链的智能合约执行方法及装置和电子设备 |
CN110046523B (zh) * | 2019-03-15 | 2021-03-05 | 创新先进技术有限公司 | 智能合约校验方法及装置和电子设备 |
CN109886694B (zh) * | 2019-03-26 | 2021-04-27 | 创新先进技术有限公司 | 基于区块链的数据处理方法及装置和电子设备 |
CN110060162B (zh) * | 2019-03-29 | 2023-10-27 | 创新先进技术有限公司 | 基于区块链的数据授权、查询方法和装置 |
CN110177079B (zh) * | 2019-04-17 | 2021-10-15 | 北京百度网讯科技有限公司 | 智能合约的调用系统及调用方法 |
CN110245506B (zh) * | 2019-05-30 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 基于区块链的智能合约管理方法及装置、电子设备 |
CN112015806A (zh) * | 2019-05-30 | 2020-12-01 | 中国移动通信集团浙江有限公司 | 区块链存储数据的方法及装置 |
US10839107B2 (en) | 2019-05-30 | 2020-11-17 | Advanced New Technologies Co., Ltd. | Managing a smart contract on a blockchain |
US10937096B2 (en) * | 2019-07-15 | 2021-03-02 | Advanced New Technologies Co., Ltd. | Transaction processing in a service blockchain |
CN110471984B (zh) | 2019-07-15 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 基于区块链的业务处理方法及装置、电子设备 |
CN110659907B (zh) * | 2019-09-24 | 2021-11-12 | 北京海益同展信息科技有限公司 | 用于执行智能合约的方法和装置 |
FR3102024B1 (fr) * | 2019-10-15 | 2021-11-05 | My IDN | Procédé de gestion d’une base de données de clés publiques, procédé d’authentification de clés publiques, et dispositifs serveur et client mettant en œuvre ces procédés |
CN110879687B (zh) * | 2019-10-18 | 2021-03-16 | 蚂蚁区块链科技(上海)有限公司 | 一种基于磁盘存储的数据读取方法、装置及设备 |
CN112669147B (zh) * | 2019-12-31 | 2023-09-26 | 蚂蚁区块链科技(上海)有限公司 | 基于区块链的服务请求方法及装置 |
CN111340470B (zh) * | 2020-02-24 | 2023-04-18 | 中国工商银行股份有限公司 | 区块链交易处理方法、节点及合约容器 |
CN111488624A (zh) * | 2020-03-18 | 2020-08-04 | 天元大数据信用管理有限公司 | 一种基于区块链的数据管理方法及设备、介质 |
CN111460525A (zh) * | 2020-03-31 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据处理方法、装置及存储介质 |
CN111506652B (zh) * | 2020-04-15 | 2021-07-23 | 支付宝(杭州)信息技术有限公司 | 基于区块链的交通事故处理方法及装置、电子设备 |
CN111461723B (zh) * | 2020-04-17 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数据处理系统及方法、装置 |
CN111682934B (zh) * | 2020-04-21 | 2023-08-01 | 国网天津市电力公司电力科学研究院 | 一种综合能源计量数据的存储、访问、共享方法及系统 |
CN111581279B (zh) * | 2020-04-23 | 2024-02-06 | 傲林科技有限公司 | 智能合约构建方法、装置及存储介质 |
CN113762955B (zh) * | 2020-06-01 | 2024-04-02 | 菜鸟智能物流控股有限公司 | 一种交易的处理方法、装置、设备和机器可读介质 |
US11356244B2 (en) * | 2020-06-05 | 2022-06-07 | Bank Of America Corporation | Graphical user interface using continuous authentication and encryption for selective display of data |
CN112131307B (zh) * | 2020-07-15 | 2021-05-25 | 北京天德科技有限公司 | 一种新型多区块链与多智能合约交互架构 |
CN112035895A (zh) * | 2020-07-20 | 2020-12-04 | 江苏傲为控股有限公司 | 一种基于交易方式的电子合同取证方法及系统 |
US20220020019A1 (en) * | 2020-07-20 | 2022-01-20 | Jiangsu Aowei Holdings Co., Ltd. | Smart Contract-Based Electronic Contract Forensics Method and System |
CN112000993B (zh) * | 2020-07-30 | 2023-12-05 | 杭州趣链科技有限公司 | 一种基于区块链的数据存储验证方法、设备和存储介质 |
CN111916173B (zh) * | 2020-08-07 | 2023-08-25 | 安徽师范大学 | 基于ipfs和联盟链的医疗数据安全共享系统及方法 |
EP3955224A1 (en) * | 2020-08-14 | 2022-02-16 | Nagravision S.A. | Localized betting system and method |
CN112583585B (zh) * | 2020-12-09 | 2022-06-28 | 杭州复杂美科技有限公司 | 交易执行方法、设备和存储介质 |
CN112486933A (zh) * | 2020-12-10 | 2021-03-12 | 浙江大学德清先进技术与产业研究院 | 一种基于联盟链的遥感数据共享交换方法 |
CN112783983A (zh) * | 2021-02-07 | 2021-05-11 | 中国人民解放军国防科技大学 | 基于主副区块图链结构区块链账本设计的自适应共识方法 |
CN112925850B (zh) * | 2021-02-25 | 2022-07-08 | 京信数据科技有限公司 | 一种区块链数据加密上链共享方法及装置 |
CN114024687B (zh) * | 2021-11-11 | 2022-10-28 | 上海证章信息科技有限公司 | 一种通过锁定再发行实现nft可拆分可互换的方法 |
CN113821474A (zh) * | 2021-11-22 | 2021-12-21 | 武汉龙津科技有限公司 | 一种数据处理方法、装置、设备和存储介质 |
US11924222B2 (en) | 2022-01-13 | 2024-03-05 | Bank Of America Corporation | Intelligent real time dynamic smart contract generation for secure processing of internet of things (IoT) device based events |
CN114528589B (zh) * | 2022-01-26 | 2022-11-08 | 广东南方新视界传媒科技有限公司 | 基于区块链的户外媒体生态管理系统与方法 |
CN116561187A (zh) * | 2022-01-30 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据处理方法、设备以及可读存储介质 |
CN114693450A (zh) * | 2022-03-30 | 2022-07-01 | 蚂蚁区块链科技(上海)有限公司 | 基于智能合约的计算、更新、读取方法及装置、电子设备 |
CN116668199B (zh) * | 2023-07-31 | 2023-10-10 | 安徽中科晶格技术有限公司 | 基于拜占庭容忍的区块链作恶检查方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106559211A (zh) * | 2016-11-22 | 2017-04-05 | 中国电子科技集团公司第三十研究所 | 一种区块链中隐私保护智能合约方法 |
US20170289111A1 (en) * | 2016-04-01 | 2017-10-05 | Jpmorgan Chase Bank, N.A. | Systems and methods for providing data privacy in a private distributed ledger |
CN108055138A (zh) * | 2018-02-01 | 2018-05-18 | 国家计算机网络与信息安全管理中心 | 基于区块链的应用分发记录方法和系统 |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7720727B2 (en) | 2001-03-01 | 2010-05-18 | Fisher-Rosemount Systems, Inc. | Economic calculations in process control system |
TWI351864B (en) | 2005-03-25 | 2011-11-01 | Via Tech Inc | Apparatus and method for employing cyrptographic f |
US9311108B2 (en) | 2010-11-05 | 2016-04-12 | Mark Cummings | Orchestrating wireless network operations |
US20150379510A1 (en) * | 2012-07-10 | 2015-12-31 | Stanley Benjamin Smith | Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain. |
US8793506B2 (en) * | 2012-08-31 | 2014-07-29 | Intel Corporation | Mechanism for facilitating encryption-free integrity protection of storage data at computing systems |
US9363267B2 (en) * | 2014-09-25 | 2016-06-07 | Ebay, Inc. | Transaction verification through enhanced authentication |
US9992028B2 (en) * | 2015-11-26 | 2018-06-05 | International Business Machines Corporation | System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger |
WO2017098519A1 (en) | 2015-12-08 | 2017-06-15 | Tallysticks Limited | A system and method for automated financial transaction validation, processing and settlement using blockchain smart contracts |
CA3013185A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | A method and system for securing computer software using a distributed hash table and a blockchain |
CA3013180A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Blockchain-based exchange with tokenisation |
CN107306183B (zh) | 2016-04-22 | 2021-12-21 | 索尼公司 | 客户端、服务端、方法和身份验证系统 |
GB201607477D0 (en) * | 2016-04-29 | 2016-06-15 | Eitc Holdings Ltd | A method and system for controlling the performance of a contract using a distributed hash table and a peer to peer distributed ledger |
US10108954B2 (en) * | 2016-06-24 | 2018-10-23 | PokitDok, Inc. | System and method for cryptographically verified data driven contracts |
US10445698B2 (en) * | 2016-06-30 | 2019-10-15 | Clause, Inc. | System and method for forming, storing, managing, and executing contracts |
US10114980B2 (en) | 2016-07-21 | 2018-10-30 | Acronis International Gmbh | System and method for verifying data integrity using a blockchain network |
US10380359B2 (en) * | 2016-08-05 | 2019-08-13 | Sensoriant, Inc. | Software-based switch for providing products and/or services to users without compromising their privacy |
CN107819582A (zh) * | 2016-09-14 | 2018-03-20 | 陈新 | 智能区块链互联系统 |
US11128603B2 (en) | 2016-09-30 | 2021-09-21 | Nec Corporation | Method and system for providing a transaction forwarding service in blockchain implementations |
US20180123779A1 (en) * | 2016-11-01 | 2018-05-03 | Jiangang Zhang | Flexible Blockchain Smart-Contract Deployment |
US11176519B2 (en) * | 2016-11-11 | 2021-11-16 | International Business Machines Corporation | Smart contract admission check and fault tolerance in a blockchain |
CN106598549B (zh) * | 2016-12-08 | 2019-02-01 | 天津米游科技有限公司 | 一种基于区块链的智能合约系统及实现方法 |
WO2018111295A1 (en) * | 2016-12-16 | 2018-06-21 | Hitachi, Ltd. | Blockchain monitoring and management |
DK3340213T3 (da) | 2016-12-21 | 2020-06-08 | Merck Patent Gmbh | Puf-baseret kompositsikkerhedsmærkning til bekæmpelse af vareforfalskning |
CN107392610A (zh) | 2017-03-06 | 2017-11-24 | 钱德君 | 一种分布式网络的可靠数据源的实现方法 |
US10320566B2 (en) | 2017-04-04 | 2019-06-11 | International Business Machines Corporation | Distributed logging of application events in a blockchain |
CN107274186A (zh) | 2017-05-11 | 2017-10-20 | 上海点融信息科技有限责任公司 | 在区块链中获得智能合约接口的方法和设备 |
CN107193490B (zh) * | 2017-05-16 | 2020-04-17 | 北京中星仝创科技有限公司 | 一种基于区块链的分布式数据存储系统及方法 |
CN107425982B (zh) * | 2017-07-07 | 2020-05-12 | 众安信息技术服务有限公司 | 一种实现智能合约数据加密的方法和区块链 |
WO2019033074A1 (en) * | 2017-08-11 | 2019-02-14 | Dragonchain, Inc. | SYSTEMS AND METHODS OF INTERACTION WITH DISTRIBUTED REGISTERS |
CN107464118A (zh) * | 2017-08-16 | 2017-12-12 | 济南浪潮高新科技投资发展有限公司 | 一种基于区块链智能合约的数据交易方法 |
CN107464148A (zh) * | 2017-08-23 | 2017-12-12 | 众安信息技术服务有限公司 | 一种基于联盟链的智能合约升级方法和系统 |
CN107688927A (zh) * | 2017-09-19 | 2018-02-13 | 中国银行股份有限公司 | 一种调用区块链上的智能合约的方法及系统 |
CN107862215B (zh) * | 2017-09-29 | 2020-10-16 | 创新先进技术有限公司 | 一种数据存储方法、数据查询方法及装置 |
AU2018346326B2 (en) * | 2017-10-04 | 2023-08-24 | Algorand Technologies, Inc. | Declarative smart contracts |
US10963400B2 (en) | 2017-10-11 | 2021-03-30 | International Business Machines Corporation | Smart contract creation and monitoring for event identification in a blockchain |
CN108063752B (zh) | 2017-11-02 | 2020-05-08 | 暨南大学 | 基于区块链与代理重加密的可信基因检测及数据共享方法 |
EP3718069B1 (en) * | 2017-11-30 | 2024-04-17 | Visa International Service Association | Blockchain system for confidential and anonymous smart contracts |
US11205178B2 (en) * | 2017-12-28 | 2021-12-21 | International Business Machines Corporation | Converting processes into multiple blockchain smart contracts |
CN108111312B (zh) * | 2017-12-28 | 2019-09-27 | 电子科技大学 | 一种基于区块链的智能终端安全通信方法 |
CN108389129B (zh) * | 2018-02-27 | 2020-12-04 | 创新先进技术有限公司 | 基于区块链的交易执行方法及装置、电子设备 |
US20190287107A1 (en) * | 2018-03-15 | 2019-09-19 | International Business Machines Corporation | Resource equity for blockchain |
CN109003078B (zh) | 2018-06-27 | 2021-08-24 | 创新先进技术有限公司 | 基于区块链的智能合约调用方法及装置、电子设备 |
-
2018
- 2018-06-27 CN CN202110246902.3A patent/CN113095822A/zh active Pending
- 2018-06-27 CN CN201810681250.4A patent/CN108898390B/zh active Active
- 2018-11-26 TW TW107142059A patent/TWI715892B/zh active
-
2019
- 2019-06-26 US US16/453,603 patent/US10783190B2/en active Active
- 2019-06-27 WO PCT/US2019/039405 patent/WO2020006172A1/en unknown
- 2019-06-27 CA CA3084086A patent/CA3084086C/en active Active
- 2019-06-27 EP EP19740221.7A patent/EP3701700B1/en active Active
- 2019-06-27 KR KR1020207015565A patent/KR102228965B1/ko active IP Right Grant
- 2019-06-27 AU AU2019292928A patent/AU2019292928B2/en active Active
- 2019-06-27 JP JP2020529461A patent/JP6840292B2/ja active Active
- 2019-06-27 SG SG11202005028VA patent/SG11202005028VA/en unknown
-
2020
- 2020-05-29 PH PH12020550735A patent/PH12020550735A1/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170289111A1 (en) * | 2016-04-01 | 2017-10-05 | Jpmorgan Chase Bank, N.A. | Systems and methods for providing data privacy in a private distributed ledger |
CN106559211A (zh) * | 2016-11-22 | 2017-04-05 | 中国电子科技集团公司第三十研究所 | 一种区块链中隐私保护智能合约方法 |
CN108055138A (zh) * | 2018-02-01 | 2018-05-18 | 国家计算机网络与信息安全管理中心 | 基于区块链的应用分发记录方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108898390B (zh) | 2021-01-12 |
EP3701700A1 (en) | 2020-09-02 |
AU2019292928B2 (en) | 2021-11-04 |
PH12020550735A1 (en) | 2021-04-19 |
CA3084086C (en) | 2021-06-22 |
EP3701700B1 (en) | 2022-09-28 |
KR102228965B1 (ko) | 2021-03-18 |
SG11202005028VA (en) | 2020-06-29 |
CN113095822A (zh) | 2021-07-09 |
US20200004788A1 (en) | 2020-01-02 |
US10783190B2 (en) | 2020-09-22 |
JP6840292B2 (ja) | 2021-03-10 |
CA3084086A1 (en) | 2020-01-02 |
WO2020006172A1 (en) | 2020-01-02 |
TW202001607A (zh) | 2020-01-01 |
AU2019292928A1 (en) | 2020-06-18 |
JP2021507555A (ja) | 2021-02-22 |
CN108898390A (zh) | 2018-11-27 |
KR20200092331A (ko) | 2020-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI715892B (zh) | 基於區塊鏈的智慧合約調用方法及裝置、電子設備 | |
TWI737944B (zh) | 基於區塊鏈的交易執行方法及裝置、電子設備 | |
TWI746905B (zh) | 基於區塊鏈的智慧合約調用方法及裝置、電子設備 | |
US11398914B2 (en) | Blockchain-based data authorization method and apparatus | |
US11310051B2 (en) | Blockchain-based data authorization method and apparatus | |
JP7382108B2 (ja) | ブロックチェーンのための効率的な検証 | |
WO2021017441A1 (zh) | 基于区块链的数据授权方法及装置 | |
US11204919B2 (en) | Optimizing queries and other retrieve operations in a blockchain | |
TWI690184B (zh) | 跨區塊鏈的認證方法及裝置、電子設備 | |
WO2021017444A1 (zh) | 基于区块链的数据授权方法及装置 | |
US11100090B2 (en) | Offloaded chaincode execution for a database | |
JP2021526249A (ja) | ブロックチェーン上のプロキシ・エージェントおよびプロキシ台帳 | |
TW202107458A (zh) | 基於智慧合約的資料授權方法及裝置 | |
US11704303B2 (en) | Method and system for processing transactions in a blockchain network | |
TWI724574B (zh) | 基於區塊鏈的記帳方法及裝置、電子設備 | |
JP7228322B2 (ja) | ブロックチェーン・ネットワークにおける自動コミット・トランザクション管理 | |
US11556925B2 (en) | Ensuring information fairness and input privacy using a blockchain in a competitive scenario governed by a smart contract | |
TW201935377A (zh) | 資產管理方法及裝置、電子設備 | |
TW201822033A (zh) | 資源處理方法及裝置 | |
US11354448B2 (en) | Demand trusted device-based data acquisition methods, apparatuses, and devices | |
US11310244B2 (en) | Information sharing methods, apparatuses, and devices | |
WO2021057166A1 (zh) | 在fpga中实现外部调用的方法及装置 | |
WO2021057168A1 (zh) | 基于fpga实现虚拟机运算的方法及装置 | |
CN111698198A (zh) | 秘密生成和份额分发 | |
JP2022536450A (ja) | 同時取引を容易にするための方法、取引管理装置及びコンピュータ読み取り可能な媒体 |