TWI788368B - 用於透過區塊鏈網路之時間放行加密之電腦施行系統及方法 - Google Patents

用於透過區塊鏈網路之時間放行加密之電腦施行系統及方法 Download PDF

Info

Publication number
TWI788368B
TWI788368B TW107120030A TW107120030A TWI788368B TW I788368 B TWI788368 B TW I788368B TW 107120030 A TW107120030 A TW 107120030A TW 107120030 A TW107120030 A TW 107120030A TW I788368 B TWI788368 B TW I788368B
Authority
TW
Taiwan
Prior art keywords
time
agent
client
blockchain network
computer
Prior art date
Application number
TW107120030A
Other languages
English (en)
Other versions
TW201905791A (zh
Inventor
湯瑪斯 特雷維森
Original Assignee
安地卡及巴布達商區塊鏈控股有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 安地卡及巴布達商區塊鏈控股有限公司 filed Critical 安地卡及巴布達商區塊鏈控股有限公司
Publication of TW201905791A publication Critical patent/TW201905791A/zh
Application granted granted Critical
Publication of TWI788368B publication Critical patent/TWI788368B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本發明描述一種用於在一區塊鏈網路上產生一公用加密金鑰且在一指定時間段之後使能夠存取一對應私用加密金鑰之電腦施行方法。該方法包含在該區塊鏈網路上之一代理者與一用戶端之間建構一數位時間鎖定合約,該代理者具有該區塊鏈網路上之一代理者位址及一關聯代理者簽名,且該用戶端具有該區塊鏈網路上之一用戶端位址及一關聯用戶端簽名。該數位時間鎖定合約指定:該代理者持有對應於該區塊鏈網路上之該公用加密金鑰之該私用加密金鑰,且接著在一指定時間窗內將該加密私用金鑰放行至該區塊鏈網路。該代理者提供一第一密碼編譯資產以用於持有該加密私用金鑰且接著在該指定時間窗內將該加密私用金鑰放行至該區塊鏈網路,當在該指定時間窗內將該加密私用金鑰放行至該區塊鏈網路時,該第一密碼編譯資產可轉移至該區塊鏈網路上之該代理者位址。該用戶端將一第二密碼編譯資產提供至該代理者以用於持有該加密私用金鑰且接著在該指定時間窗內將該加密私用金鑰放行至該區塊鏈網路,當在該指定時間窗內將該加密私用金鑰放行至該區塊鏈網路時,該第二密碼編譯資產可轉移至該區塊鏈網路上之該代理者位址。若在該時間窗開啟之前放行該加密私用金鑰,則該第二密碼編譯資產可轉移至該區塊鏈網路上之該用戶端位址。若在該時間窗關閉之前未放行該加密私用金鑰,則該第二密碼編譯資產可轉移至該區塊鏈網路上之該用戶端位址。可將該數位時間鎖定合約廣播至該區塊鏈網路以用於採擷至區塊鏈上。

Description

用於透過區塊鏈網路之時間放行加密之電腦施行系統及方法 發明領域
本說明書大體上係關於用於時間放行加密之數位時間鎖定合約。本發明特別適於但不限於與比特幣(Bitcoin)區塊鏈一起使用。
發明背景
在此文件中,我們使用「區塊鏈」一詞來包括所有形式的基於電腦之電子分散式總帳。此等總帳包括基於共識之區塊鏈及交易鏈技術、許可及未許可總帳、共用總帳及其變化。儘管其他區塊鏈施行方案已被提議及開發,區塊鏈技術之最廣泛已知的應用為比特幣總帳。雖然本文中可出於方便及說明之目的而提及比特幣,但應注意,本發明並不限於與比特幣區塊鏈一起使用,且替代區塊鏈施行方案及協定屬於本發明之範疇。
區塊鏈為基於共識之電子總帳,其被施行為由區塊構成的基於電腦之非集中式、分散式系統,該等區 塊又係由交易及其他資訊構成。在比特幣之狀況下,每一交易為編碼區塊鏈系統中之參與者之間的數位資產之控制轉移的資料結構,且包括至少一個輸入及至少一個輸出。每一區塊含有前一區塊之雜湊,使得區塊變得鏈接在一起以產生所有交易之永久不可變更的記錄,該等交易自開始以來已被寫入至區塊鏈。交易含有嵌入至其輸入及輸出中的被稱為指令碼之小程式,其指定該等交易之輸出可如何及由誰存取。在比特幣平台上,此等指令碼係使用基於堆疊之指令碼處理語言予以撰寫。
為了使交易被寫入至區塊鏈,交易必須被「驗證」。一些網路節點充當採擷者(miner)且利用無效交易被網路拒絕的方式進行工作以確保每一交易有效。舉例而言,安裝於節點上之軟體用戶端,對參考未花費的交易輸出(unspent transaction output;UTXO)之交易進行此驗證工作。可藉由執行驗證之鎖定及解除鎖定指令碼來進行驗證。若鎖定及解除鎖定指令碼之執行評估為真,且若滿足某些其他條件,則交易有效且交易可被寫入至區塊鏈。因此,為了使交易被寫入至區塊鏈,交易必須:i)由接收交易之節點驗證─若交易被驗證,則節點將交易中繼至網路中之其他節點;及ii)被添加至由採擷者建置之新區塊;以及iii)被採擷,亦即,被添加至過去交易之公用總帳。當將足夠數目個區塊添加至區塊鏈以使交易實務上不可逆時,交易被視為經確認。
儘管區塊鏈技術由於密碼貨幣施行方案之 使用而被最廣泛地已知,但數位企業家已開始探索使用比特幣所基於之密碼編譯安全性系統及可儲存於區塊鏈上之資料兩者以施行新系統。若區塊鏈可用於不限於密碼貨幣領域之自動化任務及程序,將會極為有利。此等解決方案將能夠利用區塊鏈之益處(例如事件之永久防篡改記錄、分散式處理等等),同時在其應用中為更通用的。
一個研究領域係使用區塊鏈以用於施行「智慧型合約(smart contract)」。此等智慧型合約為經設計以使機器可讀合約或協議之條款之執行自動化的電腦程式。不同於將以自然語言而撰寫之傳統合約,智慧型合約為包含可處理輸入以便產生結果之規則的機器可執行程式,該機器可執行程式接著可取決於彼等結果而致使進行動作。
另一區塊鏈相關關注領域係使用「代幣(tokens)」(或「彩色幣(Colored Coins)」)來經由區塊鏈表示及轉移真實世界實體。潛在敏感或秘密的項目可由不具有可辨別之含義或值的代幣表示。代幣因此充當允許自區塊鏈參考真實世界項目之識別符。
如先前所提及,本說明書大體上係關於用於時間放行加密之數位時間鎖定合約。時間放行加密之基本目標為,可在目前時間加密訊息,但其不能由任何人解密直至未來的某一指定時間。此實際上為「將訊息發送至未來」或將訊息置放於「時間膠囊(time capsule)」中之方式。存在此類型之功能性的許多可能應用,包括:
˙密封式投標拍賣
˙金鑰委付方案
˙無回條投票
˙機密資料之定時放行
˙針對政策敏感資訊之「控鈕型開關」
存在兩種一般途徑來施行時間放行加密系統,該等途徑被概述於關於1996年Rivest、Shamir及Wagner之觀念[Rivest 1996]的第一詳述論文中。此等途徑為:
1.使用「時間鎖定謎題」─需要費時計算工作來解密之資訊加密。
2.使用受信任代理者,其承諾不顯露秘密資訊,直至未來的指定時間。
此等途徑中之第一途徑不需要第三合作對象涉入,然而,存在兩個嚴重且不可避免的不利方面:第一,歸因於計算硬體及未知未來技術創新之效能差異,沒有可能以高精確度預測將花費多長時間來解決特定謎題。第二,進行解密之合作對象必須進行連續且成本高的計算工作達時間鎖定之整個持續時間。
第二途徑在放行時序上潛在地既準確又精確,且亦將不需要任何合作對象來進行昂貴的計算。然而,第二途徑確實依賴於必須受信任以在正確時間放行正確金鑰之第三合作對象代理者。對代理者之信任因而至關緊要─除非代理者可實際上被激勵以正確地進行操作。
下文概述與區塊鏈網路上之時間鎖定加密 相關的背景資訊。
「乙太鬧鐘(Ethereum Alarm Clock)」規定:在已提供保證金之後,使用者可在經排程時間段執行交易。參見例如URL:docs.ethereum-alarm-clock.com/en/latest/claiming.html#claim-deposit;及https://github.com/pipermerriam/ethereum-alarm-clock/commits/master/docs/claiming.rst。此允許在稍遲時刻且在特定時間窗期間排程事件。此外,執行者可贏回保證金,但在指定時間窗內未進行執行的情況下亦可喪失保證金。付款亦包括於服務中,該付款被支付給在經排程時間執行交易之帳戶。
「μchain:如何在無硬分叉的情況下忘記(μchain:How to Forget without Hard Forks)」(URL:https://eprint.iacr.org/2017/106.pdf)揭示時間鎖定加密之實例。在所揭示之使用狀況下,使用者加密機密論文。解密者可藉由將交易發送至智慧型合約而請求對解密金鑰之存取,該智慧型合約觸發一功能以檢查是否已經過期限t。若時間正確,則解密者獲取金鑰。據建議,系統可提供更進階的特徵,諸如使解密金鑰僅在某一時間窗內被請求的情況下才可得到。
「關於比特幣之安全多合作對象計算(Secure Multiparty Computations on Bitcoin)」(URL:https://eprint.iacr.org/2013/784.pdf)揭示使用比特幣貨幣之多合作對象彩券協定。論文展示:比特幣系統提供有吸引力的方式來建構定時承諾之版本,其中承諾者必須在 某一時間範圍內顯露其秘密,或支付罰金。參與者提供保證金,在遊戲歸因於參與者未以誠實的方式進行而過早地終止的狀況下會喪失保證金。
US 2016086175揭示一種用於存取財產之區塊鏈系統。房間具有私用/公用金鑰對,連同信用額度由希望租借房間達某一持續時間之使用者儲放至的位址;此資料包括於交易中。當時間正確時,鎖定開啟且允許使用者進入房間。使用者支付費用給房間提供者以能夠存取房間,該費用在該房間於所需時間期間不可得到的情況下被退款。
發明概要
本說明書描述一種能夠使一時間放行加密服務經由一無使用權限的公用區塊鏈被保全的系統及方法。該服務產生一公用金鑰,且接著在由該服務之用戶端指定之一未來時間放行對應私用金鑰。此服務之安全性及可靠性來源於一新穎智慧型合約系統,該新穎智慧型合約系統在一個實例中被施行為比特幣指令碼,其在正確時間激勵私用金鑰之放行,且懲罰該金鑰之早或遲放行或洩密。該服務經設計為無信任的:用戶端未被給予對私用金鑰之存取,然而,其僅向用於該服務之密碼編譯資產提供正確值將在合約中之指定時間顯露於區塊鏈上的保證。在一個實例中,此係運用零知識證明(zero-knowledge proof)與交易輸出之時間鎖定及雜湊鎖定的組合而達成。
根據本發明之一第一態樣,提供一種用於在一區塊鏈網路上產生一公用加密金鑰且在一指定時間段之後使能夠存取一對應私用加密金鑰之電腦施行方法,該方法包含以下步驟中之一者或兩者:在該區塊鏈網路上之一代理者與一用戶端之間建構一數位時間鎖定合約,該代理者具有該區塊鏈網路上之一代理者位址及一關聯代理者簽名,且該用戶端具有該區塊鏈網路上之一用戶端位址及一關聯用戶端簽名,該數位時間鎖定合約指定:(i)該代理者持有對應於該區塊鏈網路上之該公用加密金鑰之該私用加密金鑰,且接著在一指定時間窗內將該加密私用金鑰放行至該區塊鏈網路;(ii)該代理者提供一第一密碼編譯資產(例如一保證金)以用於持有該加密私用金鑰且接著在該指定時間窗內將該加密私用金鑰放行至該區塊鏈網路,當在該指定時間窗內將該加密私用金鑰放行至該區塊鏈網路時,該第一密碼編譯資產可轉移至該區塊鏈網路上之該代理者位址;(iii)該用戶端將一第二密碼編譯資產(例如一費用)提供至該代理者以用於持有該加密私用金鑰且接著在該指定時間窗內將該加密私用金鑰放行至該區塊鏈網路,當在該指定時間窗內將該加密私用金鑰放行至該區塊鏈網路時,該第二密碼編譯資產可轉移至該區塊鏈網路上之該代理者位址;(iv)若在該時間窗開啟之前放行該加密私用金鑰,則 該第二密碼編譯資產可轉移至該區塊鏈網路上之該用戶端位址(該用戶端或任何人可使用該私用金鑰以取得該代理者之該第一密碼編譯資產);(v)若在該時間窗關閉之前未放行該加密私用金鑰,則該第二密碼編譯資產可轉移至該區塊鏈網路上之該用戶端位址(該第一密碼編譯資產亦可轉移至該區塊鏈網路上之該用戶端位址);以及將該數位時間鎖定合約廣播至該區塊鏈網路以用於採擷至區塊鏈上。
建構該數位時間鎖定合約以及廣播該合約之步驟可由同一實體進行。然而,亦設想到,此等步驟可由不同實體進行。因此,前述定義指定由任何單一實體需要之步驟中之一者或兩者。
應注意,如本文中所描述之本發明並不僅僅限於提供區塊鏈施行時間鎖定合約作為進行服務之較佳方式。本發明之起點為,使用密碼編譯方法來施行時間鎖定合約係已知的。然而,此等先前技術系統具有技術問題。先前技術方法之技術問題為,先前技術方法不安全,或在其他方面,其難以使用且可為計算上密集的。此等問題本質上為技術問題。本發明提供既安全又易於利用且計算上高效的解決方案。亦即,本發明在提供一系統方面提供一種較佳電腦系統,該系統組合安全性及低計算額外負荷以用於以無信任的方式施行時間鎖定聯繫。提供安全性、易用性及計算效率之組合為本發明之技術貢獻。
該電腦施行方法可由該用戶端發送一請求而起始,該請求指示對設立一數位時間鎖定合約之一期望。該用戶端可指定該第二密碼編譯資產及該時間窗。該代理者接著可建構該加密公用金鑰及加密私用金鑰對。該代理者接著亦可建構該數位時間鎖定合約。該數位時間鎖定合約可在其已被採擷至該區塊鏈中之後變得在作用中,且該加密公用金鑰係公開可得到的以用於加密資料,該資料因而不能被解密直至該加密私用金鑰被放行。
該時間窗可被指定為該時間窗開啟時之一時間t及之後該時間窗關閉之一時間段△t。該數位時間鎖定合約可經建構使得以下轉移中之一者或多者係可能的:該第二密碼編譯資產在任何時間與該加密私用金鑰、自該加密私用金鑰可導出之一時間鎖定謎題值及該用戶端簽名一起可轉移至該用戶端位址;該第二密碼編譯資產在時間t之後與該加密私用金鑰及該代理者簽名一起可轉移至該代理者位址;該第二密碼編譯資產在時間t+△t之後與該用戶端簽名一起可轉移至該用戶端位址;該第一密碼編譯資產在任何時間藉由提供該加密私用金鑰及自該加密私用金鑰可導出之一時間鎖定謎題值而可轉移至任何位址;該第一密碼編譯資產在時間t之後與該加密私用金鑰及該代理者簽名一起可轉移至該代理者位址。
該第一密碼編譯資產在時間t+△t之後與該用戶端簽 名一起可轉移至該用戶端位址。
按照上文,一種用於在一區塊鏈網路上產生一公用加密金鑰且在一指定時間段之後使能夠存取一對應私用加密金鑰之電腦施行方法的另一定義包含以下步驟中之一者或兩者:在該區塊鏈網路上之一代理者與一用戶端之間建構一數位時間鎖定合約,該代理者具有該區塊鏈網路上之一代理者位址及一關聯代理者簽名,且該用戶端具有該區塊鏈網路上之一用戶端位址及一關聯用戶端簽名,該數位時間鎖定合約指定:來自該代理者之一第一密碼編譯資產(例如一保證金);來自該用戶端之一第二密碼編譯資產(例如一費用);一加密公用金鑰;以及一時間窗,在該時間窗期間,該代理者應放行對應於該加密公用金鑰之一加密私用金鑰,該時間窗係由該時間窗開啟時之一時間t及之後該時間窗關閉之一時間段△t界定,其中該數位時間鎖定合約經建構使得以下轉移係可能的:該第二密碼編譯資產在任何時間與該加密私用金鑰、自該加密私用金鑰可導出之一時間鎖定謎題值及該用戶端簽名一起可轉移至該用戶端位址;該第二密碼編譯資產在時間t之後與該加密私用金鑰 及該代理者簽名一起可轉移至該代理者位址;該第二密碼編譯資產在時間t+△t之後與該用戶端簽名一起可轉移至該用戶端位址;該第一密碼編譯資產在任何時間藉由提供該加密私用金鑰及自該加密私用金鑰可導出之一時間鎖定謎題值而可轉移至任何位址;該第一密碼編譯資產在時間t之後與該加密私用金鑰及該代理者簽名一起可轉移至該代理者位址;以及該第一密碼編譯資產在時間t+△t之後與該用戶端簽名一起可轉移至該用戶端位址,以及將該數位時間鎖定合約廣播至該區塊鏈網路以用於採擷至區塊鏈上。
該代理者可隨著多個用戶端進入多個數位時間鎖定合約中。該代理者可為持有該私用金鑰之一單一代理者。替代地,該代理者可包含各自持有該加密私用金鑰之一份額的多個代理者。在此狀況下,該加密私用金鑰之導出係由該等多個代理者所提供之私用金鑰份額之一臨限值實現。該第一密碼編譯資產及該第二密碼編譯資產接著在該等代理者之間被拆分。可藉由以下操作而使該服務之安全性及可靠性甚至更強:將核心協定延伸至各自具有個別合約之一獨立服務提供者群組,使用一無經銷商秘密共用(m-of-n)臨限值方案來分佈該私用金鑰之該時間放行,因此能容忍亞臨限值數目個功能異常的服務提供者。我們描述一種延伸零知識證明系統,其使得用戶端能夠證 明對應於共用公用金鑰之私用金鑰份額,將被放行以在支付任何費用之前解除鎖定合約。
該用戶端可基於該數位時間鎖定合約而將一服務提供至多個終端使用者。舉例而言,該服務可為以下各者中之一者或多者:一密封式投標拍賣;一金鑰委付方案;一投票方案;機密資料之一時間放行。
如本文中所描述之電腦施行方法可藉由提供一種包含電腦可執行指令之電腦可讀儲存媒體而施行,該等電腦可執行指令在執行時組配一處理器以進行如本文中所描述之方法。此外,可提供一種電子裝置,其包含:一介面裝置;一處理器,其耦接至該介面裝置;以及一記憶體,其耦接至該處理器,該記憶體在其上儲存有電腦可執行指令,該等電腦可執行指令在執行時組配該處理器以進行如本文中所描述之方法。
如本文中所描述之本發明相異於背景章節中所論述之先前技術,如下文所闡述。
乙太鬧鐘系統顯著地不同於本發明所描述之系統之處在於,其未揭示一代理者持有與一公用金鑰相關之一私用加密金鑰且接著在一指定時間窗內放行該私用金鑰,其中提供一數位合約以管理此系統以確保該代理者在正確時間放行該私用加密金鑰。此外,先前技術系統未使能夠使用一公用金鑰達期間與該使用相關聯之資料被加密的一指定時間量且接著放行一私用金鑰以使能夠解密與該使用相關聯之該資料。
「μchain:如何在無硬分叉的情況下忘記」中所描述之系統亦似乎顯著地不同於本發明所描述之系統之處在於,其未揭示一代理者持有與一公用金鑰相關之一私用加密金鑰且接著在一指定時間窗內放行該私用金鑰,其中提供一數位合約以管理此系統以確保該代理者在正確時間放行該私用加密金鑰。先前技術系統並不顯得使能夠使用一公用金鑰達期間與該使用相關聯之資料被加密的一指定時間量且接著放行一私用金鑰以使能夠解密與該使用相關聯之該資料,其中該私用金鑰之該放行服從確保其在正確時間之放行的規定。更確切而言,在μchain文件中,解密金鑰係由系統之使用者產生,而非由代理者產生。亦即,使用者維持控制解密金鑰之放行,且因此系統依賴於信任使用者。使用者可因此容易破壞安全性。
相似地,「關於比特幣之安全多合作對象計算」及US 2016086175亦描述顯著地不同於本發明所描述之系統的系統,不同之處在於,其未揭示一代理者持有與一公用金鑰相關之一私用加密金鑰且接著在一指定時間窗內放行該私用金鑰,其中提供一數位合約以管理此系統以確保該代理者在正確時間放行該私用加密金鑰。
EprivK,EPrvK,EPrvK1,EPrvK2,EPrvK3,EPrvK4,EPrvKn:(隨機)加密私用金鑰,私用金鑰
EPubK:(對應)公用金鑰,加密公用金鑰
tlpEPrivK,H(tlpEPrivK):值
H(EPrivK):對應私用金鑰
ZKP:零知識證法(zero-knowledge proofs)
σ:受信任設立
π12:證明
Tx0,Tx01,Tx02,Tx03,Tx04,Tx0n:交易
T,T+△T:時間
F:費用,支付
D:保證金,支付
A1,A2,A3,A4,An:代理者
本發明之此等及其他態樣將自本文中所描述之實施例顯而易見且參考該等實施例予以闡明。現在將參考隨附圖式而僅作為實例來描述本發明之實施例,在圖式中: 圖1展示用於在用戶端與代理者之間建立通訊通道之後在用戶端與代理者之間設立數位時間鎖定合約之初始化協定的流程圖;圖2展示用於在用戶端與代理者之間建構數位時間鎖定合約之交易指令碼之實例;圖3展示數位時間鎖定合約之示意性時刻表及取決於時間段之輸出之目的地;且圖4展示多代理者協定之示意圖。
較佳實施例之詳細說明
比特幣區塊鏈之出現已引起一種系統,在該系統處,存在關於當前時間之分散式全球共識(如在區塊標頭中所記錄)及合約(指令碼)之無信任的自動執行兩者。此等特徵為可用於實現安全且可靠的時間放行加密服務的獨特特徵。在本說明書中,我們描述一種用於時間放行加密服務之系統,該系統使用基於比特幣指令碼之合約與不依賴於對服務提供者之完全信任之零知識證法的組合。另外,我們展示可如何使用無經銷商臨限值方案來延伸協定以針對單一金鑰放行而使用多個代理者,從而透過非集中化而增大服務之彈性及安全性。
某些組配使用知識之零知識證法(zero-knowledge proofs;ZKP)的概念以使協定為完全無信任的。存在可用作方案之部分的兩種技術:非互動式證法;以及分割及選擇。
非互動式零知識(non-interactive zero-knowledge;NIZK)證法對於本申請案而言係較佳的,此係由於該等證明最小化所涉入之合作對象之間所需要的通訊,然而,該等證明在施行上可為複雜且計算上昂貴的。形式上,可在無互動的情況下將NIZK證明直接自證明者提供至校驗者,然而,在此狀況下其需要受信任設立(σ)。在本申請案中,校驗者可進行受信任設立且接著將此受信任設立發送至證明者,證明者接著計算證明(π)且將此證明發送回至校驗者。
在第一應用中,我們需要雜湊(提供至校驗者)之預影像等於對應於橢圓曲線公用金鑰(亦提供至校驗者)之私用金鑰的零知識證明。此特定NIZK之數學結構被詳細地描述於[Fuchsbauer 2008]中。此NIZK證明可運用zk-SNARKS[Lundkvist 2017]予以施行。
在使用延伸系統之第二應用中,高效NIZK證明之建構具挑戰性。在此狀況下,可使用被稱作分割及選擇的簡化互動式類型之ZKP[Crepeau 2011]。在此途徑中,證明者向校驗者提供對不同陳述式之大量承諾。校驗者接著隨機地選擇此等承諾之子集,且請求證明者發送知識以證明該等承諾。當此陳述式子集被展示為真時,校驗者知曉剩餘陳述式亦為真的機率。
某些組配使用比特幣交易指令碼之若干標準特徵以使能夠進行輸出之時間鎖定以及雜湊鎖定之使用。
比特幣輸出可經建構使得需要解除鎖定指令碼來提供雜湊至指定值(例如使用HASH256作業碼)之秘密。亦即,為了耗費輸出,輸入必須提供雜湊至輸出中指定之另一值的值[Maxwell 2016]。
輸出亦可經建構使得輸出係不可耗費的,直至未來的某一預指定點。此係使用CHECKLOCKTIMEVERIFY(CLTV)作業碼而達成,該作業碼可用以防止耗費交易,直至達到指定unix紀元時間(unix epoch time)或指定區塊高度[Todd 2014]。
為了使智慧型合約結構安全,使用簡短時間鎖定謎題之新穎應用以防止「迅速攻擊(race attack)」。可使用連續平方時間鎖定謎題[Rivest 1996],其需要可忽略的計算工作來設立(鎖定輸出)。對於不擁有設立參數之第二合作對象,必須對輸入進行設定數目個串列計算(花費某一時間量)以解除鎖定謎題且顯露輸出值。
在經由受信任代理者之時間放行加密方案之一個組配中,代理者產生公用-私用金鑰對(使用公用金鑰密碼系統)且放行公用金鑰以供用戶端使用來加密資訊,其接著將資訊發送至接收者。接著,在同意時間(如由代理者所判定),代理者將私用金鑰放行至接收者以解密資訊。在此狀況下,代理者需要被完全信任以進行此動作,且使私用金鑰保持安全。
Rabin及Thorpe[Rabin 2006]提議一種系統以藉由在稍微受信任代理群組之間分佈金鑰產生而增強 此組配之安全性及容錯性,使得即使合作對象中之一些不誠實或被破解,合作對象中之任一者仍皆不能獲悉完整的私用金鑰,直至臨限值個代理同意到了正確時間來放行私用金鑰。
在此系統中,網路連接代理群組(n)使用無經銷商臨限值(m-of-n)秘密共用方案而協作以產生共用私用金鑰及對應共用公用金鑰,該共用公用金鑰接著被放行至用戶端(其接著可加密訊息)。僅當臨限值(m)個代理者同意已達到時間來放行金鑰時,才可重新建構完整的私用金鑰且將其發送至接收者。
Shamir之秘密共用方案(Shamir's secret sharing scheme;SSSS)[Shamir 1979]係基於t次多項式可擬合於t+1個點之任何集合的概念。t次多項式f(x)運用共用私用金鑰被形成為常數項(a 0=f(0)),且剩餘係數被隨機地拾取。曲線上之n個點接著被給予至每一參與者。若m=t+1或更多參與者接著組合其點,則存在足夠資訊以使t階多項式擬合於此等點,且a 0被顯露為秘密。此方案使能夠運用任何臨限值而使單一私用金鑰在任意大數目個合作對象之間共用。
標準SSSS可經延伸以移除受信任經銷商之要求以產生多項式且分配秘密份額(其為單一失敗點且因此並非無信任的)。在此無經銷商SSSS中,每一參與者P j 產生其自己的隨機t次多項式f i (x),且接著將f i (j)安全地發送 至每一其他參與者P j 。每一P i 接著對所有接收點求和f 1(i)+f 2(i)+…+f n (i)以獲得其秘密份額s i =f(i),其為共用多項式f(x)上之P i 點。
在已產生秘密份額之後,如下計算(運用橢圓曲線產生器G)對應於共用私用金鑰(其不為參與者所知曉)之公用金鑰:
參與者P i 將其公用金鑰份額計算為b i s i ×G,其中i=1,...,t+1,其中
Figure 107120030-A0305-02-0021-1
接著廣播此等公用金鑰份額,且接著將共用公用金鑰A簡單地計算為t+1個份額之總和:
Figure 107120030-A0305-02-0021-2
單一代理者協定
此章節描述針對提供時間放行加密服務之單一代理者之狀況的組配。協定係在不失去一般性的情況下關於比特幣交易及其原生指令碼處理語言(指令碼)予以描述,但適用於具有公用區塊鏈及等效指令碼處理功能性之任何密碼貨幣系統。
協定直接涉及兩個合作對象:
˙用戶端指定所需時間鎖定加密服務之參數,且為該時間鎖定加密服務支付費用(F)。用戶端控制位址CAddr。
˙代理者進行時間鎖定加密服務且在成功完成時接收費用。代理者提供保證金(D),其在服務未正確地進行的情況下喪失。代理者控制位址AAddr。
圖1展示用於在用戶端與代理者之間建立通訊通道之後在用戶端與代理者之間設立數位時間鎖定合約之初始化協定的流程圖。設立繼續如下:
1.用戶端在公眾論壇中張貼針對時間鎖定服務之請求。該請求由以下各者組成:用戶端位址(CAddr)、其想要支付之費用(F)、之後其要求金鑰被放行之時間(T),以及所需潛時(△t)。
2.希望進行服務之代理者聯繫用戶端且建立安全通訊通道。用戶端發送UTXO之交易ID以用於費用。
3.代理者接著安全地產生隨機加密私用金鑰(EPrivK)及對應公用金鑰(EPubK)。
4.代理者接著計算值tlpEPrivK─其為自EPrivK輸出之時間鎖定謎題─從而需要大約1小時之串列計算以自作為輸入之EPrivK進行計算(典型的比特幣區塊鏈交易確認時間)。
5.代理者接著將EPubK、對應私用金鑰H(EPrivK)及H(tlpEPrivK)之SHA-256雜湊發送至用戶端。
6.用戶端進行設立之NIZK證明:σ←Setup(1256)且將結果發送至代理者。
7.代理者在時間鎖定謎題為約1小時的情況下建構H(EPrivK)之預影像為對應於EPubK之ECC私用金鑰的證明π1Prove,H(EPrivK),EPubK)以及H(tlpEPrivK)之預影像為H(EPrivK)之預影像的證明π2Prove,H(tlpEPrivK),H(EPrivK)),且將該等證明發送至用戶端。
8.用戶端校驗兩個證法:Verify,H(EPrivK),π1)=true,以及Verify,H(tlpEPrivK),π2)=true
9.代理者接著使用請求參數、加密私用金鑰(EPrivK)之雜湊及tlpEPrivK之雜湊來產生將充當時間鎖定加密智慧型合約之交易(Tx0)。
Tx0具有2個輸入:用戶端費用(F)UTXO及代理保證金(D)UTXO。
Tx0具有3個輸出:針對費用金額之輸出1、針對保證金金額之輸出2,及針對加密公用金鑰中繼資料之輸出3
輸出1
在任何時間與EPrivK、tlpEPrivK及用戶端簽名一起至用戶端位址之支付(F)。
在時間T之後與EPrivK及代理者簽名一起至代理者位址之支付(F)。
在時間T+△T之後與用戶端簽名一起至用戶端位址之支付(F)。
輸出2
在任何時間與EPrivK及tlpEPrivK一起至任何位址之支付(D)。
在時間T之後與EPrivK及代理者簽名一起至代理者位址之支付(D)。
在時間T+△T之後與用戶端簽名一起至用戶端位址之支付(D)。
輸出3
含有加密公用金鑰(EPubK)作為中繼資料之OP RETURN。
圖2展示完整的交易結構。應注意,在圖2中出於清楚起見,<…PubKey>取代OP_DUP OP_HASH160<pubKeyHash>OP_EQUALVERIFY,其中pubKeyHash等效於位址。輸出1及2可被施行為P2SH(支付至指令碼雜湊)scriptPubKey,其中對應兌換指令碼被發送至相關合作對象及/或被公開。
10.代理者對交易簽名且將交易發送至用戶端。
11.用戶端對交易簽名且將交易廣播至比特幣網路。
12.一旦交易被採擷至區塊鏈中,時間鎖定合約就在作用中。EPubK現在係公開可得到的以用於加密 任何資料,該資料因而不能被解密直至EPrivK被放行。
圖3展示數位時間鎖定合約之示意性時刻表及取決於時間段之輸出之目的地。合約經設計以確保代理者在時間間隔T至T+△T內放行加密私用金鑰(EPrivK),以便宣告費用及保證金兩者。為了進行此操作,代理者產生兩個交易Tx1(耗費Tx0輸出1)及Tx2(耗費Tx0輸出2)。用以解除鎖定該等輸出之scriptSig皆含有<EPrivK><AAddr Pubkey><AAddr Sig>。Tx1及Tx2接著將F及D兩者支付至由代理者選擇之位址。一旦此等交易被採擷至區塊鏈中,EPrivK就接著被公開放行,且可由任何人使用。
為了妨礙代理者在時間t之前將EPrivK顯露至任何人(可能用賄賂交換),合約經設計使得在時間T之前獲悉EPrivK之任何人可藉由在無簽名的情況下提供雜湊預影像(及對應時間鎖定謎題tlpEPrivK─參見以下迅速攻擊保護)而耗費輸出2,且接著宣告完全代理保證金─此合作對象被稱作洩密者。一旦發生此情形,用戶端就接著亦獲悉EPrivK且可在時間T之前耗費具有scriptSig<EPrivK><CAddr Pubkey><CAddr Sig>之輸出1─從而回收用戶端費用。
此情形提供用於代理者之強激勵結構以使EPrivK保持安全。若任何人(包括駭客)在時間T之前探索EPrivK,則其可匿名地宣告用戶端之保證金。若代理者在時間T之前將保證金宣告為洩密者(或允許此情形),則代理者將喪失費用(其被退款給用戶端)。因此,費用及保證金 之值的選擇影響系統之安全性,且應出於針對加密請求之原因而為適當的。
合約亦經設計以確保代理者在時間T之後但在時間T+△T(其中△T為所需潛時)之前放行加密金鑰。在時間T+△T之後,若EPrivK尚未被放行,則用戶端可解除鎖定輸出1及輸出2兩者(回收費用且亦取得代理者之保證金作為補償)。在此狀況下,用戶端產生皆具有scriptSig<CAddr Pubkey><CAddr Sig>且將F及D兩者支付至由用戶端選擇之位址的兩個交易TxR1(耗費Tx0輸出1)及TxR2(耗費輸出2)。
比特幣指令碼處理語言之本質意謂:儘管有可能防止輸出被耗費直至某一時間點(運用OP_CHECKLOCKTIMEVERIFY),但沒有可能在一時間點之後防止輸出被耗費(其中其可在該時間之前被耗費)。因此,一旦scriptSig變成有效,其就無限期地維持有效。此呈現針對輸出2之鎖定指令碼的問題,其中任何人可藉由提供EPrivK─在任何時間─甚至在時間T之後─來耗費該輸出,其中僅需要H(EPrivK)之預影像。
此將使能夠進行針對代理者之「迅速雙重耗費攻擊」:一旦代理者已將Tx1及Tx2正確地廣播至比特幣網路(在時間T之後),任何採擷者就可自Tx1及Tx2中之任一者提取EPrivK,同時Tx1及Tx2處於記憶體池(mempool)中且在區塊中包括其自己的任何人可耗費交易(或任何人可使用費用替換)以首先耗費輸出2且竊取保證 金。
此處經施行以防止此攻擊之解決方案為針對在任何時間連同EPrivK一起提供tlpEPrivK(自EPrivK輸出之時間鎖定謎題)以解除鎖定輸出2之額外要求。若某人(洩密者)在時間T之前佔有EPrivK,則其可運用1小時之計算私密地判定tlpEPrivK,且接著宣告保證金(亦即,解除鎖定輸出2)。若其在EPrivK嵌入於Tx1及Tx2中從而等待在記憶體池中採擷時第一次(在時間T之後)獲得EPrivK,截止該時間其已導出tlpEPrivK(1小時之計算),則耗費輸出2之代理者交易(Tx2)將已在區塊鏈中被確認。迅速攻擊防止之結果為,有可能使代理者在時間T之前不到1小時放行EPrivK,而無喪失保證金之風險,此係由於tlpEPrivK將花費一小時來導出。此將合約之「時間解析度」或準確度限制為1小時。
多代理者協定
上述智慧型聯繫協定可延伸至具有臨限值私用金鑰之多個代理者的狀況。在此狀況下,每一代理者產生其自己的Tx0版本,具有其自己的保證金且具有單獨的費用。唯一差異為,私用金鑰(EPrivK)雜湊及公用金鑰(EPubK)分別被替換為私用金鑰份額之雜湊及共用公用金鑰之雜湊。每一合約獨立地執行,且金鑰份額在時間T之後顯露於區塊鏈上。由於需要金鑰份額之臨限值以重新建構完整的私用金鑰,故系統能容忍功能異常的亞臨限值數目個代理者─從而移除單一失敗點(單一代理者)以用於更 關鍵且重要的應用。針對此延伸協定所需要之主要技術差異涉及共用金鑰之無經銷商產生,及多合作對象零知識證明系統,該系統使代理群組能夠共同地證明其私用金鑰份額之雜湊之預影像對應於所公開之共用公用金鑰。
多代理者協定接著涉及以下參與者:
˙用戶端,其指定所需時間鎖定加密服務之參數且為其支付總費用(F)(在n個UTXO之間被拆分)。用戶端控制位址CAddr。
˙n個獨立代理者共同地進行服務,且各自在其正確地進行協定的情況下接收一分率(F/n)的費用。每一代理者提供保證金(D),保證金(D)在協定未正確地進行的情況下喪失。每一代理者(i=1,2,…,n)控制位址AAddri
圖4展示多代理者協定之示意圖。設立繼續如下:
1.用戶端在公眾論壇中張貼針對時間鎖定服務之請求。該請求由以下各者組成:用戶端位址(CAddr)、其想要支付之費用(F)、之後其要求金鑰被放行之時間(T)、所需潛時(△t)、代理者之所需數目(n),以及所需臨限值(m)。
2.希望進行服務之n個代理者聯繫用戶端且建立安全通訊通道。用戶端發送UTXO之交易ID以用於費用。
3.用戶端接著將每一代理者之聯繫細節廣播至群組,且每一代理者與群組中之每一其他代理者建立 安全通訊(經由公用金鑰密碼系統或Diffie-Hellman金鑰交換)。
4.玩家接著共同地執行無經銷商秘密共用協定,在臨限值m的情況下產生共用秘密:EPrivK(加密私用金鑰)。每一玩家(i=1,…,n)接著擁有金鑰份額:sEPrivKi。(EPrivK並非為任何合作對象所知曉)。
5.n個玩家之群組接著針對每一私用金鑰份額計算其公用金鑰份額,且將此等份額(sEPubKi)廣播至群組之其餘者。每一玩家接著可獨立地計算對應共用公用金鑰:EPubK。
6.每一代理者(i=1,…,n)接著計算值tlpsEPrivKi─其為自sEPrivKi輸出之時間鎖定謎題─從而需要大約1小時之串列計算以自作為輸入之sEPrivKi進行計算。
7.每一代理者(i=1,…,n)代理者接著將EPubK、其對應私用金鑰份額H(sEPrivKi)及H(tlpsEPrivKi)之SHA-256雜湊發送至用戶端。
8.代理群組接著協作以將零知識證法提供至用戶端,用戶端之私用金鑰份額之雜湊的預影像可在臨限值m的情況下用以重新建構對應於EpubK之私用金鑰。針對此情形之NIZK證明之開發為巨大的任務且可能昂貴得驚人,然而,可相對高效地使用「分割及選擇」方法。在此狀況下,n個代理者之群組重複步驟4至7許多次(N=100至1000)。用戶端接著隨機地選擇一個共用公用金鑰, 且請求群組顯露針對剩餘N-1個公用金鑰之私用金鑰份額。用戶端確認:私用金鑰份額兩者可重新建構對應於每一共用公用金鑰之私用金鑰,且私用金鑰份額為所發送雜湊之預影像。此接著確認:存在小於(N-1)/N的代理者為不誠實的機會。被發現提供無效金鑰份額或雜湊之任何代理者可自協定被消除,且被替換(且程序重複)。隨機選擇之共用公用金鑰(及對應私用金鑰份額雜湊)接著用於針對n個交易之協定中。
9.每一代理者(i=1,…,n)接著使用請求參數、加密私用金鑰(EPrivK)之雜湊及tlpEPrivK之雜湊來產生與圖1確切地相同之結構的交易(Tx0i)。
每一Tx0i具有2個輸入:用戶端費用份額(F/n)UTXO及代理保證金(D)UTXO。
每一Tx0i具有3個輸出:針對(F/n)之輸出1、針對D之輸出2,及針對EPubK中繼資料之輸出3
Tx0i輸出1
在任何時間與sEPrivKi、tlpEPrivK及用戶端簽名一起至用戶端位址之支付(F/n)。
在時間T之後與sEPrivKi及代理者簽名一起至代理者位址之支付(F/n)。
在時間T+△T之後與用戶端簽名一起至用戶端位址之支付(F/n)。
Tx0i輸出2
在任何時間與sEPrivKi及tlpsEPrivKi一起 至任何位址之支付(D)。
在時間T之後與sEPrivKi及代理者簽名一起至代理者位址之支付(D)。
在時間T+△T之後與用戶端簽名一起至用戶端位址之支付(D)。
Tx0i輸出3
含有加密公用金鑰(EPubK)作為中繼資料之OP RETURN。
10.每一代理對其對應交易簽名且將其發送至用戶端。
11.用戶端對n個交易中之每一者簽名且將其廣播至比特幣網路。
12.一旦交易被採擷至區塊鏈中,EPubK現在就係公開可得到的以用於加密任何資料,該資料因而不能被解密直至由代理者放行之臨限值數目(m)個金鑰份額sEPrivKi顯露EPrivK。
每一個別合約(Tx0i)以與先前所描述之單一代理合約相同的方式執行。每一代理者在其金鑰份額在時間T之前洩密的情況下冒失去其保證金之風險。代理者各自經個別地激勵以在時間T之後放行其金鑰份額以宣告付還其保證金及其費用份額。每一單獨合約之執行彼此完全地獨立。此系統將因而能容忍亞臨限值數目(n-m)個參與在不損害服務之安全性或可靠性的情況下未能在正確時間放行其金鑰份額或使金鑰份額早洩密。對於在時間T+△T 之前未放行其金鑰份額之每一代理者,用戶端可宣告付還其費用份額及功能異常的代理保證金。
應注意,上文所提及之實施例說明而非限制本發明,且熟習此項技術者將能夠設計許多替代實施例而不脫離如由所附申請專利範圍所界定的本發明之範圍。在申請專利範圍中,置放於圓括號中之任何參考符號不應被認為限制申請專利範圍。詞語「包含」及其類似者並不排除除了任何請求項或本說明書中整體列出之元件或步驟以外之元件或步驟的存在。在本說明書中,「包含」意謂「包括或由……組成」。元件之單數參考並不排除此等元件之複數參考,且反之亦然。本發明可藉助於包含若干相異元件之硬體且藉助於經合適程式化之電腦而施行。在枚舉若干構件之裝置請求項中,此等構件中之若干者可由硬體之同一項目體現。某些措施敍述於相互不同的附屬請求項中的純粹事實並不指示此等措施之組合不能被有利地使用。
參考文獻
[Abliz 2009]: Abliz, Mehmud, and Taieb Znati. "A guided tour puzzle for denial of service prevention." Computer Security Applications Conference, 2009. ACSAC'09. Annual. IEEE, 2009.
[Fuchsbauer 2008]: Fuchsbauer, Georg, and David Pointcheval. "Encrypting Proofs on Pairings and Its Application to Anonymity for Signatures." IACR Cryptology ePrint Archive 2008 (2008): 528.
[Lundkvist 2017]: https://media.consensys.net/introduction-to-zksnarks-with-examples-3283b554fc3b [Crepeau 2011]: Crépeau, Claude. "Cut-and-choose protocol." Encyclopedia of Cryptography and Security. Springer US, 2011. 290-291.
[Maxwell 2016]: https://bitcoincore.org/en/2016/02/26/zero-knowledge-contingent-payments-announcement/
[Todd 2014]: https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
EPrivK:(隨機)加密私用金鑰,私用金鑰
EPubK:(對應)公用金鑰,加密公用金鑰
tlpEPrivK,H(tlpEPrivK):值
H(EPrivK):對應私用金鑰
ZKP:零知識證法(zero-knowledge proofs)
σ:受信任設立
π12:證明

