TWI740423B - 在基於區塊鏈的私有交易中提供隱私和安全保護的系統和方法 - Google Patents
在基於區塊鏈的私有交易中提供隱私和安全保護的系統和方法 Download PDFInfo
- Publication number
- TWI740423B TWI740423B TW109109579A TW109109579A TWI740423B TW I740423 B TWI740423 B TW I740423B TW 109109579 A TW109109579 A TW 109109579A TW 109109579 A TW109109579 A TW 109109579A TW I740423 B TWI740423 B TW I740423B
- Authority
- TW
- Taiwan
- Prior art keywords
- blockchain
- transaction
- node
- private
- nodes
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
- G06Q20/0658—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- 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/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/405—Establishing or using transaction specific rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
提供了用於實現基於區塊鏈的私有交易的方法、系統和裝置,包括編碼在電腦儲存媒體上的電腦程式。所述方法之一由參與私有交易的第一區塊鏈節點執行,該方法包括:根據公有區塊鏈中的區塊鏈合約確定參與所述私有交易的一個或多個第二區塊鏈節點;向所述一個或多個第二區塊鏈節點傳輸交易資訊,所述交易資訊包括所述私有交易的一個或多個發送方、所述私有交易的一個或多個接收方、以及所述私有交易的一個或多個交易金額;分別獲得來自一定數量的所述第二區塊鏈節點的、證明接收所述交易資訊的簽署;回應於獲得超過臨界值的所述一定數量的所述簽署,至少將所述私有交易的表示和所述簽署儲存在所述公有區塊鏈中。
Description
本發明一般涉及用於為基於區塊鏈的私有交易提供隱私和安全保護的方法和設備。
區塊鏈通過將資料保存在彼此之間具有先後關係的一系列資料塊中,以去中心化方式提供資料儲存。區塊鏈由節點網路維護並更新,這些節點還負責驗證資料。儲存的資料可能涉及不同方之間的交易,儲存資料的區塊鏈也可以稱為跟蹤這些交易的共享帳本。
有效交易通常包括諸如發送方(例如,發送方帳號位址)、接收方(例如,接收方帳號位址)和交易金額之類的元素。在傳統的區塊鏈系統中,為防止雙重支付和其他詐欺活動,這些元素被明確公開以進行驗證,這種交易稱為公開交易。在沒有隱私保護的情況下,這些公開交易會被廣播到所有區塊鏈節點,以供它們驗證和執行。
另一方面,私有交易需要向非參與方隱藏一個或多個要素。提供隱私保護的現有建議之一是法定數量(Quorum)私有交易。在發起方和一個或多個參與方之間的私有交易中,對於每個參與方,發送方都需要使用對稱密鑰對交易進行加密,使用參與方的公開金鑰對該對稱密鑰進行加密,接著將兩種加密都發送給參加方。發起方和參與方通過各自相應的區塊鏈節點進行私有交易。接著,交易的雜湊值可以由區塊鏈節點進行共識驗證並被打包到區塊鏈中。
提供隱私保護的另一個現有建議是Fabric私有交易。對於發起方和一個或多個參與方之間的私有交易,通過鏈碼指定參與方。由訂購方節點訂購的私有交易的交易雜湊被記錄在公開帳本中,而私有交易的交易資訊則儲存在背書對等節點中。發起方和參與方可以將私有交易資訊推送到背書對等節點或從背書對等節點拉取私有交易資訊以執行私有交易。
現有技術通常將私有交易的控制集中在幾個專用節點(例如,Quorum中的發起方的相應節點或Fabric中的背書對等節點),並且依賴於專用節點正在正常工作(functioning)的假設。在本文中,正常工作意味著無故障和誠實,而非正常工作(non-functioning)意味著有故障和/或惡意。可能的故障和/或惡意行為可包括:傳遞訊息失敗、訊息傳遞延遲、訊息傳遞無序、向不同節點傳遞任意訊息、違反協定等。如果專用節點惡意行為並且沒有向私有交易的所有參與方等通知變得非正常工作,則未被通知的參與方可能會由於缺少私有交易的交易資訊被阻止進一步執行交易。缺少資訊可能與公開帳本中記錄的私有交易的表示發生衝突,這可能指示涉及未被通知的參與方的私有交易已完成。因此,對於希望進行私有交易的各方,期望提供一種基於區塊鏈的機制以使隱私保護的交易具有足夠的安全保護。
本文的各種實施例包括但不限於用於實現基於區塊鏈的私有交易的系統、方法和非暫態電腦可讀媒體。
根據一些實施例,由參與私有交易的第一區塊鏈節點執行的電腦實現的用於實現基於區塊鏈的私有交易的方法,該方法包括:根據公有區塊鏈中的區塊鏈合約確定參與所述私有交易的一個或多個第二區塊鏈節點;向所述一個或多個第二區塊鏈節點傳輸交易資訊,所述交易資訊包括所述私有交易的一個或多個發送方、所述私有交易的一個或多個接收方、以及所述私有交易的一個或多個交易金額;獲得來自一定數量的所述第二區塊鏈節點中每個節點的、證明接收所述交易資訊的簽署;回應於獲得超過臨界值的所述一定數量的簽署,至少將所述私有交易的表示和簽署儲存在公有區塊鏈中。
根據其他實施例,所述區塊鏈合約包括參與所述私有交易的第一區塊鏈節點和第二區塊鏈節點中每一個的位址;根據所述公有區塊鏈中的區塊鏈合約確定參與所述私有交易的一個或多個第二區塊鏈節點,包括:根據參與所述私有交易的所述一個或多個第二區塊鏈節點中每個節點的位址確定參與所述私有交易的所述一個或多個第二區塊鏈節點。
根據其他實施例,第一區塊鏈節點和第二區塊鏈節點的位址分別包括以下中的至少一個:網際網路協定(IP)位址或通訊埠號。
根據其他實施例,所述區塊鏈合約還包括與參與私有交易的第一區塊鏈節點和第二區塊鏈節點中每一個相關聯的公開金鑰;並且向所述一個或多個第二區塊鏈節點傳輸交易資訊,包括:對於所述一個或多個第二區塊鏈節點,分別用相應的公開金鑰對所述交易資訊進行加密;根據所述一個或多個第二區塊鏈節點中每個節點的位址,向所述一個或多個第二區塊鏈節點分別傳輸加密的交易資訊。
根據一些實施例,所述區塊鏈合約還包括包含參與私有交易的第一區塊鏈節點和第二區塊鏈節點中每一個的組的標識,用於向第一區塊鏈節點和第二區塊鏈節點分別通知參與私有交易。
根據其他實施例,來自所述一定數量的所述第二區塊鏈節點中每個節點的、證明接收所述交易資訊的簽署,包括:用與所述一定數量的所述第二區塊鏈節點中每個節點相關聯的私密金鑰進行加密的交易資訊的雜湊值。
根據一些實施例,至少將私有交易的表示和簽署儲存在公有區塊鏈中,包括:向公有區塊鏈的一個或多個區塊鏈節點傳輸包括私有交易的交易雜湊和簽署的第三區塊鏈交易,以用於打包到公有區塊鏈中,其中所述交易雜湊至少是交易資訊的雜湊值。
根據其他實施例,回應於獲得超過臨界值的所述一定數量的簽署,至少將私有交易的表示和簽署儲存在公有區塊鏈中,包括:回應於獲得參與私有交易的所有第二區塊鏈節點中每個節點的簽署,以至少將私有交易的表示和簽署儲存在公有區塊鏈中。
根據其他實施例,所述方法還包括:在本地執行私有交易。
根據其他實施例,所述方法還包括:從一個或多個第二區塊鏈節點中已驗證一定數量的簽署並且尚未接收交易資訊的一個第二區塊鏈節點獲得用於交易資訊的請求;以及向所述一個第二區塊鏈節點傳輸交易資訊,以使所述一個第二區塊鏈節點本地執行私有交易。
根據一些實施例,在根據公有區塊鏈中的區塊鏈合約確定參與私有交易的一個或多個第二區塊鏈節點之前,所述方法還包括:將區塊鏈節點資訊儲存在公有區塊鏈中,所述區塊鏈節點資訊包括與參與私有交易的第一區塊鏈節點和第二區塊鏈節點中每一個相關聯的公開金鑰以及第一區塊鏈節點和第二區塊鏈節點中每個的位址。
根據其他實施例,將區塊鏈節點資訊儲存在公有區塊鏈中,包括:向公有區塊鏈的一個或多個區塊鏈節點傳輸包括區塊鏈合約的第一區塊鏈交易,以在公有區塊鏈中配置區塊鏈合約;向公有區塊鏈的一個或多個區塊鏈節點傳輸一個或多個第二區塊鏈交易,以呼叫配置的區塊鏈合約,進而將區塊鏈節點資訊儲存在配置的區塊鏈合約中。
根據又一些實施例,配置的區塊鏈合約被配置為在將區塊鏈節點資訊儲存在配置的區塊鏈合約中之後,禁止對參與私有交易的第一區塊鏈節點和第二區塊鏈節點中每個的更改。
根據其他實施例,一種用於實現基於區塊鏈的私有交易的系統,包括:一個或多個處理器;和耦接到所述一個或多個處理器並且其上儲存有指令的一個或多個電腦可讀記憶體,所述指令能由所述一個或多個處理器執行以執行任何前述實施例的方法。
根據一些實施例,用於實現基於區塊鏈的私有交易的裝置,包括用於執行前述實施例中的任一的方法的多個模組。
根據一些實施例,一種非暫態算機可讀媒體,所述電腦可讀媒體中儲存有指令,當所述指令由設備的處理器執行時,所述指令使所述設備執行前述實施例中任一項的方法。
根據其他實施例,用於實現基於區塊鏈的私有交易的系統,包括:一個或多個處理器和一個或多個非暫態電腦可讀記憶體,所述非暫態電腦可讀記憶體耦接至所述一個或多個處理器並配置有可由所述一個或多個處理器執行的指令,以促使所述系統執行操作。所述系統可以與參與私有交易的第一區塊鏈節點相關聯。所述操作可以包括:根據公有區塊鏈中的區塊鏈合約,確定私有交易的一個或多個第二區塊鏈節點;以及向所述一個或多個第二區塊鏈節點傳輸交易資訊,所述交易資訊包括所述私有交易的一個或多個發送方、所述私有交易的一個或多個接收方以及所述私有交易的一個或多個交易金額;獲得來自一定數量的所述第二區塊鏈節點中每個節點的、證明接收所述交易資訊的簽署;回應於獲得超過臨界值的所述一定數量的簽署,至少將私有交易的表示和簽署儲存在公有區塊鏈中。
根據又一實施例,用於實現基於區塊鏈的私有交易的非暫態電腦可讀儲存媒體,所述儲存媒體配置有可由一個或多個處理器執行以促使一個或多個處理器執行操作的指令。所述儲存媒體可以與參與私有交易的第一區塊鏈節點相關聯。所述操作可以包括:根據公有區塊鏈中的區塊鏈合約,確定私有交易的一個或多個第二區塊鏈節點;以及向所述一個或多個第二區塊鏈節點傳輸交易資訊,所述交易資訊包括所述私有交易的一個或多個發送方、所述私有交易的一個或多個接收方以及所述私有交易的一個或多個交易金額;獲得來自一定數量的所述第二區塊鏈節點中每個節點的、證明接收所述交易資訊的簽署;回應於獲得超過臨界值的所述一定數量的簽署,至少將私有交易的表示和簽署儲存在公有區塊鏈中。
根據其他實施例,用於實現基於區塊鏈的私有交易的裝置,其可以與參與私有交易的第一區塊鏈節點相關聯,並且可以包括:確定模組,用於根據公有區塊鏈中的區塊鏈合約確定參與私有交易的一個或多個第二區塊鏈節點;傳輸模組,用於向所述一個或多個第二區塊鏈節點傳輸交易資訊,所述交易資訊包括所述私有交易的一個或多個發送方、所述私有交易的一個或多個接收方以及所述私有交易的一個或多個交易金額;獲得模組,用於獲得來自一定數量的所述第二區塊鏈節點中每個節點的、證明接收交易資訊的簽署;儲存模組,用於回應於獲得超過臨界值的所述一定數量的簽署,至少將私有交易的表示和簽署儲存在公有區塊鏈中。
本文中公開的實施例具有一個或多個技術效果。在一些實施例中,私有交易的表示被記錄到公有區塊鏈以確保公開通知和識別該私有交易的發生,同時該私有交易的交易資訊被保持在該公有區塊鏈外以提供隱私保護。在一個實施例中,私有交易的交易資訊(例如,發送方、接收方和交易金額)在參與私有交易的各方或其區塊鏈節點之間傳輸並且可被其存取,並遠離不參與私有交易的各方或其區塊鏈節點。在另一個實施例中,可以通過公有區塊鏈的節點驗證私有交易的有效性。可以防止雙重支付和其他詐欺行為。在又一個實施例中,進行私有交易的所有方的區塊鏈節點都被通知並因此被同步到相同狀態。在又一個實施例中,提供了一種用於方便且安全地創建和管理這種私有交易的方法。在其他實施例中,需要收集大於私有交易參與方的區塊鏈節點的臨界值百分比的收據(例如,就簽署而言)並將其儲存到公有區塊鏈,以防止由參與私有交易的發起方的惡意行為。在其他實施例中,根據組分配,參與私有交易的各方可以識別參與私有交易的其他各方,獲取其公開金鑰以驗證其簽署,並且當私有交易的交易雜湊被打包到公有區塊鏈中時被通知發生私有交易。因此,改善了私有交易的安全性和隱私保護。
參考附圖考慮以下描述和所附請求項,本文公開的系統、方法和非暫態電腦可讀媒體的這些和其他特徵,以及操作方法和相關結構元件的功能以及部件的組合和製造經濟性將變得更加明顯。所有這些附圖形成本說明書的一部分,其中相同的附圖標記表示各附圖中的相應部分。然而,應該清楚地理解,附圖僅用於說明和描述的目的,而不是限制性的。
圖1顯示了根據一些實施例的區塊鏈網路100的範例。如圖所示,區塊鏈網路100可以包括耦接到區塊鏈系統112的一個或多個客戶端設備(例如,節點A、節點B等)。客戶端設備可以包括輕節點。輕節點可以不下載完整的區塊鏈,而是可以只下載區塊頭以驗證區塊鏈交易的真實性。輕節點可以由全節點(例如,區塊鏈系統112中的節點)服務並有效地依賴於該全節點,以存取區塊鏈的更多功能。通過安裝適當的軟體,可以在諸如膝上型電腦、行動電話等的電子設備中實現輕節點。
區塊鏈系統112可以包括多個區塊鏈節點(例如,節點1、節點2、節點3、節點4、節點i等),這些節點可以包括全節點。全節點可以下載每個區塊和區塊鏈交易,並根據區塊鏈的共識規則檢查它們。所述區塊鏈節點可以形成網路(例如,點對點網路,peer-to-peer network),其中一個區塊鏈節點與另一區塊鏈節點通訊。所示的區塊鏈節點的順序和數量僅僅是範例性的並且是為了簡化說明。區塊鏈節點可以在伺服器、電腦等中實現。例如,區塊鏈節點可以在伺服器的叢集中實現。伺服器的叢集可以使用負載平衡。每個區塊鏈節點可以對應於經由諸如TCP/IP的各種類型的通訊方法耦接在一起的一個或多個實體硬體設備或虛擬設備。根據分類,區塊鏈節點也可以稱為全節點、Geth節點、共識節點等。
客戶端設備和區塊鏈節點中的每個可以安裝有適當的軟體(例如,應用程式介面)和/或硬體(例如,有線連接、無線連接)以存取區塊鏈網路100的其他設備。通常,客戶端設備和區塊鏈節點能夠通過可以通訊資料的一個或多個有線網路或無線網路(例如,網際網路)彼此通訊。客戶端設備和區塊鏈節點中的每個可以包括一個或多個處理器以及耦接到一個或多個處理器的一個或多個記憶體。所述記憶體可以是非暫態的且電腦可讀的,並且配置有可由一個或多個處理器執行的指令,以促使一個或多個處理器執行本文所述的操作。所述指令可以被儲存在記憶體中,或者可以通過通訊網路下載,而不必被儲存在記憶體中。儘管在該圖中客戶端設備和區塊鏈節點被顯示為單獨的組件,但是應當理解,可以將這些系統和設備實現為單一設備或耦接在一起的多個設備。即,客戶端設備(例如,節點A)可以可選擇地整合到區塊鏈節點(例如,節點1)中。
諸如節點A和節點B之類的客戶端設備可以安裝有適當的區塊鏈軟體,以啟動、轉發或存取區塊鏈交易。節點A可以通過與節點1或一個或多個其他區塊鏈節點的通訊來存取區塊鏈,節點B可以通過與節點2或一個或多個其他區塊鏈節點的通訊來存取區塊鏈。在區塊鏈之外,節點A和節點B可以具有其他通訊通道(例如,不經過節點1和節點2的常規網際網路通訊)。在一些實施例中,節點A可以通過節點1或類似節點向區塊鏈提交區塊鏈交易,以請求將區塊鏈交易添加到區塊鏈。
在一個實施例中,所提交的區塊鏈交易可以包括各方之間的金融交易。在另一個實施例中,所提交的區塊鏈交易可以包括更新該資料儲存的資料更新事件。例如,所提交的區塊鏈交易可以包括用於配置在區塊鏈上的區塊鏈合約(例如,智慧合約)。對於另一個範例,所提交的區塊鏈交易可以包括用於呼叫所配置的區塊鏈合約的請求。在本文中,術語“區塊鏈交易”可以通過區塊鏈系統實施並被記錄到區塊鏈中。所述區塊鏈交易可以包括,例如,金融交易、用於配置或呼叫區塊鏈合約的區塊鏈合約交易、更新區塊鏈狀態(例如,世界狀態)的區塊鏈交易等。所述區塊鏈交易不必涉及金融兌換。金融交易可以是基於區塊鏈的,並且可以是私有交易或公開交易。因此,私有交易、公開交易和相關術語(例如交易金額、交易資訊等)可以指相應的金融交易。
所述區塊鏈合約可包括以碼行編寫的用戶之間的合約條款。區塊鏈合約可以是一種電腦協定,其意於以數位方式促進、驗證或施行合約的談判或履行。在一些實施例中,為了處理區塊鏈合約,所述區塊鏈網路的每個節點運行相應的虛擬機(VM)並執行相同的指令。VM是基於電腦架構的對電腦系統的軟體模擬,並提供實體電腦的功能。可以將區塊鏈背景下的VM理解為被設計為作為區塊鏈合約的運行時環境的系統。
區塊鏈可以由區塊鏈節點維護,所述區塊鏈節點各自包括記憶體或耦接到記憶體。在一些實施例中,記憶體可以儲存池資料庫。所述池資料庫可以被分散式方式的多個區塊鏈節點存取。例如,所述池資料庫可以分別儲存在區塊鏈節點的記憶體中。池資料庫可以儲存由與節點A類似的一個或多個客戶端設備提交的多個區塊鏈交易。
在一些實施例中,在接收到未確認的區塊鏈交易的區塊鏈交易請求之後,接收方區塊鏈節點可以對區塊鏈交易執行一些初步驗證。例如,節點1可以在從節點A接收區塊鏈交易之後執行初步驗證。一旦被驗證,所述區塊鏈交易可以被儲存在接收方區塊鏈節點(例如,節點1)的池資料庫中,該接收方區塊鏈節點也可以將所述區塊鏈交易轉發到一個或者多個其他區塊鏈節點(例如,節點3、節點4)。一個或多個其他區塊鏈節點可以重複由接收方節點完成的程序。
一旦對應池資料庫中的區塊鏈交易達到某個層級(例如,臨界值量),區塊鏈節點就可以各自根據共識規則或其他規則來驗證對應池資料庫中的一批區塊鏈交易。如果區塊鏈交易涉及區塊鏈合約(例如,智慧合約),則區塊鏈節點可以在本地執行區塊鏈合約。區塊鏈合約可以包括用戶編寫的合約碼。例如,區塊鏈交易可以將資料編碼為合約碼,用於資料儲存(通過合約配置)和檢索(通過存取或執行合約)。
根據共識規則成功驗證該批的區塊鏈交易的特定區塊鏈節點可以將區塊鏈交易打包到其區塊鏈的本地副本,並將結果多點傳播到其他區塊鏈節點。該特定區塊鏈節點可以是首先成功完成驗證的區塊鏈節點、已獲得驗證權限的區塊鏈節點、或者已經基於另一共識規則確定的區塊鏈節點等。接著,其他區塊鏈節點可以在本地執行區塊鏈交易,彼此驗證執行結果(例如,通過執行雜湊計算),並將其區塊鏈的副本與該特定區塊鏈節點的副本同步。通過更新區塊鏈的本地副本,其他區塊鏈節點可以類似地將區塊鏈交易中的這種資訊寫入各自的本地記憶體中。這樣,區塊鏈合約可以被配置在區塊鏈上。如果驗證在某些點失敗,則拒絕區塊鏈交易。
所配置的區塊鏈合約可以具有位址,根據該位址可以存取所配置的合約。區塊鏈節點可以通過向區塊鏈合約輸入某些參數來呼叫所配置的區塊鏈合約。在一個實施例中,節點B可以請求呼叫所配置的區塊鏈合約以執行各種操作。例如,可以檢索儲存在所配置的區塊鏈合約中的資料。又例如,可以將資料添加到所配置的區塊鏈合約中。又例如,可以執行在所配置的區塊鏈合約中指定的金融交易。儘管如此,其他類型的區塊鏈系統和相關的共識規則可以應用於所公開的區塊鏈系統。
在一些實施例中,區塊鏈系統112包括維護公有區塊鏈的區塊鏈節點。在一個實施例中,提交給區塊鏈系統112以添加到公有區塊鏈中的公開交易對於所有區塊鏈節點都是可見的,以進行驗證和執行。在另一個實施例中,私有交易可以僅涉及代表參與私有交易的各方的多個區塊鏈節點。對於這樣的私有交易,儘管私有交易的表示仍可以像公開交易一樣被提交以添加到公有區塊鏈,但是私有交易的交易資訊可以遠離非參與方及其區塊鏈節點。在這種情況下,可以在有限數量的區塊鏈節點(例如,參與私有交易的各方的區塊鏈節點)之間傳輸私有交易的交易資訊。也就是說,與公開交易不同,私有交易可以保留交易各方已知的交易資訊(例如,發送方、接收方和交易資訊)的至少一部分,以便在不向非參與方廣播的情況下各方的相應區塊鏈節點進行驗證和執行。對於所有區塊鏈節點可見的公有區塊鏈可以記錄私有交易的證明,例如私有交易的交易雜湊和交易資訊的加密,但是沒有明確地儲存交易資訊的至少一部分。交易雜湊是雜湊值,可以是將雜湊演算法應用於交易資料(例如交易資訊)的數值結果。例如,節點1和節點2之間的私有交易的交易雜湊可以被記錄到公有區塊鏈中,並且對節點1、節點2、節點3、節點4等可見,而私有交易的交易資訊可以僅對節點1和節點2是已知的。為此,節點1和節點2可以在區塊鏈之外進行通訊並且將私有交易的交易資訊保持私有,或者在區塊鏈上進行通訊,但是僅允許對某些節點可見(例如,通過公開金鑰-私密金鑰加密)。
圖2顯示了根據一些實施例的用於實現區塊鏈合約的框架。下文中關於圖2的描述將針對在公有區塊鏈上配置和呼叫可公開存取的區塊鏈合約。例如,需要公開驗證並基於共識儲存的資訊(例如,關於私有交易的各方、私有交易的交易雜湊)可以被包括在區塊鏈合約中以儲存在公有區塊鏈中。
在一些實施例中,區塊鏈合約可以從其在源碼中的構建開始。例如,用戶A可以將區塊鏈合約程式化為源碼,並將源碼輸入到用戶端應用程式211的介面。在該圖中,用戶端應用程式211被安裝在節點A中。為了配置區塊鏈合約,節點A可以使用相應的編譯器編譯區塊鏈合約源碼,該編譯器將源碼轉換成位元組碼。在接收位元組碼之後,用戶端應用程式可以產生包括該位元組碼的區塊鏈交易A,並將區塊鏈交易A提交給一個或多個區塊鏈節點。例如,區塊鏈交易A可以包括以下資訊:諸如隨機數(nonce)(例如,交易序列號)、from(例如,用戶A的帳號的位址)、to(例如,如果配置區塊鏈合約,則為空)、GasLimit(例如,為交易所消費的交易費用上限)、GasPrice(例如,由發送方提供的交易費用)、value(例如,交易金額)、data(例如,位元組碼)等。節點A可以用各種加密方法對區塊鏈交易A進行簽署以代表節點A的背書。節點A可以通過遠端程序呼叫(RPC)介面213向區塊鏈節點(例如,節點1)發送區塊鏈交易A。RPC是一種協定,第一程式(例如,用戶端應用程式)可以使用該協定從位於網路中的另一台電腦(例如,區塊鏈節點)的第二程式請求服務,而無需瞭解網路的詳細資訊。當第一程式使程序在不同位址空間(例如在節點1)中執行時,就好像是正常(本地)程序呼叫,而無需程式設計師明確地編碼遠端互動的細節。
如先前所述,在接收區塊鏈交易A時,節點1可以驗證區塊鏈交易A是否有效。例如,可以驗證節點A的簽署和其他格式。如果驗證成功,則節點1可以向包括各種其他區塊鏈節點的區塊鏈網路廣播區塊鏈交易A。一些區塊鏈節點可以參與區塊鏈交易的挖掘程序。特定節點可以挑選區塊鏈交易A進行共識驗證,以打包到新區塊中。該特定節點可以為區塊鏈合約創建與合約帳號位址相關的合約帳號。該特定節點可以觸發其本地VM執行區塊鏈合約,從而將區塊鏈合約配置到其區塊鏈的本地副本,並更新區塊鏈中的帳號狀態。如果該特定節點成功挖掘新區塊,則該特定節點可以將新區塊廣播到其他區塊鏈節點。其他區塊鏈節點可以驗證由該特定區塊鏈節點挖掘的新區塊。如果達成共識,則將區塊鏈交易A分別打包到由區塊鏈節點維護的區塊鏈本地副本中。所述區塊鏈節點可以類似地觸發其本地VM(例如,本地VM 1、本地VM i、本地VM 2)執行區塊鏈合約,從而呼叫配置在區塊鏈的本地副本(例如,本地區塊鏈副本1、本地區塊鏈副本i、本地區塊鏈副本2)的區塊鏈合約,並進行相應的更新。每個區塊鏈節點的硬體機器可以存取一個或多個虛擬機,這些虛擬機可以是相應區塊鏈節點的一部分或耦接到相應區塊鏈節點。每次,可以觸發相應本地VM執行區塊鏈交易A中的區塊鏈合約。同樣,新區塊中的所有其他區塊鏈交易也將被執行。輕節點也可以同步至更新的區塊鏈。
當區塊鏈節點想要對所配置的區塊鏈合約執行操作(例如,添加資料、接受要約)時,區塊鏈節點可能需要呼叫區塊鏈合約。在一些實施例中,用戶B可以對指令進行程式化以呼叫源碼中的區塊鏈合約,並將源碼輸入到用戶端應用程式221的介面。為了呼叫區塊鏈合約,節點B可以使用相應的編譯器編譯指令,該編譯器將源碼轉換為位元組碼。在接收位元組碼之後,用戶端應用程式可以產生包括該位元組碼的區塊鏈交易B,並將區塊鏈交易B提交給一個或多個區塊鏈節點。相似地,區塊鏈交易B可以包括以下資訊:諸如隨機數(nonce)(例如,交易序列號)、from (例如,用戶B的帳號的位址)、to(例如,配置的區塊鏈合約的位址)、GasLimit(例如,為交易所消費的交易費用上限)、GasPrice(例如,由發送方提供的交易費用)、value (例如,交易金額)、data(例如,位元組碼)等。節點B可以用各種加密方法對區塊鏈交易B進行簽署以代表節點B的背書。節點B可以通過遠端程序呼叫(RPC)介面223將區塊鏈交易B發送到區塊鏈節點(例如,節點2)。
在接收區塊鏈交易B時,節點2可以驗證區塊鏈交易B是否有效。例如,可以驗證節點B的簽署和其他格式。如果驗證成功,則節點2可以向包括各種其他區塊鏈節點的區塊鏈網路廣播區塊鏈交易B。特定節點可以挑選由節點B發送的區塊鏈交易B進行共識驗證,以打包到新的區塊中。該特定節點可以觸發其本地VM執行區塊鏈合約,從而呼叫配置在其區塊鏈的本地副本上的區塊鏈合約,並更新區塊鏈中的帳號狀態。如果該特定節點成功挖掘新區塊,則該特定節點可以將新區塊廣播到其他區塊鏈節點。其他區塊鏈節點可以驗證由該特定區塊鏈節點挖掘的新區塊。如果達成共識,則將區塊鏈交易B分別打包到由區塊鏈節點維護的區塊鏈本地副本中。所述區塊鏈節點可以類似地觸發其本地VM執行區塊鏈合約,從而呼叫配置在區塊鏈的本地副本上的區塊鏈合約,並進行相應的更新。每個區塊鏈節點的硬體機器可以存取一個或多個虛擬機,這些虛擬機可以是相應區塊鏈節點的一部分或耦接至相應區塊鏈節點。每次,可以觸發相應的本地VM執行區塊鏈交易B中的區塊鏈合約。同樣,新區塊中的所有其他區塊鏈交易也將被執行。輕節點也可以同步至更新的區塊鏈。
圖3和圖4顯示了根據一些實施例的用於實現基於區塊鏈的交易的方法的流程圖。以下呈現的方法的操作意於進行說明。取決於實施方式,該方法可以包括以各種順序執行或並行執行的附加、更少或替代步驟。
首先介紹與該方法相關的並且在圖3和圖4的頂部方塊中顯示的各種實體。在一些實施例中,私有交易可以涉及多個參與方。私有交易的每一方可以具有一個或多個相應區塊鏈節點以實施私有交易。例如,一方可以將付款轉移給一個或多個其他方。參與方可以是但不限於個人、實體、帳號等。私有交易可以涉及一個或多個提議方節點和一個或多個成員節點。提議方節點和成員節點可以是區塊鏈節點。
提議方節點可以代表第一區塊鏈節點。第一區塊鏈節點可以屬第一方(私有交易第一方)。第一方是知道交易資訊的一方,所述交易資訊可以包括發送方(例如,發送方的帳號位址)、接收方(例如,接收方的帳號位址)和交易金額的資訊。第一方可以是發起私有交易的一方,也可以是參與私有交易的發送方或接收方等。私有交易可能需要向非參與方隱藏交易資訊中的一個或多個元素。第一方可以使用可從設備(例如,行動電話、電腦)存取的帳號來訂購私有交易。該設備可構成輕節點或全節點。
成員節點可以代表第二區塊鏈節點。第二區塊鏈節點可以屬第二方(私有交易第二方)。所示的第二方可以代表參與私有交易的除第一方以外的部分或全部參與方。
圖3和圖4中顯示的頂部方塊中的“公有區塊鏈的區塊鏈節點”可以指維護公有區塊鏈的區塊鏈節點。所有區塊鏈節點均可存取公有區塊鏈以驗證和存取所儲存的資訊,例如執行所記錄的交易或區塊鏈合約。所述提議方節點和成員節點可以是可存取公有區塊鏈並參與私有交易的此類的公有區塊鏈的區塊鏈節點,而其他區塊鏈節點雖然可以存取公有區塊鏈,但是不參與私有交易。
管理員可以代表負責通過本文所述的區塊鏈合約創建一組參與方(例如,第一方和第二方)的指定角色。任何人(例如,上述用戶或其他用戶)都可以成為管理員。在創建所述組之後,與各方相關聯的提議方節點和成員節點可以進行私有交易。管理員可以使用可從設備(例如,電腦)存取的帳號來訂購區塊鏈合約的配置和呼叫。該設備可以構成輕節點或全節點。
參考圖3,在關於區塊鏈合約配置的一些實施例中,在步驟311,管理員(例如,節點A)可以向提議方節點(例如,節點1)傳輸用於配置區塊鏈合約的第一交易。所述區塊鏈合約可以用於儲存(1)包含參與私有交易的第一區塊鏈節點和第二區塊鏈節點(與相應方相關聯)中每個的組的標識,(2)組成員的公開金鑰,和/或(3)組成員的位址(例如,IP位址和埠號)。在步驟312,提議方節點可以在公有區塊鏈網路中廣播第一交易,以將區塊鏈合約配置在公有區塊鏈中。在步驟313,通過共識驗證,公有區塊鏈的區塊鏈節點成功地配置區塊鏈合約,例如,在為公有區塊鏈創建新區塊時。共識驗證的細節可以參考以上描述的圖1和圖2。在步驟314,管理員接收成功配置的收據。
在關於區塊鏈合約呼叫的一些實施例中,在步驟315,管理員可以向提議方節點傳輸用於呼叫所配置的區塊鏈合約的一個或多個第二交易。第二交易可以用於向所配置的區塊鏈合約添加資料(例如,包括參與私有交易的提議方節點或成員節點(與相應方相關聯)中每個的組的標識、組成員的公開金鑰、和/或組成員的位址)。每個第二交易可以添加與參與私有交易(與相應方相關聯)的提議方節點和成員節點有關的資訊。因此,在組之間進行並儲存到公有區塊鏈的私有交易可以顯示該組的相應標識(參閱下面的步驟324、325a和325b),以便組成員(例如,與參與私有交易的各方相關聯的提議方節點和成員節點)將被通知以獲得私有交易的交易資訊並執行私有交易。公開金鑰和位址將是公開可得的,以促進參與私有交易的提議方節點和成員節點之間的通訊,如下所述。在步驟316,提議方節點可以在公有區塊鏈網路中廣播第二交易中的每一個,以呼叫公有區塊鏈中的區塊鏈合約以添加資料。在步驟317,通過共識驗證,公有區塊鏈的區塊鏈節點成功地將資料添加到所配置的區塊鏈合約中,例如,通過向公有區塊鏈創建新區塊。區塊鏈合約呼叫的細節可以參考以上描述的圖1和圖2。在步驟318,管理員接收成功添加的收據。
在一些實施例中,區塊鏈合約可以被配置為防止對添加到所配置的區塊鏈合約中的資料進行改變。例如,只允許管理員添加資料,禁止其他帳號更改區塊鏈合約。由於公有區塊鏈中的所有區塊鏈節點都可以存取公有區塊鏈中的新區塊,因此管理員會受到區塊鏈節點的有效監視,這可以阻止管理員進行惡意行為。如果管理員延遲區塊鏈合約的配置或呼叫,則可以更換管理員。步驟311至318可以被稱為引導程序。
參考圖4,儘管該圖顯示了提議方節點發起私有交易,但是私有交易可以由參與私有交易的任何區塊鏈節點發起。在一些實施例中,在步驟321,用戶可以向提議方節點發送要由組成員進行的私有交易(例如,交易資訊)。在一個實施例中,由提議方節點接收的私有交易可以包括用於執行私有交易的組的標識。在另一個實施例中,所述提議方節點可以從多個組中識別用於執行私有交易的組,所述多個組的組標識可從區塊鏈獲得。要由特定組執行的私有交易對其他組的成員(重疊成員除外)是保密的。所述提議方節點可以選擇包括參與私有交易的發送方和/或接收方的組以執行私有交易。在一個範例中,所述提議方節點參與三個不同的組:包括其自身以及節點M和N的組1,包括其自身以及節點M、N和P的組2,包括其自身以及節點M和P的組3。對於提議方節點與節點M和N之間的私有交易,如果提議方節點希望最大程度地減少參與者的數量,則可以選擇組1;如果其不介意節點P知道私有交易或需要節點P作為驗證方(如下所述),則可以選擇組2。所述提議方節點可以不選擇組3,因為組3不包含節點N。如果根據區塊鏈沒有合適的組可用,則所述提議方節點可以如上所述創建用於執行私有交易的組。
在步驟322,所述提議方節點可以根據公有區塊鏈中的區塊鏈合約確定參與私有交易的一個或多個成員節點,並向該一個或多個成員節點傳輸交易資訊。例如,所述提議方節點可以從區塊鏈合約中獲得成員節點的位址以傳輸交易資訊。所述交易資訊可以包括私有交易的一個或多個發送方、私有交易的一個或多個接收方、私有交易的一個或多個相應的交易金額、以及可選地私有交易的一個或多個驗證方。驗證方可以是也可以不是發送方或接收方之一。例如,所述交易資訊可以包括發送方A發送$ 5,發送方B發送$ 4,接收方C接收$ 1,接收方D接收$ 9,以及驗證方E在不發送或接收任何錢的情況下驗證該交易。又例如,所述交易資訊可以包括發送方A發送$ 5,發送方B發送$ 4,接收方C接收$ 1,以及接收方D接收$ 9,並且A、B、C和D也是驗證方。又例如,所述交易資訊可以包括發送方A向接收方B、C和D分別發送$ 2。
在接收交易資訊時,每個成員節點(例如,驗證方,其可以是也可以不是發送方或接收方)可以驗證交易資訊是否正確。成員節點可以計算交易資訊的表示(例如,雜湊值)。所述雜湊值可以被稱為交易雜湊。附加地且可選地,所述交易資訊還可以包括提議方節點已知的交易雜湊,從而成員節點可以將自身計算的雜湊值與提議方節點已知的交易雜湊進行比較以進行驗證。無論哪種方式,如果交易資訊已被驗證,則成員節點可以對交易雜湊進行簽署(例如,通過使用其私密金鑰對交易雜湊進行加密),並將簽署(例如,使用其私密金鑰加密的交易雜湊)傳輸給提議方節點。所述簽署表示成員節點確認交易資訊。所述提議方節點還使用自己的簽署對交易雜湊進行簽署,以確認交易資訊。在步驟323,所述提議方節點可以嘗試從多個成員節點分別獲得證明接收交易資訊的簽署。所述提議方節點可以從所有成員節點或從某些成員節點分別獲得簽署。
在步驟324,所述提議方節點可以回應於獲得超過臨界值的所述一定數量的簽署,至少將私有交易的表示、簽署以及包括參與私有交易的每個區塊鏈節點的組的標識儲存在公有區塊鏈中。所述臨界值可以是預先配置的值,例如50%或所有的參與區塊鏈節點。可以增加臨界值,以通過要求私有交易的更多參與區塊鏈節點確認交易資訊來提高安全層級。在一個實施例中,所述提議方節點可以廣播第三交易,所述第三交易包括私有交易的交易雜湊和公有區塊鏈網路中的簽署,以打包到公有區塊鏈中。例如,所述提議方節點可以將交易雜湊和簽署聯繫起來以添加到第三交易中。在一個實施例中,直到滿足臨界值條件,才可以將私有交易打包到公有區塊鏈中。在步驟325a和步驟325b,通過共識驗證,公有區塊鏈的區塊鏈節點可以將私有交易打包到公開交易的新區塊中。作為公有區塊鏈的區塊鏈節點的一部分,所述提議方節點和成員節點也可以看到新區塊。在步驟326,用戶接收用於成功執行私有交易的收據。
在一些實施例中,通過週期性地同步到公有區塊鏈,所述提議方節點和成員節點可以知道公有區塊鏈中儲存的私有交易(由其交易雜湊表示)。所述提議方節點和成員節點可以獲得與交易雜湊相關聯的組標識,並意識到這是它們所屬的組,因此私有交易可能涉及其自身。因此,所述提議方節點和成員節點可以驗證被打包在公有區塊鏈中的私有交易。例如,簽署的數量可能必須滿足臨界值條件。如果驗證成功,則提議方節點可以根據交易資訊本地執行私有交易。如果驗證成功,則成員節點可以檢查是否已經接收交易資訊。如果已接收,則成員節點可以根據交易資訊本地執行私有交易。在一個範例中,所述提議方節點或成員節點的本地資料庫可以根據交易資訊更新帳號資訊以執行私有交易。本地資料庫可以是對公眾保密的。如果沒有接收,則成員節點可以向提議方節點傳輸用於交易資訊的請求,以便提議方節點可以向成員節點傳輸交易資訊,以使成員節點本地執行私有交易。
圖5顯示了根據本說明書的一些實施例的用於實現基於區塊鏈的私有交易的範例性方法510的流程圖。方法510可以由圖1的系統112的一個或多個組件(例如,上述的節點1、節點2、…或節點i或類似設備,或任何節點與一個或多個附加設備(例如節點A)的組合)實施。方法510可以由包括各種硬體機器和/或軟體的系統或設備(例如,電腦、伺服器)實施。例如,所述系統或設備可以包括一個或多個處理器和一個或多個非暫態電腦可讀儲存媒體(例如,一個或多個記憶體),所述儲存媒體耦接到一個或多個處理器並配置有可由一個或多個處理器執行的指令,以促使系統或設備(例如,處理器)執行方法510。以下呈現的方法510的操作意於是說明性的。取決於實施方式,方法510可以包括以各種順序執行或並行執行的附加、更少或替代步驟。方法510的更多細節可以參考圖1至圖4以及以上相關描述。
在一些實施例中,方法510由參與私有交易的第一區塊鏈節點(例如,第一方的區塊鏈節點)執行。第一區塊鏈節點可以對應於上述的提議方節點。第一方可以是發起交易的一方、交易的發送方或接收方等。私有交易還涉及一個或多個第二區塊鏈節點(例如,第二方的區塊鏈節點)。在一些實施例中,私有交易可以僅涉及第一區塊鏈節點和第二區塊鏈節點。當步驟被描述為由第一方或第二方執行時,本領域普通技術人員將理解,該步驟可以由與相應方相關聯的區塊鏈節點執行。所述第一方和第二方可以屬相同實體或不同實體。所述第一區塊鏈節點和第二區塊鏈節點可以屬同一方或不同方。在一些實施例中,參與方可以是參與(資產、符記等的)私有交易的發送方和/或接收方。也就是說,對於私有交易,一方可以向參與私有交易的另一方發送某些東西和/或從另一方接收某些東西。儘管如此,參與方可以是觀察方,且不發送和/或接收來自私有交易的任何東西。
在一些實施例中,可以在方塊511中的步驟之前執行一些步驟,以將區塊鏈合約配置在公有區塊鏈中,並添加與參與私有交易的(與各方相關聯)各種區塊鏈節點有關的資訊。在一實施例中,在根據公有區塊鏈中的區塊鏈合約確定參與私有交易的一個或多個第二區塊鏈節點(方塊511)之前,所述方法還包括:將區塊鏈節點資訊儲存在公有區塊鏈中,所述區塊鏈節點資訊包括:與參與私有交易的第一區塊鏈節點和第二區塊鏈節點中每一個相關聯的公開金鑰(例如,每方的公開金鑰)以及第一區塊鏈節點和第二區塊鏈節點中每個的位址(例如,每方的位址)。
在一些實施例中,將區塊鏈節點資訊儲存在公有區塊鏈中,包括:向公有區塊鏈的一個或多個區塊鏈節點傳輸包括區塊鏈合約的第一區塊鏈交易,以在公有區塊鏈中配置區塊鏈合約;向公有區塊鏈的一個或多個區塊鏈節點傳輸一個或多個第二區塊鏈交易,以呼叫配置的區塊鏈合約,進而將區塊鏈節點資訊儲存在配置的區塊鏈合約中。第二區塊鏈節點可以對應於上述成員節點。在一個實施例中,所述配置的區塊鏈合約被配置為,在將所述區塊鏈節點資訊儲存在所述配置的區塊鏈合約中之後,禁止對參與所述私有交易的第一區塊鏈節點和第二區塊鏈節點中每個的更改。例如,一旦將區塊鏈節點資訊儲存到所配置的區塊鏈合約中,參與私有交易的相應區塊鏈節點(和相應方)就不能被更改。
方塊511包括根據公有區塊鏈中的區塊鏈合約確定參與私有交易的一個或多個第二區塊鏈節點。在一個實施例中,所述區塊鏈合約包括參與私有交易的第一區塊鏈節點和第二區塊鏈節點中每個的位址;並且根據所述公有區塊鏈中的區塊鏈合約來確定參與所述私有交易的一個或多個第二區塊鏈節點(例如,私有交易其他方的區塊鏈節點,如第二方的區塊鏈節點),包括:根據參與私有交易的一個或多個第二區塊鏈節點中每個節點的位址,確定參與私有交易的一個或多個第二區塊鏈節點。例如,參與私有交易的每一方可以與區塊鏈節點相關聯,並且所述區塊鏈節點的位址可以用於標識相應方。如上所述,參與私有交易的區塊鏈節點或其關聯的私有交易參與方可指,作為發送方或接收方直接參與私有交易的區塊鏈節點或參與方,或僅作為驗證方間接參與私有交易的區塊鏈節點或參與方。所述驗證方可以驗證私有區塊鏈。所述發送方可以是沒有驗證私有交易的發送方,或者可以是也驗證私有交易的發送方-驗證方。接收方可以是沒有驗證私有交易的接收方,或者可以是也驗證私有交易的接收方-驗證方。僅作為驗證方間接參與私有交易的區塊鏈節點或參與方可能不會同時是發送方或接收方。在一些實施例中,區塊鏈合約包括參與私有交易的所有區塊鏈節點中的每個節點的位址。在一個範例中,私有交易僅涉及第一區塊鏈節點和一個或多個第二區塊鏈節點。所述第一區塊鏈節點可以向一個或多個第二區塊鏈節點發起金融交易。
在一個實施例中,第一區塊鏈節點和第二區塊鏈節點中的每個的位址包括網際網路協定(IP)位址和/或通訊埠號。IP位址(例如192.168.1.1)是網路中系統的位址(例如,區塊鏈網路中的相應區塊鏈節點),埠號(例如8080)是系統中服務的位址(例如,區塊鏈節點使用的區塊鏈軟體或協定)。因此,IP位址和埠號的組合可以定義特定系統中特定服務的位址。
在另一個實施例中,所述區塊鏈合約還包括包含參與所述私有交易的所述第一區塊鏈節點和第二區塊鏈節點中每一個的組的標識,用於向所述第一區塊鏈節點和第二區塊鏈節點中每一個通知參與所述私有交易。例如,標識1234或“組X”可以被分配給參與一個或多個私有交易的一組區塊鏈節點。通過配置區塊鏈合約以及添加第一區塊鏈節點和第二區塊鏈節點的資訊到區塊鏈合約中,參與區塊鏈節點將被通知獲得交易資訊並執行私有交易。因此,所述私有交易被保持為對沒有參與私有交易的其他組保密。
方塊512包括向所述一個或多個第二區塊鏈節點傳輸交易資訊,所述交易資訊包括所述私有交易的一個或多個發送方、所述私有交易的一個或多個接收方以及所述私有交易的一個或多個交易金額。在一些實施例中,所述區塊鏈合約還包括與參與私有交易的第一區塊鏈節點和第二區塊鏈節點中每一個相關聯的公開金鑰(例如,第一方或第二方中每個的公開金鑰);並且向所述一個或多個第二區塊鏈節點傳輸交易資訊,包括:對於所述一個或多個第二區塊鏈節點中每一個,用相應的公開金鑰對所述交易資訊進行加密;根據所述一個或多個第二區塊鏈節點中每個節點的位址,向所述一個或多個第二區塊鏈節點分別傳輸加密的交易資訊。通過使用接收方的公開金鑰對交易資訊進行加密,只要它將私密金鑰保密,就只有接收方可以使用其私密金鑰對該加密進行解密。
在一些實施例中,交易資訊包括私有交易的一個或多個發送方、私有交易的一個或多個接收方、私有交易的一個或多個交易金額、以及私有交易的一個或多個驗證方,其中一個或多個驗證方都不是發送方或接收方之一。如上所述,所述發送方和接收方也可以是驗證方。可選地及附加地,一個或多個驗證方可以被包括在組中以驗證私有交易,但也不能充當發送方或接收方。
方塊513包括獲得來自一定數量的第二區塊鏈節點中每個節點的、證明接收交易資訊的簽署。可以從一些或所有第二區塊鏈節點中每個節點獲得簽署。所述一定數量可以構成臨界值數位或臨界值百分數。所述簽署可以證明接收交易資訊。在一些實施例中,來自所述一定數量的所述第二區塊鏈節點中每個節點的、證明接收交易資訊的簽署,包括:用與一個或多個第二區塊鏈節點中每一個相關聯的私密金鑰(例如,一個或多個第二方中的每個的私密金鑰)加密的交易資訊的雜湊值。為了進行驗證,可以使用從所配置的區塊鏈合約中獲得的接收方的公開金鑰對使用接收方的私密金鑰的加密進行解密,以獲得交易資訊的雜湊值。接著,可以將交易資訊的雜湊值與私有交易的交易雜湊(如下所述)進行比較。如果比較產生一致結果,則簽署有效。
方塊514包括回應於獲得超過臨界值的一定數量的所述簽署,至少將所述私有交易的表示和所述簽署儲存在公有區塊鏈中。臨界值可以是預先配置的值,例如50%的參與方、80%的參與方或所有參與方。在其他實施例,回應於獲得超過臨界值的所述一定數量的簽署,至少將私有交易的表示和簽署儲存在公有區塊鏈中,包括:回應於獲得參與私有交易的所有第二區塊鏈節點(例如,所有第二方的區塊鏈節點)中每個節點的簽署,至少將私有交易的表示和簽署儲存在公有區塊鏈中。
在一些實施例,至少將私有交易的表示和簽署儲存在公有區塊鏈中,包括:向公有區塊鏈的一個或多個區塊鏈節點傳輸包括私有交易的交易雜湊和簽署的第三區塊鏈交易,以用於打包到公有區塊鏈中,其中所述交易雜湊至少是交易資訊的雜湊值。第一區塊鏈交易、第二區塊鏈交易和第三區塊鏈交易可以被傳輸到公有區塊鏈的相同或不同的區塊鏈節點。
在一些實施例中,所述方法還包括:本地執行私有交易。參與私有交易的其他區塊鏈節點可以類似地嘗試本地執行私有交易。如果尚未獲得交易資訊,則可以向第一區塊鏈節點發送請求。在其他實施例,所述方法還包括:從已經驗證簽署的數量並且尚未接收交易資訊的一個或多個第二區塊鏈節點之一獲得用於交易資訊的請求;以及將交易資訊傳輸至一個第二區塊鏈節點,以使所述一個第二區塊鏈節點本地執行私有交易。
圖6顯示了根據一些實施例的用於實現基於區塊鏈的私有交易的系統610的方塊圖。系統610(例如,電腦系統)可以是上述節點1、節點2、節點3、......或節點i或類似設備,或者任何節點和附加設備的組合(例如,節點A)的實施的範例。例如,方法510可以由系統610實施。系統610可以包括一個或多個處理器和一個或多個非暫態電腦可讀儲存媒體(例如,一個或多個記憶體),所述非暫態電腦可讀儲存媒體耦接到一個或多個處理器並配置有可由一個或多個處理器執行的指令,以促使系統或設備(例如,處理器)執行上述方法或操作,例如方法510。系統610可以包括與指令(例如,軟體指令)相對應的各種單元/模組。
在一些實施例中,系統610可以被稱為用於實現基於區塊鏈的私有交易的裝置。所述裝置可以對應於參與私有交易的第一區塊鏈節點。所述裝置可以包括:確定模組611,用於根據公有區塊鏈中的區塊鏈合約,確定參與私有交易的一個或多個第二區塊鏈節點;傳輸模組612,用於向所述一個或多個第二區塊鏈節點傳輸交易資訊,所述交易資訊包括所述私有交易的一個或多個發送方、所述私有交易的一個或多個接收方以及所述私有交易的一個或多個交易金額;獲得模組613,用於獲取來自一定數量的所述第二區塊鏈節點中每個節點的、證明接收所述交易資訊的簽署;以及儲存模組614,用於回應於獲得超過臨界值的所述一定數量的簽署,至少將私有交易的表示和簽署儲存在公有區塊鏈中。
本文描述的技術由一個或多個專用計算設備實現。專用計算設備可以是桌上型電腦系統、伺服器電腦系統、可攜式電腦系統、手持設備、網路設備或結合硬連線和/或程式邏輯以實現這些技術的任何其他設備或設備的組合。專用計算設備可以被實現為個人電腦、膝上型電腦、蜂巢式電話、照相電話、智慧型電話、個人數位助理、媒體播放器、導航設備、電子郵件設備、遊戲控制台、平板電腦、可穿戴設備或其組合。計算設備通常由作業系統軟體控制和協調。傳統的作業系統控制和排程用於執行的電腦進程,執行記憶體管理,提供檔案系統、網路、I/O服務,以及提供用戶介面功能,例如圖形用戶介面(“GUI”)等。這裡描述的各種系統、裝置、儲存媒體、模組和單元可以在專用計算設備或者一個或多個專用計算設備的一個或多個計算晶片中實現。在一些實施例中,本文描述的指令可以在專用計算設備上的虛擬機中實現。當被執行時,指令可以促使專用計算設備執行本文描述的各種方法。虛擬機可以包括軟體、硬體或其組合。
圖7是顯示電腦系統700的方塊圖,在所述電腦系統700上可以實現本文描述的任何實施例。系統700可以執行本文所述的任何方法(例如,用於實現基於區塊鏈的私有交易的方法510)。系統700可以在本文描述的任何系統(例如,用於實現基於區塊鏈的私有交易的系統610)中被實現。系統700可以在本文描述的任何節點中實現,並且被配置為執行用於實現區塊鏈合約的相應步驟。電腦系統700包括用於通訊資訊的匯流排702或其他通訊機制,與匯流排702耦接以處理資訊的一個或多個硬體處理器704。硬體處理器704可以是例如一個或多個通用微處理器。
電腦系統700還包括耦接到匯流排702的用於儲存資訊和可由處理器704執行的指令的主記憶體706,例如隨機存取記憶體(RAM)、高速快取和/或其他動態儲存設備。主記憶體706還可以用於在執行可由處理器704執行的指令期間儲存臨時變量或其他中間資訊。當這些指令儲存在處理器704可存取的儲存媒體中時,這些指令將電腦系統700呈現為被定制以執行指令中指定的操作的專用機器。電腦系統700還包括耦接到匯流排702的用於儲存處理器704的靜態資訊和指令的唯讀記憶體(ROM)708或其他靜態儲存設備。儲存設備710諸如磁碟、光碟或USB拇指驅動器(快閃記憶體驅動器)等被提供並被耦接到匯流排702以儲存資訊和指令。
電腦系統700可以使用與電腦系統相結合使得電腦系統700成為專用機器或將電腦系統700程式化為專用機器的定制硬連線邏輯、一個或多個ASIC或FPGA、韌體和/或程式邏輯實現本文所述的技術。根據一個實施例,本文描述的操作、方法和程序由電腦系統700回應於處理器704執行主記憶體706中包含的一個或多個指令的一個或多個序列而執行。這些指令可從另一儲存媒體(例如儲存設備710)讀入主記憶體706中。主記憶體706中包含的指令序列的執行促使處理器704執行本文描述的處理步驟。在替代實施例中,可使用硬連線電路代替軟體指令或與軟體指令組合。
主記憶體706、ROM 708和/或儲存設備710可包括非暫態儲存媒體。本文使用的術語“非暫態媒體”和類似術語是指儲存促使機器以特定方式操作的資料和/或指令的媒體,所述媒體不包括暫時性訊號。這種非暫態媒體可包括非揮發性媒體和/或揮發性媒體。例如,非揮發性媒體包括光碟或磁碟,諸如儲存設備710。揮發性媒體包括動態記憶體,例如主記憶體706。常規形式的非暫態媒體包括,例如,軟磁碟、軟碟、硬碟、固態硬碟、磁帶或任何其他磁資料儲存媒體、CD-ROM、任何其他光學資料儲存媒體、具有孔圖案的任何實體媒體、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他記憶體晶片或盒式磁帶的以及它們的網路版本。
電腦系統700還包括耦接到匯流排702的網路介面718。網路介面718提供耦接到一個或多個網路鏈路的雙向資料通訊,所述一個或多個網路鏈路連接到一個或多個本地網路。例如,網路介面718可以是綜合業務數位網(ISDN)卡、電纜調制解調器、衛星調制解調器或調制解調器,以提供與相應類型的電話線的資料通訊連接。作為另一範例,網路介面718可以是區域網路(LAN)卡,以提供到兼容LAN(或與WAN通訊的WAN組件)的資料通訊連接。還可以實現無線鏈路。在任何這樣的實施方式中,網路介面718發送和接收攜帶表示各種類型的資訊的數位資料流的電訊號、電磁訊號或光訊號。
電腦系統700可以通過網路、網路鏈路和網路介面718發送訊息和接收資料,包括程式碼。在網際網路範例中,伺服器可以通過網際網路、ISP、本地網路和網路介面718發送用於應用程式的請求碼。
所接收的碼可在其被接收時由處理器704執行,和/或儲存在儲存設備710或其他非揮發性記憶體中以用於稍後執行。
前面部分中描述的每個程序、方法和演算法可以在由包括電腦硬體的一個或多個電腦系統或電腦處理器執行的碼模組中實現,並且完全或部分自動化地實現。程序和演算法可以部分或全部地在專用電路中實現。
上述各種特徵和程序可以彼此獨立地使用,或者可以以各種方式組合。所有可能的組合和子組合都意於落入本說明書的範圍內。另外,在一些實施方式中可以省略某些方法或程序方塊。本文描述的方法和程序也不限於任何特定序列,與其相關的方塊或狀態可以以適當的其他序列執行。例如,所描述的方塊或狀態可以以不同於具體公開的順序執行,或者多個方塊或狀態可以在單一方塊或狀態中組合。方塊或狀態的範例可以串列、並行或以某種其他方式執行。可以將方塊或狀態添加到所公開的實施例中或從所公開的實施例中移除。本文描述的系統和組件的範例可以與所描述的不同地被配置。例如,與所公開的實施例相比,可以添加、移除或重新排列元件。
本文描述的方法的各種操作可以至少部分地由被臨時配置(例如,通過軟體)或被永久配置為執行相關操作的一個或多個處理器執行。無論是臨時配置還是永久配置,這樣的處理器可以構成處理器實現引擎,所述處理器實現引擎操作以執行本文描述的一個或多個操作或功能。
類似地,本文描述的方法可以至少部分地由處理器實現,其中一個或多個特定處理器是硬體的範例。例如,所述方法的至少一些操作可以由一個或多個處理器或處理器實現引擎執行。此外,一個或多個處理器還可以操作以支援“雲端計算”環境中的相關操作的性能或作為“軟體即服務”(SaaS)。例如,至少一些操作可以由一組電腦(作為包括處理器的機器的範例)執行,這些操作可以經由網路(例如,網際網路)並且經由一個或多個適當的介面(例如,應用程式介面(API))被存取。
某些操作的性能可以在處理器之間分配,不僅駐留在單一機器中,而且跨多個機器被配置。在一些實施例中,處理器或處理器實現引擎可以位於單一地理位置(例如,在家庭環境、辦公室環境或伺服器群內)。在其他實施例中,處理器或處理器實現引擎可以分佈在多個地理位置。
在整個說明書中,多個實例可以實現作為單一實例所描述的組件、操作或結構。儘管一個或多個方法的各個操作被顯示並描述為獨立的操作,但是可以同時執行一個或多個獨立的操作,並且不需要以所示的順序執行所述操作。在配置中作為獨立組件呈現的結構和功能可以實現為組合結構或組件。類似地,作為單一組件呈現的結構和功能可以實現為獨立的組件。這些和其他變化、修改、添加和改進都落入本文中的主題的範圍內。此外,本文使用的相關術語(諸如“第一”、“第二”、“第三”等)不表示任何順序、高度或重要性,而是用於將一個元件與另一元件區分開。此外,術語“一”、“一個”和“多個”在本文中並不表示數量的限制,而是表示存在至少一個所述的物品。
儘管已經參考具體實施例描述了主題的概述,但是在不脫離本說明書的實施例的較寬範圍的情況下,可以對這些實施例進行各種修改和改變。具體實施方式不應被視為具有限制意義,並且各種實施例的範圍僅由所附請求項以及這些請求項所賦予的等同物的全部範圍限定。
100:區塊鏈網路
112:區塊鏈系統
211:用戶端應用程式
213:遠端程序呼叫(RPC)介面
221:用戶端應用程式
223:遠端程序呼叫(RPC)介面
311~318:步驟
321~326:步驟
510:方法
511~514:方塊
610:系統
611:確定模組
612:傳輸模組
613:獲得模組
614:儲存模組
700:電腦系統
702:匯流排
704:硬體處理器
706:主記憶體
708:唯讀記憶體(ROM)
710:儲存設備
718:網路介面
[圖1]顯示了根據一些實施例的用於實現基於區塊鏈的私有交易的系統。
[圖2]顯示了根據一些實施例的用於實現基於區塊鏈的交易的框架。
[圖3]和[圖4]顯示了根據一些實施例的用於實現基於區塊鏈的交易的方法的流程圖。
[圖5]顯示了根據一些實施例的用於實現基於區塊鏈的私有交易的方法的流程圖。
[圖6]顯示了根據一些實施例的用於實現基於區塊鏈的私有交易的裝置的方塊圖。
[圖7]顯示了電腦系統的方塊圖,其中可以實現本文描述的任何實施例。
Claims (15)
- 一種電腦實現的用於實現基於區塊鏈的私有交易的方法,其中,所述方法由參與私有交易的第一區塊鏈節點執行,所述方法包括:根據公有區塊鏈中的區塊鏈合約確定參與所述私有交易的一個或多個第二區塊鏈節點;向所述一個或多個第二區塊鏈節點傳輸交易資訊,所述交易資訊包括所述私有交易的一個或多個發送方、所述私有交易的一個或多個接收方以及所述私有交易的一個或多個交易金額;獲得來自一定數量的所述第二區塊鏈節點中每個節點的、證明接收所述交易資訊的簽署;回應於獲得超過臨界值的所述一定數量的所述簽署,至少將所述私有交易的表示和所述簽署儲存在所述公有區塊鏈中;從所述一個或多個第二區塊鏈節點中已驗證所述一定數量的所述簽署並尚未接收所述交易資訊的一個第二區塊鏈節點獲得針對所述交易資訊的請求;以及向所述一個第二區塊鏈節點傳輸所述交易資訊,以使所述一個第二區塊鏈節點本地執行所述私有交易。
- 如請求項1所述的方法,其中:所述區塊鏈合約包括參與所述私有交易的所述第一區塊鏈節點和所述第二區塊鏈節點中每個的位址;以及根據所述公有區塊鏈中的所述區塊鏈合約確定參與所 述私有交易的所述一個或多個第二區塊鏈節點,包括:根據參與所述私有交易的所述一個或多個第二區塊鏈節點中每個節點的位址確定參與所述私有交易的所述一個或多個第二區塊鏈節點。
- 如請求項2所述的方法,其中:所述第一區塊鏈節點和所述第二區塊鏈節點中每個的位址包括以下中的至少一個:網際網路協定IP位址或通訊埠號。
- 如請求項2或3中任一項所述的方法,其中:所述區塊鏈合約還包括與參與所述私有交易的所述第一區塊鏈節點和所述第二區塊鏈節點中每個相關聯的公開金鑰;以及向所述一個或多個第二區塊鏈節點傳輸所述交易資訊,包括:對於所述一個或多個第二區塊鏈節點中每個,用相應的公開金鑰對所述交易資訊進行加密;以及根據所述一個或多個第二區塊鏈節點中每個的位址,向所述一個或多個第二區塊鏈節點中每個傳輸所述加密的交易資訊。
- 如請求項1所述的方法,其中:所述區塊鏈合約還包括包含參與所述私有交易的所述第一區塊鏈節點和所述第二區塊鏈節點中每個的組的標識,用於向所述第一區塊鏈節點和所述第二區塊鏈節點中 每個通知參與所述私有交易。
- 根據請求項1所述的方法,其中,來自所述一定數量的所述第二區塊鏈節點中每個節點的、證明接收所述交易資訊的簽署,包括:用與所述一定數量的所述第二區塊鏈節點中每個相關聯的私密金鑰加密的所述交易資訊的雜湊值。
- 如請求項1所述的方法,還包括:本地執行所述私有交易。
- 如請求項1所述的方法,其中,在根據所述公有區塊鏈中的所述區塊鏈合約確定參與所述私有交易的所述一個或多個第二區塊鏈節點之前,還包括:將區塊鏈節點資訊儲存在所述公有區塊鏈中,所述區塊鏈節點資訊包括參與所述私有交易的所述第一區塊鏈節點和所述第二區塊鏈節點中每個的公開金鑰以及所述第一區塊鏈節點和所述第二區塊鏈節點中每個的位址。
- 如請求項8所述的方法,其中,將所述區塊鏈節點資訊儲存在所述公有區塊鏈中,包括:向所述公有區塊鏈的一個或多個區塊鏈節點傳輸包括所述區塊鏈合約的第一區塊鏈交易,以將所述區塊鏈合約配置在所述公有區塊鏈中;以及向所述公有區塊鏈的一個或多個區塊鏈節點傳輸一個或多個第二區塊鏈交易,以呼叫所述配置的區塊鏈合約,進而將所述區塊鏈節點資訊儲存在所述配置的區塊鏈合約中。
- 如請求項8或9中任一項所述的方法,其中:所述配置的區塊鏈合約被配置為,在將所述區塊鏈節點資訊儲存在所述配置的區塊鏈合約中之後,禁止對參與所述私有交易的所述第一區塊鏈節點和所述第二區塊鏈節點中每個的更改。
- 如請求項1所述的方法,其中,至少將所述私有交易的表示和所述簽署儲存在所述公有區塊鏈中,包括:向所述公有區塊鏈的一個或多個區塊鏈節點傳輸包括所述私有交易的交易雜湊和所述簽署的第三區塊鏈交易,以打包到所述公有區塊鏈中,其中,所述交易雜湊至少是所述交易資訊的雜湊值。
- 如請求項1所述的方法,其中,回應於獲得超過臨界值的所述一定數量的所述簽署,至少將所述私有交易的表示和所述簽署儲存在所述公有區塊鏈中,包括:回應於分別獲得參與所述私有交易的所有第二區塊鏈節點的簽署,至少將所述私有交易的表示和所述簽署儲存在所述公有區塊鏈中。
- 一種用於實現基於區塊鏈的私有交易的系統,包括:一個或多個處理器;和耦接到所述一個或多個處理器並且其上儲存有指令的 一個或多個電腦可讀記憶體,所述指令能由所述一個或多個處理器執行以執行請求項1至12中任一項所述的方法。
- 一種用於實現基於區塊鏈的私有交易的裝置,包括用於執行請求項1至12中任一項所述的方法的多個模組。
- 一種非暫態電腦可讀媒體,所述電腦可讀媒體中儲存有指令,當所述指令由設備的處理器執行時,所述指令促使所述設備執行請求項1至12中任一項所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/089486 WO2019170167A2 (en) | 2019-05-31 | 2019-05-31 | System and method for providing privacy and security protection in blockchain-based private transactions |
WOPCT/CN2019/089486 | 2019-05-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202046223A TW202046223A (zh) | 2020-12-16 |
TWI740423B true TWI740423B (zh) | 2021-09-21 |
Family
ID=67847527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109109579A TWI740423B (zh) | 2019-05-31 | 2020-03-23 | 在基於區塊鏈的私有交易中提供隱私和安全保護的系統和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20200118096A1 (zh) |
EP (1) | EP3688929B1 (zh) |
CN (1) | CN111164935B (zh) |
SG (1) | SG11202003719QA (zh) |
TW (1) | TWI740423B (zh) |
WO (1) | WO2019170167A2 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101849918B1 (ko) * | 2016-10-26 | 2018-04-19 | 주식회사 코인플러그 | Utxo 기반 프로토콜을 사용하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버 |
US11216573B1 (en) * | 2018-08-06 | 2022-01-04 | United Services Automobile Association (Usaa) | Privacy preservation in private consensus networks |
US11164180B1 (en) | 2018-08-06 | 2021-11-02 | United Services Automobile Association (Usaa) | Privacy preservation in private consensus networks |
US11263315B2 (en) | 2018-12-03 | 2022-03-01 | Ebay Inc. | System level function based access control for smart contract execution on a blockchain |
US11250125B2 (en) | 2018-12-03 | 2022-02-15 | Ebay Inc. | Highly scalable permissioned block chains |
US11405182B2 (en) | 2018-12-03 | 2022-08-02 | Ebay Inc. | Adaptive security for smart contracts using high granularity metrics |
US12008549B2 (en) * | 2019-07-22 | 2024-06-11 | Visa International Service Association | Federated custodian |
KR102372422B1 (ko) * | 2019-11-26 | 2022-03-07 | 한양대학교 산학협력단 | 리더가 없는 블록 체인 합의 방법 및 그 장치 |
US11362808B2 (en) * | 2019-12-06 | 2022-06-14 | Sasken Technologies Ltd | Method and system for consensus in a permissioned blockchain |
CN113128999B (zh) * | 2019-12-31 | 2024-04-12 | 航天信息股份有限公司 | 一种区块链隐私保护方法及装置 |
CN111489156A (zh) * | 2020-03-18 | 2020-08-04 | 平安国际智慧城市科技股份有限公司 | 基于区块链的交易方法、电子装置及可读存储介质 |
CN111598701B (zh) * | 2020-05-22 | 2023-09-19 | 深圳市迅雷网络技术有限公司 | 一种信息监控方法、系统、设备及存储介质 |
CN111652724A (zh) * | 2020-06-03 | 2020-09-11 | 中国银行股份有限公司 | 一种基于区块链的跨行交易方法及系统 |
CN111866085B (zh) * | 2020-06-28 | 2021-12-14 | 北京沃东天骏信息技术有限公司 | 基于区块链的数据存储方法、系统和装置 |
EP3957025B1 (en) * | 2020-07-03 | 2022-12-28 | Alipay (Hangzhou) Information Technology Co., Ltd. | System and method for providing privacy and security protection in blockchain-based private transactions |
CN111988402B (zh) * | 2020-08-20 | 2022-06-24 | 支付宝(杭州)信息技术有限公司 | 一种数据核验方法、装置及电子设备 |
CN112036878B (zh) * | 2020-08-28 | 2023-08-22 | 平安科技(深圳)有限公司 | 数据处理方法及装置 |
CN112600874B (zh) * | 2020-11-24 | 2023-03-31 | 成都质数斯达克科技有限公司 | 节点加入方法、装置、电子设备及可读存储介质 |
CN112488680B (zh) * | 2020-12-04 | 2024-02-20 | 深圳前海微众银行股份有限公司 | 一种基于区块链的私有交易处理方法及装置 |
CN112636929B (zh) * | 2020-12-29 | 2023-01-17 | 北京百度网讯科技有限公司 | 群组业务实现方法、装置、设备和存储介质 |
US11689355B2 (en) * | 2021-03-04 | 2023-06-27 | Mastercard International Incorporated | Method and system for the atomic exchange of blockchain assets using transient key pairs |
US12051062B2 (en) * | 2021-05-24 | 2024-07-30 | Radian Group Inc. | Blockchain secured transaction workflows |
CN113486120B (zh) * | 2021-07-23 | 2022-05-20 | 湖南航天捷诚电子装备有限责任公司 | 一种数据处理方法及其数据通信系统 |
US20230068301A1 (en) * | 2021-08-26 | 2023-03-02 | Mastercard International Incorporated | Method and system for privately managed digital assets on an enterprise blockchain |
EP4409838A1 (en) * | 2021-10-01 | 2024-08-07 | Mastercard International Incorporated | Method and system for blockchain-based transactions for the atomic exchange of assets |
EP4203389A1 (en) * | 2021-12-23 | 2023-06-28 | Siemens Aktiengesellschaft | System and method for decentralized auditing of a blockchain network |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160224949A1 (en) * | 2015-02-04 | 2016-08-04 | Ripple Labs Inc. | Temporary consensus subnetwork in a distributed network for payment processing |
CN107425982A (zh) * | 2017-07-07 | 2017-12-01 | 众安信息技术服务有限公司 | 一种实现智能合约数据加密的方法和区块链 |
CN107682364A (zh) * | 2017-11-03 | 2018-02-09 | 杭州秘猿科技有限公司 | 一种许可链隐私交易方法 |
CN107807984A (zh) * | 2017-10-31 | 2018-03-16 | 上海分布信息科技有限公司 | 一种分区的区块链网络及其实现分区共识的方法 |
CN107911216A (zh) * | 2017-10-26 | 2018-04-13 | 矩阵元技术(深圳)有限公司 | 一种区块链交易隐私保护方法及系统 |
TW201909613A (zh) * | 2017-07-14 | 2019-03-01 | 香港商阿里巴巴集團服務有限公司 | 區塊鏈共識網路中處理共識請求的方法、裝置和電子設備 |
WO2019072299A2 (en) * | 2018-12-19 | 2019-04-18 | Alibaba Group Holding Limited | DATA INSULATION IN A BLOCK CHAIN NETWORK |
WO2019072304A2 (en) * | 2018-12-28 | 2019-04-18 | Alibaba Group Holding Limited | WHITE LISTS OF INTELLIGENT CONTRACTS |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN109313753A (zh) * | 2016-04-01 | 2019-02-05 | 摩根大通国家银行 | 用于在私有分布式账本中提供数据隐私的系统和方法 |
CN107395557B (zh) * | 2017-03-28 | 2020-05-15 | 创新先进技术有限公司 | 一种业务请求的处理方法及装置 |
US11487749B2 (en) * | 2018-05-30 | 2022-11-01 | Aenco Technologies Limited | Method and system for verifying and maintaining integrity of data transactions using distributed ledger |
US20200004946A1 (en) * | 2018-07-02 | 2020-01-02 | Cyberark Software Ltd. | Secretless and secure authentication of network resources |
US11159307B2 (en) * | 2018-08-08 | 2021-10-26 | International Business Machines Corporation | Ad-hoc trusted groups on a blockchain |
KR102115660B1 (ko) * | 2018-08-10 | 2020-05-26 | 고하준 | 중재노드를 이용한 블록체인 안전결제 방법 및 그 시스템 |
CN109360096B (zh) * | 2018-09-27 | 2020-12-08 | 中国联合网络通信集团有限公司 | 一种基于公有链的私有链的记账方法及系统 |
CN109377221B (zh) * | 2018-10-16 | 2021-09-03 | 杭州趣链科技有限公司 | 一种基于联盟区块链的隐私交易保护的方法 |
CN109584066B (zh) * | 2018-10-31 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 基于区块链的隐私交易及其应用方法和装置 |
CN109409888B (zh) * | 2018-11-13 | 2021-07-13 | 上海物融智能科技有限公司 | 一种支持私有交易的公有区块链系统及私有交易的处理方法 |
CN109472601A (zh) * | 2018-11-21 | 2019-03-15 | 北京蓝石环球区块链科技有限公司 | 可监管隐私交易的区块链架构 |
-
2019
- 2019-05-31 CN CN201980004790.1A patent/CN111164935B/zh active Active
- 2019-05-31 EP EP19764323.2A patent/EP3688929B1/en active Active
- 2019-05-31 SG SG11202003719QA patent/SG11202003719QA/en unknown
- 2019-05-31 WO PCT/CN2019/089486 patent/WO2019170167A2/en unknown
- 2019-12-14 US US16/714,717 patent/US20200118096A1/en not_active Abandoned
-
2020
- 2020-03-23 TW TW109109579A patent/TWI740423B/zh active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160224949A1 (en) * | 2015-02-04 | 2016-08-04 | Ripple Labs Inc. | Temporary consensus subnetwork in a distributed network for payment processing |
CN107425982A (zh) * | 2017-07-07 | 2017-12-01 | 众安信息技术服务有限公司 | 一种实现智能合约数据加密的方法和区块链 |
TW201909613A (zh) * | 2017-07-14 | 2019-03-01 | 香港商阿里巴巴集團服務有限公司 | 區塊鏈共識網路中處理共識請求的方法、裝置和電子設備 |
CN107911216A (zh) * | 2017-10-26 | 2018-04-13 | 矩阵元技术(深圳)有限公司 | 一种区块链交易隐私保护方法及系统 |
CN107807984A (zh) * | 2017-10-31 | 2018-03-16 | 上海分布信息科技有限公司 | 一种分区的区块链网络及其实现分区共识的方法 |
CN107682364A (zh) * | 2017-11-03 | 2018-02-09 | 杭州秘猿科技有限公司 | 一种许可链隐私交易方法 |
WO2019072299A2 (en) * | 2018-12-19 | 2019-04-18 | Alibaba Group Holding Limited | DATA INSULATION IN A BLOCK CHAIN NETWORK |
WO2019072304A2 (en) * | 2018-12-28 | 2019-04-18 | Alibaba Group Holding Limited | WHITE LISTS OF INTELLIGENT CONTRACTS |
Also Published As
Publication number | Publication date |
---|---|
EP3688929A2 (en) | 2020-08-05 |
WO2019170167A3 (en) | 2020-04-02 |
CN111164935B (zh) | 2023-08-22 |
CN111164935A (zh) | 2020-05-15 |
EP3688929A4 (en) | 2020-09-09 |
US20200118096A1 (en) | 2020-04-16 |
TW202046223A (zh) | 2020-12-16 |
SG11202003719QA (en) | 2020-05-28 |
EP3688929B1 (en) | 2022-03-30 |
WO2019170167A2 (en) | 2019-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI740423B (zh) | 在基於區塊鏈的私有交易中提供隱私和安全保護的系統和方法 | |
US11025435B2 (en) | System and method for blockchain-based cross-entity authentication | |
US11533164B2 (en) | System and method for blockchain-based cross-entity authentication | |
US10824701B2 (en) | System and method for mapping decentralized identifiers to real-world entities | |
CN111144881B (zh) | 对资产转移数据的选择性访问 | |
US11212081B2 (en) | Method for signing a new block in a decentralized blockchain consensus network | |
US11265162B2 (en) | System and method for providing privacy and security protection in blockchain-based private transactions | |
WO2021000419A1 (en) | System and method for blockchain-based cross-entity authentication | |
JP2024056954A (ja) | 動的ノードグループのための秘密鍵のセキュアな再利用 | |
JP2023076628A (ja) | 一対の結合ブロックチェーンを構成するバイナリブロックチェーンに関連するコンピュータ実装システム及び方法 | |
US20200204338A1 (en) | Securing public key cryptographic algorithms | |
US20200160340A1 (en) | Distributed fraud detection system within mesh networks | |
KR102627868B1 (ko) | 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템 | |
Sathya et al. | Bitcoin: A P2P Digital Currency |