TW201944757A - 適於提升即時離線區塊鏈交易安全性的電腦實施系統與方法 - Google Patents
適於提升即時離線區塊鏈交易安全性的電腦實施系統與方法 Download PDFInfo
- Publication number
- TW201944757A TW201944757A TW108111719A TW108111719A TW201944757A TW 201944757 A TW201944757 A TW 201944757A TW 108111719 A TW108111719 A TW 108111719A TW 108111719 A TW108111719 A TW 108111719A TW 201944757 A TW201944757 A TW 201944757A
- Authority
- TW
- Taiwan
- Prior art keywords
- key
- transaction
- private key
- output
- computer
- Prior art date
Links
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/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
-
- 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/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/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/105—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems involving programming of a portable memory device, e.g. IC cards, "electronic purses"
-
- 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
-
- 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/3678—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 e-cash details, e.g. blinded, divisible or detecting double spending
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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/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/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
- G06Q20/204—Point-of-sale [POS] network systems comprising interface for record bearing medium or carrier for electronic funds transfer or payment credit
-
- 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/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/326—Payment applications installed on the mobile devices
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/3252—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 DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Hardware Redundancy (AREA)
- Telephonic Communication Services (AREA)
Abstract
本說明書描述一種系統及方法,其使得比特幣簽名交易能夠作為商品及服務之一支付被即時及離線接受,而不需要等待該交易包括於一有效區塊中之確認或甚至一交易已藉由網路接收之確認。基於實施於比特幣指令碼內之一次簽名的概念,此方法涉及當(且僅當)收款人實施雙重花費時,一付款人將銷售點處之一特殊補償密鑰提供給收款人,該銷售點可用以當與一「經顯示」私用密鑰組合時要求一時間鎖定存款輸出。此補償密鑰之有效性經由一新穎類型之高效的零知識證明來保證:該證明可在約5毫秒內生成且可在約30毫秒內被驗證。此系統在一零售環境中之使用將允許供應商在沒有合計損失風險之情況下及在不需要信任一第三方服務之情況下離線接受高價值物品之即時密碼貨幣支付。
Description
發明領域
本說明書大體而言係關於適於密碼編譯協定之實施的電腦實施方法及系統。密碼編譯協定使得一方能夠當第二私用密鑰顯示時導出有效私用密鑰。此密碼編譯協定之一個應用係使用區塊鏈網路增加即時離線交易的安全性。特定言之,本發明適合於但不限於與比特幣區塊鏈一起使用。
本說明書大體而言係關於適於密碼編譯協定之實施的電腦實施方法及系統。密碼編譯協定使得一方能夠當第二私用密鑰顯示時導出有效私用密鑰。此密碼編譯協定之一個應用係使用區塊鏈網路增加即時離線交易的安全性。特定言之,本發明適合於但不限於與比特幣區塊鏈一起使用。
發明背景
在此文件中,吾人使用術語「區塊鏈」來包括所有形式的基於電腦之電子分散式總帳。此等總帳包括基於共識之區塊鏈及交易鏈技術、許可及未許可總帳、共用總帳及其變化。區塊鏈技術之最廣泛已知之應用為比特幣總帳,儘管已提議並開發了其他區塊鏈實施。雖然本文中出於方便及說明之目的可提及比特幣,但應注意,本發明不限於與比特幣區塊鏈一起使用,且替代區塊鏈實施及協定屬於本發明的範疇。
在此文件中,吾人使用術語「區塊鏈」來包括所有形式的基於電腦之電子分散式總帳。此等總帳包括基於共識之區塊鏈及交易鏈技術、許可及未許可總帳、共用總帳及其變化。區塊鏈技術之最廣泛已知之應用為比特幣總帳,儘管已提議並開發了其他區塊鏈實施。雖然本文中出於方便及說明之目的可提及比特幣,但應注意,本發明不限於與比特幣區塊鏈一起使用,且替代區塊鏈實施及協定屬於本發明的範疇。
區塊鏈係基於共識之電子總帳,其實施為由區塊組成的基於電腦的去中心化分散式系統,區塊又由交易及其他資訊組成。在比特幣之情況下,每一交易係編碼區塊鏈系統中之參與者之間的數位資產之控制結轉的資料結構,且包括至少一個輸入及至少一個輸出。每一區塊含有先前區塊之散列,使得該等區塊變為鏈接在一起以產生自一開始就已寫入至區塊鏈之所有交易的永久性不可變更之記錄。交易含有嵌入至其輸入及輸出中的被稱為指令碼的小型程式,其指定可如何及由誰存取交易之輸出。在比特幣平台上,此等指令碼係使用基於堆疊之指令碼處理語言來撰寫。
對於交易而言,為了被寫入至區塊鏈,交易必須經「驗證」。一些網路節點充當挖掘者(miner)且執行工作以確保每一交易有效,其中無效交易被網路拒絕。舉例而言,安裝於節點上之軟體用戶端對參考未用交易輸出(UTXO)之交易執行此驗證工作。驗證可藉由執行其鎖定及解除鎖定指令碼來執行。若鎖定及解除鎖定指令碼之執行評估為真,且若滿足特定其他條件,則交易有效且交易可寫入至區塊鏈。因此,對於交易而言,為了被寫入至區塊鏈,交易必須:i)藉由接收交易之節點驗證-若交易經驗證,則節點將交易轉送至網路中之其他節點;及ii) 新增至藉由挖掘者建構之新的區塊;及iii)被挖掘,亦即被新增至過去交易之公用總帳。當足夠數目個區塊經新增至區塊鏈以使交易實際上不可逆時,該交易被視為經確認。
雖然區塊鏈技術由於密碼貨幣實施之使用而為最廣泛已知的,但數位企業家已開始探索比特幣所基於之密碼編譯安全系統及可儲存於區塊鏈上以實施新系統之資料兩者的使用。區塊鏈技術在區塊鏈可用於不限於密碼貨幣範圍之自動任務及程序時非常有利。此等解決方案將能夠利用區塊鏈之益處(例如,事件之永久性防篡改記錄、分散式處理等),同時在其應用中為更通用的。
當前研究之一個領域係使用區塊鏈用於實施「智慧型合約」。此等智慧型合約係經設計以使機器可讀合約或協議之條款之執行自動化的電腦程式。不同於將以自然語言撰寫之傳統合約,智慧型合約係包含可處理輸入以產生結果之規則的機器可執行程式,該等規則接著可取決於彼等結果而使得執行動作。
發明概要
根據如本文所描述的本發明之第一態樣,提供一種供證明器實施密碼編譯協定的電腦實施方法,該電腦實施方法包含:
生成包含一第一公用密鑰(PK1 )及一第一私用密鑰(sk1 )之一第一密碼編譯密鑰對;
生成包含一第二公用密鑰(PK2 )及一第二私用密鑰(sk2 )之一第二密碼編譯密鑰對;
自該第一私用密鑰及該第二私用密鑰(sk1 ;sk2 )建構一補償密鑰(ck ),該補償密鑰(ck )使得該第二私用密鑰(sk2 )能夠在該第一私用密鑰(sk1 )被顯示之情況下被計算出;
建構該補償密鑰(ck )使得該第二私用密鑰(sk2 )能夠在該第一私用密鑰(sk1 )被顯示之情況下被計算出的一密碼編譯證明,該密碼編譯證明並不需要該第一私用密鑰及該第二私用密鑰(sk1 ;sk2 )被顯示;及
發送該第一公用密鑰及該第二公用密鑰(PK1 ;PK2 )、該補償密鑰(ck )及該密碼編譯證明至一驗證器以便該驗證器鑑認該補償密鑰(ck )使得該第二私用密鑰(sk2 )能夠在該第一私用密鑰(sk1 )被顯示之情況下被計算出的該密碼編譯證明。
根據如本文所描述的本發明之第一態樣,提供一種供證明器實施密碼編譯協定的電腦實施方法,該電腦實施方法包含:
生成包含一第一公用密鑰(PK1 )及一第一私用密鑰(sk1 )之一第一密碼編譯密鑰對;
生成包含一第二公用密鑰(PK2 )及一第二私用密鑰(sk2 )之一第二密碼編譯密鑰對;
自該第一私用密鑰及該第二私用密鑰(sk1 ;sk2 )建構一補償密鑰(ck ),該補償密鑰(ck )使得該第二私用密鑰(sk2 )能夠在該第一私用密鑰(sk1 )被顯示之情況下被計算出;
建構該補償密鑰(ck )使得該第二私用密鑰(sk2 )能夠在該第一私用密鑰(sk1 )被顯示之情況下被計算出的一密碼編譯證明,該密碼編譯證明並不需要該第一私用密鑰及該第二私用密鑰(sk1 ;sk2 )被顯示;及
發送該第一公用密鑰及該第二公用密鑰(PK1 ;PK2 )、該補償密鑰(ck )及該密碼編譯證明至一驗證器以便該驗證器鑑認該補償密鑰(ck )使得該第二私用密鑰(sk2 )能夠在該第一私用密鑰(sk1 )被顯示之情況下被計算出的該密碼編譯證明。
根據如本文所描述的本發明之一第二態樣,提供一種供驗證器實施一密碼編譯協定的電腦實施方法,該電腦實施方法包含:
自一證明器接收該第一公用密鑰及該第二公用密鑰(PK1 ;PK2 )、該補償密鑰(ck ),及使用根據該第一態樣之電腦實施方法建構的該密碼編譯證明;及
檢查該密碼編譯證明驗證該補償密鑰(ck )使得該第二私用密鑰(sk2 )可在該第一私用密鑰(sk1 )被顯示之情況下被計算出;
藉此,若顯示該第一私用密鑰(sk1 )之資訊被揭示,則該驗證器:
自該第一私用密鑰(sk1 )及該補償密鑰(ck )計算該第二私用密鑰(sk2 );及
利用該第二私用密鑰(sk2 )存取與該第二公用密鑰(PK2 )相關聯之密碼編譯資產。
自一證明器接收該第一公用密鑰及該第二公用密鑰(PK1 ;PK2 )、該補償密鑰(ck ),及使用根據該第一態樣之電腦實施方法建構的該密碼編譯證明;及
檢查該密碼編譯證明驗證該補償密鑰(ck )使得該第二私用密鑰(sk2 )可在該第一私用密鑰(sk1 )被顯示之情況下被計算出;
藉此,若顯示該第一私用密鑰(sk1 )之資訊被揭示,則該驗證器:
自該第一私用密鑰(sk1 )及該補償密鑰(ck )計算該第二私用密鑰(sk2 );及
利用該第二私用密鑰(sk2 )存取與該第二公用密鑰(PK2 )相關聯之密碼編譯資產。
與該第二公用密鑰(PK2
)相關聯之密碼編譯資產可在一鎖定時間T內時間鎖定,藉此該等密碼編譯資產可僅僅在該鎖定時間T到期之後被存取。此外,該密碼編譯證明可為一非交互式零知識證明。此非交互式零知識證明可基於經由應用菲雅特-薩莫爾(Fiat-Shamir)試探法而轉換成非交互式零知識證明的零知識西格瑪(Σ)協定。
補償密鑰可藉由下式計算:
其中ck 為該補償密鑰,sk1 為該第一秘密密鑰,sk2 為該第二秘密密鑰,且n 為用以自該第一私用密鑰及該第二私用密鑰生成該第一公用密鑰及該第二公用密鑰的一生成點G之一次序,該第一公用密鑰及該第二公用密鑰之生成包括該橢圓曲線生成點G之一橢圓曲線點乘。
其中ck 為該補償密鑰,sk1 為該第一秘密密鑰,sk2 為該第二秘密密鑰,且n 為用以自該第一私用密鑰及該第二私用密鑰生成該第一公用密鑰及該第二公用密鑰的一生成點G之一次序,該第一公用密鑰及該第二公用密鑰之生成包括該橢圓曲線生成點G之一橢圓曲線點乘。
密碼編譯證明可藉由以下建構:
生成一安全隨機數r ;
計算一承諾,為該點R 之座標;
計算一散列,設定為之最左位元,其中為之位元長度;
計算;
其中該密碼編譯證明為一元組。
生成一安全隨機數r ;
計算一承諾,為該點R 之座標;
計算一散列,設定為之最左位元,其中為之位元長度;
計算;
其中該密碼編譯證明為一元組。
驗證器可接著如下鑑認元組:
計算
驗證:
之最左
若確認,則接受該值為有效。
計算
驗證:
之最左
若確認,則接受該值為有效。
如上文所描述之密碼編譯方法的一個應用係使用區塊鏈網路增加即時離線交易的安全性。在此應用中,證明器:
建構一融資交易,其包含:與該第一公用密鑰(PK1 )及該第一私用密鑰(sk1 )相關聯的一花費輸出;及與該第二公用密鑰(PK2 )及該第二私用密鑰(sk2 )相關聯的一存款輸出,該存款輸出在一鎖定時間T內時間鎖定;
廣播該融資交易至一區塊鏈網路以用於併入於該區塊鏈中;
建構一購買交易以經由該區塊鏈網路將資金自該融資交易之該花費輸出結轉至該驗證器之一支付位址,該購買交易係使用該第一私用密鑰(sk1 )簽名;及
發送該購買交易、該第一公用密鑰及該第二公用密鑰(PK1 ;PK2 )、該補償密鑰(ck )及該密碼編譯證明至該驗證器。
建構一融資交易,其包含:與該第一公用密鑰(PK1 )及該第一私用密鑰(sk1 )相關聯的一花費輸出;及與該第二公用密鑰(PK2 )及該第二私用密鑰(sk2 )相關聯的一存款輸出,該存款輸出在一鎖定時間T內時間鎖定;
廣播該融資交易至一區塊鏈網路以用於併入於該區塊鏈中;
建構一購買交易以經由該區塊鏈網路將資金自該融資交易之該花費輸出結轉至該驗證器之一支付位址,該購買交易係使用該第一私用密鑰(sk1 )簽名;及
發送該購買交易、該第一公用密鑰及該第二公用密鑰(PK1 ;PK2 )、該補償密鑰(ck )及該密碼編譯證明至該驗證器。
在此應用中,驗證器:
自該證明器接收該購買交易、該第一公用密鑰及該第二公用密鑰(PK1 ;PK2 )、該補償密鑰(ck )及該密碼編譯證明;
檢查該購買交易正確地指定該等資金自與該第一公用密鑰(PK1 )相關聯之該花費輸出結轉至該支付位址;
檢查與該第二公用密鑰(PK2 )相關聯之該存款輸出含有一所需存款金額;
檢查該密碼編譯證明驗證該補償密鑰(ck )使得該第二私用密鑰(sk2 )可在該第一私用密鑰(sk1 )被顯示之情況下被計算出;及
授權該購買交易並廣播該購買交易至該區塊鏈網路,
藉此若一第二競爭購買交易經廣播至該區塊鏈網路以在該鎖定時間T到期之前自該融資交易之該花費輸出花費資金,則該驗證器:
自該購買交易及第二購買交易之簽名計算該第一私用密鑰(sk1 );
自一私用密鑰(sk1 )及補償密鑰(ck )計算第二私用密鑰(sk2 );
建構一交易以將資金自該融資交易之該存款輸出結轉至該區塊鏈上之一位址;
用該第二私用密鑰(sk2 )簽名該交易;及
廣播該交易至該區塊鏈網路,使得該融資交易之該存款輸出中之該等資金可在該鎖定時間T到期之後藉由該供應商獲得。
自該證明器接收該購買交易、該第一公用密鑰及該第二公用密鑰(PK1 ;PK2 )、該補償密鑰(ck )及該密碼編譯證明;
檢查該購買交易正確地指定該等資金自與該第一公用密鑰(PK1 )相關聯之該花費輸出結轉至該支付位址;
檢查與該第二公用密鑰(PK2 )相關聯之該存款輸出含有一所需存款金額;
檢查該密碼編譯證明驗證該補償密鑰(ck )使得該第二私用密鑰(sk2 )可在該第一私用密鑰(sk1 )被顯示之情況下被計算出;及
授權該購買交易並廣播該購買交易至該區塊鏈網路,
藉此若一第二競爭購買交易經廣播至該區塊鏈網路以在該鎖定時間T到期之前自該融資交易之該花費輸出花費資金,則該驗證器:
自該購買交易及第二購買交易之簽名計算該第一私用密鑰(sk1 );
自一私用密鑰(sk1 )及補償密鑰(ck )計算第二私用密鑰(sk2 );
建構一交易以將資金自該融資交易之該存款輸出結轉至該區塊鏈上之一位址;
用該第二私用密鑰(sk2 )簽名該交易;及
廣播該交易至該區塊鏈網路,使得該融資交易之該存款輸出中之該等資金可在該鎖定時間T到期之後藉由該供應商獲得。
花費輸出可經組配以使得自花費輸出結轉資金需要基於固定暫時密鑰(k)的交易簽名。花費輸出可為固定存款支付給公用密鑰(FR-P2PK)輸出,使得自花費輸出結轉資金需要利用預先指定r
值的交易簽名。此外,存款輸出可大於花費輸出以增加系統之安全性。
本發明的實施例可以各種形式提供。舉例而言,可提供一種電腦可讀儲存媒體,其包含當經執行時組配一或多個處理器執行如本文所描述之方法的電腦可執行指令。亦可提供一種電子裝置,其包含:一介面裝置;一或多個處理器,其耦接至該介面裝置;及一記憶體,其耦接至該一或多個處理器,該記憶體在上面儲存有電腦可執行指令,該等指令當經執行時組配該一或多個處理器以執行如本文所描述之方法。亦可提供一種一區塊鏈網路之節點,該節點經組配以執行如本文中所描述之方法。
較佳實施例之詳細說明
本說明書描述一種系統及方法,其使得比特幣簽名交易能夠作為商品及服務之一支付被即時及離線接受,而不需要等待該交易包括於一有效區塊中之確認或甚至一交易已藉由網路接收之確認。基於實施於比特幣指令碼內之一一次簽名的概念,此方法涉及當(且僅當)收款人實施雙重花費時,一付款人將銷售點處之一特殊補償密鑰提供給收款人,該銷售點可用以當與一「經顯示」私用密鑰組合時要求一時間鎖定存款輸出。此補償密鑰之有效性經由一新穎類型之高效的零知識證明來保證:該證明可在約5毫秒內生成且可在約30毫秒內被驗證。此系統在一零售環境中之使用將允許供應商在沒有合計損失風險之情況下及在不需要信任一第三方服務之情況下離線接受高價值物品之即時密碼貨幣支付。
本說明書描述一種系統及方法,其使得比特幣簽名交易能夠作為商品及服務之一支付被即時及離線接受,而不需要等待該交易包括於一有效區塊中之確認或甚至一交易已藉由網路接收之確認。基於實施於比特幣指令碼內之一一次簽名的概念,此方法涉及當(且僅當)收款人實施雙重花費時,一付款人將銷售點處之一特殊補償密鑰提供給收款人,該銷售點可用以當與一「經顯示」私用密鑰組合時要求一時間鎖定存款輸出。此補償密鑰之有效性經由一新穎類型之高效的零知識證明來保證:該證明可在約5毫秒內生成且可在約30毫秒內被驗證。此系統在一零售環境中之使用將允許供應商在沒有合計損失風險之情況下及在不需要信任一第三方服務之情況下離線接受高價值物品之即時密碼貨幣支付。
比特幣之本發明藉由添加有效交易至在網路中之每一節點上複製的附加唯一不可變總帳(區塊鏈)而為雙花費數位代幣之問題提供第一完全去中心化解決方案。然而,為了附加至此總帳,交易必須在區塊內確認,且具有視為不可逆的被添加至交易的足夠工作量證明(經由區塊深度)。此系統已被證明高度安全及可靠,然而其花費大量時間:新的區塊僅僅每隔10分鐘(平均)在比特幣網路中被挖掘且不保證特定交易將包括於下一區塊中(尤其在存在高需求及限制之區塊大小時)。此緩慢確認時間阻止比特幣在許多應用中(特定言之在零售環境中及在銷售點(POS)處)的安全使用,其中為了與現金及信用/轉賬卡支付對抗,安全交易應在約幾秒或更小時間中完成。可注意用於無接觸卡支付之規範敍述該等支付必須在小於500毫秒中完成及確認。
有效的(亦即經正確地形成並具有用於未花費交易輸出-UTXO之有效簽名)並經廣播至比特幣網路但尚待包括於區塊中的交易被稱為零確認交易(ZCT)。零售商可選擇接受ZCT作為用於商品/服務之支付,但在此情況下其必須接受資金可經雙花費的風險:亦即花費同一UTXO之單獨有效交易首先在區塊鏈中確認。此將使零售商之交易失效且其將失去對應資金。此稱為雙花費攻擊(或競賽攻擊)且將藉由客戶實施,客戶接著實際上竊用其在銷售點交換中接收的商品/服務。
此攻擊之最終目的係在交易支付給零售商之前首先使雙花費(攻擊)交易得到確認(挖掘)。當有效交易經廣播至比特幣網路時,其被添加至個別採礦節點之礦池(挖掘者可自其中選擇以包括於新區塊中的未確認交易之清單)中。採礦節點自由包括或不包括其希望的任何有效交易,但由於其遵循經濟刺激,所以交易通常基於其提供的費用而優先排序。因此,攻擊者可藉由支付較高費用激勵挖掘者優先排序交易,即使首先接收衝突交易。在費用替代(RBF)特徵在比特幣核心用戶端中情況下,此自動地發生。此在此說明書之稍後章節中更詳細地論述。
接受零確認交易中之安全性的缺乏係比特幣用作支付系統及其在廣義經濟中採用的實質阻礙。一些零售商接受用於低值購買之ZCT,吸收雙花費攻擊之成本至其商業模式中,但此嚴重限制,且其必須在線以確認交易在整個網路中的傳播(其通常花費5至10秒)。採用多重簽名交易並需要信任第三方的若干其他技術解決方案亦已經提議及實施(諸如GreenAddress、Bitpay Instant)。雷電型網路需要經由中間支付中心連結客戶及零售商的預先金融支付渠道:此支付路線係未解決的技術問題,但付款人及收款人兩者必須在線且有可能花費至少5至10秒來協商經由網路之金融路線並確認支付(若其完全起作用)。
不需要金融支付渠道或受信任第三方的替代方法經描述於最新論文[Pérez-Solà2017]中。此旨在若產生花費同一輸出的兩個不同有效(簽名)交易,則藉由使得控制輸出之私用密鑰被顯示而去激勵雙花費攻擊:亦即攻擊者有損失至觀察兩個交易(及可接著判定私用密鑰)之任何人的輸出中之所有資金的風險。此藉由強迫付款人(客戶)預先提交暫時簽名密鑰(r值)、將標準比特幣簽名(ECDSA)轉換成「一次signature'」來達成。然而,此方法具有大量缺點:首先,歸因於比特幣網路之性質及傳播交易的方式,兩個衝突交易可難以在其中之一者經挖掘至區塊中(此時時間太晚)之前藉由所有網路參與者觀察到。其次,不存在對於已被欺騙的零售商的賠償:管理要求雙花費嘗試輸出的一方可為觀察網路之任何人,但最可能係挖掘者(更多細節參見稍後章節)。第三,若零售商離線且不能傳輸簽名交易至網路(及亦確認其已經傳播至所有節點),則此方法無用。
在本說明書中,吾人呈現克服此等缺點並使得零售商(及僅僅零售商)能夠在雙花費攻擊藉由客戶執行(即使攻擊交易首先確認)情況下獲得補償的方法。此涉及客戶在連結至並行一次簽名輸出的時間鎖定輸出中置放存款,及客戶將可用以當與一次簽名密鑰組合時解鎖存款的補償密鑰提供給零售商。補償密鑰之有效性係用一種新類型零知識證明來強制執行:此體現於一新穎協定中,該新穎協定係高效的且需要僅僅幾個橢圓曲線運算。
橢圓曲線數位簽名演算法
橢圓曲線數位簽名演算法
在比特幣系統(及其他相似密碼貨幣)中,未花費的交易輸出(UTXO)係以橢圓曲線數位簽名演算法(ECDSA)來保護。交易輸出通常支付至位址(其為公用密鑰之散列)且可藉由提供對應公用密鑰的一交易輸入及一有效簽名(其授權該交易且可僅僅使用對應私用密鑰而生成)「花費」(解鎖)。
公用密鑰(其為橢圓曲線點)經由secp256k1橢圓曲線(具有次序之生成點)上之點乘(用符號指示)自私用密鑰導出:
此為比特幣中使用的橢圓曲線規範。本說明書中所描述之所有協定與任何其他區塊鏈系統相容,且不限於比特幣系統。
訊息(例如比特幣交易)之簽名生成如下:
1. 計算,其中為SHA-256散列函數。
2. 生成安全隨機整數。此係所謂的暫時密鑰。
3. 計算點
4. 計算(其中為點之座標)
5. 計算
6. 簽名為該對值
1. 計算,其中為SHA-256散列函數。
2. 生成安全隨機整數。此係所謂的暫時密鑰。
3. 計算點
4. 計算(其中為點之座標)
5. 計算
6. 簽名為該對值
針對訊息及公用密鑰的簽名之驗證經執行如下:
1. 計算
2. 計算
3. 計算及
4. 計算點
5. 若,則簽名係有效的
1. 計算
2. 計算
3. 計算及
4. 計算點
5. 若,則簽名係有效的
有效的簽名證明私用密鑰()用以授權訊息,而不顯示關於密鑰的任何資訊。如下文所描述,僅當值亦保持秘密,且不同簽名使用之不同隨機值時,此才為真。
一次簽名
一次簽名
ECDSA簽名方案具有熟知脆弱性(其亦與其他最流行方案(諸如DSA、Schnorr及ElGamal)共用),其中若相同暫時密鑰()用於兩個簽名,則(兩個不同訊息之,但使用同一私用密鑰)兩個不同簽名可用以導出私用密鑰。
給定用相同(未知)暫時密鑰計算的兩個不同訊息(亦即散列:及)之兩個ECDSA簽名(及),觀察及且亦知曉及的任何人可將私用密鑰計算如下:
1. 當值直接自計算時,其將對於兩個簽名係相同的(亦即)。
2. 自ECDSA定義:及
3. 暫時密鑰可接著經判定為:
4. 私用密鑰可接著經判定為:
1. 當值直接自計算時,其將對於兩個簽名係相同的(亦即)。
2. 自ECDSA定義:及
3. 暫時密鑰可接著經判定為:
4. 私用密鑰可接著經判定為:
此脆弱性已用於若干高輪廓駭客,其中ECDSA實施方案瑕疵未能生成用於每一新簽名之新的安全值。然而,其亦藉由以下方式導致潛在適用特徵:藉由「強迫」簽名人使用特定(但秘密)(及因此)值用於簽名,其可僅僅一直用特定私用密鑰簽名一個訊息,或其有顯示密鑰之風險。此接著為所謂的一次簽名:私用密鑰可僅僅一直用以簽名單一訊息。
已建議此特性可用以幫助防止或至少去激勵未確認比特幣交易之雙花費[Pérez-Solà2017]。基本想法係客戶向供應商提供支付來自有效UTXO的物品/服務之購買價格(且當變化時將UTXO之剩餘部分返回支付給客戶)的經簽名交易。若客戶接著建立攻擊交易(將所有UTXO返回支付給自身)且廣播其,則兩個單獨簽名將向觀察兩個交易之任何人顯示控制UTXO之私用密鑰。雙花費客戶接著有損失至第三方的UTXO中之全部資金的風險。
為了此去激勵機制起作用,客戶必須使用相同暫時密鑰()以生成兩個簽名。此可藉由建立特殊類型交易輸出(所謂的固定支付給公用密鑰(下文所描述)),藉由獲得提交給客戶之(預先簽名值)(僅僅取決於)強制執行。客戶必須預先設定此:其必須選擇值(且安全地儲存其以及其私用密鑰)並支付足夠資金至需要具有對應於所提交之值的簽名的輸出中。
固定存款支付給公用密鑰散列
固定存款支付給公用密鑰散列
固定支付給公用密鑰(FR-P2PK)類型交易輸出[Pérez-Solà2017]可僅僅用具有特定(當建立交易時提交之值)的簽名解鎖。建立此融資交易(客戶)之過程繼續如下進行:
1. 客戶選擇作為隨機暫時密鑰及私用密鑰。
2. 客戶計算其公用密鑰
3. 客戶計算
4. 客戶用以下輸出(ScriptPubKey)建立交易,藉由其控制的輸出融資:
ScriptPubKey(此基本格式亦可用於P2PK-散列或支付給指令碼散列(P2SH)交易):
OP_DUP >pubKey> OP_CHECKSIGVERIFY OP_SIZE >0x47> OP_EQUALVERIFY >sigmask> OP_AND >r> OP_EQUAL
其中:>sigmask>為71位元組陣列(與簽名相同之大小),其在值定位於簽名陣列中的位置中(及在簽名散列型旗標亦受限制於SIGHASH_ALL(0x01)以確保對於不同交易花費輸出形成不同簽名的簽名散列型旗標位置中)具有1s及在所有其他位置中具有0s。>r>為71位元組陣列,其僅僅在對應於簽名陣列之位置中含有值且在所有其他位置中含有0s (及在簽名散列型位置中含有0x01)。
5. 在需要在POS處執行零確認交易之前,客戶接著廣播此融資交易至網路並等待區塊鏈中之確認。
1. 客戶選擇作為隨機暫時密鑰及私用密鑰。
2. 客戶計算其公用密鑰
3. 客戶計算
4. 客戶用以下輸出(ScriptPubKey)建立交易,藉由其控制的輸出融資:
ScriptPubKey(此基本格式亦可用於P2PK-散列或支付給指令碼散列(P2SH)交易):
OP_DUP >pubKey> OP_CHECKSIGVERIFY OP_SIZE >0x47> OP_EQUALVERIFY >sigmask> OP_AND >r> OP_EQUAL
其中:>sigmask>為71位元組陣列(與簽名相同之大小),其在值定位於簽名陣列中的位置中(及在簽名散列型旗標亦受限制於SIGHASH_ALL(0x01)以確保對於不同交易花費輸出形成不同簽名的簽名散列型旗標位置中)具有1s及在所有其他位置中具有0s。>r>為71位元組陣列,其僅僅在對應於簽名陣列之位置中含有值且在所有其他位置中含有0s (及在簽名散列型位置中含有0x01)。
5. 在需要在POS處執行零確認交易之前,客戶接著廣播此融資交易至網路並等待區塊鏈中之確認。
為花費此輸出,客戶必須產生使用在融資交易中提交的相同值的簽名。為產生簽名,客戶必須接著知曉對應值及私用密鑰。產生(及廣播)第二簽名(在不同交易上)接著將顯示私用密鑰。
問題
問題
[Pérez-Solà2017]中呈現之基本原理係藉由需要客戶花費FR-P2PK輸出以進行即時購買,若其嘗試雙花費(藉由廣播第二簽名交易),則其有損失彼輸出之全部的風險。若FR-P2PK輸出金額等於購買之值(亦即不存在返回付給客戶的「變化」輸出),則藉由嘗試雙花費攻擊,客戶毫無損失。因此,零售商可需要FR-P2PK輸出含有顯著大於購買金額,以使得若客戶嘗試雙花費,則客戶有損失其「變化」輸出(其可大於購買金額)的風險。在此情況下,客戶現在具有不嘗試雙花費的激勵-而是其受懲罰之可能性係什麼,且誰將受益?
在此上下文中雙花費攻擊的動力取決於採礦節點處理(亦即優先順序處理及/或轉發)衝突交易的方式,其獨立於網路一致規則且僅僅取決於挖掘者執行的用戶端實施方案。用戶端可按「首先看到」規則操作-亦即,其接收的第一有效交易被添加至礦池且參考相同輸出的後續交易僅被忽略。在此情況下,在雙花費攻擊期間不同挖掘者可取決於兩個衝突交易圍繞網路傳播的方式在其礦池中具有不同交易。但監視網路之所有挖掘者仍可自所廣播衝突交易得到私用密鑰並建立包括於區塊中的其自身交易-其經激勵如此做。
不同用戶端規則(其在當前比特幣核心用戶端版本0.12 [2016年2月發佈]及稍後版本中實施)為「費用替代」(RBF)特徵,其意欲幫助人們「碰撞」具有不充足費用的卡住的交易。RBF採礦用戶端將用花費相同UTXO但包括較高挖掘者費用的另一交易替換其礦池中之任何交易。此使標準雙花費攻擊容易得多:客戶現在僅僅需要廣播具有較高費用之第二交易,第二交易將取代挖掘者之礦池中的初始零售商付款交易,即使初始零售商付款交易首先被接收。在此情況下,監視網路之任何人可觀察兩個交易,提取私用密鑰,並使其自身交易花費整個FR-P2PK輸出,從而提供較高費用。此導致所謂的「焦土」情形,其中任何數目個觀察者可搶先執行費用,其將接著趨向於100%輸出值。
總而言之,FR-P2PK輸出的雙花費攻擊之可能的結果係:
1. 初始零售商交易首先被確認
2. 攻擊交易首先被確認
3. 挖掘者交易首先被確認
1. 初始零售商交易首先被確認
2. 攻擊交易首先被確認
3. 挖掘者交易首先被確認
若挖掘者為「誠實的」且執行「首先看到」用戶端規則,則1及2具有相似可能性,此取決於攻擊之時序及網路拓樸。若挖掘者根據經濟刺激而動作,或操作RBF用戶端規則,則最終結果始終為挖掘者將要求完整FR-P2PK輸出,且零售商具有零補償機會。
若零售商並不能夠廣播交易(且驗證其已藉由網路接收),則攻擊交易當然將首先確認。零售商可接著自其擁有的簽名及區塊鏈上之簽名獲得私用密鑰-但此在資金已花費後將係無用的。
西格瑪協定
西格瑪協定
本說明書(下一章節)中所描述之一個技術解決方案利用西格瑪(Σ)協定-其為一種類型交互式零知識證明系統,該協定涉及證明器與驗證器之間的若干訊息。Σ 協定通常涉及3個移動:證明器發送初始承諾至驗證器(),驗證器接著以隨機挑戰()回應且接著證明器以最終回應()回答。驗證器接著基於轉錄物()接受或拒絕陳述。
Σ協定用來證明僅僅為證明器知曉的見證()之知識,或關於該見證的陳述[Damgard 2010]。若除與見證相關之陳述為真以外,協定不向驗證器顯示關於見證的任何資訊,則其為零知識[Bootle 2015]。下一章節中描述之協定係源自用於證明離散對數之知識的基本Schnorr協定[Schnorr 1990]及用於證明兩組元素的離散對數[Bootle 2015]之等效性的西格瑪協定,採用具有同態特性之單向函數(在實施例中,此可為橢圓曲線點乘)。
交互式Σ協定可藉由應用Fiat-Shamir試探法[Fiat 1986]轉換成非交互式方案:此僅用藉由證明器作出的承諾之散列之輸出替代隨機挑戰值()。在隨機預言機模型(其中密碼編譯散列函數之輸出被視為真正隨機)中,證明器不能欺騙,且驗證器可檢查所生成挑戰值之有效性。
技術解決方案
技術解決方案
以下章節更詳細地描述用以實現所提議方案的技術解決方案。在此之後的章節接著描述此創新如何用於完整方案中以克服先前所描述之FR-P2PK方法的缺點。
本質上,「完整方案」提供當第二私用密鑰(對應於第二已知公用密鑰)被公開顯示時使得一方(及僅僅一方)能夠導出有效私用密鑰(對應於已知公用密鑰)的方法。為了此方法安全及去信任,第一方必須具備唯一資訊段(吾人稱其為補償密鑰)以及此資訊段將在與所顯示私用密鑰組合時使得其能夠導出有效私用密鑰的密碼編譯證明。此證明係基於零知識Σ協定,經由Fiat-Shamir試探法之應用轉換為非交互式證明。
兩方(或兩個網路節點)係在協定中涉及:證明器(-第1方)及驗證器(-第2方)。及兩者商定不對稱密碼編譯功能及規範。一般而言,此將由具有生成器的次序之群組組成,其中離散對數問題經假設為難處理的。在與比特幣協定相容的組配中,此規範可為secp256k1橢圓曲線[SEC 2010],其包括(次序之)基礎生成器點。吾人用符號標示橢圓曲線上之點乘。每一方採用具有足夠熵源之以密碼方式安全偽隨機數生成器(CSPRNG)。兩方商定密碼編譯散列函數(例如SHA-256)。
初始設定
初始設定
證明器首先生成兩個安全隨機私用密鑰:
證明器接著計算對應公用密鑰:
在一個組配中,此等可接著用作用來控制數位資產的比特幣區塊鏈上之位址(如下一章節中所描述)。
協定
協定
一個目的係證明器使得驗證器(藉由安全地發送給其一密鑰)能夠在被顯示之情況下具有計算的能力,及驗證器鑑認(驗證)其具有此能力(給定密鑰及公用密鑰)。此達成如下:
1. 證明器計算值:
2. 證明器如下計算以下陳述()之緊湊非交互式零知識證明:「給定值及公用密鑰及,之私用密鑰等於之私用密鑰乘以」
i. 生成安全隨機數
ii. 計算承諾。為該點R之座標。
iii. 計算散列。設定為之最左位元,其中為之位元長度。注意,x為西格瑪協定中之藉由驗證器產生的「挑戰」值。此處,其係在使用H 之隨機預言機模型中使用Fiat-Shamir試探法而生成。此導致非交互式證明。
iv. 計算
v. 證明為元組
3. 證明器建立與驗證器之安全通信通道並將元組以及公用密鑰及發送給其。在零售環境中此可用緊密實體鄰近之近場通信(NFC)裝置達成。在在線環境中,此將用公用密鑰密碼系統或經由Diffie-Hellman密鑰交換而達成。
4. 驗證器將元組及因此陳述之真實性鑑認如下:
i. 計算
ii. 驗證:
之最左
iii. 若確認,則接受該值為有效。
現在,若對應於公用密鑰()之私用密鑰()被顯示(例如,由於雙花費FR-P2PK輸出)/當對應於公用密鑰()之私用密鑰()被顯示時,則驗證器可判定之值:
效能
1. 證明器計算值:
2. 證明器如下計算以下陳述()之緊湊非交互式零知識證明:「給定值及公用密鑰及,之私用密鑰等於之私用密鑰乘以」
i. 生成安全隨機數
ii. 計算承諾。為該點R之座標。
iii. 計算散列。設定為之最左位元,其中為之位元長度。注意,x為西格瑪協定中之藉由驗證器產生的「挑戰」值。此處,其係在使用H 之隨機預言機模型中使用Fiat-Shamir試探法而生成。此導致非交互式證明。
iv. 計算
v. 證明為元組
3. 證明器建立與驗證器之安全通信通道並將元組以及公用密鑰及發送給其。在零售環境中此可用緊密實體鄰近之近場通信(NFC)裝置達成。在在線環境中,此將用公用密鑰密碼系統或經由Diffie-Hellman密鑰交換而達成。
4. 驗證器將元組及因此陳述之真實性鑑認如下:
i. 計算
ii. 驗證:
之最左
iii. 若確認,則接受該值為有效。
現在,若對應於公用密鑰()之私用密鑰()被顯示(例如,由於雙花費FR-P2PK輸出)/當對應於公用密鑰()之私用密鑰()被顯示時,則驗證器可判定之值:
效能
協定之原型實施方案已在Python中開發,採用比特幣橢圓曲線規範(secp256k1)及pybitcointools庫。在此實施方案中之協定的每一步驟的速度效能係在因特爾核心i7膝上型電腦上測試,結果展示於下表中(10次延行的平均)。
零確認保護即時支付方案
如上文所描述之方法可在使得能夠在銷售點處進行即時去信任零確認支付的更大方案中採用,其中保護零售商防止雙花費攻擊克服現有FR-P2PK一次簽名方案之大量缺點。
簡言之,方案依賴於「花費者」或客戶在希望執行「即時」POS購買之前自相同交易發送資金至FR-P2PK輸出,以及發送「存款」金額至時間鎖定輸出。當接著進行購買時,客戶簽名自支付至零售商位址的FR-P2PK輸出花費的交易,且若自雙花費嘗試顯示FR-P2PK密鑰,則發送此簽名之交易以及補償密鑰及用於要求並行時間鎖定輸出之對應有效性證明至零售商。若進行雙花費嘗試(即使其係成功的),則零售商可接著在鎖定時間之後要求時間鎖定輸出資金。若未進行雙花費嘗試,則客戶可再要求時間鎖定輸出。
應注意在此情況下,零售商不需要在線上或監視其交易經由網路之傳播以允許購買繼續進行:即使首先確認雙花費攻擊交易,其仍可要求補償。
設定交易
設定交易
方案需要客戶在即時購買之前執行設定交易,其涉及融資FR-P2PK輸出(以覆蓋預期購買金額)及存款輸出兩者,其在其中可進行即時購買的週期內被時間鎖定。在存款輸出中鎖定的金額將取決於零售商之需求-零售商可需要等於或大於購買價格的存款金額以便繼續進行購買。零售商亦可需要關於經鎖定存款的最小剩餘時間(若零售商離線)- 鎖定時間(T)接著將藉由客戶基於其花費規劃及個人現金流決定。舉例而言,個人可規劃在週末進行大量購買,因此其將鎖定存款資金持續48小時(或其錢包將基於其花費習慣自動地執行此)。
融資交易()接著將含有具有以下鎖定條件之兩個輸出:
花費輸出:
金額:S
用固定值簽名支付給(FR-P2PK)
存款輸出:
金額:D
在時間T之後支付給(用OP_CHECKLOCKTIMEVERIFY)
花費輸出:
金額:S
用固定值簽名支付給(FR-P2PK)
存款輸出:
金額:D
在時間T之後支付給(用OP_CHECKLOCKTIMEVERIFY)
對應完全比特幣交易指令碼展示於稍後章節中。
在建立設定交易時,客戶即時花費錢包安全地儲存用以生成PKFR-P2PK的之值、秘密密鑰(對應於公用密鑰)及(對應於公用密鑰)。此可經實施為智慧型電話app,其經由QR程式碼或NFC無線電與零售商通信。錢包亦將計算補償密鑰及的對應證明並安全地儲存此等值。
銷售點交易
銷售點交易
客戶接著在時間之前向零售商進行購買。客戶既不零售商亦不需要在購買時在線,但零售商必須具有UTXO集合之最新複本(含有設定交易)且能夠廣播並使POS交易在時間之前確認。
交易接著繼續進行如下,客戶與零售商之間的通信經由NFC無線電(亦即執行錢包app的用戶之智慧型電話及零售商之讀卡器)或某其他安全通信通道發生。
1. 零售商之裝置發送支付位址(公用密鑰散列)及支付金額至客戶。
2.用戶之app將顯示金額並需要確認(可能在輸入授權PIN碼之後)。
3. 客戶app接著建構花費設定交易之FR-P2PK輸出的標準比特幣交易(並支付該支付金額至零售商的位址(且變化返回至藉由app生成的位址)。
4. 客戶app接著用私用密鑰並使用所提交暫時密鑰。
5. 用戶之app接著發送簽名之、、及至零售商的裝置。
6. 零售商之裝置接著執行以下檢查:
i.為有效的(正確的金額及位址)
ii.係用正確地簽名
iii.之UTXO至少含有購買金額。
iv.之UTXO含有所需存款(根據零售商策略)。
v.之UTXO的時間鎖定含有所需延遲。
vi. 證明驗證補償密鑰(步驟4為章節4.2)。
7. 交易完成且購買經授權。
交易完成
2.用戶之app將顯示金額並需要確認(可能在輸入授權PIN碼之後)。
3. 客戶app接著建構花費設定交易之FR-P2PK輸出的標準比特幣交易(並支付該支付金額至零售商的位址(且變化返回至藉由app生成的位址)。
4. 客戶app接著用私用密鑰並使用所提交暫時密鑰。
5. 用戶之app接著發送簽名之、、及至零售商的裝置。
6. 零售商之裝置接著執行以下檢查:
i.為有效的(正確的金額及位址)
ii.係用正確地簽名
iii.之UTXO至少含有購買金額。
iv.之UTXO含有所需存款(根據零售商策略)。
v.之UTXO的時間鎖定含有所需延遲。
vi. 證明驗證補償密鑰(步驟4為章節4.2)。
7. 交易完成且購買經授權。
交易完成
零售商接著在時間之前廣播交易至比特幣網路(允許確認時間)。在時間之後,客戶可接著花費存款輸出至新的位址。
雙花費攻擊
雙花費攻擊
若客戶在任何時刻(在POS購買之前或之後)廣播花費FR-P2PK輸出的第二攻擊交易,則雙花費嘗試出現。若零售商又必須廣播,則將首先在區塊鏈上確認。若及同時被廣播,則可自兩個簽名計算出私用密鑰,且挖掘者可搶先執行包括於區塊中的其自身交易。若在確認(歸因於拙劣攻擊)之後廣播攻擊交易,則零售商亦可要求存款(以及接收購買價格)。不論如何,若在時間之前,零售商觀察到在礦池中或區塊鏈中確認的衝突交易,則其可自及簽名計算。
零售商可接著計算:
其接著建構花費存款輸出至其控制的位址的交易,則用密鑰簽名此交易。此交易接著緊接在鎖定時間到期之後廣播至網路。客戶亦知曉密鑰(或可自其錢包app獲得密鑰)且可嘗試同時花費存款輸出。此將導致零售商或客戶交易在明確競爭中被首先確認的嚴格地50-50機會(無其他方可獲得並搶先執行交易)。相較於先前方案,此對於零售商顯著較佳,但零售商可希望需要較高(雙)存款金額來對抗此風險(以使得平均起來其可永不在交易上損失金錢)。
優點
優點
所呈現方案為一方供應一種在不需要交易廣播至網路或任何區塊確認的情況下用比特幣交易即時及離線地支付給任何其他方同時歸因於雙花費交易而保護全部方免受損失的方式。在兩方之間不需要支付渠道,且收款人僅僅需要驗證簡單證明以接受具有可信度之支付。
方案具有一些缺點:首先,存款金額需要在一段時間內藉由付款人鎖定-此暫時減少用戶的可用資金及流動性。另外,需要付款人執行額外鏈上交易以設定系統,且此交易在大小方面相對較大(歸因於簽名掩碼)。另外,即時離線交易必須經預先設定-但此可藉由錢包應用程式自動化,且預期大量購買。
然而,其係對目前先進技術之實質改良-未提議實現可在不依賴於受信任硬體模組或受信任第三方情況下去除收款人之合計損失風險的即時及離線支付的其他系統。
核心協定安全性證明
核心協定安全性證明
此處吾人提供用於協定之密鑰有效性部分之證明的正當理由,原因在於其滿足零知識證明系統之所需特性。
若驗證器將始終藉由證明器確信陳述係真(若其實際上係真),則證明系統據稱係完整的。
此可經論證如下:
,因此
由於且
另外,
由於
,因此
由於且
另外,
由於
若證明器使驗證器確信並不為真的陳述係不可能的,則證明系統據稱係完好的。若欺騙的證明器將不能使驗證器確信假陳述以占絕對優勢的機率為真,則系統在統計上係完整的。
為證明統計完整性,吾人考慮使用相同密鑰及致盲()值生成的但具有不同挑戰()值的兩個有效元組(有效的,原因在於驗證器接受其) (為了此證明,吾人假定隨機挑戰係獨立於而生成,基於Fiat-Shamir之隨機預言機模型而完整的):
吾人旨在展示有可能自該對元組提取見證(亦即秘密密鑰)-因此給定兩個單獨挑戰之情況下,見證必須存在。因此,若單一挑戰導致驗證,則證明器可在不知曉陳述為真之情況下正確地回答的機率係(其中為可能挑戰之數目:亦即之次序)。
將減去,吾人獲得:
因此:
另外,將減去,吾人獲得:
因此:
因此:
另外,將減去,吾人獲得:
因此:
此展示值及可自該對元組計算出,且證明滿足統計完整性。
若協定之轉錄本(亦即通信)可經模擬且不洩漏資訊(特定言之見證及),則證明系統據稱為零知識。此可在特殊誠實驗證器零知識(SHVZK)假設挑戰係藉由驗證器誠實地任意生成情況下進行。
目的係證明給定隨機挑戰情況下可產生不可與真實一(藉由證明器用見證之知識而建立)區分的轉錄物之模擬程式()的存在。模擬程式不知曉見證,但具有對驗證器之完全控制(且可倒回互動-且因此預先知曉挑戰)。
模擬可產生有效轉錄物如下。
1.採用挑戰值作為輸入
2.選擇隨機值
3.計算:
所得元組根據檢查係有效的:
因此:
1.採用挑戰值作為輸入
2.選擇隨機值
3.計算:
所得元組根據檢查係有效的:
因此:
誠實驗證器之假設可藉由使用Fiat-Shamir及藉由用來自散列函數之輸出替換挑戰值而移除。
設定交易
設定交易
此章節展示設定交易之形式的實例。輸出指令碼在此實例中為支付給公用密鑰,但其可經容易地修改以支付給位址(公用密鑰散列)並需要堆疊上之公用密鑰。交易亦可經建構為支付給指令碼散列(P2SH),其中兩個輸出指令碼作為兌換指令碼供應(若強制isStandard()規則)。
交易Tx0之結構
計算環境
計算環境
圖4為說明各種實施例可實施於其中之計算環境的示意圖。提供可用以實踐本發明之至少一個實施例的計算裝置2600之說明性簡化方塊圖。在各種實施例中,計算裝置2600可用以實施上文所說明及描述之系統中之任一者。舉例而言,計算裝置2600可經組配以用作資料伺服器、網頁伺服器、攜帶型計算裝置、個人電腦或任何電子計算裝置。如圖4中所示,計算裝置2600可包括具有快取記憶體之一或多個層級的一或多個處理器及可經組配以與包括主記憶體2608及持久性儲存器2610之儲存子系統2606通信的記憶體控制器(共同地標記為2602)。主記憶體2608可包括如所示之動態隨機存取記憶體(DRAM) 2618及唯讀記憶體(ROM) 2620。儲存子系統2606及快取記憶體2602可用於儲存資訊,諸如與如本發明中所描述之交易及區塊相關聯的細節。一或多個處理器2602可用以提供如本發明中所描述之任何實施例的步驟或功能性。
一或多個處理器2602亦可與一或多個使用者介面輸入裝置2612、一或多個使用者介面輸出裝置2614及網路介面子系統2616通信。
匯流排子系統2604可提供用於使計算裝置2600之各個組件及子系統能夠按預期彼此通信之機制。儘管匯流排子系統2604經示意性地展示為單一匯流排,但匯流排子系統之替代實施例可利用多個匯流排。
網路介面子系統2616可提供至其他計算裝置及網路之介面。網路介面子系統2616可充當用於自其他系統接收資料及將資料自計算裝置2600傳輸至其他系統之介面。舉例而言,網路介面子系統2616可使資料技術員能夠將裝置連接至網路,使得資料技術員可能夠在處於諸如資料中心之遠端位置中時傳輸資料至裝置及自裝置接收資料。
使用者介面輸入裝置2612可包括一或多個使用者輸入裝置,諸如鍵盤;指標裝置,諸如整合式滑鼠、軌跡球、觸控板或圖形平板電腦;掃描器;條形碼掃描器;併入至顯示器中之觸控螢幕;音訊輸入裝置,諸如語音辨識系統、麥克風;及其他類型之輸入裝置。一般而言,使用術語「輸入裝置」意欲包括用於將資訊輸入至計算裝置2600之所有可能類型的裝置及機構。
一或多個使用者介面輸出裝置2614可包括顯示子系統、印表機或諸如音訊輸出裝置之非視覺顯示器等。顯示子系統可係陰極射線管(CRT)、諸如液晶顯示器(LCD)之平板裝置、發光二極體(LED)顯示器,或投影裝置或其他顯示裝置。一般而言,使用術語「輸出裝置」意欲包括用於輸出來自計算裝置2600之資訊的所有可能類型的裝置及機構。舉例而言,一或多個使用者介面輸出裝置2614可用以呈現使用者介面以在使用者與應用程式之互動可係適當的時促進此互動,該等應用程式執行所描述之處理程序及其中之變化。
儲存子系統2606可提供用於儲存可提供本發明之至少一個實施例之功能性的基本程式設計及資料建構的電腦可讀儲存媒體。應用程式(程式、程式碼模組、指令)在由一或多個處理器執行時可提供本發明之一或多個實施例的功能性,且可儲存於儲存子系統2606中。此等應用程式模組或指令可由一或多個處理器2602執行。儲存子系統2606可另外提供用於儲存根據本發明所使用之資料的儲存庫。舉例而言,主記憶體2608及快取記憶體2602可提供用於程式及資料之揮發性儲存器。持久性儲存器2610可提供用於程式及資料之持久性(非揮發性)儲存器且可包括快閃記憶體、一或多個固態驅動機、一或多個磁性硬碟驅動機、具有相關聯抽取式媒體之一或多個軟碟驅動機、具有相關聯抽取式媒體之一或多個光學驅動機(例如CD-ROM或DVD或Blue-Ray)驅動機,及其他類似儲存媒體。此程式及資料可包括用於進行如本發明中所描述的一或多個實施例之步驟的程式以及與如本發明中所描述之交易及區塊相關聯的資料。
計算裝置2600可屬於各種類型,包括攜帶型電腦裝置、平板電腦、工作站或下文所描述之任何其他裝置。另外,計算裝置2600可包括可經由一或多個埠(例如USB、頭戴式耳機插口、雷電型連接器等)連接至計算裝置2600的另一裝置。可連接至計算裝置2600之裝置可包括經組配以接受光纖連接器之多個埠。因此,此裝置可經組配以將光信號轉換成可經由將裝置連接至計算裝置2600之埠傳輸的電信號以供處理。歸因於電腦及網路不斷改變之本質,出於說明裝置之較佳實施例之目的,圖4中所描繪之計算裝置2600之描述僅意欲作為特定實例。具有比圖4中所描繪之系統更多或更少組件的許多其他組配係可能的。
範疇
範疇
應注意,上文所提及之實施例說明而非限制本發明,且熟習此項技術者將能夠設計許多替代實施例而不背離本發明之如由所附申請專利範圍定義的範圍。
在申請專利範圍中,置放於圓括號中之任何參考符號不應被認為限制申請專利範圍。詞語「包含」及類似者並不排除除任何申請專利範圍或說明書中整體列出之彼等元件或步驟外的元件或步驟之存在。在本說明書中,「包含」意謂「包括或由……組成」。元件之單數參考並不排除此等元件之複數參考,且反之亦然。本發明可藉助於包含若干相異元件之硬體且藉助於經合適程式化之電腦實施。在枚舉若干構件之裝置請求項中,此等構件中之若干者可由硬體之同一物件體現。在彼此不同之請求項中列舉某些特徵之純粹實情並不指示不能有利地使用此等措施之組合。
參考文獻
參考文獻
[Pérez-Solà 2017]: Pérez-Solà, Cristina, et al. "Double-spending Prevention for Bitcoin zero-confirmation transactions." IACR Cryptology ePrint Archive 2017 (2017): 394.
[Damgard 2010]: Damgard, Ivan. "On Σ-protocols, 2010. url: www. cs. au. dk/ivan." Sigma. pdf.
[Lindell 2015]: Lindell, Yehuda. "An Efficient Transform from Sigma Protocols to NIZK with a CRS and Non-Programmable Random Oracle." TCC (1). 2015.
[Fiat 1986]: Amos Fiat and Adi Shamir: How to Prove Yourself: Practical Solutions to Identification and Signature Problems. CRYPTO 1986: pp. 186-194
[Bootle 2015]: Bootle, Jonathan, et al. "Efficient zero-knowledge proof systems." Foundations of Security Analysis and Design VIII. Springer, Cham, 2015. 1-31.
[Schnorr 1990]: C P Schnorr, Efficient identification and signatures for smart cards, in G Brassard, ed. Advances in Cryptology - Crypto '89, 239-252, Springer-Verlag, 1990. Lecture Notes in Computer Science, nr 435
[SEC 2010]: Standards for Efficient Cryptography (SEC) (Certicom Research, http://www.secg.org/sec2-v2.pd
2600‧‧‧計算裝置
2602‧‧‧處理器/快取記憶體
2604‧‧‧匯流排子系統
2606‧‧‧儲存子系統
2608‧‧‧主記憶體
2610‧‧‧持久性儲存器
2612‧‧‧使用者介面輸入裝置
2614‧‧‧使用者介面輸出裝置
2616‧‧‧網路介面子系統
2618‧‧‧動態隨機存取記憶體(DRAM)
2620‧‧‧唯讀記憶體(ROM)
本發明之此等及其他態樣將自本文中描述之實施例顯而易見且參考本文中所描述之實施例進行闡明。現將僅藉助於實例且參考附圖描述本發明之實施例,在附圖中:
圖1展示如本文所描述之技術協定的高層級示意圖;
圖2展示在證明器(P)與驗證器(V)之間的操作及通信之流程;
圖3展示設定交易之示意圖;且
圖4為說明各種實施例可實施於其中之計算環境的示意圖。
Claims (16)
- 一種供一證明器實施一密碼編譯協定之電腦實施方法,該電腦實施方法包含: 生成包含一第一公用密鑰(PK1 )及一第一私用密鑰(sk1 )之一第一密碼編譯密鑰對; 生成包含一第二公用密鑰(PK2 )及一第二私用密鑰(sk2 )之一第二密碼編譯密鑰對; 自該第一私用密鑰及該第二私用密鑰(sk1 ;sk2 )建構一補償密鑰(ck ),該補償密鑰(ck )使得該第二私用密鑰(sk2 )能夠在該第一私用密鑰(sk1 )被顯示之情況下被計算出; 建構該補償密鑰(ck )使得該第二私用密鑰(sk2 )能夠在該第一私用密鑰(sk1 )被顯示之情況下被計算出的一密碼編譯證明,該密碼編譯證明並不需要該第一私用密鑰及該第二私用密鑰(sk1 ;sk2 )被顯示;及 發送該第一公用密鑰及該第二公用密鑰(PK1 ;PK2 )、該補償密鑰(ck )及該密碼編譯證明至一驗證器以便該驗證器鑑認該補償密鑰(ck )使得該第二私用密鑰(sk2 )能夠在該第一私用密鑰(sk1 )被顯示之情況下被計算出的該密碼編譯證明。
- 一種供一驗證器實施一密碼編譯協定之電腦實施方法,該電腦實施方法包含: 自一證明器接收該第一公用密鑰及該第二公用密鑰(PK1 ;PK2 )、該補償密鑰(ck ),及使用如請求項1之電腦實施方法建構的該密碼編譯證明;及 檢查該密碼編譯證明驗證該補償密鑰(ck )使得該第二私用密鑰(sk2 )可在該第一私用密鑰(sk1 )被顯示之情況下被計算出; 藉此,若顯示該第一私用密鑰(sk1 )之資訊被揭示,則該驗證器: 自該第一私用密鑰(sk1 )及該補償密鑰(ck )計算該第二私用密鑰(sk2 );及 利用該第二私用密鑰(sk2 )存取與該第二公用密鑰(PK2 )相關聯之密碼編譯資產。
- 如請求項1或2之電腦實施方法, 其中與該第二公用密鑰(PK2 )相關聯之密碼編譯資產在一鎖定時間T內時間鎖定,藉此該等密碼編譯資產可僅僅在該鎖定時間T到期之後被存取。
- 如請求項1至3中任一項之電腦實施方法, 其中該密碼編譯證明為一非交互式零知識證明。
- 如請求項4之電腦實施方法, 其中該非交互式零知識證明係基於經由應用一菲雅特-薩莫爾(Fiat-Shamir)試探法而轉換成一非交互式零知識證明的一零知識西格瑪(Σ)協定。
- 如前述請求項中任一項之電腦實施方法, 其中該補償密鑰係藉由下式計算: 其中ck 為該補償密鑰,sk1 為該第一秘密密鑰,sk2 為該第二秘密密鑰,且n 為用以自該第一私用密鑰及該第二私用密鑰生成該第一公用密鑰及該第二公用密鑰的一生成點G 之一次序,該第一公用密鑰及該第二公用密鑰之生成包括該橢圓曲線生成點G之一橢圓曲線點乘。
- 如請求項6之電腦實施方法, 其中該密碼編譯證明藉由以下動作建構: 生成一安全隨機數r ; 計算一承諾,為該點R 之座標; 計算一散列,設定為之最左位元,其中為之位元長度; 計算; 其中該密碼編譯證明為一組元組。
- 如請求項7之電腦實施方法, 其中該驗證器如下鑑認該元組: 計算 驗證: 之最左 若確認,則接受該值為有效。
- 如前述請求項中任一項之電腦實施方法,其中該證明器: 建構一融資交易,其包含:與該第一公用密鑰(PK1 )及該第一私用密鑰(sk1 )相關聯的一花費輸出;及與該第二公用密鑰(PK2 )及該第二私用密鑰(sk2 )相關聯的一存款輸出,該存款輸出在一鎖定時間T內時間鎖定; 廣播該融資交易至一區塊鏈網路以用於併入於該區塊鏈中; 建構一購買交易以經由該區塊鏈網路將資金自該融資交易之該花費輸出結轉至該驗證器之一支付位址,該購買交易係使用該第一私用密鑰(sk1 )簽名;及 發送該購買交易、該第一公用密鑰及該第二公用密鑰(PK1 ;PK2 )、該補償密鑰(ck )及該密碼編譯證明至該驗證器。
- 如請求項9之電腦實施方法,其中該驗證器: 自該證明器接收該購買交易、該第一公用密鑰及該第二公用密鑰(PK1 ;PK2 )、該補償密鑰(ck )及該密碼編譯證明; 檢查該購買交易正確地指定該等資金自與該第一公用密鑰(PK1 )相關聯之該花費輸出結轉至該支付位址; 檢查與該第二公用密鑰(PK2 )相關聯之該存款輸出含有一所需存款金額; 檢查該密碼編譯證明驗證該補償密鑰(ck )使得該第二私用密鑰(sk2 )可在該第一私用密鑰(sk1 )被顯示之情況下被計算出;及 授權該購買交易並廣播該購買交易至該區塊鏈網路, 藉此若一第二競爭購買交易經廣播至該區塊鏈網路以在該鎖定時間T到期之前自該融資交易之該花費輸出花費資金,則該驗證器: 自該購買交易及第二購買交易之簽名計算該第一私用密鑰(sk1 ); 自該第一私用密鑰(sk1 )及該補償密鑰(ck )計算該第二私用密鑰(sk2 ); 建構一交易以將資金自該融資交易之該存款輸出結轉至該區塊鏈上之一位址; 用該第二私用密鑰(sk2 )簽名該交易;及 廣播該交易至該區塊鏈網路,使得該融資交易之該存款輸出中之該等資金可在該鎖定時間T到期之後藉由該供應商獲得。
- 如請求項9或10之電腦實施方法, 其中該花費輸出經組配以使得自該花費輸出結轉資金需要基於一固定暫時密鑰(k )的一交易簽名。
- 如請求項11之電腦實施方法, 其中該花費輸出可為一固定存款支付給公用密鑰(FR-P2PK)輸出,使得自該花費輸出結轉資金需要利用一預先指定r 值的一交易簽名。
- 如請求項9至12中任一項之電腦實施方法, 其中該存款輸出大於該花費輸出。
- 一種包含電腦可執行指令之電腦可讀儲存媒體,該等電腦可執行指令在經執行時組配一或多個處理器以執行如請求項1至13中任一項之方法。
- 一種電子裝置,其包含: 一介面裝置; 一或多個處理器,其耦接至該介面裝置; 一記憶體,其耦接至該一或多個處理器,該記憶體上儲存有電腦可執行指令,該等電腦可執行指令當經執行時組配該一或多個處理器以執行如請求項1至13中任一項之方法。
- 一種一區塊鏈網路之節點,該節點經組配以執行如請求項1至13中任一項之方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB1806112.7A GB201806112D0 (en) | 2018-04-13 | 2018-04-13 | Computer-implemented system and method |
GB1806112.7 | 2018-04-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201944757A true TW201944757A (zh) | 2019-11-16 |
TWI818005B TWI818005B (zh) | 2023-10-11 |
Family
ID=62203416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108111719A TWI818005B (zh) | 2018-04-13 | 2019-04-02 | 適於提升即時離線區塊鏈交易安全性的電腦實施系統與方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20210150522A1 (zh) |
EP (2) | EP3777023B1 (zh) |
JP (3) | JP7244537B2 (zh) |
KR (1) | KR20200141502A (zh) |
CN (1) | CN111971930A (zh) |
GB (1) | GB201806112D0 (zh) |
SG (1) | SG11202008752TA (zh) |
TW (1) | TWI818005B (zh) |
WO (1) | WO2019197926A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI748627B (zh) * | 2020-09-01 | 2021-12-01 | 林庠序 | 物流資訊管理系統與相關的電腦程式產品 |
CN116757849A (zh) * | 2023-08-14 | 2023-09-15 | 中资科技(江苏)有限公司 | 基于区块链的资产管理系统及方法 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11151558B2 (en) * | 2018-12-12 | 2021-10-19 | American Express Travel Related Services Company, Inc | Zero-knowledge proof payments using blockchain |
CN109816422B (zh) * | 2018-12-13 | 2022-11-18 | 深圳市先河系统技术有限公司 | 区块链节点设备的补偿方法、节点设备和装置 |
CN110084050B (zh) * | 2019-04-23 | 2023-03-24 | 武汉大学 | 一种基于区块链的属性基加密微网交易方法 |
GB2593779A (en) * | 2020-04-03 | 2021-10-06 | Nchain Licensing Ag | Methods and devices for double-spend relay in a blockchain network |
CN111861741A (zh) * | 2020-06-23 | 2020-10-30 | 广东贝莱蔻生物科技有限公司 | 一种基于区块链的供应链债权流转及追溯方法和系统 |
CN111865582B (zh) * | 2020-07-20 | 2023-05-09 | 陕西合友网络科技有限公司 | 基于零知识证明的私钥离线存储方法、系统及存储介质 |
CN111899007B (zh) * | 2020-08-10 | 2024-01-26 | 天翼电子商务有限公司 | 数字货币双离线支付方法及支付系统 |
US11922404B2 (en) * | 2020-09-25 | 2024-03-05 | LINE Plus Corporation | Method and system for payment for central bank digital currency |
CN112184244A (zh) * | 2020-09-29 | 2021-01-05 | 壹链盟生态科技有限公司 | 基于区块链的共识达成方法、装置及存储介质 |
CN112288434B (zh) * | 2020-11-20 | 2023-07-25 | 网易(杭州)网络有限公司 | 隐私交易方法、装置、零知识证明系统和隐私交易架构模型 |
CN112926967B (zh) * | 2021-03-18 | 2024-02-02 | 上海零数众合信息科技有限公司 | 一种用于区块链平台的计量与付费的方法 |
CN113393225B (zh) * | 2021-06-30 | 2022-10-28 | 杭州链网科技有限公司 | 数字货币加密支付方法及系统 |
CN113592469A (zh) * | 2021-08-02 | 2021-11-02 | 杭州复杂美科技有限公司 | 基于零知识证明的红包处理方法、计算机设备和存储介质 |
CN113592651B (zh) * | 2021-08-02 | 2023-05-30 | 杭州复杂美科技有限公司 | 延时交易方法、计算机设备和存储介质 |
KR102582974B1 (ko) * | 2021-08-19 | 2023-09-25 | 한양대학교 산학협력단 | 영지식 증명 기반의 전방향 안전 서명 방법 및 서명 결합 방법 |
CN114095823A (zh) * | 2021-11-15 | 2022-02-25 | 歌尔科技有限公司 | 耳机泄露补偿方法、装置、设备及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU3560989A (en) * | 1988-03-16 | 1989-10-05 | David Chaum | One-show blind signature systems |
JPH0752460B2 (ja) * | 1989-04-03 | 1995-06-05 | 日本電信電話株式会社 | 電子現金実施方法及びその装置 |
US6282295B1 (en) * | 1997-10-28 | 2001-08-28 | Adam Lucas Young | Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers |
GB9720846D0 (en) | 1997-10-02 | 1997-12-03 | Mbt Holding Ag | Composition |
CA2592875C (en) * | 2005-01-18 | 2016-09-06 | Certicom Corp. | Accelerated verification of digital signatures and public keys |
US8667292B2 (en) * | 2011-05-19 | 2014-03-04 | Microsoft Corporation | Privacy-preserving metering with low overhead |
CN104717067B (zh) * | 2013-12-17 | 2018-02-23 | 中国移动通信集团辽宁有限公司 | 基于非交互式零知识的安全验证方法、设备及系统 |
US9509502B2 (en) * | 2014-03-13 | 2016-11-29 | Intel Corporation | Symmetric keying and chain of trust |
US10489757B2 (en) * | 2014-05-19 | 2019-11-26 | OX Labs Inc. | System and method for rendering virtual currency related services |
US9641341B2 (en) * | 2015-03-31 | 2017-05-02 | Duo Security, Inc. | Method for distributed trust authentication |
US11140171B1 (en) * | 2015-06-05 | 2021-10-05 | Apple Inc. | Establishing and verifying identity using action sequences while protecting user privacy |
TW201810989A (zh) * | 2016-05-18 | 2018-03-16 | 納格維遜股份有限公司 | 用以保護密碼指數的方法及系統 |
-
2018
- 2018-04-13 GB GBGB1806112.7A patent/GB201806112D0/en not_active Ceased
-
2019
- 2019-03-25 US US17/047,318 patent/US20210150522A1/en active Pending
- 2019-03-25 CN CN201980025691.1A patent/CN111971930A/zh active Pending
- 2019-03-25 EP EP19721768.0A patent/EP3777023B1/en active Active
- 2019-03-25 JP JP2020554473A patent/JP7244537B2/ja active Active
- 2019-03-25 WO PCT/IB2019/052398 patent/WO2019197926A1/en active Application Filing
- 2019-03-25 SG SG11202008752TA patent/SG11202008752TA/en unknown
- 2019-03-25 KR KR1020207032761A patent/KR20200141502A/ko active Search and Examination
- 2019-03-25 EP EP23163310.8A patent/EP4236188A3/en active Pending
- 2019-04-02 TW TW108111719A patent/TWI818005B/zh active
-
2023
- 2023-03-09 JP JP2023036708A patent/JP7451797B2/ja active Active
-
2024
- 2024-03-06 JP JP2024033812A patent/JP2024073505A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI748627B (zh) * | 2020-09-01 | 2021-12-01 | 林庠序 | 物流資訊管理系統與相關的電腦程式產品 |
CN116757849A (zh) * | 2023-08-14 | 2023-09-15 | 中资科技(江苏)有限公司 | 基于区块链的资产管理系统及方法 |
CN116757849B (zh) * | 2023-08-14 | 2023-10-20 | 中资科技(江苏)有限公司 | 基于区块链的资产管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
SG11202008752TA (en) | 2020-10-29 |
TWI818005B (zh) | 2023-10-11 |
JP7451797B2 (ja) | 2024-03-18 |
EP4236188A3 (en) | 2023-09-13 |
JP2021520732A (ja) | 2021-08-19 |
JP2024073505A (ja) | 2024-05-29 |
WO2019197926A1 (en) | 2019-10-17 |
JP2023071977A (ja) | 2023-05-23 |
EP4236188A2 (en) | 2023-08-30 |
EP3777023B1 (en) | 2023-06-07 |
KR20200141502A (ko) | 2020-12-18 |
GB201806112D0 (en) | 2018-05-30 |
US20210150522A1 (en) | 2021-05-20 |
CN111971930A (zh) | 2020-11-20 |
EP3777023A1 (en) | 2021-02-17 |
JP7244537B2 (ja) | 2023-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI818005B (zh) | 適於提升即時離線區塊鏈交易安全性的電腦實施系統與方法 | |
US11930100B2 (en) | Fund conversion between blockchains | |
US11637709B2 (en) | Split-key wallet access between blockchains | |
CN108833081B (zh) | 一种基于区块链的设备组网认证方法 | |
US11212081B2 (en) | Method for signing a new block in a decentralized blockchain consensus network | |
CN108781161B (zh) | 用于控制和分发数字内容的区块链实现的方法 | |
CN110089069B (zh) | 用于信息保护的系统和方法 | |
CN111316615B (zh) | 使用调解器计算机系统确保计算机程序正确执行的系统和方法 | |
CN112437938A (zh) | 用于区块链地址和所有者验证的系统和方法 | |
CN107967557A (zh) | 基于区块链的可修改信誉评价系统及方法、电子支付系统 | |
JP7428704B2 (ja) | デジタルリソースへのアクセスを移転するための、コンピュータにより実施されるシステム及び方法 | |
JP2021506151A (ja) | ブラインド化された帰結選択のためのブロックチェーンで実装されるセキュリティー・システムおよび方法 | |
CN114341908A (zh) | 具有要约和接受的区块链交易的系统和方法 | |
Singh et al. | Performance comparison of executing fast transactions in bitcoin network using verifiable code execution | |
JP2023500260A (ja) | 代理相互台帳認証 | |
CN111539719B (zh) | 基于盲签名的可审计混币服务方法及系统模型 | |
CN111523892B (zh) | 一种区块链的跨链交易方法及装置 | |
Clack et al. | Distributed Ledger Privacy: Ring Signatures, M\" obius and CryptoNote | |
Prabhu et al. | Enhancing retail business and customer experience using blockchain approach | |
Rahman | Sancus: Cryptographic Audits for Virtual Currency Institutions | |
Aigbe et al. | An Immediate Real Time Detection and Prevention of Double-Spending in Electronic Cash Payment System | |
CN112633890A (zh) | 一种基于区块链的隐匿权益证明的验证方法及装置 | |
CN113486408A (zh) | 基于区块链的存单管理系统和方法 |