Claims (23)

  1. 一種用以在區塊鏈網路上產生公用加密金鑰且在指定時間段之後致能存取對應私用加密金鑰之電腦施行方法,該方法包含:在該區塊鏈網路上之一代理者與一用戶端之間建構一數位時間鎖定合約,該代理者具有該區塊鏈網路上之一代理者位址及一關聯代理者簽名,且該用戶端具有該區塊鏈網路上之一用戶端位址及一關聯用戶端簽名,該數位時間鎖定合約指定下列內容:(i)該代理者持有對應於該區塊鏈網路上之該公用加密金鑰之該私用加密金鑰,且接著在一指定時間窗內將該私用加密金鑰放行至該區塊鏈網路;(ii)該代理者提供一第一密碼編譯資產用以持有該私用加密金鑰,且接著在該指定時間窗內將該私用加密金鑰放行至該區塊鏈網路,當在該指定時間窗內將該私用加密金鑰放行至該區塊鏈網路時,該第一密碼編譯資產可轉移至該區塊鏈網路上之該代理者位址;(iii)該用戶端將一第二密碼編譯資產提供至該代理者以用於持有該私用加密金鑰,且接著在該指定時間窗內將該私用加密金鑰放行至該區塊鏈網路,當在該指定時間窗內將該私用加密金鑰放行至該區塊鏈網路時,該第二密碼編譯資產可轉移至該區塊鏈網路上之該代理者位址; (iv)若在該時間窗開啟之前放行該私用加密金鑰,則該第二密碼編譯資產可轉移至該區塊鏈網路上之該用戶端位址;(v)若在該時間窗關閉之前未放行該私用加密金鑰,則該第二密碼編譯資產可轉移至該區塊鏈網路上之該用戶端位址。
  2. 如請求項1之電腦施行方法,其中在步驟(iv)中,該用戶端或任何人可使用該私用加密金鑰以取得該代理者之該第一密碼編譯資產。
  3. 如請求項1或2之電腦施行方法,其中在步驟(v)中,該第一密碼編譯資產亦可轉移至該區塊鏈網路上之該用戶端位址。
  4. 如請求項1之電腦施行方法,其中該電腦施行方法係由該用戶端發送一請求而起始,該請求指出要設立一數位時間鎖定合約之一期望。
  5. 如請求項4之電腦施行方法,其中該用戶端指定該第二密碼編譯資產及該時間窗。
  6. 如請求項1之電腦施行方法,其中該代理者建構該公用加密金鑰及私用加密金鑰對。
  7. 如請求項1之電腦施行方法,其中該代理者建構該數位時間鎖定合約。
  8. 如請求項1之電腦施行方法,其中該數位時間鎖定合約在其已被採擷至該區塊鏈 中之後變成在作用中,且該公用加密金鑰係公開可得到的以用於加密資料,該資料於加密之後因而不能被解密直至該私用加密金鑰被放行。
  9. 如請求項1之電腦施行方法,其中該時間窗被指定為一時間t及一時間段△t,其中該時間窗在該時間t開啟,且該時間窗在該時間段△t之後關閉。
  10. 如請求項9之電腦施行方法,其中該第二密碼編譯資產可以在任何時間與該私用加密金鑰、可自該私用加密金鑰導出之一時間鎖定謎題值、及該用戶端簽名一起轉移至該用戶端位址。
  11. 如請求項9或10之電腦施行方法,其中該第二密碼編譯資產可在時間t之後與該私用加密金鑰及該代理者簽名一起轉移至該代理者位址。
  12. 如請求項9或10之電腦施行方法,其中該第二密碼編譯資產可在時間t+△t之後與該用戶端簽名一起轉移至該用戶端位址。
  13. 如請求項9或10之電腦施行方法,其中該第一密碼編譯資產可以在任何時間藉由提供該私用加密金鑰及可自該私用加密金鑰導出之一時間鎖定謎題值而轉移至任何位址。
  14. 如請求項9或10之電腦施行方法,其中該第一密碼編譯資產可在時間t之後與該私用加密金鑰及該代理者簽名一起轉移至該代理者位址。
  15. 如請求項9或10之電腦施行方法,其中該第一密碼編譯資產可在時間t+△t之後與該用戶端簽名一起轉移至該用戶端位址。
  16. 如請求項1之電腦施行方法,其中該代理者隨多個用戶端進入多個該等數位時間鎖定合約中。
  17. 如請求項1之電腦施行方法,其中該代理者為持有該私用加密金鑰之一單一代理者。
  18. 如請求項1之電腦施行方法,其中該代理者包含:各自持有該私用加密金鑰之一份額的多個代理者,該私用加密金鑰之導出係由該等多個代理者所提供之私用金鑰份額之一臨界值實現,且該第一密碼編譯資產及該第二密碼編譯資產在該等代理者之間被拆分。
  19. 如請求項1之電腦施行方法,其中該用戶端基於該數位時間鎖定合約來將一服務提供給多個終端使用者。
  20. 如請求項19之電腦施行方法,其中該服務為以下項目中之一或多者:一密封式投標拍賣;一金鑰委付方案;一投票方案;機密資料之一時間放行。
  21. 如請求項1之電腦施行方法,更包含:將 該數位時間鎖定合約廣播至該區塊鏈網路用以採擷至區塊鏈上。
  22. 一種包含電腦可執行指令之電腦可讀儲存媒體,該等電腦可執行指令在執行時組配一處理器來進行如請求項1至21中任一項之方法。
  23. 一種電子裝置,其包含:一介面裝置;一處理器,其耦接至該介面裝置;一記憶體,其耦接至該處理器,該記憶體儲存有電腦可執行指令,該等電腦可執行指令在執行時組配該處理器來進行如請求項1至21中任一項之方法。
