TW202018572A - 基於利用零知識證明的帳戶票據模型的區塊鏈資料保護 - Google Patents
基於利用零知識證明的帳戶票據模型的區塊鏈資料保護 Download PDFInfo
- Publication number
- TW202018572A TW202018572A TW108127356A TW108127356A TW202018572A TW 202018572 A TW202018572 A TW 202018572A TW 108127356 A TW108127356 A TW 108127356A TW 108127356 A TW108127356 A TW 108127356A TW 202018572 A TW202018572 A TW 202018572A
- Authority
- TW
- Taiwan
- Prior art keywords
- transaction amount
- account
- transaction
- commitment
- blockchain
- 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
-
- 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
-
- 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/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
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3674—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
-
- 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
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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/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/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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Power Engineering (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Devices For Executing Special Programs (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本發明的實施方式包括:從第一帳戶接收多個票據的數位簽章副本、由多個票據的至少一部分支付的第一帳戶與第二帳戶之間的交易的交易額的承諾、從多個票據的總值中扣除交易額得到的找零的承諾、以及基於一個或多個所選亂數產生的零知識證明。第一帳戶確定多個票據的總值等於交易額和找零的總和,驗證交易,並基於多個票據、交易額和找零更新第一帳戶和第二帳戶。
Description
本發明是關於一種區塊鏈資料保護特別是關於一種基於利用零知識證明的帳戶票據模型的區塊鏈資料保護。
區塊鏈網路,也可以稱為區塊鏈系統、共識網路、分散式帳本系統網路或區塊鏈,使得參與實體能夠安全地且不可篡改地儲存資料。區塊鏈可以被描述為交易帳本且區塊鏈的多個副本遍佈在區塊鏈網路中儲存。區塊鏈的示例類型可以包括公有區塊鏈、聯盟區塊鏈和私有區塊鏈。公有區塊鏈向所有實體開放,所有實體都可使用該區塊鏈,以及參與共識過程。聯盟區塊鏈是其中共識過程由例如特定組織或機構的預選節點組控制的區塊鏈。私有區塊鏈是為特定實體提供,該實體集中控制讀寫許可。
區塊鏈被用在使得參與者能夠使用加密貨幣進行買賣貨品/服務的交易的加密貨幣網路中。通常的加密貨幣包括比特幣(Bitcoin)。在加密貨幣網路中,記錄保留模型用於記錄用戶之間的交易。示例記錄保留模型包括未消費交易輸出(UTXO)模型和帳戶餘額模型(account balance model),在UTXO模型中,每筆交易使用先前交易的輸出並產生可以在隨後交易中使用的新輸出。追蹤用戶的未消費交易,且計算追蹤到的未消費交易的總和作為用戶具有的用於消費的餘額。在帳戶餘額模型中,每個用戶的帳戶餘額均被追蹤作為全域狀態。對於每筆交易,檢查消費帳戶的餘額以確保該餘額大於或等於交易額。這相當於傳統銀行業務。
區塊鏈包括一系列區塊,每個區塊包含在網路中執行的一個或多個交易。可以將每個區塊類比為一頁帳本,而區塊鏈本身是帳本的完整副本。確認各個交易並將交易添加至區塊,將該區塊添加至區塊鏈中。區塊鏈的副本遍佈網路節點複製。以這種方式,區塊鏈狀態上存在全域共識。此外,至少在公有網路的情況下,區塊鏈對所有節點開放查看。使用加密技術以保護區塊鏈用戶的隱私。
在帳戶餘額模型下,可以使用承諾(commitment)方案以隱藏交易雙方承諾的交易的價值。承諾方案可以呈現各方對選擇或價值的承諾的需要,並在後可以將該價值通訊給所涉及的其他各方。例如,在互動式佩德森承諾(Pedersen Commitment, PC)方案中,第一用戶可以通過發送基於隨機值r產生的承諾值PC(t, r),承諾交易額t。承諾值被產生,第二用戶則可以通過獲取亂數r以僅顯露交易額t。為確保交易額有效,可以建立範圍證據來證實交易額大於或等於零且小於或等於帳戶餘額。
在一些情況下,一個用戶可以進行多個交易。因為範圍證據與帳戶餘額關聯,所以區塊鏈中多個交易的依次驗證是重要的。這樣,對應的範圍證據可以與每筆交易後的帳戶餘額正確地關聯。
本發明實施方式包括用於基於帳戶票據模型、利用零知識證明來進行區塊鏈交易的非互動性隱私保護驗證的電腦實施的方法。更具體地,本發明實施方式涉及驗證帳戶票據模型下的區塊鏈帳戶間的交易。在一些實施方式中,在所述帳戶票據模型中,帳戶餘額以票據集合的形式儲存。根據本發明實施方式,可以基於承諾方案和公開金鑰加密方案或整合加密方案進行所述交易驗證而不顯露交易額、票據價值或用於產生承諾的亂數。
在一些實施方式中,操作包括:從第一帳戶接收識別相應多個票據的多個票據標識(ID)的數位簽章副本、由所述多個票據的至少一部分支付的、所述第一帳戶和所述第二帳戶之間的交易的交易額承諾、從所述多個票據的總值之中扣除交易額產生的找零的承諾、由所述第二帳戶的公開金鑰加密的用於產生所述交易額的承諾的第一亂數、由所述第二帳戶的公開金鑰加密的所述交易額、由所述第一帳戶的公開金鑰加密的用於產生找零的承諾的第二亂數、由所述第一帳戶的公開金鑰加密的找零、一個或多個範圍證據、以及基於一個或多個選擇的亂數產生的零知識證明;使用所述第一帳戶的公開金鑰驗證對應於數位簽章副本的數位簽章;確定所述一個或多個範圍證據證實了交易額和找零大於或等於零;確定所述多個票據的總值等於交易額和找零的總和;確定承諾中的交易額是否和加密的交易額相同,以及用於產生所述交易額的承諾的亂數是否和第一亂數相同;以及若所述承諾中的交易額與加密的所述交易額相同且用於產生交易額的承諾的亂數與第一亂數相同,則基於所述多個票據、所述交易額以及所述找零,更新所述第一帳戶和所述第二帳戶。其他實施方式包括對應的系統、裝置和電腦程式,該電腦程式配置為進行編碼在電腦存放裝置上的方法的操作。
這些和其他實施方式可以各自可選地包括一個或多個以下特徵:所述多個票據各自包括票據類型、票據價值的承諾、由公開金鑰加密或整合加密加密的票據價值以及由公開金鑰加密或整合加密加密的用於產生承諾的亂數中的一個或多個;確定所述多個票據各自具有相同票據類型;利用同態的承諾方案產生交易額的承諾、找零的承諾、票據價值的承諾;通過將每個票據價值的承諾的總和、與所述交易額的承諾和所述找零的承諾的總和比較,確定多個票據的總值是否等於所述交易額和所述找零的總和;所述多個票據ID各自包括交易位址和指示對應於交易輸出中的票據的順序的索引號,且其中交易位址是通過雜湊交易的交易資訊產生;確定所述多個票據ID各自與所述第一帳戶相關聯;基於Paillier加密或Okamoto-Uchiyama加密、通過所述第二帳戶的公開金鑰加密所述第一亂數和所述交易額;基於零知識證明來確定所述承諾中的交易額是否與加密的所述交易額相同,以及確定用於產生所述交易額的承諾亂數是否與所述第一亂數相同,而無需所述第一帳戶和所述第二帳戶之間在區塊鏈網路外進行交互。
本發明還提供了耦接到一個或多個處理器的一個或多個非暫態電腦可讀儲存介質,且其上儲存有指令,所述指令當由一個或多個處理器執行時,促使一個或多個處理器進行根據本文提供的方法的實施方式的操作。
本發明還提供了用於實現本文所提供方法的系統。該系統包括一個或多個處理器,以及耦接到一個或多個處理器的一個或多個非暫態電腦可讀儲存介質,且其上儲存有指令,所述指令在由一個或多個處理器執行時,促使一個或多個處理器進行根據本文提供的方法的實施方式的操作。
可以理解的是,根據本發明的方法可以包括本文所述的方面和特徵的任意組合。也即,根據本發明的方法不限於本文具體描述的方面和特徵的組合,而可包括所提供的方面和特徵的任意組合。
本發明一個或多個實施方式的細節將在下文結合圖式進一步描述。本發明的其他特徵或優點將從描述和圖式以及申請專利範圍中顯而易見。
本發明的實施方式包括用於基於帳戶票據模型、利用零知識證明來進行區塊鏈交易的非互動式隱私保護驗證的電腦實施的方法。更具體地,本發明實施方式涉及在帳戶票據模型下驗證區塊鏈帳戶間的交易。在一些實施方式中,在所述帳戶票據模型中,帳戶餘額以票據集合的形式儲存。根據本發明實施方式,可以基於承諾方案和公開金鑰加密方案或整合加密方案進行交易驗證而不會顯露交易額、票據價值或用於產生承諾(commitment)的亂數。在一些實施方式中,操作包括:從第一帳戶接收多個票據標識(ID)的數位簽章副本,其中所述多個票據標識識別相應的多個票據,由所述多個票據的至少一部分支付的第一帳戶和第二帳戶之間的交易的交易額承諾、從多個票據的總值之中扣除交易額產生的找零的承諾、用於產生由第二帳戶的公開金鑰加密的交易額的承諾的第一亂數、由第二帳戶的公開金鑰加密的交易額、用於產生由第一帳戶的公開金鑰加密的找零的承諾的第二亂數、由第一帳戶的公開金鑰加密的找零、一個或多個範圍證據、以及基於一個或多個選擇的亂數產生的零知識證明;使用第一帳戶的公開金鑰驗證對應於數位簽章副本的數位簽章;確定一個或多個範圍證據證實了交易額和找零大於或等於零;確定多個票據的總價值等於交易額和找零的總和;確定承諾中的交易額是否和加密的交易額相同,以及用於產生交易額的承諾的亂數是否和第一亂數相同;以及若承諾中的交易額與加密的交易額相同且用於產生交易額的承諾的亂數與第一亂數相同,基於多個票據、交易額以及找零,更新第一帳戶和第二帳戶。
為提供本發明實施方式的進一步執行背景,如上所述,區塊鏈網路,又稱共識網路(例如,由點對點(peer-to-peer)節點組成)、分散式帳本系統、或簡稱為區塊鏈,使得參與實體能夠安全地且不可篡改地進行交易並儲存資料。區塊鏈可被提供為公有區塊鏈、私有區塊鏈或聯盟區塊鏈。在此參考公有區塊鏈進一步詳述本發明的實施方式,公有區塊鏈在參與實體之間是公開的。然而。可以預測的是,本發明的實施方式可以在任何合適類型的區塊鏈中實現。
在公有區塊鏈中,共識過程由共識網路的節點控制。例如,數百、數千甚至數百萬的實體可以參與到公有區塊鏈中,每個實體操作公有區塊鏈中的至少一個節點。因此,可以認為公有區塊鏈是針對參與實體的公有網路。在一些示例中,大部分實體(節點)必須對每個區塊進行數位簽章,使得該區塊有效並被添加至區塊鏈中。公有區塊鏈的示例包括用於比特幣網路的區塊鏈,該比特幣網路是點對點支付網路(加密貨幣網路)。儘管術語區塊鏈通常被指代連及比特幣網路,如本文中所使用的,但是在不特別指代比特幣網路的情況下,區塊鏈一般是指分散式帳本。
通常來說,公有區塊鏈支援公共交易。公共交易被區塊鏈內的所有節點共用,且該區塊鏈被複製遍佈所有節點。也即,所有節點都處於相對區塊鏈的最佳共識狀態。為達成共識(例如,同意將區塊添加至區塊鏈),在區塊鏈網路中實施共識協定。共識協議的示例包括但不限於,比特幣網路中實施的工作量證明(POW)機制。
鑒於上述背景,在此進一步詳述本發明的實施方式。更具體地,如上所述,本發明的實施方式涉及在帳戶票據模型下區塊鏈帳戶之間的交易驗證,在該帳戶票據模型中,帳戶餘額以票據集合的形式儲存。在一些實施方式中,且在本文進一步詳述的,可以基於承諾方案和同態加密HE進行交易驗證而不會顯露交易額、票據價值或用於產生承諾的亂數。
根據本發明的實施方式,區塊鏈節點可以使用帳戶票據模型作為記帳方法。與帳戶餘額模型相比,採用帳戶票據模型的區塊鏈節點保留多個票據的記錄而不是帳戶餘額。多個票據各自與票據類型和票據價值關聯。票據類型可以是與票據關聯的貨幣或資產的類型。貨幣的類型可以是任何真實貨幣或加密貨幣的類型。票據價值可以指示與票據類型對應的票據的面值。
為保護資料隱私,可以基於承諾將交易記錄至區塊鏈(帳本)而不顯露與區塊鏈用戶帳戶關聯的交易額或貨幣金額資訊。承諾方案可以利用亂數產生交易額的承諾。承諾方案的示例包括但不限於,佩德森承諾(PC)方案。因為交易額隱藏於承諾中,一個或多個範圍證據可用於證實交易額未超過區塊鏈用戶帳戶的值。
在帳戶餘額模型下,範圍證據與帳戶餘額相關聯。若產生了多於一個交易,但並非所有交易都被驗證並記錄在區塊鏈上,範圍證據可能與錯誤的帳戶餘額相關聯,因此可能是無效的。相比下,在帳戶票據模型下,帳戶值通過計算多個票據的總和來被獲得。當要在區塊鏈用戶帳戶間轉帳交易額時,部分組合值大於或等於交易額的多個票據可以用於進行轉帳。在剩餘票據的組合值大於額外待轉帳的交易額的情況下,可以進行額外轉帳。照此,即使交易未被驗證並記錄在區塊鏈上,顯示出剩餘票據的組合值大於或等於交易額的範圍證據仍可以是有效的。
為驗證用戶(節點)A和用戶(節點)B之間的交易,例如可由用戶A基於用戶B的公開金鑰,利用公開金鑰加密方案(例如,EIGamal)或整合加密方案(例如,ECIES)加密交易額和亂數。交易額和亂數也可以用於產生用於驗證交易的零知識證明(ZKP)。區塊鏈節點可以使用交易的承諾、加密的交易額、加密的亂數和ZKP來驗證交易是否有效。在驗證過程期間,帳戶餘額、交易額或亂數不需要顯露或被發送給用戶B。
圖1描繪了可用於執行本發明實施方式的環境100的示例。在一些示例中,示例環境100使得實體能夠參與到公有區塊鏈102中。示例環境100包括計算系統106、108以及網路110。在一些示例中,網路110包括區域網(LAN)、廣域網路(WAN)、網際網路或其組合,並連接網路網站、用戶設備(例如,計算設備)和後端系統。在一些示例中,可以通過有線或無線通訊鏈路訪問網路110。
在所描述的示例中,計算系統106、108可以各自包括任何合適的計算系統,該計算系統能夠作為節點參與到公有區塊鏈102中。示例計算設備包括但不限於,伺服器、桌上型電腦、筆記型電腦、平板計算設備和智慧型電話。在一些示例中,計算系統106、108託管用於與公有區塊鏈102交互的一個或多個電腦實施的服務。例如,計算系統106可以託管第一實體(例如,用戶A)的電腦實施的服務,例如第一實體使用來管理其與一個或多個其他實體(例如,其他用戶)的交易的交易管理系統。計算系統108可以託管第二實體(例如,用戶B)的電腦實施的服務,例如第二實體使用來管理其與一個或多個其他實體(例如,其他用戶)的交易的交易管理系統。在圖1的示例中,公有區塊鏈102呈現為節點的點對點網路,且計算系統106、108分別提供參與到公有區塊鏈102中的第一實體和第二實體的節點。
圖2描繪了根據本發明實施方式的示例概念性結構200。示例概念性結構200包括實體層202、託管服務層204以及公有區塊鏈層206。在所描述的示例中,實體層202包括三個實體,實體1(E1)、實體2(E2)、實體3(E3),每個實體具有對應的交易管理系統208。
在所描述的示例中,託管服務層204包括針對每個交易管理系統208的區塊鏈介面210。在一些示例中,對應的交易管理系統208利用通訊協定(例如,超文字傳輸協定安全(HTTPS))通過網路(例如,圖1的網路110)與對應的區塊鏈介面210通訊。在一些示例中,每個區塊鏈介面210提供對應交易管理系統208和區塊鏈層206間的通訊連接。更具體地,每個區塊鏈介面210使得對應實體能夠進行記錄在區塊鏈層206的區塊鏈網路212中的交易。在一些示例中,區塊鏈介面210與區塊鏈層206之間的通訊是利用遠端程式呼叫(RPCs)進行的。在一些示例中,區塊鏈介面210“託管”針對各交易管理系統208的對應的區塊鏈節點。例如,區塊鏈介面210提供用於訪問區塊鏈網路212的應用程式介面(API)。
如本文所述的,區塊鏈網路212被提供為點對點網路,包括在區塊鏈216中不可篡改地記錄資訊的多個節點214。儘管示意性地描述了單個區塊鏈216,在區塊鏈網路212中提供並維護了區塊鏈216的多個副本。例如,每個節點214儲存區塊鏈216的一個副本。在一些實施方式中,區塊鏈216儲存與參與公有區塊鏈的兩個或多個實體之間進行的交易相關聯的資訊。
圖3描繪了根據本發明的實施方式的基於帳戶票據模型對區塊鏈交易進行隱私保護驗證的方法300的示例。在高等級中,示例方法300由用戶節點A 302、用戶節點B(未在圖3中示出)以及區塊鏈節點304(又稱共識節點)進行。用戶節點A 302的帳戶和用戶節點B的帳戶都是基於帳戶票據模型。也即,用戶節點A 302和用戶節點B的貨幣被保持為多個票據。從用戶節點A 302至用戶節點B可以進行例如轉帳的交易。用戶節點A 302可以從它的帳戶中選擇票據組以支付交易額。可以計算票據組的總值與交易額的差作為用戶節點A 302的找零(change)。
為保護帳戶隱私,用戶節點A 302可以基於亂數r,利用承諾方案(例如PC)產生交易額t的承諾。用戶節點A 302可以基於用戶節點B的公開金鑰利用公開金鑰加密方案或整合加密方案加密交易額和亂數。用戶節點A 302還可以基於用戶節點A的公開金鑰利用公開金鑰加密方案或整合加密方案對找零以及該找零對應的亂數進行加密。為驗證交易的有效性,區塊鏈節點304可以基於ZKP用承諾中對應的交易額和亂數驗證加密的交易額和亂數。若交易額和亂數均匹配,則區塊鏈節點304確定交易有效。示例方法300的更多細節將在下文圖3的描述中討論。
在306,用戶節點A 302選擇用於向用戶節點B轉帳交易額的多個票據。用戶節點A 302和用戶節點B可以是區塊鏈共識節點,或使用區塊鏈網路而不參與共識過程的用戶節點。如先前討論的,用戶節點A 302可以使用帳戶票據模型來記帳。用戶節點A 302的帳戶值是由其票據的總值測定的,而非帳戶餘額模型下保持記錄帳戶餘額。用戶節點A 302可以從票據中選擇足夠支付交易額的多個票據。例如,若交易額是7.5比特幣,用戶節點A 302可以選擇三個分別價值5、2和1比特幣的票據來支付交易額。
在一些實施方式中,每個票據可以具有識別票據的貨幣或資產的類型的票據類型。每個票據還可以具有包括交易ID和索引號的票據ID。交易ID可以是交易資訊的雜湊值。索引可以指示交易輸出中對應票據的順序。例如,當發送三個票據量為5、2和1比特幣的票據時,2比特幣的票據可以是索引號為2的第二交易輸出。在一些示例中,選擇k個票據,可以將它們的票據類型和票據ID表達為NoteType1
, NoteIda1
, …, NoteTypek
, NoteIdak
。在一些示例中,可以選擇相同類型的票據以進行交易額的轉帳。在一些情況下,在交易被建立之前,不能獲得對應於找零和交易額的票據ID。在這種情況下,上述票據ID可以基於能夠進行共識和合約更新的區塊鏈合約而產生。
在308,用戶節點A 302基於多個票據的總值和交易額計算找零。因為選擇的票據的總值大於交易額,所以可以將所選票據的總值扣除交易額來計算找零。使用t代表交易額並且t0
代表找零,可以將找零的計算表達為t0
= a1
+ ... + ak
- t, 其中a1
, ... , ak
是用戶節點A 302選擇的用於支付交易額t的k個票據的票據價值。
在310,用戶節點A 302產生對應於多個票據的多個亂數並計算對應於找零的亂數。可以產生多個亂數以產生票據價值的承諾。例如,a1
, ... ,ak
是票據價值,則可以將對應於票據價值的亂數表達為ra1
, … rak
。可以將票據的承諾表達為PC(ra1
, a1
), … , PC(rak
, ak
)。
在一些實施方式中,可以計算對應找零t0
的亂數r0
。該計算可以表達為r0
=ra1
+ … +rak
-r,其中r是為產生交易額t的承諾而產生的亂數。通過計算r0
,用戶節點A 302不需要產生額外ZKP以顯示轉帳的票據總值等於接收的票據總值。
在312,用戶節點A 302產生交易額和找零的承諾以及公開金鑰加密的密文。為保護資料隱私,可以基於承諾方案通過承諾隱藏包括票據價值、交易額和找零的幣值(monetary value)。區塊鏈可以將承諾作為記錄保留。在一些實施方式中,同態承諾方案,例如PC,可以用於產生承諾。以PC為非限制性示例,可以利用亂數r產生交易t的PC,其可以表達為T=PC(r,t)=gr
ht
,其中g和h可以是橢圓曲線的產生元,且PC(r,t)是曲線點的標量乘積。可以理解的是,其他基於HE的承諾方案,例如Fujisaki-Okamoto承諾方案也可以用於產生承諾值。
還可以使用用戶節點B的公開金鑰對交易額和亂數進行加密。該加密可以基於公開金鑰加密方案,例如Paillier或ElGamal演算法,或整合加密方案如ECIES。照此,用戶節點B可以使用其對應的私密金鑰以顯露交易額和亂數。可以將公開金鑰加密的亂數和交易額分別表達為PB
=E(PkB
,r),QB
=E(PkB
,t),其中PkB
代表用戶節點B的公開金鑰。
類似地,可以將找零的承諾表達為T0
=PC(r0
,t0
)。亂數r0
和找零t0
還可以由用戶節點A 302的公開金鑰加密並分別表達為PA
=E(PkA
,r0
),QA
=E(PkA
,t0
),其中PkA
代表用戶節點A 302的公開金鑰。
在314,用戶節點A 302產生一個或多個範圍證據。在一些實施方式中,可以產生第一範圍證據RP1
,以顯示交易額t≥ 0。可以產生第二範圍證據RP2
,以顯示找零t0
≥ 0,或換言之,多個票據的總值大於或等於交易額。
在316,用戶節點A 302產生了ZKP。在一些實施方式中,ZKP可以用於證實包括在PB
和QB
中的亂數r和交易額t等於包括在承諾T中對應的亂數和交易額。在一些實施方式中,可以利用零知識簡潔非交互知識論證(zk-SNARK)產生ZKP。
在318,用戶節點A 302利用私密金鑰產生交易資料的數位簽章。在一些實施方式中,交易資料可以包括NoteType1
, NoteIda1
, ... ,NoteTypek
, NoteIdak
;T0
, T, PB
, QB
, PA
, QA
, RP1
, RP2
,以及ZKP。
在320,用戶節點A 302向區塊鏈網路遞交數位簽章的交易資料副本。
在322,區塊鏈節點304驗證數位簽章。數位簽章的驗證可以確保交易資料是由用戶節點A 302發送的。
在324,區塊鏈節點304驗證多個票據的票據類型。換句話說,區塊鏈節點304驗證NoteType1
至NoteTypek
都相同。
在326,區塊鏈節點304驗證所選多個票據的總值等於交易額和找零的總和。換言之,區塊鏈驗證a1
+... + ak
=t+t0
。如前所討論的,在帳戶票據模型下,可以在區塊鏈上保留票據作為PC以保護資料隱私。基於PC的同態性,PC(ra1
, a1
) + … + PC(rak
, ak
)=PC(ra1
+ … + rak
, a1
+ … ak
),且PC(r, t) + PC(r0
, t0
)=PC(r + r0
, t + t0
)。因此,通過示出PC(ra1
, a1
) + … + PC(rak
, ak
)=PC(r, t)+PC(r0
, t0
),可以證明a1
+ ... + ak
=t+t0
。
在328,區塊鏈節點304驗證一個或多個範圍證據。
在330,區塊鏈節點304驗證ZKP,若ZKP驗證成功,則證實利用用戶節點B的公開金鑰加密的交易額和亂數與由PC隱藏的對應的交易額和亂數相同。如上所述,可以利用zk-SNARK產生ZKP。
在一些實施方式中,還可以基於西格瑪協議(Sigma Protocols)產生ZKP。以Paillier公開金鑰加密作為示例,可以將PB
和QB
分別表達為PB
=E(PkB
, r)=ur
yn
,QB
=E(Pk, t)=ut
zn
,其中u和n為公開金鑰,y和z為亂數。
為基於西格瑪協定產生ZKP,用戶節點A 302可以產生四個附加亂數r*
、t*
、y*
和z*
以計算三個密文C、D和E。可以將C、D和E表達為C=gr*
ht*
、D=ur*
y*n
和E=ut*
z*n
。可以通過對T、PB
、QB
、g、h、u、n、C、D和E進行雜湊計算,來計算雜湊值x,可以將雜湊值x表達為x=Hash(T, PB
, QB
, g, h, u, n, C, D, E)。可以將四個附加密文a、b、c和d計算為a=r*+xr、b=t*+xt、c=y*yx
、d=z*zx
。最後,ZKP可以形成為ZKP=(C, D, E, a, b, c ,d)。
為驗證ZKP,區塊鏈節點304可以首先計算x=Hash(T, PB
, QB
, g, h, u, n, C, D, E)。區塊鏈節點304可以驗證ga
hb
=CTX
、ua
cn
=DPx
以及ub
dn
=EQX
是否成立。若是,則ZKP被驗證且證實了利用用戶節點B的公開金鑰加密的交易額和亂數與由PC隱藏的對應的交易額和亂數相等。
在另一示例中,可以使用OU公開金鑰加密來對交易額和亂數進行加密。可以將PB
和QB
分別表達為PB
=E(PkB
, r) =ur
vy
,QB
=E(Pk, t)=ut
vz
,其中u、v和n為公開金鑰,r、y、和z為亂數。
為基於西格瑪協定產生ZKP,用戶節點A 302可以產生四個附加亂數r*
、t*
、y*
和z*
以計算三個密文C、D和E。可以將密文C、D和E計算為C=gr*
ht*
、D=ur*
v*y
和E=ut*
v*z
。可以通過對T、PB
、QB
、g、h、u、v、n、C、D和E進行雜湊計算來計算雜湊值x,可以將該雜湊值x表達為x=Hash(T, PB
, QB
, g, h, u, v, n, C, D, E)。可以將四個附加密文a、b、c和d計算為a=r*+xr、b=t*+xt、c=y*+xy、d=z*+xz。最後,ZKP可以形成為ZKP=(C, D, E, a, b, c ,d)。
為驗證ZKP,區塊鏈節點304可以計算x=Hash(T, PB
, QB
, g, h, u, v, n, C, D, E)。區塊鏈節點304可以驗證ga
hb
=CTX
、ua
vc
=DPx
以及ub
vd
=EQX
是否成立。若是,則ZKP被驗證且證實了利用用戶節點B的公開金鑰加密的交易額和亂數與由PC隱藏的對應的交易額和亂數相等。
在332,區塊鏈節點304驗證多個票據屬於用戶節點A 302。可以基於票據ID、NoteIdai
進行驗證,其中i= 1, … ,k。
在334,區塊鏈節點304更新用戶節點A 302和用戶節點B的帳戶。因為用戶節點A 302和用戶節點B的帳戶在帳戶票據模型下將票據作為記錄保留,在交易之後,可以從用戶節點A 302的帳戶中去除用戶節點A 302轉帳出的多個票據。可以將找零添加回用戶節點A的帳戶中。可以將交易額和對應的票據類型和票據ID作為新票據添加至用戶節點B的帳戶中。帳戶的更新在本文參考圖4進一步詳述。
圖4描繪了根據本發明實施方式的基於帳戶票據模型的區塊鏈交易400的示例。如示例區塊鏈交易400中所示,用戶節點A 402將交易額t轉帳至用戶節點B 404。在交易之前,用戶節點A 402具有m個票據,其中包括NoteIda1
, PC(ra1
, a1
), E(PkA
, ra1
), E(PkA
, a1
); NoteIda2
, PC(ra2
, a2
), E(PkA
, ra2
), E(PkA
, a2
); … ; NoteIdam
, PC(ram
, am
), E(PkA
, ram
), E(PkA
, am
)。
使用本文參考圖3作為示例描述的承諾方案、加密方案和交易過程,用戶節點A 402產生交易資料408,該交易資料408可以包括k個所選票據的票據ID以及票據類型,其中,票據類型表達為NoteType1
, NoteIda1
, … NoteTypek
, NoteIdak
。交易資料408還可以包括T0
、T、PB
、QB
、PA
、QA
、RP1
、RP2
和ZKP。在產生交易資料408之後,用戶節點A 402可以向交易資料中添加用戶節點A 402的數位簽章並將數位簽章的交易資料遞交至區塊鏈網路406中以用於共識。
在交易之後,可以將k個所選票據從用戶節點A 402的帳戶中去除。可以將找零添加回用戶節點A 402。因此,用戶節點A 402可以具有以下票據,這些票據表達為NoteIda(k+1)
, PC(ra(k+1)
, a(k+1)
), E(PkA
, ra(k+1)
), E(PkA
, a(k+1)
), … , NoteIdam
, PC(ram
, am
), E(PkA
, ram
), E(PkA
, am
), NoteIda(m+1)
, PC(r0
, t0
), E(PkA
, r0
), E(PkA
, t0
),其中NoteIda(m+1)
代表找零t0
的票據ID。
在交易之前,用戶節點B 404具有m個票據,這些票據可以表達為NoteIdb1
, PC(rb1
, b1
), E(PkB
, rb1
), E(PkB
, b1
); NoteIdb2
, PC(rb2
, b2
), E(PkB
, rb2
), E(PkB
, b2
); … ; NoteIdbm
, PC(rbm
, bm
), E(PkB
, rbm
), E(PkB
, bm
)。在交易之後,可以將交易額添加至用戶節點B 404。用戶節點B 404可以具有以下票據,這些票據表達為NoteIdb1
, PC(rb1
, b1
), E(PkB
, rb1
), E(PkB
, b1
), … , NoteIdbm
, PC(rbm
, bm
), E(PkB
, rbm
), E(PkB
, bm
), NoteIdb(m+1)
, PC(r, t), E(PkB
, r), E(PkB
, t), 其中NoteIdb(m+1)
代表交易額t的票據ID。
圖5描繪了根據本發明實施方式的可執行的過程500的示例。為清楚地呈現,以下說明一般性地描述了在本說明書其他圖式的上下文中的示例過程500。然而,將會理解示例過程500可以由例如任何系統、環境、軟體和硬體,或系統、環境、軟體和硬體的組合適當地進行。在一些實施方式中,示例過程500的各個步驟可以並行、組合、迴圈或以任何順序進行。
在502,共識節點從第一帳戶接收多個票據ID的數位簽章副本,所述多個票據ID識別對應的多個票據。在一些示例中,共識節點還可以接收由多個票據的至少一部分支付的第一帳戶和第二帳戶之間的交易的交易額的承諾。在一些示例中,共識節點還可以接收從多個票據的總值中扣除交易額得到的找零的承諾。在一些示例中,共識節點還可以接收由第二帳戶的公開金鑰加密的用於產生交易額的承諾的第一亂數,以及由第二帳戶的公開金鑰加密的交易額。在一些示例中,共識節點還可以接收由第一帳戶的公開金鑰加密的用於產生找零的承諾的第二亂數、由第一帳戶的公開金鑰加密的找零、一個或多個範圍證據以及基於一個或多個所選亂數產生的零知識證明。
在一些實施方式中,多個票據各自包括以下中一個或多個:票據類型、票據價值的承諾、由公開金鑰加密方案或整合加密方案加密的票據價值和由公開金鑰加密方案或整合加密方案加密的用於產生承諾的亂數。在一些實施方式中,交易額的承諾、找零的承諾和票據價值的承諾是利用同態的承諾方案產生的。在一些實施方式中,多個票據ID各自包括交易位址和索引號,該索引號指示交易輸出中對應票據的順序,並且其中交易位址是通過對交易的交易資訊進行雜湊計算產生的。在一些實施方式中,第一亂數和交易額是基於諸如EIGamal、ECIES的加密方案通過第二帳戶的公開金鑰加密的。
在504,共識節點利用第一帳戶的公開金鑰驗證數位簽章副本對應的數位簽章。
在506,共識節點確定一個或多個範圍證據證實了交易額和找零大於或等於零。
在508,共識節點確定多個票據的總值等於交易額和找零的總和。在一些實施方式中,通過將每個票據價值的承諾的總和、與交易額的承諾和找零的承諾的總和相比較,來確定多個票據的總值是否等於交易額和找零的總和。
在510,共識節點確定承諾中的交易額是否與加密的交易額相同,以及用於產生交易額的承諾的亂數是否與第一亂數相同。在一些實施方式中,共識節點還確定多個票據各自具有相同的票據類型。在一些實施方式中,共識節點還確定多個票據ID各自與第一帳戶相關聯。在一些實施方式中,基於零知識證明來確定承諾中的交易額是否與加密的交易額相等,以及用於產生交易額的承諾的亂數是否與第一亂數相同,而無需第一帳戶和第二帳戶在區塊鏈網路外進行交互。
在512,若承諾中的交易額與加密的交易額相同,且用於產生交易額的承諾的亂數與第一亂數相同,共識節點基於多個票據、交易額和找零更新第一帳戶和第二帳戶。
可以實施本說明書中所描述主題的實施方式以實現特定優點或技術效果。例如,本發明的實施方式允許區塊鏈節點的帳戶餘額和交易額在交易期間的私密性。資金轉帳的接收方不需要確認交易或使用亂數驗證承諾,交易的驗證可以是非交互的。區塊鏈節點可以基於公開金鑰加密方案和承諾方案驗證交易以允許零知識證明。
上述方法使得各種行動計算裝置的帳戶/資料安全性得以增強。可以通過承諾方案隱藏帳戶的餘額和交易額。這樣,共識節點可以在不顯露帳戶的真實餘額的情況下,在交易之後更新帳本中的帳戶餘額。因為不需要將亂數發送至接收方以確認交易,可以減少資料洩露的風險並且管理亂數所需用到的計算和儲存資源會更少。
本說明書中描述的實施方式和操作可以在數位電子電路或電腦軟體、韌體、包括本說明書中公開的結構的硬體或它們中一個或多個的組合中實現。所述操作可被實施為由資料處理裝置對一個或多個電腦可讀存放裝置上儲存的或從其他資源接收的資料進行的操作。資料處理裝置、電腦或計算設備可以包括用於處理資料的裝置、設備和機器,例如包括可程式化處理器、電腦、片上系統或它們的多個或組合。裝置可以包括專用邏輯電路,例如,中央處理單元(CPU)、場可程式化閘陣列(FPGA)或專用積體電路(ASIC)。裝置還可包括為討論中的電腦程式建立執行環境的代碼,例如,構成處理器韌體、協定疊、資料庫管理系統、作業系統(例如一個作業系統或多個作業系統的組合)、跨平臺執行時間環境、虛擬機器或者它們之中一個或多個的組合的代碼。裝置和執行環境可以實現各種不同的計算模型基礎架構,例如web服務、分散式運算和網格計算基礎架構。
電腦程式(又稱,例如,程式、軟體、軟體應用、軟體模組、軟體單元、腳本或代碼)可以以任何程式化語言的形式編寫,包括編譯語言或解釋語言、聲明性語言或程式性語言,並且電腦程式可以部署為任何形式,包括作為獨立程式或作為模組、元件、副程式、物件或適合在計算環境中執行的其他單元。程式可儲存在存有其他程式或資料的檔的一部分(例如,儲存在標記語言文檔中的一個或多個腳本)中、專用於所討論的程式的單個檔中或者多個協調檔(例如,儲存一個或多個模組,副程式或部分代碼的檔)中。電腦程式可以在一台電腦上或位於一個網站或分佈在多個網站並由通訊網路互聯的多台電腦上執行。
用於執行電腦程式的處理器包括,例如,通用和專用微型處理器兩者,和任意種類數碼電腦的任意一個或多個處理器。通常,處理器將從唯讀記憶體或隨機存取記憶體或其兩者接收指令和資料。電腦的基本要素為用於根據指令進行操作的處理器和一個或多個用於儲存指令和資料的記憶體設備。通常,電腦還將包括,或可操作地耦接以從一個或多個用於儲存資料的大型存放裝置接收資料或向其轉發資料,或兩者。電腦可嵌入在另一個設備中,例如,行動設備,個人數位助理(PDA),遊戲控制台,全球定位系統(GPS)接收器或可擕式存放裝置。適用於儲存電腦程式指令和資料的設備包括非揮發性記憶體、媒體和記憶體設備,例如包括半導體存放裝置、磁片和磁光碟。處理器和記憶體可以由專用邏輯電路補充或結合在其中。
行動設備可以包括手機、用戶設備(UE)、行動電話(例如,智慧型電話)、平板、可穿戴設備(例如,智慧手錶和智慧眼鏡)、人體內的植入設備(例如,生物感測器、人工耳蝸植入)、或其它類型的行動設備。行動設備可以無線地(例如,使用無線電頻率(RF)信號)與各種通訊網路(下文描述的)通訊。行動設備可以包括用於確定行動設備當前環境的特徵的感測器。感測器可以包括相機、麥克風、近距離感測器、GPS感測器、運動感測器、加速計、環境光感測器、濕度感測器、陀螺儀、指南針、氣壓計、指紋感測器、面部識別系統、RF感測器(例如,WiFi和蜂巢式無線電)、熱量感測器或其它類型的感測器。例如,相機可以包括帶有可動或固定鏡頭的前置或後置攝像頭、閃光燈、圖像感測器和影像處理器。相機可以是能夠捕捉用於面部和/或虹膜識別的細節的百萬圖元相機。相機連同資料處理器以及儲存在記憶體或可遠端存取的認證資料一起可以形成面部識別系統。面部識別系統或一個或多個感測器,例如,麥克風、運動感測器、加速計、GPS感測器或RF感測器可以用於用戶認證。
為提供與用戶的交互,實施方式可以在具有顯示裝置和輸入裝置的電腦上實現,例如,所述顯示裝置為用於向用戶顯示資訊的液晶顯示器(LCD)或有機發光二極體(OLED)/虛擬實境(VR)/擴增實境(AR)顯示器,所述輸入裝置為用戶可用以向電腦提供輸入的觸控式螢幕、鍵盤和指示設備。其他種類的設備也可以用於提供與用戶的交互;例如,提供給用戶的回饋可是任何形式的感官回饋,例如視覺回饋、聽覺回饋或觸覺回饋;且可以接收來自用戶的任何形式的輸入,包括聲學、語音或觸覺輸入。此外,電腦可通過向用戶使用的設備發送文檔並從用戶使用的設備接收文檔來與用戶交互;例如,通過回應從用戶的用戶端設備上的網路瀏覽器接收到的請求向網路瀏覽器發送網頁。
實施方式可以使用通過有線或無線數位資料通訊(或其組合)的任意形式或媒介、例如通訊網路互聯的計算設備實現。互聯設備的示例為通常相互遠離且常通過通訊網路交互的用戶端和伺服器。用戶端(例如,行動設備)可以自身與伺服器或通過伺服器進行交易,例如進行買、賣、支付、給予、發送或貸款交易,或認證以上交易。這種交易可以是即時的,使得操作和回應在時間上接近,例如個體察覺到操作和回應基本上是同時發生的,回應在個體動作之後的時間差不足一毫秒(ms)或不足一秒(s),或者考慮到系統的處理限制、回應不存在故意延遲。
通訊網路的示例包括區域網(LAN)、無線電存取網(RAN)、都會區網路(MAN)和廣域網路(WAN)。通訊網路可以包括所有或部分網際網路、其他通訊網路或通訊網路的組合。可以根據各種協定和標準在通訊網路上傳輸資訊,包括長期演進(LTE)、5G、IEEE802、網際網路協議(IP)或其他協定或協定的組合。通訊網路可以在連接的計算設備之間傳輸音訊、視頻、生物特徵或認證資料或其他資訊。
作為單獨實施方式描述的特徵可以在組合中、在單個實施方式中實現,然而在單個實施方式中描述的特徵可以在多個實施方式中單獨實現,或在任何合適的子組合中實現。按特定順序所描述和要求的操作不應理解為必需以該順序進行,也不是所有示出的操作都必需進行(一些操作可以是可選的)。適當地,可以進行多工或並行處理(或多工和並行處理的組合)。
200:結構
202:實體層
204:託管服務層
206:公有區塊鏈層
208:交易管理系統
210:區塊鏈介面
212:區塊鏈網路
214:節點
216:區塊鏈
302:用戶節點A
304:區塊鏈節點
300:方法
306-334:步驟
400:區塊鏈交易
402:用戶節點A
404:用戶節點B
406:區塊鏈網路
408:交易資料
500:過程
502-512:步驟
圖1描繪了可用於執行本發明實施方式的環境示例。
圖2描繪了根據本發明實施方式的概念性結構示例。
圖3描繪了根據本發明實施方式的基於帳戶票據模型對區塊鏈交易進行隱私保護驗證的過程示例。
圖4描繪了根據本發明實施方式的基於帳戶票據模型的區塊鏈交易示例。
圖5描繪了根據本發明實施方式的可執行的過程示例。
各種圖式中的相同參考符號指示相同要素。
300:方法
302:用戶節點A
304:區塊鏈節點
306-334:步驟
Claims (11)
- 一種電腦實施的方法,該方法由區塊鏈網路中的共識節點執行,該方法包括: 從第一帳戶接收 多個票據標識ID的數位簽章副本,其中,該多個票據ID識別相應的多個票據, 由該多個票據中的至少一部分支付的、該第一帳戶與第二帳戶之間的交易的交易額的承諾, 從該多個票據的總值中扣除該交易額產生的找零的承諾, 由該第二帳戶的公開金鑰加密的、用於產生該交易額的承諾的第一亂數, 由該第二帳戶的該公開金鑰加密的該交易額, 由該第一帳戶的公開金鑰加密的、用於產生該找零的承諾的第二亂數, 由該第一帳戶的該公開金鑰加密的該找零, 一個或多個範圍證據,以及 基於一個或多個選擇的亂數產生的零知識證明; 利用該第一帳戶的該公開金鑰驗證與該數位簽章副本對應的數位簽章; 確定該一個或多個範圍證據證實了該交易額和該找零大於或等於零; 確定該多個票據的總值等於該交易額和該找零的總和; 確定該承諾中的該交易額是否與加密的該交易額相同,以及用於產生該交易額的該承諾的亂數是否與該第一亂數相同;以及 若該承諾中的該交易額與加密的該交易額相同、且用於產生該交易額的該承諾的該亂數與該第一亂數相同,則基於該多個票據、該交易額以及該找零更新該第一帳戶和該第二帳戶。
- 如請求項1所述的電腦實施的方法,其中,該多個票據各自包括以下項的一者或多者:票據類型,票據價值的承諾,由公開金鑰加密或整合加密加密的該票據價值,以及由該公開金鑰加密或該整合加密加密的用於產生該承諾的亂數。
- 如請求項2所述的電腦實施的方法,該方法還包括: 確定該多個票據各個具有相同的票據類型。
- 如請求項2所述的電腦實施的方法,其中,該交易額的該承諾、該找零的該承諾和該票據價值的該承諾是利用同態的承諾方案產生的。
- 如請求項4所述的電腦實施的方法,其中,通過將每個票據價值的該承諾的總和與該交易額的該承諾以及該找零的該承諾的總和進行比較,來確定該多個票據的總值是否等於該交易額和該找零的總和。
- 如請求項1所述的電腦實施的方法,其中,該多個票據ID各自包括交易位址和索引號, 該索引號指示交易輸出中對應票據的順序,且 該交易位址是通過雜湊該交易的交易資訊產生。
- 如請求項1所述的電腦實施的方法,還包括:確定該多個票據ID各自與該第一帳戶關聯。
- 如請求項1所述的電腦實施的方法,其中,該第一亂數和該交易額是基於Paillier加密或Okamoto-Uchiyama加密、由該第二帳戶的公開金鑰加密的。
- 如請求項1所述的電腦實施的方法,其中,基於零知識證明來確定該承諾中的該交易額是否與加密的該交易額相同,以及用於產生該交易額的該承諾的亂數是否與該第一亂數相同,而無需該第一帳戶和該第二帳戶之間在該區塊鏈網路外進行交互。
- 一種非暫態電腦可讀儲存介質,其耦接到一個或多個處理器並且儲存有指令,該指令在被該一個或多個處理器執行時,促使該一個或多個處理器執行根據請求項1-9中的一個或多個所述的方法的操作。
- 一種系統,包括: 計算設備,以及 電腦可讀儲存裝置,其耦接到該計算設備並且儲存有指令,該指令在被該計算設備執行時,促使該計算設備執行根據請求項1-9中的一個或多個所述的方法的操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
WOPCT/CN2018/114420 | 2018-11-07 | ||
PCT/CN2018/114420 WO2019072268A2 (en) | 2018-11-07 | 2018-11-07 | BLOCK CHAIN DATA PROTECTION BASED ON A TICKET MODEL FROM ACCOUNTS USING ZERO KNOWLEDGE PROOF |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202018572A true TW202018572A (zh) | 2020-05-16 |
Family
ID=66100031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108127356A TW202018572A (zh) | 2018-11-07 | 2019-08-01 | 基於利用零知識證明的帳戶票據模型的區塊鏈資料保護 |
Country Status (17)
Country | Link |
---|---|
US (1) | US20190251553A1 (zh) |
EP (2) | EP3829104B1 (zh) |
JP (1) | JP6817429B2 (zh) |
KR (1) | KR102215773B1 (zh) |
CN (1) | CN110419055B (zh) |
AU (1) | AU2018347190B2 (zh) |
BR (1) | BR112019008160B1 (zh) |
CA (1) | CA3041160C (zh) |
ES (1) | ES2863559T3 (zh) |
MX (1) | MX2019004658A (zh) |
PH (1) | PH12019500890A1 (zh) |
PL (1) | PL3542336T3 (zh) |
RU (1) | RU2729595C1 (zh) |
SG (1) | SG11201903586SA (zh) |
TW (1) | TW202018572A (zh) |
WO (1) | WO2019072268A2 (zh) |
ZA (1) | ZA201902549B (zh) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10873568B2 (en) | 2017-01-20 | 2020-12-22 | Enveil, Inc. | Secure analytics using homomorphic and injective format-preserving encryption and an encrypted analytics matrix |
US11507683B2 (en) | 2017-01-20 | 2022-11-22 | Enveil, Inc. | Query processing with adaptive risk decisioning |
US10721057B2 (en) | 2017-01-20 | 2020-07-21 | Enveil, Inc. | Dynamic channels in secure queries and analytics |
US11777729B2 (en) | 2017-01-20 | 2023-10-03 | Enveil, Inc. | Secure analytics using term generation and homomorphic encryption |
US10790960B2 (en) | 2017-01-20 | 2020-09-29 | Enveil, Inc. | Secure probabilistic analytics using an encrypted analytics matrix |
US11196541B2 (en) | 2017-01-20 | 2021-12-07 | Enveil, Inc. | Secure machine learning analytics using homomorphic encryption |
CN111899001A (zh) * | 2018-08-30 | 2020-11-06 | 创新先进技术有限公司 | 基于区块链的汇款方法及装置 |
US10902133B2 (en) | 2018-10-25 | 2021-01-26 | Enveil, Inc. | Computational operations in enclave computing environments |
WO2019072269A2 (en) * | 2018-11-07 | 2019-04-18 | Alibaba Group Holding Limited | PROTECTION OF BLOCK CHAIN DATA USING A HOMOMORPHIC ENCRYPTION |
US10817262B2 (en) | 2018-11-08 | 2020-10-27 | Enveil, Inc. | Reduced and pipelined hardware architecture for Montgomery Modular Multiplication |
US10721217B2 (en) | 2018-11-08 | 2020-07-21 | Accenture Global Solutions Limited | Cryptographic datashare control for blockchain |
CN110473105B (zh) * | 2019-08-20 | 2024-01-16 | 深圳市迅雷网络技术有限公司 | 一种区块链交易结算方法、系统及相关设备 |
CN113065951A (zh) * | 2020-01-02 | 2021-07-02 | 苏州同济区块链研究院有限公司 | 基于区块链的交易方法、系统、装置、设备及介质 |
WO2020098836A2 (en) | 2020-02-03 | 2020-05-22 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain-based trustable gurantees |
SG11202012924WA (en) | 2020-02-03 | 2021-01-28 | Alipay Hangzhou Inf Tech Co Ltd | Blockchain-based trustable guarantees |
CN111357026B (zh) | 2020-02-03 | 2022-06-07 | 支付宝(杭州)信息技术有限公司 | 基于区块链的可信保函 |
SG11202013136SA (en) * | 2020-02-03 | 2021-01-28 | Alipay Hangzhou Inf Tech Co Ltd | Blockchain-based trustable guarantees |
WO2020098838A2 (en) | 2020-02-03 | 2020-05-22 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain-based trustable gurantees |
SG11202012925RA (en) | 2020-02-03 | 2021-01-28 | Alipay Hangzhou Inf Tech Co Ltd | Blockchain-based trustable guarantees |
WO2020098832A2 (en) * | 2020-02-03 | 2020-05-22 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain-based trustable gurantees |
US11483154B2 (en) * | 2020-02-19 | 2022-10-25 | International Business Machines Corporation | Artificial intelligence certification of factsheets using blockchain |
CN111523892B (zh) * | 2020-04-23 | 2021-07-27 | 深圳前海微众银行股份有限公司 | 一种区块链的跨链交易方法及装置 |
SG11202103063PA (en) | 2020-06-08 | 2021-04-29 | Alipay Labs Singapore Pte Ltd | Managing user authorizations for blockchain-based custom clearance services |
CN111868725B (zh) | 2020-06-08 | 2024-05-24 | 支付宝实验室(新加坡)有限公司 | 基于区块链处理进口海关清关数据 |
SG11202102583UA (en) | 2020-06-08 | 2021-04-29 | Alipay Labs Singapore Pte Ltd | Blockchain-based document registration for custom clearance |
SG11202103081RA (en) | 2020-06-08 | 2021-04-29 | Alipay Labs Singapore Pte Ltd | Distributed storage of custom clearance data |
CN111989663A (zh) | 2020-06-08 | 2020-11-24 | 支付宝实验室(新加坡)有限公司 | 基于区块链的智能合约池 |
WO2020169127A2 (en) | 2020-06-08 | 2020-08-27 | Alipay Labs (singapore) Pte. Ltd. | User management of blockchain-based custom clearance service platform |
CN111861714A (zh) * | 2020-07-23 | 2020-10-30 | 浙江永旗区块链科技有限公司 | 企业票据拆分方法及系统 |
DE102020119569B3 (de) | 2020-07-24 | 2021-12-09 | Infineon Technologies Ag | Bereitstellen einer kryptografischen Information |
CN114338028A (zh) * | 2020-09-28 | 2022-04-12 | 华为技术有限公司 | 门限签名方法、装置、电子设备和可读存储介质 |
EP4226573A1 (en) | 2020-10-05 | 2023-08-16 | Redcom Laboratories, Inc. | Zkmfa: zero-knowledge based multi-factor authentication system |
US11601258B2 (en) | 2020-10-08 | 2023-03-07 | Enveil, Inc. | Selector derived encryption systems and methods |
CN112287040B (zh) * | 2020-10-30 | 2022-11-04 | 深圳前海微众银行股份有限公司 | 一种基于区块链的权益合并方法、装置、设备及介质 |
CN112436944B (zh) * | 2020-11-06 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 一种基于pow的区块链共识方法及装置 |
IT202000026488A1 (it) | 2020-11-09 | 2021-02-09 | Primecash S R L | Metodo e sistema innovativo per pagamenti con denaro digitale e applicazione sulla blockchain |
CN112487468B (zh) * | 2020-12-21 | 2023-11-03 | 暨南大学 | 基于区块链的可追踪的完全匿名电子投票方法及系统 |
CN112633890B (zh) * | 2020-12-22 | 2024-04-05 | 深圳前海微众银行股份有限公司 | 一种基于区块链的隐匿权益证明的验证方法及装置 |
CN112734423A (zh) * | 2020-12-31 | 2021-04-30 | 杭州趣链科技有限公司 | 一种基于区块链的交易方法及终端设备 |
WO2022153377A1 (ja) * | 2021-01-13 | 2022-07-21 | 富士通株式会社 | 制御方法、情報処理システム、情報処理装置および制御プログラム |
CN112749967A (zh) * | 2021-01-19 | 2021-05-04 | 矩阵元技术(深圳)有限公司 | 交易数据的处理方法、装置、用户终端和服务器 |
CN113037492B (zh) * | 2021-02-04 | 2023-07-25 | 精英数智科技股份有限公司 | 传感器数据处理方法及装置 |
CN113630411B (zh) * | 2021-08-05 | 2022-04-05 | 华中农业大学 | 一种对联盟区块链上多方隐私保护数据审计的方法及装置 |
CN113627911A (zh) * | 2021-09-03 | 2021-11-09 | 杭州复杂美科技有限公司 | 一种基于区块链匿名收发红包的方法、设备及储存介质 |
CN113627910A (zh) * | 2021-09-03 | 2021-11-09 | 杭州复杂美科技有限公司 | 一种区块链匿名红包发送方法、设备及储存介质 |
CN113570373B (zh) * | 2021-09-23 | 2022-02-11 | 北京理工大学 | 一种基于区块链的可追责交易方法及系统 |
CN113988865B (zh) * | 2021-12-29 | 2022-03-29 | 国网电子商务有限公司 | 电力结算隐私保护方法及装置 |
CN115660679B (zh) * | 2022-10-14 | 2023-07-14 | 重庆移通学院 | 一种基于哈希锁定的去中心化安全交易方法 |
CN116633548A (zh) * | 2023-04-03 | 2023-08-22 | 北京熠智科技有限公司 | 加密过程监管方法、装置、系统及存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999625A (en) * | 1997-02-27 | 1999-12-07 | International Business Machines Corporation | Method for electronic payment system with issuer control |
EP2151947A1 (en) * | 2008-08-05 | 2010-02-10 | Irdeto Access B.V. | Signcryption scheme based on elliptic curve cryptography |
JP2010039890A (ja) * | 2008-08-07 | 2010-02-18 | Hitachi Ltd | 認証端末、認証サーバ、認証システム、認証方法および認証プログラム |
US8515058B1 (en) * | 2009-11-10 | 2013-08-20 | The Board Of Trustees Of The Leland Stanford Junior University | Bootstrappable homomorphic encryption method, computer program and apparatus |
SG11201602093TA (en) * | 2013-09-20 | 2016-04-28 | Visa Int Service Ass | Secure remote payment transaction processing including consumer authentication |
US11062303B2 (en) * | 2015-06-08 | 2021-07-13 | Blockstream Corporation | Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction |
US10693658B2 (en) * | 2016-02-12 | 2020-06-23 | Visa International Service Association | Methods and systems for using digital signatures to create trusted digital asset transfers |
JP6663809B2 (ja) * | 2016-07-07 | 2020-03-13 | 株式会社日立製作所 | 監査装置、監査機能付匿名送金方法及びプログラム |
CN106911470B (zh) * | 2017-01-23 | 2020-07-07 | 北京航空航天大学 | 一种比特币交易隐私增强方法 |
JP7148933B2 (ja) * | 2017-04-18 | 2022-10-06 | ティービーシーエーソフト,インコーポレイテッド | 分散取引合意ネットワーク上でのデジタル財産取引の匿名性及び追跡性 |
US20190108517A1 (en) * | 2017-10-06 | 2019-04-11 | Allocrypt, Llc | Digital currency for performing cash-equivalent transactions |
CN107862216B (zh) * | 2017-10-13 | 2021-04-06 | 布比(北京)网络技术有限公司 | 用于匿名跨链交易的隐私保护方法、装置和存储介质 |
CN107888375A (zh) * | 2017-11-08 | 2018-04-06 | 深圳市携网科技有限公司 | 一种基于区块链技术的电子证据保全系统及方法 |
CN108021821A (zh) * | 2017-11-28 | 2018-05-11 | 北京航空航天大学 | 多中心区块链交易隐私保护系统及方法 |
CN108418689B (zh) * | 2017-11-30 | 2020-07-10 | 矩阵元技术(深圳)有限公司 | 一种适合区块链隐私保护的零知识证明方法和介质 |
CN108764874B (zh) * | 2018-05-17 | 2021-09-07 | 深圳前海微众银行股份有限公司 | 基于区块链的匿名转账方法、系统及存储介质 |
-
2018
- 2018-11-07 EP EP21153549.7A patent/EP3829104B1/en active Active
- 2018-11-07 MX MX2019004658A patent/MX2019004658A/es unknown
- 2018-11-07 PL PL18867086T patent/PL3542336T3/pl unknown
- 2018-11-07 JP JP2019521800A patent/JP6817429B2/ja active Active
- 2018-11-07 WO PCT/CN2018/114420 patent/WO2019072268A2/en unknown
- 2018-11-07 BR BR112019008160-7A patent/BR112019008160B1/pt active IP Right Grant
- 2018-11-07 KR KR1020197011611A patent/KR102215773B1/ko active IP Right Grant
- 2018-11-07 RU RU2019111891A patent/RU2729595C1/ru active
- 2018-11-07 AU AU2018347190A patent/AU2018347190B2/en active Active
- 2018-11-07 EP EP18867086.3A patent/EP3542336B1/en active Active
- 2018-11-07 ES ES18867086T patent/ES2863559T3/es active Active
- 2018-11-07 CA CA3041160A patent/CA3041160C/en active Active
- 2018-11-07 CN CN201880003955.9A patent/CN110419055B/zh active Active
- 2018-11-07 SG SG11201903586SA patent/SG11201903586SA/en unknown
-
2019
- 2019-04-22 US US16/390,533 patent/US20190251553A1/en not_active Abandoned
- 2019-04-23 ZA ZA2019/02549A patent/ZA201902549B/en unknown
- 2019-04-24 PH PH12019500890A patent/PH12019500890A1/en unknown
- 2019-08-01 TW TW108127356A patent/TW202018572A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN110419055A (zh) | 2019-11-05 |
PL3542336T3 (pl) | 2021-07-12 |
EP3542336A2 (en) | 2019-09-25 |
WO2019072268A3 (en) | 2019-08-22 |
US20190251553A1 (en) | 2019-08-15 |
CA3041160A1 (en) | 2019-04-18 |
RU2729595C1 (ru) | 2020-08-11 |
KR20200054131A (ko) | 2020-05-19 |
AU2018347190A1 (en) | 2020-05-21 |
EP3542336A4 (en) | 2019-11-20 |
JP6817429B2 (ja) | 2021-01-20 |
AU2018347190B2 (en) | 2020-10-22 |
ES2863559T3 (es) | 2021-10-11 |
PH12019500890A1 (en) | 2019-11-25 |
SG11201903586SA (en) | 2019-05-30 |
ZA201902549B (en) | 2019-12-18 |
WO2019072268A2 (en) | 2019-04-18 |
EP3829104A1 (en) | 2021-06-02 |
JP2020503718A (ja) | 2020-01-30 |
KR102215773B1 (ko) | 2021-02-17 |
MX2019004658A (es) | 2019-08-12 |
BR112019008160A2 (pt) | 2019-09-10 |
CN110419055B (zh) | 2023-08-22 |
EP3829104B1 (en) | 2022-07-06 |
CA3041160C (en) | 2022-11-29 |
EP3542336B1 (en) | 2021-01-27 |
BR112019008160B1 (pt) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110419055B (zh) | 基于利用零知识证明的账户票据模型的区块链数据保护 | |
KR102213414B1 (ko) | 일반 계정 모델 및 동형 암호화 기반의 블록 체인 데이터 보호 | |
CN110402561B (zh) | 基于通用账户模型和同态加密的区块链数据保护 | |
TWI695613B (zh) | 使用同態加密的區塊鏈資料保護 | |
TWI718585B (zh) | 使用同態加密的區塊鏈資料保護 | |
JP6830530B2 (ja) | アカウントモデルの下でパブリックおよびプライベートトランザクションをサポートするブロックチェーンシステム |