TWI712306B - 在區塊鏈網路中的跨資產交易的方法、電腦可讀儲存媒體及系統 - Google Patents
在區塊鏈網路中的跨資產交易的方法、電腦可讀儲存媒體及系統 Download PDFInfo
- Publication number
- TWI712306B TWI712306B TW108126184A TW108126184A TWI712306B TW I712306 B TWI712306 B TW I712306B TW 108126184 A TW108126184 A TW 108126184A TW 108126184 A TW108126184 A TW 108126184A TW I712306 B TWI712306 B TW I712306B
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- value
- transaction
- group
- data
- Prior art date
Links
Images
Classifications
-
- 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/3218—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
- G06Q20/0658—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- 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/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- 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/381—Currency conversion
-
- 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/3823—Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a 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/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/389—Keeping log of transactions for guaranteeing non-repudiation of a 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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/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
- G06Q2220/00—Business processing using cryptography
-
- 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)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Power Engineering (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本發明涉及在區塊鏈網路內進行跨資產交易,並包括:第一節點基於第一價值、第二價值以及第二節點的匯率提供交易資訊;從所述第二節點接收第一證據組、第一範圍證明和所述第二節點的數位簽章,並提交該交易以用於基於所述第一範圍證明、第二範圍證明、所述第一證據組、第二證據組、所述第一節點的數位簽章、所述第二節點的數位簽章進行驗證;執行所述交易以將所述第一節點的餘額減少所述第一價值,將所述第二節點的第一餘額增加所述第一價值,將所述第二節點的第二餘額減少所述第二價值,並將第三節點的餘額增加所述第二價值。
Description
本發明是關於一種在區塊鏈網路中的跨資產交易。
分散式帳本(DLS),也可稱為共識網路和/或區塊鏈網路,使參與實體能夠安全地且不可篡改地儲存資料。在不引用任何特定用例的情況下,DLS通常被稱為區塊鏈網路。區塊鏈網路的示例類型可以包括公有區塊鏈網路、私有區塊鏈網路和聯盟區塊鏈網路。公有區塊鏈網路向所有實體開放使用DLS,並開放參與共識過程。私有區塊鏈網路針對特定實體提供,該實體集中控制讀寫許可權。聯盟區塊鏈網路針對選擇的實體組群提供,該實體組群控制共識過程,並包括存取控制層。
區塊鏈網路可以用於通過轉帳和兌換諸如貨幣的數位資產來交易價值。通過將數位資產從區塊鏈網路的一個節點轉帳到另一個節點,可以在區塊鏈網路內兌換幾種不同類型的數位資產。在一些情況下,在區塊鏈網路內轉帳數位資產包括基於匯率將一種類型的數位資產兌換為第二類型的數字資產。
然而,區塊鏈網路中的參與者可能期望其交易具有隱私,使得包括共識節點的其他參與者不知道交易的細節(例如,交易金額,匯率)。為了提供隱私,可以使用加密方案。然而,一些加密方案不支持例如同態乘法的乘法運算。儘管一些加密方案支持這種乘法運算,但它們僅限於單次乘法運算。這抑制了包括例如匯率的跨資產交易中的參與者維持匯率的隱私的能力。
本文的實施方式包括用於在區塊鏈網路內轉帳貨幣的電腦實現的方法。更具體地,本文的實施方式涉及使用加密交易資料和加密匯率的在區塊鏈網路內的跨資產交易。
在一些實施方式中,操作包括:由所述區塊鏈網路中的第一節點基於第一價值和第二價值使用Boneh-Goh-Nissim(BGN)加密法生成密文,所述第二價值基於所述第一價值以及由所述區塊鏈網路中的第二節點提供的匯率確定;由所述第一節點向所述第二節點傳輸所述第一價值和所述密文;由所述第一節點從所述第二節點接收第一證據組,所述第一證據組包括可以用於通過零知識證明(ZKP)常式在不顯露所述匯率的情況下驗證所述匯率的資料組;由所述第一節點生成第二證據組,所述第二證據組包括可用於使用ZKP常式驗證所述密文是由所述第一節點的BGN公開金鑰加密的資料組;由所述第一節點定義交易,所述交易包括在所述第一節點和所述第二節點之間的、用於將所述第一價值從所述第一節點轉帳至所述第二節點的第一交易,以及在所述第二節點和第三節點之間的、用於將所述第二價值從所述第二節點轉帳至所述第三節點的第二交易;以及由所述第一節點將所述交易傳輸至所述區塊鏈網路的至少一個共識節點,以用於所述交易的驗證和執行,基於所述第一證據組、所述第二證據組驗證所述交易,並且回應於驗證所述交易,執行所述第一交易和所述第二交易,以將所述第一節點的餘額減少所述第一價值,將所述第二節點的第一餘額增加所述第一價值,將所述第二節點的第二餘額減少所述第二價值,並將所述第三節點的餘額增加所述第二價值。其他實施方式包括:相應的系統、裝置和電腦程式,其編碼在電腦存放裝置上被配置為執行所述方法的操作。
這些和其他實施方式可以各自可選地包括以下特徵中的一個或多個:第一證據組由所述第二節點基於所述第一價值、由所述第一節點提供的亂數對,以及所述密文提供;由所述至少一個共識節點驗證所述交易包括:驗證所述第一節點的數位簽章和所述第二節點的數位簽章;由所述至少一個共識節點驗證所述交易包括:驗證由所述第一節點提供的第一範圍證明和由所述第二節點提供的第二範圍證明;所述第一範圍證明包括ZKP以證明所述第一價值大於零,並且所述第一節點的餘額大於或等於所述第一價值;所述第二範圍證明包括ZKP以證明所述第二節點的所述第二餘額大於或等於所述第二價值;所述交易還包括資料組,所述資料組包括至少部分地基於BGN加密法生成的一組密文,所述資料組用於由所述至少一個共識節點驗證所述交易;操作還包括:由所述第一節點通過區塊鏈網路的子鏈通道從所述第二節點接收所述匯率;所述密文中的至少一個密文是使用Pedersen承諾提供的;所述第一證據組的所述資料組包括第一資料值和第二資料值,基於用於生成所述第二節點的BGN公開金鑰的參數確定所述第一資料值和所述第二資料值中的每個;並且所述第二證據組的所述資料組包括密文組和價值組,該價值組中的每個價值至少部分地基於所述密文組的雜湊值。
本文還提供了耦接到一個或多個處理器並且其上儲存有指令的一個或多個非暫態電腦可讀儲存媒體,當所述指令由所述一個或多個處理器執行時,所述指令將促使所述一個或多個處理器按照本文提供的方法的實施方式執行操作。
本文還提供了用於實現本文提供的方法的系統。該系統包括一個或多個處理器,以及耦接到所述一個或多個處理器並且其上儲存有指令的電腦可讀儲存媒體,當所述指令由所述一個或多個處理器執行時,所述指令將促使所述一個或多個處理器按照本文提供的方法的實施方式執行操作。
應瞭解,根據本文的方法可包括本文描述的方面和特徵的任何組合。也就是說,根據本文的方法不限於本文具體描述的方面和特徵的組合,還包括所提供的方面和特徵的任何組合。
以下在圖式和描述中闡述了本文的一個或多個實施方式的細節。根據說明書和圖式以及申請專利範圍,本文的其他特徵和優點將顯而易見。
本文的實施方式包括用於在區塊鏈網路內轉帳資產的電腦實現的方法。更具體地,本文的實施方式涉及使用加密的交易資料和加密的匯率的、區塊鏈網路內的跨資產交易。
為本文的實施方式提供進一步的背景,並且如上所述,分散式帳本系統(DLS),又可稱為共識網路(例如,由點對點節點組成)和區塊鏈網路,使參與的實體能夠安全地、不可篡改地進行交易和儲存資料。雖然“區塊鏈”一詞通常與特定網路和/或用例相關聯,但是本文所使用的區塊鏈一般指在不參考任何特定用例的情況下的DLS。
區塊鏈是以交易不可篡改的方式儲存交易的資料結構。因此,區塊鏈上記錄的交易是可靠且可信的。區塊鏈包括一個或多個區塊。鏈中的每個區塊通過包含鏈中緊鄰其之前的前一區塊的加密雜湊值(cryptographic hash)連結到該前一區塊。每個區塊還包括時間戳記、自身的加密雜湊值以及一個或多個交易。已經被區塊鏈網路中的節點驗證的交易經雜湊處理並編入默克爾(Merkle)樹中。Merkle樹是一種資料結構,在該樹的葉節點處的資料是經雜湊處理的,並且在該樹的每個分支中的所有雜湊值在該分支的根處連接。此過程沿著樹持續一直到整個樹的根,在整個樹的根處儲存了代表樹中所有資料的雜湊值。聲稱是儲存在樹中的交易的雜湊值可以通過確定其是否與樹的結構一致而被快速驗證。
區塊鏈是用於儲存交易的去中心化或至少部分去中心化的資料結構,而區塊鏈網路是通過廣播、驗證和確認交易等來管理、更新和維護一個或多個區塊鏈的計算節點的網路。聯盟區塊鏈網路在參與實體之間是私有的。在聯盟區塊鏈網路中,共識過程由授權的節點集控制,一個或多個節點由相應的實體(例如,金融機構、保險公司)操作。例如,由十(10)個實體(例如,金融機構、保險公司)組成的聯盟可以操作聯盟區塊鏈網路,每個實體可以操作聯盟區塊鏈網路中的至少一個節點。因此,聯盟區塊鏈網路可以被認為是與參與實體相關的私有網路。在一些示例中,每個實體(節點)必須對每個區塊簽名以使區塊有效,並被添加到區塊鏈中。在一些示例中,至少實體(節點)的子集(例如,至少7個實體)必須對每個區塊簽名以使區塊有效,並被添加到區塊鏈中。
如上所述,區塊鏈網路可以被提供為公有區塊鏈網路,私有鏈區塊網路或聯盟區塊鏈網路。本文參考聯盟區塊鏈網路進一步詳細描述了本文的實施方式。然而,可以預期,本文的實施方式可以在任何適當類型的區塊鏈網路中實現。儘管本文中描述的技術被表明為與聯盟區塊鏈網路相關的技術,但無論更改與否,這些技術也可以在其他類型的區塊鏈網路中使用,包括公有區塊鏈網路和私有區塊鏈網路。
通常,聯盟區塊鏈網路在參與實體之間是私有的。在聯盟區塊鏈網路中,共識過程由授權的節點集控制,其可以被稱為共識節點集,一個或多個共識節點由相應的實體(例如,金融機構、保險公司)操作。例如,由十(10)個實體(例如,金融機構,保險公司)組成的聯盟可以操作聯盟區塊鏈網路,每個實體可以操作聯盟區塊鏈網路中的至少一個節點。
在一些示例中,在聯盟區塊鏈網路內,全域區塊鏈作為跨所有節點複製的區塊鏈提供。也就是說,所有共識節點相對於全域區塊鏈處於完全共識狀態。為了達成共識(例如,同意向區塊鏈添加區塊),在公有區塊鏈網路內實施共識協定。示例性共識協議包括但不限於實用拜占庭容錯(PBFT),工作量證明(POW),權益證明(POS)和許可權證明(POA)。
聯盟區塊鏈網路可用於進行數位資產的轉帳和兌換。在一些情況下,數位資產可以代表現實世界的資產。在一些情況下,數位資產可以代表虛擬資產。例如,虛擬資產可以代表現實世界的價值,並且該虛擬資產可以用於購買產品和/或服務。虛擬資產被提供為現實世界的實體資產(例如人民幣、美元)的替代品。在聯盟區塊鏈網路內進行交易提供了額外的安全性,因為聯盟區塊鏈網路驗證交易且不可篡改地記錄交易。本文中參考貨幣(例如,人民幣、美元)更詳細地描述了本文的實施方式。然而,可以預期,這些實施方式可以用任何適當的數位資產來實現。
圖1描繪了可用於執行本發明的環境100的示例。在一些示例中,環境100使得實體能夠參與到聯盟區塊鏈網路102中。環境100包括計算設備106、108和網路110。在一些示例中,網路110包括區域網路(LAN)、廣域網路(WAN)、網際網路或其組合,並且連接網路網站、用戶設備(例如,計算設備)和後臺系統。在一些示例中,可以通過有線和/或無線通訊鏈路來存取網路110。
在所描繪的示例中,計算系統106、108可以各自包括能夠作為節點參與至聯盟區塊鏈網路102中的任何適當的計算系統。示例性計算設備包括但不限於伺服器、桌上型電腦、筆記型型電腦、平板計算設備以及智慧型電話。在一些示例中,計算系統106、108承載一個或多個由電腦實施的服務,用於與聯盟區塊鏈網路102進行交互。例如,計算系統106可以承載第一實體(例如,用戶A)的由電腦實施的、例如交易管理系統的服務,第一實體使用該交易管理系統管理其與一個或多個其他實體(例如,其他用戶)的交易。計算系統108可以承載第二實體(例如,用戶B)的由電腦實施的、例如交易管理系統的服務,第二實體使用該交易管理系統管理其與一個或多個其他實體(例如,其他用戶)的交易。在圖1的示例中,聯盟區塊鏈網路102被表示為節點的點對點網路(Peer-to-Peer network),且計算系統106、108分別提供參與聯盟區塊鏈網路102的第一實體和第二實體的節點。
圖2描繪了根據本發明的概念性架構200的示例。概念性架構200包括實體層202、承載服務層204和區塊鏈網路層206。在所描繪的示例中,實體層202包括三個參與者,參與者A、參與者B和參與者C,每個參與者具有相應的交易管理系統208。
在所描繪的示例中,承載服務層204包括用於每個交易管理系統208的介面210。在一些示例中,相應的交易管理系統208通過網路(例如,圖1的網路110)使用協定(例如,超文字傳輸協定安全(HTTPS))與相應的介面210進行通信。在一些示例中,每個介面210提供區塊鏈網路層206與相應的交易管理系統208之間的通信連接。更具體地,介面210與區塊鏈網路層206的區塊鏈網路212通信。在一些示例中,使用遠端調用(RPC)在區塊鏈網路層206和介面210之間進行通信。在一些示例中,介面210“承載”用於相應交易管理系統208的區塊鏈網路節點。例如,介面210提供用於存取區塊鏈網路212的應用程式設計發展介面(API)。
如本文所述,區塊鏈網路212被提供為點對點網路(peer-to-peer network),其包括在區塊鏈216中不可篡改地記錄資訊的多個節點214。儘管示意性地描述了單個區塊鏈216,但是在區塊鏈網路212上提供並維護了區塊鏈216的多個副本。例如,每個節點214儲存區塊鏈的一個副本。在一些實施方式中,區塊鏈216儲存與在參與聯盟區塊鏈網路中的兩個或更多個實體之間執行的交易關聯的資訊。
區塊鏈(例如,圖2的區塊鏈216)由一系列區塊組成,每個區塊儲存資料。示例性資料包括表示兩個或更多個參與者之間的交易的交易資料。雖然本文通過非限制性示例使用了“交易”,但是可以預期,任何適當的資料可以儲存在區塊鏈中(例如,文檔、圖像、視頻、音訊)。示例性交易可以包括但不限於有價物的交換(例如,資產、產品、服務、貨幣)。交易資料不可篡改地儲存在區塊鏈中。也就是說,交易資料不能改變。
在將交易資料儲存在區塊中之前,對交易資料進行雜湊處理。雜湊處理是將交易資料(作為字串資料提供)轉換為固定長度雜湊值(也作為字串資料提供)的過程。不可能對雜湊值進行去雜湊處理(un-hash)以獲取交易資料。雜湊處理可確保即使交易資料中的輕微改變也會導致生成完全不同的雜湊值。此外,如上所述,雜湊值具有固定長度。也就是說,無論交易資料的大小如何,雜湊值的長度都是固定的。雜湊處理包括通過雜湊函數處理交易資料以生成雜湊值。示例性雜湊函數包括但不限於輸出256位雜湊值的安全雜湊演算法(SHA)-256。
多個交易的交易資料被雜湊處理並儲存在區塊中。例如,提供兩個交易的雜湊值,並對它們本身進行雜湊處理以提供另一個雜湊值。重複此過程,直到針對所有要儲存在區塊中的交易提供單個雜湊值為止。該雜湊值被稱為Merkle根雜湊值,並儲存在區塊頭中。任何交易中的更改都會導致其雜湊值發生變化,並最終導致Merkle根雜湊值發生變化。
通過共識協議將塊添加到區塊鏈。區塊鏈網路中的多個節點參與共識協議,並進行工作以將區塊添加到區塊鏈中。這樣的節點被稱為共識節點。上面介紹的PBFT用作共識協議的非限制性示例。共識節點執行共識協定以將交易添加到區塊鏈中。
更詳細地,共識節點生成區塊頭,對區塊中的所有交易雜湊處理,並將雜湊值成對地組合以生成進一步的雜湊值,直到針對區塊中的所有交易提供單個雜湊值(Merkle根雜湊值)為止。將此雜湊值將添加到區塊頭中。共識節點還確定區塊鏈中最新的區塊(即,添加到區塊鏈中的最後一個區塊)的雜湊值。共識節點還向區塊頭中添加亂數(nonce)值和時間戳記。
通常,PBFT提供容忍拜占庭錯誤(例如,故障節點、惡意節點)的實用拜占庭狀態機複製。這通過在PBFT中假設將發生錯誤(例如,假設存在獨立節點故障,和/或由共識節點發送的操縱消息)實現。在PBFT中,共識節點以包括主共識節點和備共識節點的順序提供。主共識節點被週期性地改變,通過區塊鏈網路內的所有共識節點對區塊鏈網路的全域狀態達成一致,將交易添加到區塊鏈中。在此過程中,消息在共識節點之間傳輸,並且每個共識節點證明消息是從指定的對等節點(peer node)接收的,並驗證消息在傳輸期間未被篡改。
在PBFT中,共識協議是在所有共識節點始於相同的狀態的情況下分多個階段提供的。首先,用戶端向主共識節點發送請求以調用服務操作(例如,在區塊鏈網路內執行交易)。回應於接收請求,主共識節點將請求組播到備共識節點。備共識節點執行請求,並且各自向用戶端發送回復。用戶端等待直到收到閾值數量的回復。在一些示例中,用戶端等待接收f
+1個回復,其中f
是在區塊鏈網路內可以容忍的錯誤共識節點的最大數量。最終結果是,足夠數量的共識節點就將記錄添加到區塊鏈的順序達成一致,且該記錄或被接受,又或被拒絕。
在一些區塊鏈網路中,用加密處理來維護交易的隱私。例如,如果兩個節點想要保持交易隱私,以使得區塊鏈網路中的其他節點不能看出交易的細節,則這兩個節點可以對交易資料進行加密。示例性加密處理包括但不限於對稱加密和非對稱加密。對稱加密是指使用單個金鑰既進行加密(從明文生成密文)又進行解密(從密文生成明文)的加密過程。在對稱加密中,同一金鑰可用於多個節點,因此每個節點可對交易資料進行加密/解密。
非對稱加密使用金鑰對,每個金鑰對包括私密金鑰和公開金鑰,私密金鑰僅對於相應節點是已知的,而公開金鑰對於區塊鏈網路中的任何或所有其他節點是已知的。一個節點可以使用另一個節點的公開金鑰來加密資料,並且該加密的資料可以使用另一節點的私密金鑰解密。例如,再次參考圖2,參與者A可以使用參與者B的公開金鑰來加密資料,並將加密資料發送給參與者B。參與者B可以使用其私密金鑰來解密該加密資料(密文)並提取原始資料(明文)。使用節點的公開金鑰加密的消息只能使用該節點的私密金鑰解密。
非對稱加密用於提供數位簽章,這使得交易中的參與者能夠確認交易中的其他參與者以及交易的有效性。例如,一個節點可以對消息進行數位簽章,而另一個節點可以根據參與者A的數位簽章來確認消息是由那一個節點發送的。數位簽章也可以用於確保消息在傳輸過程中不被篡改。例如,再次參考圖2,參與者A將向參與者B發送消息。參與者A生成消息的雜湊值,然後使用其私密金鑰加密該雜湊值以提供為加密雜湊值的數位簽章。參與者A將該數位簽章附加到該消息上,並將該具有數位簽章的消息發送給參與者B。參與者B使用參與者A的公開金鑰解密該數位簽章,並提取雜湊值。參與者B對消息進行雜湊處理並比較雜湊值。如果雜湊值相同,參與者B可以確認該消息確實來自參與者A,且未被篡改。
與現實世界物理貨幣的轉帳一樣,有效地轉帳數位化代表的貨幣有時需要受讓人將第一類型的貨幣兌換成第二類型的貨幣。例如,聯盟區塊鏈網路的僅具有第一類型的貨幣(例如,美元($))的第一成員(例如,參與者A)可能想要將貨幣轉帳到該聯盟區塊鏈網路的使用第二類型的貨幣(例如,人民幣)的第二成員(例如,參與者C)。為了讓參與者A將價值轉帳給參與者C,在將第一類型貨幣的金額轉帳給參與者C之前,需要將其兌換成同等價值的第二類型貨幣的金額。
根據本文的實施方式,並且如本文進一步詳細描述的,貨幣類型的兌換可以通過聯盟區塊鏈網路的第三成員(例如,參與者B)作為仲介來實現。例如,參與者A可以將第一類型貨幣的金額轉帳給參與者B,參與者B可以基於參與者B使用的匯率(ER)將具有同等價值的第二類型貨幣的金額轉帳給參與者C。在一些示例中,參與者B是向聯盟區塊鏈網路的成員提供貨幣兌換服務的金融機構。
為了確保區塊鏈網路內的貨幣兌換所涉及的各方的隱私,在區塊鏈網路內進行驗證和發佈兌換之前,兌換的底層交易資料被加密。在一些示例中,交易資料包括第一貨幣的轉帳金額(t 1
)和被提供用於兌換第一金額的第二貨幣的金額(t 2
)。通常,使用例如Boneh-Goh-Nissim(BGN)加密法的同態加密方案加密被提交給區塊鏈用於驗證的交易資料。在同態加密方案下,可以將兩項或更多項加密資料相加而不受限制。與其他加密方案(例如,帕耶(Paillier)公開金鑰加密法(PKE))不同,BGN加密法使得能夠在兩個密文上進行同態乘法(例如,加密的β與加密的t 1
相乘)。但是,使用同態加密法加密的資料項目僅限於單次乘法。這是因為使用同態加密法加密的兩個資料項目的乘法配對所生成的加密乘積具有與加密乘數不同的階。
下面的等式證明了乘法同態的一次性性質,其通常被稱為橢圓曲線的配對:
其中,被做乘法的每個加密資料項在與該乘法的乘積所在的橢圓曲線不同的橢圓曲線上。由於底層的橢圓曲線的這種變化,由乘法同態產生的加密資料項不能進一步相乘或相除。另外,由乘法同態生成的加密資料項不能與由直接同態加密生成的資料項目進行比較。例如,由於底層橢圓曲線和的區別,上述等式中在相同的橢圓曲線上的前兩個加密資料項可以彼此進行比較,但是不能與由乘法同態所生成的橢圓曲線上的第三個加密資料項進行比較。
在BGN加密法中,每個要使用BGN加密法的參與者i會被提供通過金鑰生成處理生成的BGN公開金鑰(PK)、私密金鑰(SK)對(例如),通過該金鑰生成處理,提供以下內容:
其中, 為較大的質數為N階的橢圓曲線為配對為生成元(p階的的子群的隨機生成元)
在本文的執行背景中,在同態加密方案下,涉及公開匯率的兌換交易可以由聯盟區塊鏈網路驗證和記錄,而不會顯露或公佈轉帳的金額和/或兌換的金額。例如,由參與者A向兌換服務提供方參與者B轉帳的第一貨幣的金額(t 1
),和參與者B提供的、用於兌換第一金額的第二貨幣的金額(t 2
)都可以使用同態加密法來加密。在該方案下,加密的t 1
和加密的t 2
都在橢圓曲線上。可以將加密的轉帳金額t 1
乘以參與者B的公開匯率,以確定參與者B為兌換t 1
應該提供的第二貨幣的金額。因為在本示例中參與者B的匯率是公開的、未加密的值,所以t 1
和公開匯率的乘積是在與t 1
相同的橢圓曲線上的加密資料項。區塊鏈網路可以通過將加密的t 1
和公開匯率的乘積與加密資料項t 2
進行比較,來驗證參與者A和參與者B之間的兌換交易。如果加密的t 1
乘以公開匯率的乘積等於加密資料項t 2
,則交易被驗證,並被記錄在區塊鏈上。
雖然該驗證方案提供了用於驗證涉及公開匯率的兌換交易的有效方法,但提供貨幣兌換服務的區塊鏈網路成員通常與其他此類供應方競爭。因此,他們不希望他們的匯率在區塊鏈網路內是公開的。因此,期望對區塊鏈網路內進行的、由區塊鏈網路驗證的兌換交易的匯率和交易資料加密。
然而,當使用上述驗證時,同態加密的單次乘法的限制對兌換交易的驗證造成阻礙,其中交易資料和匯率都利用同態加密法來加密。例如,可以使用同態加密法對由參與者A向兌換服務供應商參與者B轉帳的第一貨幣的金額(t 1
)、由參與者B將第一貨幣的轉帳金額兌換為第二貨幣的金額(t 2
)、以及參與者B的匯率(β
)進行加密。在此方案下,加密的t 1
、加密的t 2
和加密的β都在相同的橢圓曲線上。
如上所述,每當兌換交易中涉及的匯率是公開的時,區塊鏈網路可以通過將t 1
和公開匯率的乘積與加密資料項t 2
進行比較來驗證兌換交易。然而,當匯率被加密時(β
),t 1
和加密匯率(β
)的乘積在與t 2
的底層曲線不同的橢圓曲線上。基於乘法同態導致的這種階的差異,t 1
乘以加密匯率(β
)的乘積不能與t 2
進行比較。因此,在當前的驗證方案中,不能在區塊鏈網路內對涉及交易資料和匯率的加密的兌換交易進行驗證。
鑒於上述背景,並且如本文進一步詳細描述的,本文的實施方式涉及在區塊鏈網路內使用加密的交易資料和加密的匯率的跨資產交易。更具體地,本文的跨資產交易平臺使得能夠利用私有(加密)匯率驗證進行交易。
圖3描繪了根據本發明的跨資產交易平臺300的示例。在所描繪的示例中,示例性跨資產交易平臺300包括分別與設備302、304、306相關聯的三個參與者,參與者A、參與者B和參與者C。示例性跨資產交易平臺300還包括子鏈通道308、網路310和聯盟區塊鏈網路312。
在一些示例中,網路310包括區域網(LAN)、廣域網路(WAN)、網際網路或其組合,並且將網路網站、用戶設備(例如,計算設備)和後臺系統連接起來。在一些示例中,可以通過有線和/或無線通訊鏈路來存取網路310。
如本文所述,區塊鏈網路312被提供為包括多個節點314的點對點網路(peer-to-peer),多個節點314在區塊鏈322中不可篡改地記錄資訊。儘管示意性地描繪了單個區塊鏈322,但是在區塊鏈網路312中提供並維護了區塊鏈322的多個副本。例如,每個節點314儲存區塊鏈322的一個副本。在一些實施方式中,區塊鏈322儲存與參與聯盟區塊鏈網路的兩個或更多個實體之間進行的交易相關聯的資訊。在一些示例中,設備302、304、306是在聯盟區塊鏈網路312中的對應的節點314的一部分。
在一些實施方式中,設備302、設備304和設備306包括對應的帳戶,帳戶A 316、帳戶B 318和帳戶C 320。在一些示例中,帳戶A 316、帳戶B 318和帳戶C 320儲存金融資產。在一些示例中,帳戶A 316、帳戶B 318和帳戶C 320儲存一種或多種貨幣的金額。
在一些實施方式中,子鏈通道308可用於聯盟區塊鏈網路312的兩個成員之間在聯盟區塊鏈網路312外部傳送資訊。在一些示例中,私人財務資訊可以通過子鏈通道308在聯盟區塊鏈網路312外部從聯盟區塊鏈網路312的一個成員被傳送至聯盟區塊鏈網路312的另一個成員。例如,通過在子鏈通道308上傳輸匯率,設備304可以在聯盟區塊鏈網路312外部將私有匯率(β)傳送至設備302。
在一些示例中,可以將聯盟區塊鏈網路312的兩個或更多個成員之間的交易提交給聯盟區塊鏈網路312以進行驗證和記錄。在一些示例中,可以將聯盟區塊鏈網路312的兩個或更多個成員之間的資產(例如,貨幣)兌換交易提交給聯盟區塊鏈網路312以驗證該兌換。在一些示例中,提交給區塊鏈網路312的交易資訊是被加密的。在一些示例中,提交給聯盟區塊鏈網路312的交易資訊是使用同態加密法加密的。在一些示例中,交易資訊包括匯率、待轉帳的第一金額和待轉帳的第二金額。在一些示例中,待轉帳的第二金額等於第一金額乘以匯率的乘積。
圖4描繪了根據本發明的用於執行跨資產交易的信號圖400的示例。圖4的信號圖400包括帳戶A 402(例如,區塊鏈網路中的節點)、帳戶B 404(例如,區塊鏈網路中的節點)、以及區塊鏈網路的共識節點406。在一些示例中,帳戶A 402和帳戶B 404用於管理區塊鏈網路中的參與者的資產(例如,分別管理參與者A和參與者B)。在一些示例中,帳戶A 402和帳戶B 404分別儲存參與者A和參與者B的數位資產。在一些示例中,參與者B是金融機構。
本文參考圖4更詳細地描述了跨資產交易的示例。在示例性交易中,第一貨幣(例如,美元)的金額(t 1
)從帳戶A以第二貨幣(例如人民幣)金額(t 2
)的形式被轉帳到區塊鏈網路中另一參與者(例如,參與者C)的帳戶。利用帳戶B 404(中間人)轉帳該金額(t 1
),該帳戶B 404提供第一貨幣和第二貨幣之間的私有匯率(β
)。帳戶A 402包括餘額(s A
),該餘額是帳戶A 402可用的第一貨幣的價值餘額。帳戶B 404包括第一餘額()以及第二餘額(),該第一餘額是帳戶B 404可用的第一貨幣的價值餘額,該第二餘額是帳戶B 404可用的第二貨幣的價值餘額。
在示例性跨資產交易中,私有匯率(β)從帳戶B 404被傳輸(408)到帳戶A 402。傳送私有匯率的消息可以通過網路傳輸。在一些示例中,傳送私有匯率的消息通過子鏈通道(例如,圖3的子鏈通道308)傳輸。
帳戶A 402生成(410)兩個亂數(r 1
,r 2
)。帳戶A 402計算(412)兌換金額(t 2
)和密文組(X1
, Y1
, Z1
)和(X2
, Y2
, Z2
)。在一些實施方式中,兌換金額(t 2
)等於待轉帳的金額(t 1
)與私有匯率(β)的乘積,如下所示:
在一些實施方式中,基於承諾方案和加密方案確定密文組(X1
, Y1
, Z1
)和(X2
, Y2
, Z2
)。示例性承諾方案包括但不限於,佩德森承諾(Pedersen Commitment,PC)。示例性加密方案包括但不限於BGN加密法。對於BGN加密法,每個參與者都含有BGN公開金鑰(PK)、私密金鑰(SK)對。例如,帳戶A 402具有分配給它的BGN PK-SK對(例如,)、帳戶B 404具有分配給它的BGN PK-SK對(例如,)、帳戶C(圖4中未示出)具有分配給它的BGN PK-SK對(例如,)。
在一些實施方式中,密文組(X1
, Y1
, Z1
)和(X2
, Y2
, Z2
)分別如下確定:
標記PC(t
,r
)表示以亂數r
作為盲因數的t
的佩德森承諾。標記BGNA
表示使用帳戶A 402的公開金鑰的BGN加密,標記BGNB
表示使用帳戶B 404的公開金鑰的BGN加密,標記BGNC
表示使用帳戶C的公開金鑰的BGN加密。在一些示例中,帳戶A 402將餘額密文提供為:
其中為由帳戶A 402生成的亂數。
密文的子組()和()、亂數(r 1
,r 2
)以及金額(t 1
)從帳戶A 402被發送(414)至帳戶B 404。在一些實施方式中,從帳戶A 402向帳戶B 404發送的消息是加密的消息(例如,使用上述的非對稱加密)。在一些示例中,通過子鏈通道(例如,圖3的子鏈通道308)傳輸消息。在一些示例中,(加密的)消息包括資料組。
帳戶B解密消息以顯露資料(例如,)。帳戶B 404驗證(416)密文資料。在一些示例中,帳戶B 404通過基於帳戶A 402提供的t 1
,r 1
,r 2
檢查密文X1
, Z1
, X2
, Y2
是否正確來驗證密文資料。即,帳戶B重新計算X1
, Z1
, X2
, Y2
並確認他們是否等於從帳戶A 402接收的資料。如果密文不相等,則可以向帳戶A發送錯誤且交易結束。
如果密文被驗證,帳戶B 404生成(418)範圍證明(range proof)。在一些實施方式中,範圍證明(RP B
)為零知識證明(ZKP),其可以被用來確認帳戶B 404是否具有充足的資金以執行兌換交易。例如,可以生成範圍證明(RP B
)來證明:
在一些示例中,帳戶B 404提供第一餘額密文和第二餘額密文,分別為:
其中,和為由帳戶B 404提供的亂數。在一些示例中,帳戶B 404提供兌換密文:
其中,為由帳戶B 404生成的亂數,並且與其他帳戶共用(例如,將與匯率()一起被提供給帳戶A 402)。
生成(420)證據組(EX
),其可以被用於驗證私有匯率()。在一些實施方式中,匯率的證據組(EX
)被提供為:
在一些示例中,U
和V
分別被計算為:和
其中PB
和QB
被提供在PKBGN_A
中,且t’, 為由帳戶B 404生成的亂數。在一些示例中,分別被計算為:
其中,,且和分別被計算為:
在一些示例中,雜湊處理Hash可以被提供為任何適當的雜湊函數,該雜湊函數被區塊鏈網路中的包括共識節點的參與者公知(例如,SHA-256)。
在一些實施方式中,帳戶B 404向帳戶A 402返回(422)加密的消息,其包括如下示例資料組:
其中為帳戶B 404的數位簽章。在一些示例中,消息通過子鏈通道(例如,圖3的子鏈通道308)傳輸。
帳戶A 402生成(424)範圍證明(RP A
),其作為交易具有一定金額,且帳戶A 402具有足夠的資產進行交易的ZKP。換句話說,範圍證明(RP A
)可以用來證明:且
帳戶A 402生成(426)子交易,其包括從帳戶A 402到帳戶B 404的針對金額(t 1
)的第一子交易,以及從帳戶B 404到帳戶C的針對金額(t 2
)的第二子交易。在一些示例中,帳戶A生成亂數()並且將密文組提供為:
帳戶A將資料組(PF)提供為:
其中,,,, 以及
其中,
帳戶A 402將第一和第二子交易分別提供為:
其中A為帳戶A 402的識別字,B為帳戶B 404的識別字,C為帳戶C的識別字(例如,識別字被提供為區塊鏈網路內的相應位址)。提供了包括第一子交易、第二子交易、範圍證明以及支援證據組的交易。例如,該交易被提供為:
由帳戶A 402對交易進行數位簽章(428),並且交易包括帳戶A 402的簽名()和帳戶B 404的簽名()。帳戶A 402將簽名的交易提交(430)至共識節點406。且簽名的交易可被提供為:
共識節點406驗證(432)帳戶A 402和帳戶B 404的簽名。若簽名未被驗證,則交易結束,並可以向帳戶A 402提供錯誤消息。若簽名被驗證,則由共識節點406驗證(434)範圍證明(RP A
)和範圍證明(RP B
)。因為範圍證明為ZKP,每個ZKP都可以在不顯露底層明文資料的情況下被證明為真或返回錯誤。若範圍證明未被驗證,則交易結束,並向帳戶A 402提供錯誤消息。若範圍證明被驗證,則確定交易金額大於0,並且帳戶A 402和帳戶B 404都具有足夠的對應貨幣的資產來進行交易。
在一些實施方式中,共識節點406通過使用資料組(PF)中的證據和證據組(EX)來驗證(436)交易。在一些示例中,共識節點406驗證如下關係是否成立:
其中,。若如上關係成立,則確認密文(BGN密文)是用適當的公開金鑰加密的,並且交易金額是正確的。
還驗證了交易是以公佈的(雖然是加密的)匯率進行的。例如共識節點406通過使用資料組(EX)中的證據來驗證匯率。在一些示例中,共識節點406計算,並且使用y以驗證如下關係是否成立:
如果關係不成立,則交易和/或匯率未被驗證,交易結束,並且可以向帳戶A 402提供錯誤消息。如果關係成立,則共識節點406將交易記錄到聯盟區塊鏈網路中(438),且帳戶A 402、帳戶B 404和帳戶C的帳戶餘額被更新。例如,帳戶A 402的餘額(s A
)減少了金額(t 1
)、帳戶B 404的餘額()增加了金額(t 1
)、帳戶B 404的餘額()減少了金額(t 2
)、帳戶C的餘額增加了金額(t 2
)。
圖5描繪了可根據本發明執行的過程500的示例。在一些實施方式中,可以使用利用一個或多個計算設備執行的一個或多個電腦可執行程式來執行示例性過程500。在一些示例中,示例性過程500可以由聯盟區塊鏈網路的節點執行,以在區塊鏈網路內進行跨資產交易。
接收匯率(502)。例如,由與區塊鏈網路中的第一參與者相關聯的第一節點(例如,區塊鏈網路的節點)從與區塊鏈網路中的第二參與者相關聯的第二節點(例如,區塊鏈網路中的節點)接收匯率。在一些示例中,通過子鏈通道接收匯率。在一些示例中,匯率是第二參與者的私有匯率。在一些實施方式中,第二參與者是金融機構。在一些實施方式中,匯率指定了第二參與者將第一類型貨幣兌換為第二類型貨幣的比率。例如,匯率可以指定第二參與者將美元兌換成人民幣的比率。
由第一節點生成第一亂數和第二亂數(504)。分別使用第一亂數和第二亂數將第一金額和第二金額分別加密在第一密文組內和第二密文組內(506)。在一些示例中,第一金額是待由第一參與者向參與者成員轉帳以用於兌換的第一資產類型的金額。在一些示例中,第二金額是用於兌換第一金額的第二資產類型的金額。在一些示例中,第二金額等於第一金額乘以第二參與者的匯率的乘積。
在一些示例中,第一密文組包括第一金額和第一亂數的亂數承諾以及第一金額和第一亂數的兩個同態加密。在一些示例中,第二密文組包括第二金額和第二亂數的亂數承諾以及第二金額和第二亂數的兩個同態加密。在一些示例中,第一密文組包括第一金額和第一亂數的PC,以及分別使用第一參與者的BGN公開金鑰和第二參與者的BGN公開金鑰加密的第一金額的BGN加密和第一亂數的BGN加密。在一些示例中,第二密文組包括第二金額和第二亂數的PC,以及分別使用第二參與者的BGN公開金鑰和第三參與者的BGN公開金鑰加密的第二金額的BGN加密和第二亂數的BGN加密。
將第一金額、第一亂數、第二亂數、第一密文組的至少一部分(子組)以及第二密文組的至少一部分(子組)從第一節點傳輸至第二節點(508)。在一些實施方式中,通過子鏈通道傳輸第一金額、第一亂數、第二亂數、第一密文組的至少一部分和第二密文組的至少一部分。
接收第一範圍證明、匯率的證據組和第一數位簽章(510)。在一些實施方式中,由第一節點通過子鏈通道從第二節點接收第一範圍證明、匯率的證據組和第一數位簽章。在一些示例中,第一數位簽章是第二參與者的基於非對稱加密方案的數位簽章。在一些示例中,第一範圍證明提供與第二參與者相關聯的帳戶具有足夠的與第二金額相同的資產類型的資金以將第一金額兌換為第二金額的證據。
生成資料組、第二範圍證明和第二數位簽章(512)。在一些示例中,在區塊鏈網路內使用資料組來至少部分地確認跨資產交易的真實性。在一些示例中,第二數位簽章是第一參與者的基於非對稱加密方案的數位簽章。在一些示例中,第二範圍證明提供與第一參與者相關聯的帳戶具有足夠的與第一金額相同的資產類型的資金以將第一金額轉帳到第二參與者並且第一金額不是負數的證據。
將交易提交給區塊鏈網路以進行驗證(514)。在一些實施方式中,由第一節點提交給區塊鏈網路的交易包括第一密文組、第二密文組、第一範圍證明、資料組、第二範圍證明、匯率的證據組、第一數位簽章和第二數位簽章。在一些實施方式中,區塊鏈網路內的至少一個共識節點驗證簽名和範圍證明。在一些實施方式中,至少一個共識節點在不顯露交易資料(例如,第一金額、第二金額、匯率)的情況下驗證交易。在一些實施方式中,回應於對交易的成功驗證,在區塊鏈網路內執行交易。在一些示例中,在區塊鏈上更新第一參與者和第二參與者的帳戶以反映兌換的資產。在一些示例中,更新第三參與者的帳戶以反映其收到了第二金額。
圖6是根據本發明的裝置600的模組的示例的圖。裝置600可以是區塊鏈網路中被配置為參與私人跨資產交易的區塊鏈節點的示例性實施方式,其中區塊鏈網路是聯盟區塊鏈網路。裝置600可以對應於上述實施方式,並且裝置600包括以下內容:
生成單元602基於第一價值和第二價值使用BGN加密生成密文,第二價值是基於第一價值和區塊鏈網路中的第二個節點提供的匯率所確定。傳輸單元604將第一價值和密文傳輸到第二節點。接收單元606接收包括資料組的第一證據組,該資料組可用於在不顯露匯率的情況下以ZKP常式驗證匯率。生成單元602生成包括資料組的第二證據組,該資料組可用於使用ZKP常式驗證密文由BGN公開金鑰加密。
交易定義單元608定義交易,該交易包括第一節點和第二節點之間的、用於將第一價值從第一節點轉帳到第二節點的第一交易,以及第二節點和第三節點之間的、用於將第二價值從第二節點轉帳到第三節點的第二交易。發送單元604將交易發送到區塊鏈網路的至少一個共識節點,以用於驗證和執行交易。如本文所述,可以基於第一證據組和第二證據組來驗證交易。回應於驗證交易,共識節點執行第一交易和第二交易以將第一節點的餘額減少第一價值、將第二節點的第一餘額增加第一價值、將第二節點的第二餘額減少第二價值並將第三節點的餘額增加第二價值。
在可選的實施方式中,由第二節點基於第一價值、由第一節點提供的亂數對和密文來提供第一證據組。
在可選的實施方式中,由共識節點驗證交易包括驗證第一節點的數位簽章和第二節點的數位簽章。
在可選的實施方式中,由共識節點驗證交易包括驗證由第一節點提供的第一範圍證明和由第二節點提供的第二範圍證明。
在可選的實施方式中,第一範圍證明包括ZKP以證明第一價值大於零,並且第一節點的餘額大於或等於第一價值。
在可選的實施方式中,第二範圍證明包括ZKP以證明第二節點的第二餘額大於或等於第二價值。
在可選的實施方式中,交易還包括資料組,該資料組包括至少部分地基於BGN加密生成的一組密文,該資料組用於由至少一個共識節點驗證交易。
在可選的實施方式中,接收單元606通過區塊鏈網路外的子鏈通道從第二節點接收匯率。
在可選的實施方式中,使用PC提供多個密文中的至少一個密文。
在可選的實施方式中,第一證據組的資料組包括第一資料值和第二資料值,第一資料值和第二資料值均基於用於生成第二節點BGN公開金鑰的參數所確定。
在可選的實施方式中,第二證據組的資料組包括密文組和價值組,該價值組中的每個價值至少部分地基於該密文組的雜湊值。
在先前實施例中示出的系統、裝置、模組或單元可以通過使用電腦晶片或實體來實現,或者可以通過使用具有特定功能的產品來實現。典型的實施設備是電腦,電腦可以是個人電腦、筆記型電腦、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件接收和發送設備、遊戲控制台、平板電腦、可穿戴設備或這些設備的任意組合。
對於裝置中每個單元的功能和角色的實施過程,可以參考前一方法中相應步驟的實施過程。為簡單起見,這裡省略了細節。
由於裝置實施基本上對應於方法實施,對於相關部分,可以參考方法實施中的相關描述。先前描述的設備實施僅是示例。被描述為單獨部分的單元可以或可以不是物理上分離的,並且顯示為單元的部分可以是或可以不是物理單元,可以位於一個位置,或者可以分佈在多個網路單元上。可以基於實際需求來選擇一些或所有模組,以實現本說明書解決方案的目標。本領域普通技術人員無需付出創造性勞動就能理解和實現本文的實施方式。
再次參見圖6,它可以被解釋為示出了私有跨資產交易裝置的內部功能模組和結構。私有跨資產交易裝置可以是被配置為在區塊鏈網路內參與私有跨資產交易的區塊鏈節點的示例。本質上,執行主體可以是電子設備,電子設備包括:一個或多個處理器;被配置為儲存一個或多個處理器的可執行指令記憶體。
本文中描述的主題、動作以及操作的實施可以在數位電子電路、在有形體現的電腦軟體或韌體、電腦硬體中實現,包括本文中公開的結構及其結構等同物,或者它們中的一個或多個的組合。本文中描述的主題的實施可以實現為一個或多個電腦程式,例如,一個或多個電腦程式指令模組,編碼在電腦程式載體上,用於由資料處理裝置執行或控制資料處理裝置的操作。例如,電腦程式載體可以包括一個或多個電腦可讀儲存媒體,其具有編碼或儲存在其上的指令。載體可以是有形的非暫態電腦儲存媒體,例如磁片、磁光碟、或光碟、固態硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)或其他類型的媒體。可選地或附加地,載體可以是人工生成的傳播信號,例如,機器生成的電、光或電磁信號,其被生成來編碼資訊用於傳輸到合適的接收設備以供資料處理設備執行。電腦儲存媒體可以是或可以部分是可機讀存放裝置、可機讀儲存基板、隨機或串列存取記憶體設備或它們中的一個或多個的組合。電腦儲存媒體不是傳播信號。
電腦程式也可以被稱為或描述為程式、軟體、軟體應用程式、app、模組、軟體模組、引擎、腳本或代碼,可以以任何形式的程式設計語言編寫,包括編譯或演繹語言、或說明或程式語言;它可以配置為任何形式,包括作為獨立程式,或者作為模組、元件、引擎、副程式或適合在計算環境中執行的其他單元,該環境可包括由通信資料網路互聯的在一個或多個位置的一台或多台電腦。
電腦程式可以但非必須對應於檔案系統中的檔。電腦程式可以儲存在:保存其他程式或資料的檔的一部分中,例如,儲存在標記語言文檔中的一個或多個腳本;專用於所討論的程式的單個檔,或者多個協調檔,例如,儲存一個或多個模組、副程式或代碼部分的多個檔。
舉例來說,用於執行電腦程式的處理器包括通用和專用微處理器,以及任何類型的數位電腦的任意一個或多個處理器。通常,處理器將接收用於執行的電腦程式的指令以及來自耦合到處理器的非暫時性電腦可讀媒體的資料。
術語“資料處理裝置”包括所有類型的用於處理資料的裝置、設備和機器,包括例如可程式化處理器、電腦或多個處理器或電腦。資料處理設備可以包括專用邏輯電路,例如FPGA(場可程式化閘陣列)、ASIC(專用積體電路)或GPU(圖形處理單元)。除了硬體,該裝置還可以包括為電腦程式創建執行環境的代碼,例如,構成處理器韌體、協定棧,資料庫管理系統、作業系統或者它們中一個或多個的組合的代碼。
本文中描述的過程和邏輯流程可由一台或多台電腦或處理器執行一個或多個電腦程式執行,以執行通過運行輸入資料並生成輸出的操作。過程和邏輯流程也可以由例如FPGA、ASIC或GPU等的專用邏輯電路或專用邏輯電路以及一個或多個程式設計電腦的組合來執行。
適合於執行電腦程式的電腦可以基於通用或專用微處理器或兩者,或任何其他種類的中央處理單元。通常,中央處理單元將從唯讀記憶體或隨機存取記憶體或兩者接收指令和資料。電腦的元件可包括用於執行指令的中央處理單元以及用於儲存指令和資料的一個或多個記憶體設備。中央處理單元和記憶體可以補充有專用邏輯電路或集成在專用邏輯電路中。
通常,電腦將包括或可操作地耦接至一個或多個存放裝置,以從一個或多個存放裝置接收資料或將資料傳輸到一個或多個存放裝置。存放裝置可以是例如,磁片、磁光碟或光碟、固態硬碟或任何其他類型的非暫時性電腦可讀媒體。但是,電腦不需要具有這樣的設備。因此,電腦可以耦合到一個或多個存放裝置,例如,本地和/或遠端的一個或多個記憶體。例如,電腦可以包括作為電腦的集成元件的一個或多個本機存放器,或者電腦可以耦合到雲端網路中的一個或多個遠端存放器。此外,電腦可以嵌入在另一個設備中,例如行動電話、個人數位助理(PDA)、移動音訊或視頻播放機、遊戲控制台、全球定位系統(GPS)接收器或例如通用序列匯流排(USB)快閃記憶體驅動器的可擕式存放裝置,僅舉幾例。
元件可以通過可交換地彼此“耦合”,例如直接地或通過一個或多個中間元件彼此電連接或光學連接。如果其中一個元件集成到另一個元件中,元件也可以彼此“耦合”。例如,儲存元件集成到處理器(例如,L2快取記憶體元件)中即“耦合到”處理器中。
為了提供與用戶的交互,本說明書中描述的主題的實施例可以在電腦上實施或配置為與該電腦通信,該計算機具有:顯示裝置,例如,LCD(液晶顯示器)監視器,用於向用戶顯示資訊;以及輸入裝置,用戶可以通過該輸入裝置向該電腦提供輸入,例如鍵盤和例如滑鼠、軌跡球或觸控板等的指標裝置。其他類型的設備也可用於提供與用戶的交互;例如,提供給用戶的回饋可以是任何形式的感官回饋,例如視覺回饋、聽覺回饋或觸覺回饋;並且可以接收來自用戶的任何形式的輸入,包括聲音、語音或觸覺輸入。此外,電腦可以通過向用戶使用的設備發送文檔和從用戶使用的設備接收文檔來與用戶交互;例如,通過向用戶設備上的web瀏覽器發送web頁面以回應從web瀏覽器收到的請求,或者通過與例如智慧型電話或電子平板電腦等的用戶設備上運行的應用程式(app)進行交互。此外,電腦可以通過向個人設備(例如,運行消息應用的智慧手機)輪流發送文本消息或其他形式的消息,並接收來自用戶的回應訊息來與用戶交互。
本文使用與系統、裝置和電腦程式元件有關的術語“配置為”。對於被配置為執行特定操作或動作的一個或多個電腦的系統,意味著系統已經在其上安裝了在運行中促使該系統執行所述操作或動作的軟體、韌體、硬體或它們的組合。對於被配置為執行特定操作或動作的一個或多個電腦程式,意味著一個或多個程式包括當被資料處理裝置執行時促使該裝置執行所述操作或動作的指令。對於被配置為執行特定操作或動作的專用邏輯電路,意味著該電路具有執行所述操作或動作的電子邏輯。
雖然本文包含許多具體實施細節,但是這些不應被解釋為由申請專利範圍本身限定的對要求保護的範圍的限制,而是作為對特定實施例的具體特徵的描述。在本文多個單獨實施方式的上下文中的描述的多個特定特徵也可以在單個實施方式中的組合實現。相反,在單個實施方式的上下文中描述的各種特徵也可以單獨地以任何合適的子組合在多個實施方式中實現。此外,儘管上面的特徵可以描述為以某些組合起作用並且甚至最初如此要求保護,但是在一些情況下,可以從要求保護的組合中刪除來自該組合的一個或多個特徵,並且可以要求保護指向子組合或子組合的變體。
類似地,雖然以特定順序在圖式中描繪了操作並且在申請專利範圍中敘述了操作,但是這不應該被理解為:為了達到期望的結果,要求以所示的特定順序或依次執行這些操作,或者要求執行所有示出的操作。在特定情況下,多工和並行處理可能是有利的。此外,上述實施例中的各種系統模組和元件的劃分不應被理解為所有實施方式中都要求如此劃分,而應當理解,所描述的程式元件和系統通常可以一起集成在單個軟體產品或者打包成多個軟體產品。
已經描述了主題的特定實施例。其他實施例在以下申請專利範圍的範圍內。例如,申請專利範圍中記載的動作可以以不同的循序執行並且仍然實現期望的結果。作為一個示例,圖式中描繪的過程無需要求所示的特定順序或次序來實現期望的結果。在一些情況下,多工和並行處理可能是有利的。
100:環境
102:聯盟區塊鏈網路
106:計算設備
108:計算設備
110:網路
200:概念性架構
202:實體層
204:承載服務層
206:區塊鏈網路層
208:交易管理系統
210:介面
212:區塊鏈網路
214:節點
216:區塊鏈
300:跨資產交易平臺
302:設備
304:設備
306:設備
308:子鏈通道
310:網路
312:聯盟區塊鏈網路
314:節點
316:帳戶A
318:帳戶B
320:帳戶C
322:區塊鏈
402:帳戶A
404:帳戶B
406:共識節點
408-440:步驟
500:過程
502-514:步驟
600:裝置
602:生成單元
604:傳輸單元
606:接收單元
608:交易定義單元
圖1描繪了可用於執行本發明的環境的示例。
圖2描繪了根據本發明的概念性架構的示例。
圖3描繪了根據本發明的跨資產交易平臺的示例。
圖4描繪了根據本發明的用於執行跨資產交易的信號圖的示例。
圖5描繪了可根據本發明執行的過程的示例。
圖6描繪了根據本發明的裝置的模組的示例。
各圖式中的相同圖式標記表示相同的元件。
300:跨資產交易平臺
302:設備
304:設備
306:設備
308:子鏈通道
310:網路
312:聯盟區塊鏈網路
314:節點
316:帳戶A
318:帳戶B
320:帳戶C
322:區塊鏈
Claims (33)
- 一種電腦實現的用於在區塊鏈網路內進行私有跨資產交易的方法,該方法由一個或多個處理器執行並包括:由該區塊鏈網路中的第一節點使用BGN加密法基於第一價值和第二價值生成密文,該第二價值基於該第一價值和由該區塊鏈網路中的第二節點提供的匯率所確定;由該第一節點向該第二節點發送該第一價值和該密文;由該第一節點從該第二節點接收第一證據組,該第一證據組包括能夠用於通過零知識證明ZKP常式在不顯露該匯率的情況下驗證該匯率的資料組;由該第一節點生成第二證據組,該第二證據組包括能夠用於使用該ZKP常式驗證該密文是由該第一節點的BGN公開金鑰加密的資料組;由該第一節點定義交易,該交易包括:在該第一節點和該第二節點之間的、用於將該第一價值從該第一節點轉帳至該第二節點的第一交易,以及在該第二節點和第三節點之間的、用於將該第二價值從該第二節點轉帳至該第三節點的第二交易;以及由該第一節點將該交易發送至該區塊鏈網路中的至少一個共識節點,以用於該交易的驗證和執行,基於該第一證據組和該第二證據組驗證該交易,並且回應於該交易得到驗證,執行該第一交易和該第二交易,以將該第一節點 的餘額減少該第一價值,將該第二節點的第一餘額增加該第一價值,將該第二節點的第二餘額減少該第二價值,並將該第三節點的餘額增加該第二價值。
- 如請求項1所述的方法,其中,該第一證據組由該第二節點基於該第一價值、由該第一節點提供的亂數對以及該密文提供。
- 如請求項1所述的方法,其中,由該至少一個共識節點驗證該交易,包括:驗證該第一節點的數位簽章和驗證該第二節點的數位簽章。
- 如請求項1所述的方法,其中,由該至少一個共識節點驗證該交易,包括:驗證由該第一節點提供的第一範圍證明和由該第二節點提供的第二範圍證明。
- 如請求項4所述的方法,其中,該第一範圍證明包括ZKP以證明該第一價值大於零且該第一節點的該餘額大於或等於該第一價值。
- 如請求項4所述的方法,其中,該第二範圍證明包括ZKP以證明該第二節點的該第二餘額大於或等於該第二價 值。
- 如請求項1所述的方法,其中,該交易還包括資料組,該資料組包括使用BGN加密法生成的密文組,該資料組用於由該至少一個共識節點驗證該交易。
- 如請求項1所述的方法,還包括:由該第一節點通過該區塊鏈網路外的子鏈通道從該第二節點接收該匯率。
- 如請求項1所述的方法,其中,該密文中的至少一個密文是使用佩德森承諾提供的。
- 如請求項1所述的方法,其中,該第一證據組的該資料組包括第一資料值和第二資料值,該第一資料值和該第二資料值均是基於用於生成該第二節點的BGN公開金鑰的參數所確定。
- 如請求項1所述的方法,其中,該第二證據組的該資料組包括密文組和價值組,該價值組中的每個價值基於該密文組的雜湊值。
- 一個或多個電腦可讀儲存媒體,其上編碼有指令以用 於在區塊鏈網路中進行私有跨資產交易,該指令由一個或多個處理器執行並促使該一個或多個處理器:由該區塊鏈網路中的第一節點使用BGN加密法基於第一價值和第二價值生成密文,該第二價值基於該第一價值和由該區塊鏈網路中的第二節點提供的匯率確定;由該第一節點向該第二節點發送該第一價值和該密文;由該第一節點從該第二節點接收第一證據組,該第一證據組包括能夠用於通過零知識證明ZKP常式在不顯露該匯率的情況下驗證該匯率的資料組;由該第一節點生成第二證據組,該第二證據組包括能夠用於使用ZKP常式驗證該密文是由該第一節點的BGN公開金鑰加密的資料組;由該第一節點定義交易,該交易包括:在該第一節點和該第二節點之間的、用於將該第一價值從該第一節點轉帳至該第二節點的第一交易,以及在該第二節點和第三節點之間的、用於將該第二價值從該第二節點轉帳至該第三節點的第二交易;以及由該第一節點將該交易發送至該區塊鏈網路中的至少一個共識節點,以用於該交易的驗證和執行,基於該第一證據組和該第二證據組驗證該交易,並且回應於該交易得到驗證,執行該第一交易和該第二交易,以將該第一節點的餘額減少該第一價值,將該第二節點的第一餘額增加該第一價值,將該第二節點的第二餘額減少該第二價值,並 將該第三節點的餘額增加該第二價值。
- 如請求項12所述的一個或多個電腦可讀儲存媒體,其中,該第一證據組由該第二節點基於該第一價值、由該第一節點提供的亂數對以及該密文提供。
- 如請求項12所述的一個或多個電腦可讀儲存媒體,其中,由該至少一個共識節點驗證該交易,包括:驗證該第一節點的數位簽章和驗證該第二節點的數位簽章。
- 如請求項12所述的一個或多個電腦可讀儲存媒體,其中,由該至少一個共識節點驗證該交易,包括:驗證由該第一節點提供的第一範圍證明和驗證由該第二節點提供的第二範圍證明。
- 如請求項15所述的一個或多個電腦可讀儲存媒體,其中,該第一範圍證明包括ZKP以證明該第一價值大於零且該第一節點的該餘額大於或等於該第一價值。
- 如請求項15所述的一個或多個電腦可讀儲存媒體,其中,該第二範圍證明包括ZKP以證明該第二節點的該第二餘額大於或等於該第二價值。
- 如請求項12所述的一個或多個電腦可讀儲存媒體,其中,該交易還包括資料組,該資料組包括使用BGN加密法生成的密文組,該資料組用於由該至少一個共識節點驗證該交易。
- 如請求項12所述的一個或多個電腦可讀儲存媒體,還編碼有能夠由一個或多個處理器執行的指令,並且該指令促使該一個或多個處理器:由該第一節點通過該區塊鏈網路外的子鏈通道從該第二節點接收該匯率。
- 如請求項12所述的一個或多個電腦可讀儲存媒體,其中,該密文中的至少一個密文是使用佩德森承諾提供的。
- 如請求項12所述的一個或多個電腦可讀儲存媒體,其中,該第一證據組的該資料組包括第一資料值和第二資料值,該第一資料值和該第二資料值均是基於用於生成該第二節點的BGN公開金鑰的參數確定。
- 如請求項12所述的一個或多個電腦可讀儲存媒體,其中,該第二證據組的該資料組包括密文組和價值組, 該價值組中的每個價值基於該密文組的雜湊值。
- 一種用於在區塊鏈網路中進行私有跨資產交易的系統,包括:一個或多個處理器;以及一個或多個電腦可讀記憶體,耦接到該一個或多個處理器,其上儲存有用於在區塊鏈網路中進行私有跨資產交易的指令,該指令由該一個或多個處理器執行並促使該一個或多個處理器:由該區塊鏈網路中的第一節點使用BGN加密法基於第一價值和第二價值生成密文,該第二價值基於該第一價值和由該區塊鏈網路中的第二節點提供的匯率確定;由該第一節點向該第二節點發送該第一價值和該密文;由該第一節點從該第二節點接收第一證據組,該第一證據組包括能夠用於通過零知識證明ZKP常式在不顯露該匯率的情況下驗證該匯率的資料組;由該第一節點生成第二證據組,該第二證據組包括能夠用於使用ZKP常式驗證該密文是由該第一節點的BGN公開金鑰加密的資料組;由該第一節點定義交易,該交易包括:在該第一節點和該第二節點之間的、用於將該第一價值從該第一節點轉帳至該第二節點的第一交易,以及在該第二節點和第三節點之間的、用於將該第二價值 從該第二節點轉帳至該第三節點的第二交易;以及由該第一節點將該交易發送至該區塊鏈網路的至少一個共識節點,以用於該交易的驗證和執行,基於該第一證據組和該第二證據組驗證該交易,並且回應於該交易得到驗證,執行該第一交易和該第二交易,以將該第一節點的餘額減少該第一價值,將該第二節點的第一餘額增加該第一價值,將該第二節點的第二餘額減少該第二價值,並將該第三節點的餘額增加該第二價值。
- 如請求項23所述的系統,其中,該第一證據組由該第二節點基於該第一價值、由該第一節點提供的亂數對以及該密文提供。
- 如請求項23所述的系統,其中,由該至少一個共識節點驗證該交易,包括:驗證該第一節點的數位簽章和驗證該第二節點的數位簽章。
- 如請求項23所述的系統,其中,由該至少一個共識節點驗證該交易,包括:驗證由該第一節點提供的第一範圍證明和驗證由該第二節點提供的第二範圍證明。
- 如請求項26所述的系統,其中,該第一範圍證明包括 ZKP以證明該第一價值大於零且該第一節點的該餘額大於或等於該第一價值。
- 如請求項26所述的系統,其中,該第二範圍證明包括ZKP以證明該第二節點的該第二餘額大於或等於該第二價值。
- 如請求項23所述的系統,其中,該交易還包括資料組,該資料組包括使用BGN加密法生成的密文組,該資料組用於由該至少一個共識節點驗證該交易。
- 如請求項23所述的系統,其中,該一個或多個電腦可讀記憶體還編碼有能夠由一個或多個處理器執行的指令,並且該指令促使一個或多個處理器:由該第一節點通過該區塊鏈網路外的子鏈通道從該第二節點接收該匯率。
- 如請求項23所述的系統,其中,該密文中的至少一個密文是使用佩德森承諾提供的。
- 如請求項23所述的系統,其中,該第一證據組的該資料組包括第一資料值和第二資料值,該第一資料值和該第二資料值均是基於用於生成該第二節點的BGN公開金鑰的參數確定。
- 如請求項23所述的系統,其中,該第二證據組的該資料組包括密文組和價值組,該價值組中的每個價值基於該密文組的雜湊值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/074057 WO2019072317A2 (en) | 2019-01-31 | 2019-01-31 | NEGOTIATION OF CROSSED ASSETS IN BLOCKCHAIN NETWORKS |
WOPCT/CN2019/074057 | 2019-01-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202031012A TW202031012A (zh) | 2020-08-16 |
TWI712306B true TWI712306B (zh) | 2020-12-01 |
Family
ID=66100007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108126184A TWI712306B (zh) | 2019-01-31 | 2019-07-24 | 在區塊鏈網路中的跨資產交易的方法、電腦可讀儲存媒體及系統 |
Country Status (17)
Country | Link |
---|---|
US (2) | US10990963B2 (zh) |
EP (1) | EP3602956B1 (zh) |
JP (1) | JP6840268B2 (zh) |
KR (1) | KR102194078B1 (zh) |
CN (1) | CN110366738B (zh) |
AU (1) | AU2019202832B2 (zh) |
BR (1) | BR112019022731A2 (zh) |
CA (1) | CA3061789C (zh) |
ES (1) | ES2869166T3 (zh) |
MX (1) | MX2019012941A (zh) |
PH (1) | PH12019502464A1 (zh) |
PL (1) | PL3602956T3 (zh) |
RU (1) | RU2736447C1 (zh) |
SG (1) | SG11201910095VA (zh) |
TW (1) | TWI712306B (zh) |
WO (1) | WO2019072317A2 (zh) |
ZA (1) | ZA201907229B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110458539B (zh) * | 2019-07-09 | 2021-03-23 | 北京链上科技有限责任公司 | 一种加密货币自动提取方法及系统 |
CN110471984B (zh) | 2019-07-15 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 基于区块链的业务处理方法及装置、电子设备 |
US10937096B2 (en) | 2019-07-15 | 2021-03-02 | Advanced New Technologies Co., Ltd. | Transaction processing in a service blockchain |
CN110535659B (zh) * | 2019-09-03 | 2020-11-03 | 北京海益同展信息科技有限公司 | 用于处理数据请求的方法、装置、电子设备和计算机可读介质 |
CN111047348A (zh) * | 2019-11-08 | 2020-04-21 | 北京比特时刻图像科技有限公司 | 一种新型区块链共识算法及基于该算法的区块链网络系统 |
CN111275549A (zh) * | 2019-12-31 | 2020-06-12 | 深圳市网心科技有限公司 | 基于区块链的数字货币交易方法及相关装置 |
CN111275414A (zh) * | 2019-12-31 | 2020-06-12 | 深圳市网心科技有限公司 | 一种基于区块链的数字货币兑换方法、装置及系统 |
CN111369250B (zh) * | 2020-03-06 | 2023-09-05 | 微民保险代理有限公司 | 基于联盟链的数据处理方法、装置、设备以及存储介质 |
JP2021177267A (ja) * | 2020-05-05 | 2021-11-11 | 豊 仲宗根 | 取引システム、取引システムの制御方法及び取引システムの制御プログラム |
SG10202006451QA (en) * | 2020-07-03 | 2021-02-25 | Alipay Labs Singapore Pte Ltd | Managing transactions in multiple blockchain networks |
CN111835500B (zh) * | 2020-07-08 | 2022-07-26 | 浙江工商大学 | 基于同态加密与区块链的可搜索加密数据安全共享方法 |
CN112133386A (zh) * | 2020-09-29 | 2020-12-25 | 深圳壹账通智能科技有限公司 | 一种基于区块链的信息处理方法、装置、设备及介质 |
CN112039926B (zh) * | 2020-11-04 | 2021-03-26 | 南京金宁汇科技有限公司 | 一种区块链的双层链式架构实现方法 |
CN112751662B (zh) * | 2020-12-29 | 2022-10-25 | 山西特信环宇信息技术有限公司 | 一种锥体区块链的共享链 |
CN112561407B (zh) * | 2021-02-20 | 2021-06-22 | 支付宝(杭州)信息技术有限公司 | 基于区块链的资产管理方法、系统及装置 |
KR102372111B1 (ko) * | 2021-10-25 | 2022-03-10 | 주식회사 온더 | 영지식 증명 기반 블록체인 가상머신 검증 시스템 |
CN114793228A (zh) * | 2022-03-29 | 2022-07-26 | 上海万向区块链股份公司 | 基于零知识证明防止商户作恶的数据源筛选方法和系统 |
TWI823592B (zh) * | 2022-09-30 | 2023-11-21 | 中華電信股份有限公司 | 基於大數型態及加法同態執行加密混音的系統及方法 |
CN117726421A (zh) * | 2024-02-07 | 2024-03-19 | 湖南三湘银行股份有限公司 | 一种应用于银行的权益管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160342978A1 (en) * | 2015-05-21 | 2016-11-24 | Mastercard International Incorporated | Method and system for integration of market exchange and issuer processing for blockchain-based transactions |
WO2017079652A1 (en) * | 2015-11-05 | 2017-05-11 | Pulsifer Allen | Cryptographic transactions system |
WO2017090041A1 (en) * | 2015-11-24 | 2017-06-01 | Ben-Ari Adi | A system and method for blockchain smart contract data privacy |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2016235539B2 (en) * | 2015-03-20 | 2019-01-24 | Rivetz Corp. | Automated attestation of device integrity using the block chain |
US9875375B2 (en) * | 2015-05-29 | 2018-01-23 | Panasonic Intellectual Property Corporation Of America | Method for performing similar-information search while keeping content confidential by encryption |
JP6504013B2 (ja) * | 2015-10-13 | 2019-04-24 | 富士通株式会社 | 暗号処理方法、暗号処理装置、および暗号処理プログラム |
WO2017171726A1 (en) * | 2016-03-29 | 2017-10-05 | Hewlett Packard Enterprise Development Lp | Distributed data clustering using an untrusted mediator |
KR101835518B1 (ko) * | 2016-12-29 | 2018-04-19 | 주식회사 코인플러그 | Utxo 기반 프로토콜을 사용하여 통합 포인트 서비스를 제공하는 방법 및 이를 이용한 지원 서버 |
US20180219676A1 (en) * | 2017-01-27 | 2018-08-02 | Walmart Apollo, Llc | Managing smart appliances using blockchain technology |
US11481360B2 (en) * | 2017-04-07 | 2022-10-25 | Hwa-Shang CHANG | Blockchain network and method of operation thereof |
CN107231299A (zh) * | 2017-06-07 | 2017-10-03 | 众安信息技术服务有限公司 | 一种链路由及实现区块链跨链通信的系统 |
EP3649601A4 (en) * | 2017-08-01 | 2020-11-04 | Digital Asset (Switzerland) Gmbh | PROCESS AND APPARATUS FOR AUTOMATIC COMMITTED PAYMENT OF DIGITAL GOODS |
CN108335106A (zh) * | 2018-01-24 | 2018-07-27 | 深圳壹账通智能科技有限公司 | 基于区块链的零知识多账本兑换转账方法、装置及存储介质 |
CN108764874B (zh) * | 2018-05-17 | 2021-09-07 | 深圳前海微众银行股份有限公司 | 基于区块链的匿名转账方法、系统及存储介质 |
AU2018349940B2 (en) * | 2018-12-29 | 2020-08-20 | Advanced New Technologies Co., Ltd. | System and method for information protection |
-
2019
- 2019-01-31 RU RU2019134841A patent/RU2736447C1/ru active
- 2019-01-31 SG SG11201910095V patent/SG11201910095VA/en unknown
- 2019-01-31 KR KR1020197032098A patent/KR102194078B1/ko active IP Right Grant
- 2019-01-31 CA CA3061789A patent/CA3061789C/en active Active
- 2019-01-31 AU AU2019202832A patent/AU2019202832B2/en active Active
- 2019-01-31 CN CN201980000802.3A patent/CN110366738B/zh active Active
- 2019-01-31 MX MX2019012941A patent/MX2019012941A/es unknown
- 2019-01-31 ES ES19717101T patent/ES2869166T3/es active Active
- 2019-01-31 JP JP2019559290A patent/JP6840268B2/ja active Active
- 2019-01-31 WO PCT/CN2019/074057 patent/WO2019072317A2/en unknown
- 2019-01-31 PL PL19717101T patent/PL3602956T3/pl unknown
- 2019-01-31 EP EP19717101.0A patent/EP3602956B1/en active Active
- 2019-01-31 BR BR112019022731-8A patent/BR112019022731A2/pt not_active IP Right Cessation
- 2019-06-21 US US16/448,808 patent/US10990963B2/en active Active
- 2019-07-24 TW TW108126184A patent/TWI712306B/zh active
- 2019-10-30 ZA ZA2019/07229A patent/ZA201907229B/en unknown
- 2019-10-31 PH PH12019502464A patent/PH12019502464A1/en unknown
-
2021
- 2021-04-22 US US17/237,963 patent/US20210312429A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160342978A1 (en) * | 2015-05-21 | 2016-11-24 | Mastercard International Incorporated | Method and system for integration of market exchange and issuer processing for blockchain-based transactions |
WO2017079652A1 (en) * | 2015-11-05 | 2017-05-11 | Pulsifer Allen | Cryptographic transactions system |
WO2017090041A1 (en) * | 2015-11-24 | 2017-06-01 | Ben-Ari Adi | A system and method for blockchain smart contract data privacy |
Also Published As
Publication number | Publication date |
---|---|
ZA201907229B (en) | 2021-09-29 |
CA3061789C (en) | 2021-01-26 |
RU2736447C1 (ru) | 2020-11-17 |
PH12019502464A1 (en) | 2020-07-13 |
AU2019202832A1 (en) | 2020-08-13 |
WO2019072317A2 (en) | 2019-04-18 |
EP3602956B1 (en) | 2021-01-27 |
EP3602956A4 (en) | 2020-05-06 |
CN110366738B (zh) | 2023-09-26 |
AU2019202832B2 (en) | 2020-09-24 |
KR20200096722A (ko) | 2020-08-13 |
ES2869166T3 (es) | 2021-10-25 |
CA3061789A1 (en) | 2019-04-18 |
KR102194078B1 (ko) | 2020-12-24 |
PL3602956T3 (pl) | 2021-07-26 |
JP6840268B2 (ja) | 2021-03-10 |
US20190311351A1 (en) | 2019-10-10 |
SG11201910095VA (en) | 2019-11-28 |
TW202031012A (zh) | 2020-08-16 |
US10990963B2 (en) | 2021-04-27 |
WO2019072317A3 (en) | 2019-12-12 |
CN110366738A (zh) | 2019-10-22 |
US20210312429A1 (en) | 2021-10-07 |
EP3602956A2 (en) | 2020-02-05 |
MX2019012941A (es) | 2019-12-16 |
JP2020526053A (ja) | 2020-08-27 |
BR112019022731A2 (pt) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI712306B (zh) | 在區塊鏈網路中的跨資產交易的方法、電腦可讀儲存媒體及系統 | |
US10880105B1 (en) | Managing blockchain-based centralized ledger systems | |
US10924288B2 (en) | Managing blockchain-based centralized ledger systems | |
US11271760B2 (en) | Managing blockchain-based centralized ledger systems | |
US10904013B2 (en) | Managing blockchain-based centralized ledger systems | |
US11354657B2 (en) | Managing transactions in multiple blockchain networks | |
US10749696B1 (en) | Managing blockchain-based centralized ledger systems | |
US11314731B2 (en) | Managing trust points in ledger systems |