TW107120030A 2017-06-19 2018-06-11 用於透過區塊鏈網路之時間放行加密之電腦施行系統及方法 TWI788368B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
??1709760.1 2017-06-19
GB1709760.1 2017-06-19
GBGB1709760.1A GB201709760D0 (en) 2017-06-19 2017-06-19 Computer-Implemented system and method

Publications (2)

Publication Number Publication Date
TW201905791A TW201905791A (zh) 2019-02-01
TWI788368B true TWI788368B (zh) 2023-01-01

Family

ID=59462448

Family Applications (2)

Application Number Title Priority Date Filing Date
TW111145452A TWI810118B (zh) 2017-06-19 2018-06-11 用於透過區塊鏈網路之時間放行加密之電腦施行系統及方法
TW107120030A TWI788368B (zh) 2017-06-19 2018-06-11 用於透過區塊鏈網路之時間放行加密之電腦施行系統及方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW111145452A TWI810118B (zh) 2017-06-19 2018-06-11 用於透過區塊鏈網路之時間放行加密之電腦施行系統及方法

Country Status (7)

Country Link
US (2) US11496300B2 (zh)
EP (2) EP3643000B1 (zh)
JP (3) JP7116090B2 (zh)
CN (2) CN110771094B (zh)
GB (1) GB201709760D0 (zh)
TW (2) TWI810118B (zh)
WO (1) WO2018234922A1 (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11456875B2 (en) 2017-05-22 2022-09-27 Nchain Licensing Ag Trustless deterministic state machine
GB201709760D0 (en) * 2017-06-19 2017-08-02 Nchain Holdings Ltd Computer-Implemented system and method
CN107862215B (zh) 2017-09-29 2020-10-16 创新先进技术有限公司 一种数据存储方法、数据查询方法及装置
GB201721021D0 (en) * 2017-12-15 2018-01-31 Nchain Holdings Ltd Computer-implemented methods and systems
CN109241016B (zh) * 2018-08-14 2020-07-07 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
US11048689B2 (en) * 2018-11-08 2021-06-29 International Business Machines Corporation Consensus transaction scheduler
SG11202104773QA (en) * 2018-12-10 2021-06-29 Algorand Inc Using virtual blockchain protocols to implement a fair electronic exchange
US11924524B2 (en) * 2018-12-20 2024-03-05 Rovi Guides, Inc. Metadata distribution and management via transactional blockchain technology
GB201820947D0 (en) * 2018-12-21 2019-02-06 Nchain Holdings Ltd Computer-implemented system and method
CN110011959B (zh) * 2019-01-07 2021-09-10 诚镌科技有限公司 数据存储方法、数据查询方法和系统
US20200226677A1 (en) * 2019-01-11 2020-07-16 Bank Of America Corporation Syndicated loan distributed ledger pass-through processing
CN109768866B (zh) * 2019-03-05 2021-03-30 同济大学 基于椭圆曲线数字签名的区块链智能合约不可拆分签名方法
SG11202110991UA (en) * 2019-04-02 2021-10-28 Data Boiler Tech Llc Transformation and comparison of trade data to musical piece representation and metrical trees
CN109981690B (zh) * 2019-04-29 2021-06-11 河南大学 一种基于区块链智能合约的防篡改定时数据保密传输方法
CN110166220B (zh) * 2019-05-06 2022-05-06 山东公链信息科技有限公司 一种根据分区键的散列值进行切分的分片方法
GB201907396D0 (en) 2019-05-24 2019-07-10 Nchain Holdings Ltd Hash function attacks
CN110266687B (zh) * 2019-06-21 2021-08-17 杭州云象网络技术有限公司 一种采用区块链技术的物联网安全代理数据共享模块设计方法
US11424916B2 (en) * 2019-07-19 2022-08-23 Fujitsu Limited Selectively private distributed computation for blockchain
US11271734B2 (en) 2019-08-19 2022-03-08 Red Hat, Inc. Proof-of-work key wrapping for verifying device capabilities
US11424920B2 (en) 2019-08-19 2022-08-23 Red Hat, Inc. Proof-of-work key wrapping for cryptographically controlling data access
US11411938B2 (en) 2019-08-19 2022-08-09 Red Hat, Inc. Proof-of-work key wrapping with integrated key fragments
US11303437B2 (en) 2019-08-19 2022-04-12 Red Hat, Inc. Proof-of-work key wrapping with key thresholding
US11411728B2 (en) 2019-08-19 2022-08-09 Red Hat, Inc. Proof-of-work key wrapping with individual key fragments
US11316839B2 (en) 2019-08-19 2022-04-26 Red Hat, Inc. Proof-of-work key wrapping for temporally restricting data access
US11436352B2 (en) 2019-08-19 2022-09-06 Red Hat, Inc. Proof-of-work key wrapping for restricting data execution based on device capabilities
US11232441B2 (en) * 2019-10-30 2022-01-25 Accenture Global Solutions Limited Cryptologic coordinated symmetric conditional key release
US11323269B2 (en) * 2020-01-20 2022-05-03 International Business Machines Corporation Preserving privacy of linked cross-network transactions
US11424911B2 (en) * 2020-03-03 2022-08-23 International Business Machines Corporation Storage and communication environment for cryptographic tags
US11669812B2 (en) * 2020-06-05 2023-06-06 Serge M Krasnyansky Contingent payments for virtual currencies
KR102537774B1 (ko) * 2020-07-30 2023-05-30 다퍼 랩스 인크. 기밀 지식의 특화된 증명을 제공하는 시스템들 및 방법들
CN111901108B (zh) * 2020-08-03 2023-02-10 东莞盟大集团有限公司 基于区块链的业务处理方法、装置和计算机设备
CN114078007A (zh) * 2020-08-19 2022-02-22 富泰华工业(深圳)有限公司 基于区块链的交易方法、装置及可读存储介质
CN112650734B (zh) * 2020-12-29 2023-03-24 杭州趣链科技有限公司 一种区块修复方法及相关装置
CN112950338B (zh) * 2021-02-26 2024-08-06 浙江工商大学 基于区块链的密封竞价域名拍卖方法
CN112804260B (zh) * 2021-03-17 2023-04-07 中国工商银行股份有限公司 基于区块链的信息传递方法和节点
US11836714B2 (en) 2021-07-07 2023-12-05 Ava Labs, Inc. Secure and trustworthy bridge for transferring assets across networks with different data architecture
US11496327B1 (en) 2021-07-07 2022-11-08 Ava Labs, Inc. Secure and trustworthy bridge for transferring assets across different networks
US20230208648A1 (en) * 2021-12-29 2023-06-29 International Business Machines Corporation Htlc with proof of elapsed time
CN114785516B (zh) * 2022-03-31 2024-04-05 浙江数秦科技有限公司 基于区块链的限时加解密系统
GB2622357A (en) * 2022-09-08 2024-03-20 Nchain Licensing Ag Determining shared secrets using a blockchain
CN115204856B (zh) * 2022-09-13 2023-05-09 北京邮电大学 区块链跨链方法及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160080149A1 (en) * 2014-09-17 2016-03-17 Microsoft Corporation Secure Key Management for Roaming Protected Content
US20160292680A1 (en) * 2015-04-05 2016-10-06 Digital Asset Holdings Digital asset intermediary electronic settlement platform
TW201705016A (zh) * 2015-07-28 2017-02-01 雷蛇(亞太)私人有限公司 用於獎勵產生分散式數位資源場之伺服器及控制用於獎勵產生分散式數位資源場之伺服器之方法
US20170132621A1 (en) * 2015-11-06 2017-05-11 SWFL, Inc., d/b/a "Filament" Systems and methods for autonomous device transacting
WO2017090041A1 (en) * 2015-11-24 2017-06-01 Ben-Ari Adi A system and method for blockchain smart contract data privacy

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006129340A (ja) * 2004-11-01 2006-05-18 Oki Electric Ind Co Ltd 秘密情報管理装置、秘密情報管理システム、及び秘密情報管理方法
US7933408B2 (en) * 2007-06-15 2011-04-26 Microsoft Corporation Asynchronous download
US20120166792A1 (en) * 2010-12-22 2012-06-28 Tat Kin Tan Efficient nemo security with ibe
US9398018B2 (en) * 2014-03-18 2016-07-19 nTrust Technology Solutions Corp. Virtual currency system
JP6813477B2 (ja) * 2014-05-09 2021-01-13 ヴェリタセウム アイエヌシー. 信頼度が低い、または信頼度が皆無の当事者間での価値転送を円滑化する装置、システム、または方法
US20160086175A1 (en) 2014-09-22 2016-03-24 Qualcomm Incorporated Peer-to-peer transaction system
CN105469510B (zh) * 2014-10-12 2018-01-09 吴思进 可预告延时支付或找回的加密货币钱包
CN107408174B (zh) * 2015-01-30 2021-10-01 E·马伊姆 用于管理安全实体的连网承诺的系统和方法
US10592985B2 (en) 2015-03-02 2020-03-17 Dell Products L.P. Systems and methods for a commodity contracts market using a secure distributed transaction ledger
EP3320424B1 (en) 2015-07-09 2021-10-20 Sensoriant, Inc. Method and system for creating adaptive user interfaces using user provided and controlled data
US20170048209A1 (en) * 2015-07-14 2017-02-16 Fmr Llc Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20170046689A1 (en) * 2015-07-14 2017-02-16 Fmr Llc Crypto Voting and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US11488147B2 (en) * 2015-07-14 2022-11-01 Fmr Llc Computationally efficient transfer processing and auditing apparatuses, methods and systems
US10504080B2 (en) 2015-09-14 2019-12-10 OX Labs Inc. Cryptographically managingtelecommunications settlement
WO2017079652A1 (en) * 2015-11-05 2017-05-11 Pulsifer Allen Cryptographic transactions system
WO2017132136A1 (en) * 2016-01-26 2017-08-03 Google Inc. Secure connections for low-power devices
US10108812B2 (en) 2016-01-28 2018-10-23 Nasdaq, Inc. Systems and methods for securing and disseminating time sensitive information using a blockchain
US9794074B2 (en) * 2016-02-04 2017-10-17 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computing systems
WO2017145019A1 (en) * 2016-02-23 2017-08-31 nChain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
CN106682528B (zh) 2016-12-31 2019-06-11 杭州复杂美科技有限公司 区块链加密检索方法
CN106850654B (zh) * 2017-02-23 2020-08-21 布比(北京)网络技术有限公司 一种分布式信息的授权访问方法及系统
GB201709760D0 (en) * 2017-06-19 2017-08-02 Nchain Holdings Ltd Computer-Implemented system and method
US11151549B2 (en) * 2018-01-29 2021-10-19 KRNC Inc. Cryptographic and fiat currency mechanics
US10373129B1 (en) * 2018-03-05 2019-08-06 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US11481761B2 (en) * 2018-06-03 2022-10-25 VVOW Company Limited Peer-to-peer cryptocurrency and crypto asset trading platform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160080149A1 (en) * 2014-09-17 2016-03-17 Microsoft Corporation Secure Key Management for Roaming Protected Content
US20160292680A1 (en) * 2015-04-05 2016-10-06 Digital Asset Holdings Digital asset intermediary electronic settlement platform
TW201705016A (zh) * 2015-07-28 2017-02-01 雷蛇(亞太)私人有限公司 用於獎勵產生分散式數位資源場之伺服器及控制用於獎勵產生分散式數位資源場之伺服器之方法
US20170132621A1 (en) * 2015-11-06 2017-05-11 SWFL, Inc., d/b/a "Filament" Systems and methods for autonomous device transacting
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
TWI810118B (zh) 2023-07-21
TW201905791A (zh) 2019-02-01
EP3643000A1 (en) 2020-04-29
JP2024050855A (ja) 2024-04-10
US11496300B2 (en) 2022-11-08
JP7436580B2 (ja) 2024-02-21
JP2022141947A (ja) 2022-09-29
EP3643000B1 (en) 2022-06-22
CN118018175A (zh) 2024-05-10
JP7116090B2 (ja) 2022-08-09
CN110771094A (zh) 2020-02-07
US20230171098A1 (en) 2023-06-01
EP4087183A1 (en) 2022-11-09
CN110771094B (zh) 2024-03-01
US20200136815A1 (en) 2020-04-30
GB201709760D0 (en) 2017-08-02
WO2018234922A1 (en) 2018-12-27
TW202314615A (zh) 2023-04-01
JP2020524425A (ja) 2020-08-13

Similar Documents

Publication Publication Date Title
TWI788368B (zh) 用於透過區塊鏈網路之時間放行加密之電腦施行系統及方法
Zaghloul et al. Bitcoin and blockchain: Security and privacy
Chen et al. Blockchain-based dynamic provable data possession for smart cities
Li et al. EduRSS: A blockchain-based educational records secure storage and sharing scheme
Wu et al. A comprehensive survey of blockchain: From theory to IoT applications and beyond
Bentov et al. Tesseract: Real-time cryptocurrency exchange using trusted hardware
US20240054437A1 (en) Blockchain-Based Authentication And Authorization
Choudhuri et al. Fairness in an unfair world: Fair multiparty computation from public bulletin boards
Ruffing et al. P2P mixing and unlinkable bitcoin transactions
JP6894979B2 (ja) 分散型ブロックチェーンコンセンサスネットワークにおいて新しいブロックに署名する方法
Woo et al. Authentication for distributed systems
KR20200139223A (ko) 디지털 자산에의 액세스를 전달하기 위한 컴퓨터 구현된 방법 및 시스템
CN112541757A (zh) 使区块链系统的第一实体能向其它实体证明的方法
JP2020528691A (ja) 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法
WO2008127446A2 (en) A method and apparatus for time-lapse cryptography
Kokoris-Kogias et al. Verifiable management of private data under byzantine failures
Guo et al. Labrador: towards fair and auditable data sharing in cloud computing with long-term privacy
Li et al. Cryptoeconomics: Economic Mechanisms Behind Blockchains
CN110620668B (zh) 基于区块链的抗量子计算公钥池更新方法和系统
Alper et al. Optimally efficient multi-party fair exchange and fair secure multi-party computation
Tan et al. A universal decentralized authentication and authorization protocol based on blockchain
Mavrogiannopoulos et al. Security implications in Kerberos by the introduction of smart cards
EhabZaghloul et al. Bitcoin and blockchain: Security and privacy
Pei et al. Assured delegation on data storage and computation via blockchain system
Ciampi et al. Revision of extended core protocols