TWI765019B - 區塊鏈上之快速分散式共識 - Google Patents
區塊鏈上之快速分散式共識 Download PDFInfo
- Publication number
- TWI765019B TWI765019B TW107112040A TW107112040A TWI765019B TW I765019 B TWI765019 B TW I765019B TW 107112040 A TW107112040 A TW 107112040A TW 107112040 A TW107112040 A TW 107112040A TW I765019 B TWI765019 B TW I765019B
- Authority
- TW
- Taiwan
- Prior art keywords
- blockchain
- proposer
- conference
- nodes
- group
- 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/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
-
- 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
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or 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/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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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/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/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/083—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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
-
- 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
Abstract
本發明可提供一種電腦實施方法。該電腦實施方法包括:i)藉由一節點經由將符記傳送至一公用群組位址來加入一群組以變成一群組成員,該群組與一臨限簽名方案相關聯,對於該方案,該節點控制一私用密鑰份額,符記之該傳送係在一工作證明區塊鏈網路上進行;及ii)藉由該節點回應於由一挑戰者進行的對一提議者之工作產品之一挑戰而與該群組之其他節點協作以達成關於該工作產品之正確性的一分散式共識,該挑戰回應由一請求者作出之一請求。
Description
本發明大體上係關於分散式系統,且更特定而言,係關於用於在改良分散式系統中之區塊鏈交易中之可靠性中應用的分散式共識的方法及系統。本發明尤其適合但不限於用於改良計算交換中之計算的可靠性。
在此文件中,吾人使用術語「區塊鏈」來包括所有形式的基於電腦之電子分散式總帳。此等總帳包括但不限於區塊鏈及交易鏈技術、許可及未許可總帳、共用總帳及其變化。區塊鏈技術之最廣泛已知之應用係比特幣總帳,但其他區塊鏈實施也經提議並開發出。雖然可出於便利及說明之目的而在本文中提及比特幣,但應注意,本發明不限於與比特幣區塊鏈一起使用,且替代區塊鏈實施及協定處於本發明之範圍內。
區塊鏈係基於共識之電子總帳,其實施為由區塊組成的基於電腦的去中心化分散式系統,區塊又由交易及其他資訊組成。在比特幣之狀況下,每一交易係編碼區塊鏈系統中之參與者之間的符記之控制之傳送的資料結構,且包括至少一個輸入及至少一個輸出。每一區塊含有先前區塊之散列,使得區塊變得鏈接在一起以創建自一開始就已寫入至區塊鏈之所有交易的永久性不可變更之記錄。交易含有嵌入至其輸入及輸出中的被 稱為指令碼的小型程式,其指定可如何及由誰存取交易之輸出。在比特幣平台上,此等指令碼係使用基於堆疊之指令碼處理語言來撰寫。
為了使交易被寫入至區塊鏈,交易必須經「驗證」。一些網路節點充當挖掘者(miner)且執行工作以確保每一交易有效,其中無效交易被網路拒絕。舉例而言,安裝於節點上之軟體用戶端對參考及未用交易輸出(UTXO)之交易執行此驗證工作。驗證可藉由執行其鎖定及解除鎖定指令碼來執行。若鎖定及解除鎖定指令碼之執行評估為真且若滿足某些其他條件(諸如,包括足夠挖掘費用),則交易有效且可將交易寫入至區塊鏈。因此,為了使交易寫入至區塊鏈,該交易必須i)藉由在交易經驗證之情況下接收該交易的第一節點驗證,該節點將該交易中繼傳輸至網路中之其他節點;及ii)新增至藉由挖掘者建置之新區塊;及iii)經挖掘,亦即,新增至過去交易之公用總帳。當足夠數目個區塊經新增至區塊鏈以使交易實際上不可反轉時,該交易被視為經確認。
儘管區塊鏈技術由於密碼貨幣實施之使用而為最廣泛已知的,但數位企業家已開始探索比特幣所基於之密碼編譯安全系統及可儲存於區塊鏈上以實施新系統之資料兩者的使用。區塊鏈技術在區塊鏈可用於不限於密碼貨幣範圍之自動任務及處理程序時將非常有利。此等解決方案將能夠利用區塊鏈之益處(例如,事件之永久性防篡改記錄、分散式處理等),同時在其應用中變得更通用。
在一些此類解決方案中,可達成分散式共識。舉例而言,不同於許多傳統的支付系統,區塊鏈基本上不可變且常常可係匿名的。區塊鏈技術之不可變及基本上匿名的性質在防護使用者對抗惡意行為時呈現數個技術挑戰。舉例而言,因為建置於包括交易之區塊上的數個區塊使交易實際上不可反轉,所以退款常常不可用且需要新技術系統以便維持交易之 完整性。由於區塊鏈技術之去中心化無信任性質,此類挑戰亦係困難的。亦即,不存在中心方以確保交易之完整性,且交易完整性替代地經由技術手段來達成。因此,將需要諸如經由使用數位共識改良交易中之可靠性的區塊鏈技術。
可靠性挑戰可存在於有時被稱作計算市集之計算交換中。計算市集係允許昂貴計算之離鏈執行的服務。此類交換允許網路中之節點將演算法之執行外包至另一遠端節點。接著將演算法之結果報告回至外包演算法之操作的節點。接收結果之節點可能不知曉該結果是否可靠。為使接收節點判定答覆是否正確,其將需要執行演算法本身,其將違背外包目的。因此,將需要改良計算交換中之結果之可靠性的區塊鏈技術。
因此,需要提供在此等態樣中之一或多者中改良區塊鏈技術的改良方法及裝置。
因此,根據本發明,提供一種如隨附申請專利範圍所定義之方法。
因此,根據本發明,可提供一種電腦實施方法。該電腦實施方法包括:i)藉由一節點經由將符記傳送至一公用群組位址來加入一群組以變成一群組成員,該群組與一臨限簽名方案相關聯,對於該方案,該節點控制一私用密鑰份額,符記之該傳送係在一工作證明區塊鏈網路上進行;及ii)藉由該節點回應於由一挑戰者進行的對一提議者之工作產品之一挑戰而與該群組之其他節點協作以達成關於該工作產品之正確性的一分散式共識,該挑戰回應於由一請求者作出之一請求,其中達成該分散式共識包括:a)部署一幽靈鏈以達成解決該挑戰之該分散式共識,該幽靈鏈係一權益證明 區塊鏈,其中該幽靈鏈之挖掘者係該群組之成員;及b)在解決該挑戰後即終止該幽靈鏈。
便利地,以此方式,可在區塊鏈網路之節點間達成分散式共識。相較於使用工作證明區塊鏈達到共識,使用幽靈鏈達成此分散式共識可更高效。
該幽靈鏈可係臨時區塊鏈。相比於傳統區塊鏈,幽靈鏈可經組態以在執行或滿足一或多個準則、目標或指定目的後即終止、消失或期滿。亦即,幽靈鏈可係單目的區塊鏈,一旦該區塊連之目的已達成,其便停止存在。幽靈鏈可包括可被稱作創始區塊(genesis block)之第一區塊,可僅在幽靈鏈出於其目的、準則或目標而部署或創建時創建該第一區塊。
在一些實施中,提供一種電腦實施方法。該方法包括:i)藉由一節點經由將數位資產存放至一公用群組位址來加入一群組以變成一群組成員,該群組與一臨限簽名方案相關聯,對於該方案,該節點控制一私用密鑰份額,數位資產之該存放係在一工作證明區塊鏈網路上進行;及ii)藉由該節點與該群組之其他節點協作以進行以下操作:a)回應於由一請求者作出之一請求而偵測由一挑戰者進行的對一提議者之工作產品的一挑戰;及b)部署一幽靈鏈以解決該挑戰,該幽靈鏈係一權益證明區塊鏈,其中該幽靈鏈之挖掘者係該群組之成員;及c)在解決該挑戰後即終止該幽靈鏈。
該電腦實施方法亦可包括:與該群組之其他節點協作以建構可向該群組進行支付之一交易(亦即,將符記傳送至該群組),其中一賞金及提議者存款作為輸入且該賞金及該提議者存款以及一挑戰者存款作為輸出;及將該交易提供至該挑戰者以用於新增該挑戰者存款作為輸入。該賞金、該提議者存款及該挑戰者存款係符記。可在建構該交易之前將該賞金及該提議者存款置於該群組之排他性控制下。舉例而言,當在由該提議者 承諾該請求之一解決方案之後的一時間段內偵測到該挑戰時,可將該賞金及該提議者存款置於該群組之排他性控制下。
在一些實施中,該電腦實施方法亦可包括與該群組之其他節點協作以在該挑戰成功時進行以下操作:i)至少將該挑戰者存款傳送至該挑戰者;及ii)與所挖掘區塊之絕對數目成比例地將該提議者存款分配至該幽靈鏈之挖掘者。
在一些實施中,該電腦實施方法亦可包括在判定該提議者之該工作產品有效的情況下進行以下操作:i)將該賞金及該提議者存款傳送至該提議者;及ii)與所挖掘區塊之絕對數目成比例地將該挑戰者存款分配至該幽靈鏈之挖掘者。
在該電腦實施方法之一些實施中,該傳送可藉由以下操作執行:藉由該節點使用該私用密鑰份額將一部分簽名新增至一交易,直至使用在臨限簽名方案下所需之至少臨限數目個私用密鑰份額創建一有效簽名,其他節點基於各別私用密鑰份額而將部分簽名新增至該交易。
在該電腦實施方法之一些實施中,部署該幽靈鏈以解決該挑戰可包括自該提議者及該挑戰者接收證據及基於所接收證據解決該挑戰。該所接收證據可包括一最終解決方案或一中間結果中之一者或兩者。
在該電腦實施方法之一些實施中,部署該幽靈鏈以解決該挑戰可包括在該幽靈鏈上執行與該請求相關聯之一任務以判定一正確的解決方案。
在該電腦實施方法之一些實施中,部署該幽靈鏈以解決該挑戰可包括在該幽靈鏈上執行該任務之一部分以判定該提議者或該挑戰者中之一者在與該請求相關聯之一任務的一中間步驟中已出錯。
在該電腦實施方法之一些實施中,終止該幽靈鏈可包括將關 於該分散式共識(亦即,該挑戰之解決)之資訊傳送至該工作證明區塊鏈網路。
在該電腦實施方法之一些實施中,終止該幽靈鏈可包括建構一終端區塊,其包括用於在一最終交易之一簽名期間創建之區塊的到期挖掘費用之一記錄。
根據本發明,可提供一種電子裝置。該電子裝置包括一介面裝置、耦接至該介面裝置之一處理器,及耦接至該處理器之一記憶體。該記憶體具有儲存於其上之電腦可執行指令,該等指令在經執行時組態該處理器以執行本文中所描述之方法。
根據本發明,可提供一種電腦可讀儲存媒體。該電腦可讀儲存媒體包括電腦可執行指令,該等指令在經執行時組態該處理器以執行本文中所描述之方法。
100‧‧‧區塊鏈網路
102‧‧‧節點
104‧‧‧挖掘者
110‧‧‧會議
120‧‧‧幽靈鏈網路
125‧‧‧挖掘者
200‧‧‧電子裝置
210‧‧‧處理器
220‧‧‧記憶體
230‧‧‧介面裝置
240‧‧‧匯流排
250‧‧‧TEE
300‧‧‧起始會議之方法
302~308‧‧‧步驟
400‧‧‧加入會議之方法
402~410‧‧‧步驟
500‧‧‧沒收符記之方法
502~504‧‧‧步驟
600‧‧‧更新私用密鑰份額分配之實例方法
602~606‧‧‧步驟
700‧‧‧更新私用密鑰份額分配之另一實例方法
702~704‧‧‧步驟
800‧‧‧傳回此傳送之實例方法
802~806‧‧‧步驟
902‧‧‧區塊鏈
904‧‧‧幽靈鏈
1000‧‧‧請求者方法
1002~1008‧‧‧步驟
1100‧‧‧提議者方法
1102~1110‧‧‧步驟
1200‧‧‧挑戰者方法
1202~1208‧‧‧步驟
1300‧‧‧仲裁者方法
1302~1310‧‧‧步驟
圖1說明實例區塊鏈網路之方塊圖。
圖2說明可充當區塊鏈網路中之節點的實例電子裝置之方塊圖。
圖3係起始會議之實例方法的流程圖。
圖4係加入會議之實例方法的流程圖。
圖5係沒收符記之實例方法的流程圖。
圖6係重新分配密鑰份額之實例方法的流程圖。
圖7係重新分配密鑰份額之另一實例方法的流程圖。
圖8係反轉先前傳送的符記至會議之實例方法之流程圖。
圖9係實例區塊鏈及實例幽靈鏈之方塊圖。
圖10係用於請求任務完成之實例請求者方法的流程圖。
圖11係用於提議任務之解決方案的實例提議者方法之流程圖。
圖12係用於挑戰任務之解決方案的實例挑戰者方法之流程圖。
圖13係用於回應於對任務之解決方案之挑戰而在協作節點間達成共識的實例方法之流程圖。
區塊鏈網路
首先將參看圖1,其以方塊圖形式說明與區塊鏈相關聯的實例區塊鏈網路100。區塊鏈網路100可係公用區塊鏈網路,其係任何人可在無邀請或無其他成員同意之情況下加入的同級間開放式成員資格網路。運行區塊鏈網路100操作所依據的區塊鏈協定之執行個體的分散式電子裝置可參與區塊鏈網路100。此類分散式電子裝置可被稱作節點102。舉例而言,區塊鏈協定可係比特幣協定。
運行區塊鏈協定且形成區塊鏈網路100之節點102的電子裝置可屬於各種類型,包括例如電腦,諸如桌上型電腦、膝上型電腦、平板電腦;伺服器;行動裝置,諸如智慧型手機;可穿戴式電腦,諸如智慧型手錶;或其他電子裝置。
區塊鏈網路100之節點102使用可包括有線及無線通信技術之合適通信技術彼此耦接。此通信遵守與區塊鏈相關聯之協定。舉例而言,在區塊鏈係比特幣區塊鏈之情況下,可使用比特幣協定。
節點102維持區塊鏈上之所有交易之全域總帳。因此,全域總帳係分散式總帳。每一節點102可儲存全域總帳之完整複本或部分複本。在由工作證明(proof-of-work)保證安全之區塊鏈的狀況下,由節點102進行 的影響全域總帳之交易係藉由其他節點102檢驗,使得維持全域總帳之有效性。當區塊鏈係基於工作證明之區塊鏈時,區塊亦藉由檢查隨區塊提交之工作證明來檢驗。
節點102中之至少一些作為區塊鏈網路100之挖掘者104而操作。圖1之區塊鏈網路100係工作證明區塊鏈,其中挖掘者104執行昂貴計算以便促進區塊鏈上之交易。舉例而言,工作證明區塊鏈可能需要挖掘者解決密碼編譯問題。在比特幣中,挖掘者104找到臨時亂數,使得區塊標頭藉由SHA-256散列至小於由當前難度定義之值的數。工作證明演算法所需之散列能力意謂在已在交易上挖掘某數目個區塊之後,該交易被視為實際上不可反轉。解決密碼編譯問題之挖掘者104創建用於區塊鏈之新區塊且將新區塊廣播至其他節點102。其他節點102檢驗挖掘者104實際上已解決密碼編譯問題,且因此在接受應將區塊新增至區塊鏈之前已表明足夠工作證明。該區塊係藉由節點102之共識來新增至區塊鏈(亦即,至分散式全域總帳)。
由挖掘者104創建之區塊包括已由節點102廣播至區塊鏈之交易。舉例而言,該區塊可包括自與節點102中之一者相關聯的位址至與節點102中之另一者相關聯的位址的交易。以此方式,該區塊充當自一個位址至另一位址之交易的記錄。請求交易包括於區塊中之一方藉由使用對應於其公用密鑰之私用密鑰對請求進行簽名來證明其經授權以起始傳送(例如,在比特幣之狀況下,花費比特幣)。可僅在該請求經有效簽名之情況下將傳送新增至區塊。
在比特幣之狀況下,存在公用密鑰與位址之間的一對一對應。亦即,每一公用密鑰係與單一位址相關聯。因此,本文中對將符記傳送至公用密鑰及自公用密鑰傳送符記(例如,支付至公用密鑰中)以及將符記 傳送至與彼公用密鑰相關聯之位址或自與彼公用密鑰相關聯之位址傳送符記的任何提及係指共同操作。
節點102中之一些可能不作為挖掘者而操作,且可替代地作為驗證節點而參與。交易驗證可涉及檢查簽名,確認對有效UTXO之參考等。
圖1之實例包括五個節點102,其中之三個作為挖掘者104而參與。實務上,節點102或挖掘者104之數目可不同。在許多區塊鏈網路中,節點102及挖掘者104之數目可遠大於圖1中所說明之數目。
如將在下文中解釋,各種節點102可協作以形成在本文中將被稱作會議110之群組。在所說明之實例中,三個節點102經展示為參加會議110。然而,會議110成員之實際數目可大得多。
會議110係任何節點102在向與會議110相關聯之集區提交足夠權益後即可加入之開放式成員資格群組。舉例而言,節點可經由將一或多個符記或數位資產傳送至與會議110相關聯之帳戶來加入會議。加入會議之節點102可係區塊鏈網路100之任何節點,包括挖掘節點及非挖掘節點兩者。在會議之至少一些應用中,充當會議成員之節點監視區塊鏈,意義在於其下載(但未必保留)整個區塊鏈。下文將更詳細地論述用於加入、離開及參與會議110之技術。
如下文將更詳細地描述,會議之成員可形成臨時幽靈鏈網路120(ghost chain)。幽靈鏈第一區塊鏈網路創建及維持將被稱作幽靈鏈之分散式總帳。可回應於對特定所聲稱解決方案之挑戰的出現而在交易期間部署幽靈鏈網路120,以檢驗可靠性或達成關於彼聲稱解決方案是否正確之分散式共識。舉例而言,可部署幽靈鏈網路120以檢驗處理器產生工作產品之完整性,該工作產品可係由區塊鏈網路100之節點102提交的工作產品。 舉例而言,可部署幽靈鏈網路120以達成關於在區塊鏈網路100上產生之結果之正確性的分散式共識。可存在關於結果之正確性的爭議,其中一個節點之處理器產生工作產品的可靠性已受到另一節點的挑戰。
幽靈鏈係臨時區塊鏈。不同於傳統的區塊鏈,幽靈鏈經組態以一旦其已達成其目的後便終止。亦即,幽靈鏈係單目的區塊鏈,一旦其目的已達成,便停止存在。幽靈鏈包括可被稱作創始區塊(genesis block)之第一區塊,該第一區塊僅在幽靈鏈出於其目的(例如,為檢驗處理器產生工作產品之完整性)而部署時創建。
與區塊鏈網路相關聯之區塊鏈係工作證明區塊鏈,而幽靈鏈係權益證明(proof-of-stake)區塊鏈。基於權益證明之幽靈鏈網路120提供用於達成共識之替代機制。在權益證明幽靈鏈中,區塊鏈由權益證明而非工作證明保證安全。在權益證明下,幽靈鏈之挖掘者125傳送符記,該等符記之持有量係藉助於工作證明區塊鏈之數位總帳表示為安全性,且選定作為挖掘區塊之節點的機率與所傳送符記之量成比例。權益證明區塊鏈系統可用以避免在工作證明區塊鏈上挖掘所需之計算費用及能量。另外,相比工作證明證明,權益證明區塊鏈可允許更高頻率及更規則的區塊創建。
複數個節點102充當幽靈鏈網路120之挖掘者125。幽靈鏈網路120之挖掘者125中之至少一些可能不充當區塊鏈網路100之挖掘者104。由於幽靈鏈網路120係權益證明區塊鏈網路100,因此挖掘者125傳送符記以便作為挖掘者被包括。更特定而言,幽靈鏈之挖掘者125形成聯合的驗證者集合以便在幽靈鏈網路120上挖掘。此等挖掘者125亦係與區塊鏈網路100相關聯之會議110的成員。亦即,作為工作證明區塊鏈網路100及幽靈鏈網路120兩者之部分的節點102充當幽靈鏈網路120之挖掘者125且充當在工作證明區塊鏈網路100上建立之會議110的成員。此等挖掘 者125根據下文所描述之方法加入會議110且參加會議110。在工作證明區塊鏈中進行其符記至會議集區中之傳送。亦即,會議成員在工作證明第一區塊鏈網路100上將其「權益」傳送至集區以變成會議成員,此藉由形成聯合的驗證者集合來允許其充當幽靈鏈上之挖掘者125。會議110係任何節點在向與會議110相關聯之集區提交足夠權益後即可加入之開放式成員資格群組。
作為節點操作之電子裝置
圖2係說明可充當同級間區塊鏈網路100(圖1)中之節點102(圖1)的實例電子裝置200之組件的方塊圖。實例電子裝置200亦可被稱作處理裝置。電子裝置可採取各種形式,包括例如桌上型電腦、膝上型電腦、平板電腦、伺服器、諸如智慧型手機之行動裝置、諸如智慧型手錶之可穿戴式電腦或另一類型之形式。
電子裝置200包括處理器210、記憶體220及介面裝置230。此等組件可直接地或間接地耦接至彼此,且可彼此通信。舉例而言,處理器210、記憶體220及介面裝置230可經由匯流排240彼此通信。記憶體220儲存包含用於執行本文中所描述之功能之機器可讀指令及資料的電腦軟體程式。舉例而言,記憶體可包括處理器可執行指令,該等指令在由處理器210執行時使電子裝置執行本文中所描述之方法。處理器可執行指令可包括在由處理器210執行時使電子裝置實施與區塊鏈網路100(圖1)相關聯之協定的指令。舉例而言,該等指令可包括用於實施比特幣協定之指令。
記憶體220可儲存區塊鏈網路100(圖1)或其部分之全域總帳。亦即,記憶體220可儲存區塊鏈之所有區塊,或該等區塊之一部分,諸如最近區塊或一些區塊中之資訊之一部分。另外,在幽靈鏈經部署時,記憶體220可儲存幽靈鏈或其部分。
雖然記憶體220在圖2中藉由單一區塊說明,但實務上,電子裝置200可包括多個記憶體組件。記憶體組件可屬於各種類型,包括例如RAM、HDD、SSD、隨身碟等。不同類型之記憶體可適合於不同目的。另外,雖然記憶體220說明為與處理器210分離,但處理器210可包括嵌入式記憶體。
如圖2中所說明,處理器210可包括諸如TEE 250(受信任執行環境)之安全區域。TEE 250係隔離之執行環境,其向電子裝置200提供額外安全性,諸如隔離之執行、受信任應用程式之完整性及資產機密性。TEE 250提供執行空間,其保證就機密性及完整性而言,載入TEE 250內之電腦指令及資料受到保護。TEE 250可用以保護諸如密鑰之重要資源的完整性及機密性。TEE 250至少部分地在硬體層級處實施,使得保護在TEE 250內執行之指令及資料以免由電子裝置200之剩餘部分及諸如電子裝置之擁有者的外部方進行存取及操縱。TEE 250內之資料及計算由包括TEE 250之節點102的一方保證安全。
TEE 250可操作以執行個體化工作區域(enclave),且接著一次一個地新增記憶體之頁面,同時累積地散列。亦可在遠端機器(其可係開發者機器或另一機器)上執行類似操作,使得遠端機器判定及儲存預期之散列。因此,工作區域之內容可藉由任何遠端機器檢驗以確保工作區域正運行批准之演算法。此檢驗可藉由比較散列來執行。當工作區域經完全建置時,其被鎖定。有可能在TEE 250中運行程式碼且將秘密發送至程式碼,但無法改變該程式碼。最終散列可藉由認證密鑰簽名,且可使最終散列可用於資料擁有者以在資料擁有者將任何秘密發送至工作區域之前檢驗該散列。
TEE 250可用以保護與供會議110(圖1)使用之會議公用密 鑰相關聯的私用密鑰份額之機密性及完整性。舉例而言,TEE 250可用於產生及儲存私用密鑰份額。TEE 250意欲確保無成員能夠自成員間通信或工作區域間通信直接獲得持有於TEE 250工作區域內之私用密鑰份額或關於其他私用密鑰份額之資訊。協定亦對臨限值個工作區域之損害具有穩固性。另外,TEE 250可實現遠端認證,其可由節點102(圖1)使用以向其他節點102證明TEE 250可靠且正運行用於由會議110實施之協定的批准之電腦可執行指令。藉由運行特定程式碼片段及發送工作區域內部的由用於工作區域之內部認證密鑰進行簽名的程式碼之散列,遠端認證可藉由TEE 250提供。
TEE 250可用以在會議110的先前已在電子裝置200上使用私用密鑰份額之成員已選擇離開會議時認證私用密鑰份額之安全刪除。電子裝置200可經由提供於TEE 250中之遠端認證協定將刪除認證發信號至其他會議成員。在成為會議成員之後成員被准許反轉其先前傳送至會議集區之前,有需要刪除認證。亦即,反轉傳送之條件可係針對成員持有於工作區域內的私用密鑰份額之刪除的認證。
TEE 250可裝備有安全隨機數字產生器,其在TEE之工作區域內部,該產生器可用以產生私用密鑰、隨機挑戰或其他隨機資料。TEE 250亦可經組態以自外部記憶體讀取資料且可經組態以將資料寫入至外部記憶體。此資料可藉由僅持有於工作區域內部之秘密密鑰加密。
可使用諸如受信任平台模組(TPM)或Intel軟體防護擴充(SGX)來實施TEE 250。舉例而言,SGX支援遠端認證,其使得工作區域能夠自正執行特定工作區域之處理器獲取經簽名聲明,其中給定工作區域所具有的來自成員之聲明被稱為報價(quote)。諸如Intel認證服務(IAS)之第三方認證服務可證明源自可靠CPU之此等經簽名聲明符合SGX規格。
電子裝置200充當區塊鏈網路100(圖1)中之節點102(圖1),且可加入及以其他方式參加會議110(圖1)。當符記群組載送集區符記或由區塊鏈網路100(圖1)支撐之其他權益或值時,形成會議110。
會議及臨限簽名
會議110可係許可或非許可群組。亦即,區塊鏈網路100(圖1)中之任何節點102(圖1)(亦即,監視及儲存區塊鏈中之資訊之至少一部分的任何節點)可加入會議110。為加入會議110,節點102將一或多個符記傳送至與會議110相關聯之集區(亦即,傳送至與一或多個符記相關聯之公用群組位址,該等符記又與會議之其他成員相關聯)。此集區可被稱作會議集區。舉例而言,節點102可藉由將此等符記傳送至與會議集區相關聯之位址(亦即,傳送至亦可被稱作公用群組位址之「會議位址」)來加入會議110。實際上,該傳送充當一些數位資產至會議集區之存放。使用被稱作會議公用密鑰之單一公用密鑰將該等符記置於群組臨限簽名之控制下。會議成員持有以分配方式產生之私用密鑰份額。所持有份額之數目可與傳送至集區之量成比例。
將受會議110控制的包括傳送至會議位址之任何符記的符記置於臨限簽名方案之控制下。在臨限簽名方案下,需要總私用密鑰份額持有量超過臨限值之成員之群組產生有效簽名,其允許脫離會議110之控制傳送符記。亦即,必須使用至少臨限數目個私用密鑰份額來產生用於受會議110控制之符記之任何傳出傳送的有效簽名。
會議公用密鑰負擔(encumber)由會議110之成員傳送至會議集區以換取私用密鑰份額的符記,及由會議110之成員或非成員傳送至與會議集區相關聯之位址的任何符記(亦即,置於會議之完全、部分或條件性控制下),該等任何符記已出於除獲得私用密鑰份額外之原因而傳送。非成 員或成員可出於各種原因將符記傳送至與會議相關聯之位址。
由於同一會議公用密鑰可負擔兩種成員傳送(亦即,由會議成員提供以換取私用密鑰份額之符記)及由成員或非成員出於其他目的而提供之符記,因此至與會議相關聯之位址的至少一些傳送可經專門標記以指示傳送之類型。舉例而言,將符記傳送至會議位址之交易可包括指示正進行之傳送之性質的旗標、識別符或其他屬性。藉由實例,將符記傳送至會議位址的並非出於加入會議或提高會議成員資格之權益的目的而進行的交易可包括指示傳送係出於另一目的而進行的特殊識別符。此類識別符可由與會議110相關聯之節點102在管理私用密鑰產生時使用。更特定而言,出於加入群組之目的而傳送符記的節點102經分發用於會議110之私用密鑰份額(作為進行符記傳送之結果),而出於其他目的而傳送符記(例如,傳送至側鏈)之其他節點102可能不持有用於會議(亦即,對應於會議公用密鑰)之會議私用密鑰份額。
會議110可充當自治群組,其中經由威脅沒收由給定成員傳送至集區之符記中的全部或部分來強制協作行為。非協作或惡意成員之此等符記可藉由數個真誠成員參與協作協定而被沒收。另外,當會議成員希望離開會議110時,其可請求反轉其傳送(亦即,請求會議110將先前由該成員傳送至集區之符記傳送回至彼成員之個人位址)。實際上,此會議成員可請求撤回數位資產至集區之其先前存放。然而,僅在超過產生有效數位簽名所需之臨限值的數目個私用密鑰份額由群組(亦即,會議)之成員使用以批准撤回的情況下方能執行資金撤回。
藉由會議110實施之臨限簽名方案可屬於各種類型。只要至少臨限數目個私用密鑰份額已促成產生有效簽名,臨限簽名方案便允許在n方之間共用簽名能力。少於臨限值之任何子集無法產生有效簽名。更特定 而言,該等方中之每一者控制私用簽名密鑰之一份額,且必須使用臨限數目個密鑰份額經由組合部分簽名來產生有效簽名。少於臨限值之密鑰份額之任何子集無法經由組合部分簽名來產生有效簽名。
臨限簽名方案可係橢圓曲線數位簽名演算法(ECDSA)方案。舉例而言,ECDSA方案可屬於由Ibrahim等人在「A robust threshold elliptic curve digital signature providing a new verifiable secret sharing scheme」(2003年EIII第46屆中西部電路及系統研討會,1:276至280(2003年))中所提議的類型。此臨限簽名方案係數位簽名方案(其係基於橢圓曲線密碼學之演算法)之擴充,其中需要來自n個密鑰份額持有者之一方的t+1個密鑰份額來重建構私用密鑰。該方案可用以建構有效簽名而不必重建構私用密鑰且任何一方不必向另一方顯露其密鑰份額。
由於t+1個密鑰份額足以重建構秘密,因此根據此技術之許可敵手的最大數目係t。在Ibrahim等人之模型中,敵手係已損壞持有秘密份額之一方且存取彼秘密份額的實體。敵手可屬於各種類型。舉例而言,拜占庭(Byzantine)敵手係可假裝參與協定而實際上發送不正確資訊之敵手。由Ibrahim所提議之ECDSA方案對於高達t<=n/4個惡意敵手係穩固的。此穩固性可上升至t<=n/3,但以較大複雜度為代價。
Ibrahim等人之ECDSA方案對於暫停t<=n/3個暫停敵手係穩固的。暫停敵手能夠防止受損壞之一方參與協定或中途暫停參與。
此ECDSA方案包括可由節點102用以識別惡意或不協作方的各種機制。舉例而言,可檢驗秘密共用(VSS)可用以共用沙米爾(Shamir)秘密共用(SSS)所需之多項式。SSS係一種形式之秘密共用,其中將秘密分成多個部分且在其自身之獨特部分中提供至每一參與者。此等部分可用以重建構秘密。若將不一致的份額提供至不同節點102或若將不同於廣播至 所有節點之盲份額之份額秘密地發送至節點,則VSS可由節點102用以識別惡意節點102或成員。不一致的份額可藉由節點102中之任一者識別。可藉由包括允許節點102檢驗其份額一致之輔助資訊來使得可檢驗秘密共用。
不正確份額至個別節點(亦即,不同於經廣播之盲份額的份額)的發送可藉由該份額之預期接收者節點識別。可使用可公開檢驗秘密共用(PVSS)之技術使得可公開檢驗秘密地發送至節點之不正確份額的識別。此類技術可避免欺騙性發送者之識別中的可能延遲,該延遲可在不使用PVSS且不正確份額之接收者離線或在發送不正確份額時自大部分網路斷開的情況下出現。
諸如將不一致的份額提供至不同節點之不當行為可由會議110解決以阻止惡意行為。舉例而言,當一節點102(圖1)由其他節點102識別為惡意方時,超過臨限值(例如,t+1)之數目個節點102(亦即,與會議成員相關聯之節點)可協作以處罰惡意方。舉例而言,節點102可採取涉及由惡意方傳送(亦即,存放)至會議之符記(諸如,符記或其他權益或值)的動作。舉例而言,會議可藉由將數位貨幣、符記、權益或值傳送至不可用位址來燒毀數位貨幣、符記、權益或值,或會議可藉由拒絕授權此等符記至惡意方之傳回來沒收該等符記。並非不當行為節點之節點102亦可藉由協作以排除不當行為節點(例如,藉由有效地使密鑰份額無效;例如,藉由排除節點參與會議協定,或藉由重新共用私用密鑰及不向不當行為節點分發份額)來阻止不當行為。
上文所描述之ECDSA技術可經由使用TEE來增強。舉例而言,基於Ibrahim等人之臨限ECDSA簽名技術涵蓋一種形式之強大敵手,其在此處被稱作拜占庭敵手。此類型之敵手可任意地作出行為,例如, 其不僅拒絕參與簽名處理程序或中途暫停,而且可假裝真誠地參與且發送不正確資訊。然而,藉由使用TEE及產生用於儲存有秘密私用密鑰份額之TEE之工作區域內的簽名的資料,可提供額外安全性,此係因為工作區域可能大量受到損害係極不可能的。假定n足夠大,若每一TEE經分發不超過一個密鑰份額,則例如可能受損害TEE之數目可合理地預期為不接近對抗拜占庭敵手之穩固性臨限值。若相對於密鑰份額之總數,協定容忍小比例之惡意敵手,則此認可協定係安全的。
舉例而言,若所有節點具有TEE,則可僅藉由對節點進行實體存取且僅以巨大的努力及費用來獲取儲存於工作區域內之秘密,其限制條件為TEE之製造商未受到損壞。預期此製造商層級損壞係可管理的。舉例而言,若製造商錯誤地主張數個公用密鑰對應於真實的TEE,則其可直接存取私用密鑰份額且潛在地發起攻擊。然而,此攻擊將需要足夠數目個密鑰份額以允許製造商在無其他節點輔助之情況下產生有效簽名。此將意謂累積總權益之大部分,其將係相當昂貴的。此外,由於進行該攻擊,權益持有值之大部分將受到毀壞。
當使用TEE時,考慮協定對「損壞節點」之穩固性係有用的。損壞節點係使得TEE外部之硬體受到損壞但TEE之完整性未受到損害的節點。損壞節點可控制工作區域接收及不接收何資訊。特定而言,損壞節點可暫停,亦即,抑制參與協定。若提供至協定之資訊需要由秘密地持有於工作區域中之私用密鑰(其中對應公用密鑰係在認證期間鑑認)來簽名,則私用密鑰如工作區域本身一樣值得信任。因此,損壞節點無法將任意(經鑑認)資訊發送至協定,且可僅藉由暫停或試圖矇騙工作區域不恰當地起作用(例如,藉由向其提供過時資訊)來試圖進行干擾。因此,對於損壞節點,成功攻擊將需要搜集足夠數目個部分簽名以產生完整簽名。藉由TEE, Ibrahim等人之協定對於2t個損壞節點係穩固的。因為可在n-2t>=2t+1之情況下產生簽名,所以大小係2t+1<=(n+1)/2之密鑰份額的任何限定子集係足夠的。因此,當使用TEE時,用於臨限簽名方案之臨限值可經組態為大於或等於密鑰份額之50%的數目以於存在損壞節點之情況下產生有效簽名。
亦可使用其他臨限簽名方案。舉例而言,臨限簽名方案可係由Goldfeder等人之「Securing Bitcoin Wallets Via a New DSA/ECDSA threshold signature scheme」(2015年)所提議的類型之ECDSA臨限方案。此協定允許t+1方產生有效簽名。因此,敵手必須控制以產生有效簽名之密鑰份額之數目等於敵手必須擁有以重建構私用密鑰之密鑰份額之數目。此技術在需要一致同意以產生有效簽名之狀況下可提供高效方案。在最一般狀況下,此方案強加隨會議成員之數目以指數方式按比例調整的空間要求,此係因為對於任意臨限值,一者需要針對n個當中之t+1個參與者之任何可能子集重複整個協定。因此,對於n及t兩者之較大值,將需要儲存大量密鑰份額。為緩解此類儲存要求,標準比特幣多重簽名可與臨限簽名組合。特定而言,可使用多重簽名來鎖定符記,使得每一私用密鑰分成多個份額。就空間要求而言,此技術將使較大會議更高效。按比例調整特性亦可藉由以反覆方式在多個層級處組成用於較小團體大小當中之大量參與者之方案來改良。舉例而言,臨限簽名方案可與Cohen等人之Efficient Multiparty Protocols via Log-Depth Threshold Formulae(2013年)(密碼學進展-CRYPTO 2013,第185至202頁)的技術組合。
可使用包括非ECDSA簽名方案之其他臨限方案。舉例而言,基於施諾爾(Schnorr)方案之臨限方案可由節點102用以實施會議110。
區塊鏈網路100(圖1)中之節點102(圖1)可實施基於選定臨 限簽名方案之會議協定。此等節點102可包括儲存於記憶體220(圖2)中之實施會議協定的電腦可執行指令。此等指令在由處理器210(圖2)執行時使節點102(諸如,參看圖2所描述之類型的電子裝置200)執行會議協定之一或多個方法。此等方法可包括圖4至圖8及圖10之方法中之任一者或組合。因此,會議協定可包括圖4至圖8及圖10之方法中之一或多者。該等方法可藉由節點協同與其他會議成員相關聯之其他節點執行。
會議起始
現參看圖3,說明起始會議之方法300。起始會議之方法300可藉由初始受信任方執行以設置會議110。亦即,與最初受信任方相關聯之節點102可執行起始會議之方法300。
起始會議之方法300包括在步驟302處提供會議公用密鑰。若其他節點102希望加入會議,則可將會議公用密鑰提供至其他節點以允許其支付至會議公用密鑰中。亦即,其他者可將符記傳送至與會議公用密鑰相關聯之位址以便加入會議。
執行起始會議之方法300之節點102在步驟304處允許支付至公用密鑰中,直至一或多個條件滿足。舉例而言,節點可允許支付至公用密鑰中持續所判定之時間段或持續所判定之數目個區塊。在條件符合之後(例如,在此時間段期滿或挖掘該數目個區塊之後),執行執行起始會議之方法300之節點102在步驟306處識別會議之初始成員。
在識別到將構成會議之初始成員資格的多方之後,在步驟307處根據臨限簽名方案將私用密鑰分成多個私用密鑰份額。接著在步驟308處將私用密鑰份額自執行執行起始會議之方法300之節點102分配至經識別方。私用密鑰份額與可屬於本文中所描述之類型的臨限簽名方案相關聯。
在步驟308期間,經識別為會議成員之節點102協作以產生新的私用密鑰份額及新的公用密鑰。由初始受信任方發送至此等節點之原始密鑰份額可用以對將會議集區中之所有符記發送至新的公用密鑰之交易進行簽名且廣播該交易,該新的公用密鑰接著變成會議公用密鑰。亦即,在步驟408期間,建立新的群組公用位址,且將在會議控制下之符記傳送至此新位址,該位址變成用於該群組之新位址且與會議公用密鑰相關聯。在此傳送經確認之後,會議可在無信任狀況下操作。形成新的群組公用位址,可在未來自希望加入會議110之其他節點或出於如上文所描述之其他目的而將符記傳送接收於該新的群組公用位址中。會議成員現被視為登入會議中,且此等節點現可在無初始受信任方輔助之情況下操作。此外,初始受信任方在會議操作中不再起任何作用。
在會議已起始之後加入會議
現將參看說明加入會議之方法400的圖4。圖4之加入會議之方法400可結合圖3之起始會議之方法300操作,但圖4之加入會議之方法400藉由在執行圖3之起始會議之方法300的節點操作所在的同一區塊鏈網路100(圖1)中操作之節點102中之不同者執行。圖4之加入會議之方法400包括在步驟402處獲得會議公用密鑰。會議公用密鑰可自起始會議的諸如執行圖3之起始會議之方法300之節點的一方直接獲得,或其可自包括例如在區塊鏈網路100(圖1)外操作之第三方系統的第三方獲得。舉例而言,會議公用密鑰可自可經由公用網際網路存取之公用網頁伺服器獲得。
執行加入會議之方法400之節點102在步驟404處藉由將符記交易自與節點102相關聯之私用帳戶廣播至會議位址(亦即,與會議公用密鑰相關聯之位址)來支付至會議公用密鑰中。更特定而言,節點102廣播 將一或多個符記傳送至與會議公用密鑰相關聯之公用群組位址的交易。公用群組位址係用於會議集區之位址。會議集區包括與會議之其他成員相關聯的其他符記。因此,在步驟404處之交易一旦藉由挖掘者104(圖1)新增至區塊便將符記傳送至包括來自其他成員之符記的會議集區。公用群組位址可接收來自希望加入會議之多方的傳送及來自不希望加入會議之多方的傳送。不希望加入會議之多方將符記傳送至會議集區,使得可使用由會議所用之臨限簽名方案將此等符記置於會議之全部、部分或條件性控制下。
在步驟404處之交易可包括旗標、識別符或其他屬性,其指示傳送符記之一方希望加入會議且該傳送係出於此目的來進行。
在將符記傳送至會議集區之後,執行加入會議之方法400之節點102在步驟406處接收私用密鑰份額。接著,節點102在步驟408處藉由運行協定之單一執行個體來重新產生私用密鑰份額。私用密鑰份額之產生可在節點102之TEE內執行。
在步驟408處,節點102產生待用於臨限簽名方案中之私用密鑰份額,在臨限簽名方案中,必須使用至少臨限值個私用密鑰份額以代表會議產生用於交易之有效簽名。私用密鑰份額之其他持有者係會議的已藉由將各別符記傳送至公用群組位址來在許可或非許可基礎上加入會議的其他成員。
為重新產生私用密鑰份額,在步驟408處,現存會議成員可協作以更新密鑰份額。舉例而言,節點102可產生階數為t且常數項為零之隨機多項式(x)。節點102可接著計算點(n+1)且將此設定為其私用密鑰份額。節點102可接著將此多項式(i)上之點分配至現存會議成員中之每一者,i=1、......、n。每一現存會議成員(i=1、......、n)接著將所接收之值新增至其現存私用密鑰份額以獲得新的私用密鑰份額。節點102 現具有等同於所有其他成員之私用密鑰份額且對應公用密鑰保持不變。如上文所描述,臨限簽名方案可屬於各種類型,包括橢圓曲線數位簽名演算法或基於施諾爾方案之臨限方案。
私用密鑰份額可在TEE 250(圖2)內產生且可安全地儲存於節點102上。舉例而言,私用密鑰份額可儲存於TEE 250中。
在由各別節點產生私用密鑰份額之後,可將在先前會議公用密鑰之控制下的資金(例如,傳送至與原始會議公用密鑰相關聯之公用群組位址的資金)傳送(經由在臨限簽名方案下足以產生有效簽名之數個群組節點的協作)至與新的私用密鑰份額相關聯之新的會議公用密鑰。
在於步驟408處產生私用密鑰份額之後,在加入會議之方法400之步驟410處,可使用該私用密鑰份額。私用密鑰份額可用以自可由成員廣播之公用群組位址以協作方式產生用於交易之有效簽名。亦即,私用密鑰份額可用於臨限簽名方案中以促成簽名產生。在臨限簽名方案下,各別成員需要使用會議之臨限數目個私用密鑰份額以產生有效簽名,其允許脫離會議傳送符記。執行加入會議之方法400之節點102可自儲存器擷取私用密鑰份額且使用私用密鑰份額以便促成簽名產生。若足夠數目個其他會議成員亦使用其各別私用密鑰以促成簽名產生,則產生簽名且可廣播有效傳出交易。當區塊鏈網路100之挖掘者104(圖1)將交易新增至藉由區塊鏈網路100中之節點102之共識而新增至區塊鏈的經挖掘區塊且該區塊經確認時,傳出交易完成。此時,表示於交易中之符記可能不再處於會議之控制下。亦即,此類符記可能不再由會議公用密鑰負擔。
在步驟408處之私用密鑰份額的使用可在節點102之TEE內執行。TEE保護私用密鑰份額使得系統之其他部分及成員本身皆無法存取儲存於工作區域中之任何資料,諸如私用密鑰份額。另外,TEE保護私 用密鑰,此係因為若成員想要其傳送傳回且接收其傳送之反轉,則TEE無法保留私用密鑰之複本,此係因為其必須在反轉傳送之前認證私用密鑰之刪除。
圖4之加入會議之方法400可在初始設置階段期間或之後執行。亦即,加入會議之方法400可在初始密鑰份額分配之前(例如,在圖3之起始會議之方法300的步驟308期間)或之後(例如,在下文將更詳細地論述的重新平衡期間)執行。
在步驟410處之交易可將符記傳送回至最初將彼等符記傳送至會議集區之一方。亦即,該傳送可將符記傳回至彼方。該傳送亦可將符記傳送於其他處。舉例而言,可將符記傳送至第三方或不可用位址。
符記之沒收
現參看圖5,說明沒收符記之方法500。圖5之沒收符記之方法500可藉由節點102執行,該節點可係執行圖4之加入會議之方法400的同一節點。沒收符記之方法500可在圖4之加入會議之方法400的步驟408之後執行,使得在執行圖5之沒收符記之方法500時,節點102已存取私用密鑰份額。
在步驟502處,節點102偵測由惡意方進行之惡意活動。惡意方可係會議之另一成員。當節點102判定會議之成員違反預定義協定或準則時,偵測到惡意活動。舉例而言,當作為會議中之成員的節點將錯誤資訊(亦即,錯誤的、不一致的或以其他方式不可接受的資訊)報告至會議之其他成員時,該成員可被視為惡意成員。
在步驟503處,回應於偵測到惡意活動,節點102協同會議中之其他節點可暫時中止作為惡意方之成員。亦即,該會議可排除惡意方進一步參與會議。
為確保所有節點102遵循預定義協定或準則操作,至會議集區中之成員傳送可能會遭受沒收。沒收意謂永久地防止被視為沒收之成員傳送的傳回。形成由於惡意活動而不會傳回之成員傳送的符記可留在會議集區中而不傳回,緊接著或在未來傳送至另一不可用位址或以其他方式被沒收,且沒收性質可取決於會議是否充當用於側鏈之聯合的驗證者集合。舉例而言,在步驟504處,回應於偵測到由惡意方進行之惡意活動,執行沒收符記之方法500之節點102可使用私用密鑰份額在沒收交易上提供部分簽名。亦即,該節點與會議之其他節點協作以沒收先前由惡意方傳送至公用群組位址(亦即,傳送至會議集區)的符記之至少一部分。亦即,回應於觀察到群組成員違反預定義協定或準則,利用私用密鑰份額來促成對與群組成員相關聯且持有於會議集區中之一或多個符記的交易之授權。
由於臨限簽名方案與會議公用密鑰一起使用,因此單獨起作用之個別節點無法脫離會議集區傳送另一會議成員之符記傳送(例如,傳送至不可用位址)。確切而言,可僅在臨限數目個私用密鑰份額由其各別成員使用以產生有效簽名從而將符記傳送另一位址時或在具有至少臨限數目個私用密鑰份額之成員群組達到暫時中止成員(在步驟503處)之共識時藉由傳送沒收符記,其使來自經暫時中止成員之任何撤回請求被自動忽略。當符記藉由傳送沒收時,符記可傳送至的其他位址可與不可用位址相關聯。舉例而言,其他位址可係私用密鑰不存在之位址,使得無任何方可存取由公用密鑰綁定用於該位址之符記。當符記經傳送至不可用位址時,其可被視為已燒毀,此係因為該等符記不再可用於會議之任何成員或實際上不再可用於區塊鏈網路100中之任何節點。
因此,在步驟504處,節點可協同會議之其他成員藉由使用私用密鑰份額來沒收符記,以產生用於至不可用位址之交易的有效簽名。
另外,在一些實施中,會議可充當保證權益證明側鏈之安全的聯合的驗證者集合,且此側鏈可用作廣播通道。舉例而言,可由會議成員在側鏈上達到已有成員惡意地起作用的共識。此共識可對應於含有惡意活動之控告證據的側鏈交易之確認。當達到共識時,將拒絕由惡意成員作出之對撤回成員傳送的任何請求,且將該傳送視為被沒收。被沒收符記中之全部或一部分可在未來某個時間被燒毀。亦即,在稍後某個時間,臨限值個成員(不包括惡意成員)可合作以授權被沒收符記至不可用位址之傳送。可替代地將符記中之一些或全部作為獎勵發送至提供成員之錯誤行為之證據的節點。
由於會議係可由區塊鏈網路100之任何節點102經由傳送符記來加入之開放群組,因此群組成員資格可週期性地改變。當此等改變出現時,可更新私用密鑰份額分配。現參看圖6,說明更新私用密鑰份額分配之實例方法600。更新私用密鑰份額分配之實例方法600可藉由區塊鏈網路100之節點102協同區塊鏈網路100之其他節點執行。
使用新的公用位址更新私用密鑰份額分配
在更新私用密鑰份額分配之實例方法600之步驟602處,節點102偵測重新分配請求,其係滿足需要重新分配密鑰份額之請求。舉例而言,節點102可偵測到預期新成員已將符記傳送至公用群組位址中或現存成員已請求撤回成員傳送。
可藉由請求加入會議或在會議中增加參與的節點及藉由未請求加入會議但替代地出於另一目的(諸如,將符記傳送至側鏈,如下文將描述)而將符記傳送至會議的其他節點來將符記傳送至公用群組位址(亦即,傳送至會議集區)。在步驟602處,節點102可使用包括於至公用群組位址之符記交易中之至少一些中的一或多個屬性識別會議成員(亦即,為加 入會議而非出於另一目的來將符記傳送至會議公用密鑰之多方)。舉例而言,可使用某些交易中之屬性將該等交易標記為特殊交易。此等屬性(或其存在或不存在)可指示進行傳送之目的。舉例而言,當傳送並非請求加入會議時,可將旗標包括於交易中。
回應於在步驟602處偵測到滿足需要重新分配密鑰份額之請求,在步驟604處,藉由節點102以類似於在圖4之加入會議之方法400之步驟408處產生私用密鑰份額之方式的方式產生新的私用密鑰份額。會議之其他成員節點亦產生各別私用密鑰份額。此等私用密鑰份額可與用於新的會議公用密鑰之臨限簽名方案一起使用。此時將離開會議之成員在步驟604期間不產生新的私用密鑰份額,且由於其將未分發有私用密鑰份額以與新的會議公用密鑰一起使用,因此其失去參加會議之能力且不再被視為會議成員。
另外,回應於偵測到重新分配請求(其係滿足需要重新分配密鑰份額之請求),在步驟606處,節點102與其他會議成員合作以將公用群組位址中之所有符記傳送至與新的公用密鑰(其將接著變成新的會議公用密鑰)相關聯之新的公用位址。
因此,根據圖6之更新私用密鑰份額分配之實例方法600,當傳送之分配改變時或當自成員接收到反轉資產至集區之傳送的請求時,可重新產生私用密鑰份額且可將在會議之控制下的所有符記移動至新的公用密鑰。可更新會議之成員資格的頻率受區塊鏈網路100之區塊時間限制。許多應用可僅需要低頻率之重新平衡。
更新私用密鑰份額分配同時保留現存公用群組位址
現參看圖7,說明更新私用密鑰份額分配之另一實例方法700。更新私用密鑰份額分配之另一實例方法700可藉由區塊鏈網路100之 節點102協同區塊鏈網路100之其他節點執行。
在圖7之更新私用密鑰份額分配之另一實例方法700中,每次至公用群組位址之符記傳送發生時,會議公用密鑰皆不改變。當偵測到分發新的密鑰份額之請求時(在步驟702處,其可經由將符記傳送至公用群組位址來發生),節點102與會議之其他成員合作以將用於同一公用密鑰之新的私用密鑰份額發出(在步驟704處)至群組之新成員。合作之節點之數目至少係在臨限簽名方案下產生數位簽名所需之節點之臨限數目。在步驟704處,可分發額外密鑰份額,而其他密鑰份額保持相同。此可需要(臨限簽名方案之)臨限值的改變,但實務上,該改變可係小的。替代地,在步驟704處,可分發額外密鑰份額,而更換其他密鑰份額。此更換需要伴有對刪除先前產生之任何密鑰份額的認證。在此狀況下,可在維持同一臨限值的同時分發新份額(在SSS之上下文中,此涉及階數增加之新多項式的共用)。
在步驟702處,節點102可使用包括於至公用群組位址之符記交易中之至少一些中的一或多個屬性識別會議成員(亦即,為加入會議而非出於另一目的來將符記傳送至會議公用密鑰之多方)。舉例而言,可使用某些交易中之屬性將該等交易標記為特殊交易。此等屬性(或其存在或不存在)可指示進行傳送之目的。舉例而言,當傳送並非請求加入會議時,可將旗標包括於交易中。
當成員離開使用更新私用密鑰份額分配之另一實例方法700之會議時,其可安全地刪除其私用密鑰份額。為確保舊成員之私用密鑰份額不可用,可能需要會議之成員使用具有特殊TEE之節點102。TEE係在硬體層級處實施之架構,其保證執行於其內之指令及資料受到保護以免由系統之剩餘部分存取及操縱。TEE可使用硬體機構來對遠端認證挑戰作出回應,該等挑戰可用以向外部方,諸如會議中之其他節點驗證系統之完 整性。
每一成員節點可使用經證明之TEE,其經組態以產生一或多個隨機秘密值,該等值在不損害積體電路層級處之硬體的情況下保持不可由主機系統存取。以此方式產生之秘密值將用於私用密鑰份額之分散式產生中(例如,在圖4之加入會議之方法400的步驟410處)。此秘密值亦可用以在會議之設置階段中建立共用的公用密鑰。與設置協定相關聯之計算係在TEE工作區域內執行,使得無成員或之前成員可自成員間通信或任何其他方法導出關於其自身的或其他私用密鑰份額之任何資訊。TEE內之工作區域使得能夠執行遠端認證協定,其可用以向其他節點證明TEE工作區域可靠且其正運行批准之電腦可讀指令。
與群組改變相關聯之計算係在TEE工作區域內執行。舉例而言,在TEE工作區域中執行產生可用於出於SSS之目的而計算新多項式的新的安全隨機秘密。
TEE工作區域亦旨在確保在可反轉加入會議之特定成員上進行的至集區之先前傳送之前安全地刪除不再使用之先前密鑰份額及先前秘密。更特定而言,為反轉至集區之此傳送,認證協定可需要TEE工作區域認證密鑰份額之刪除。每一節點102可經由遠端認證協定將此認證解譯為所需刪除已在其他節點上發生之確認。因此,更新私用密鑰份額分配之另一實例方法700亦可包括確認已自與已離開會議之成員相關聯的節點刪除先前持有於彼成員之TEE內的私用密鑰份額。此確認可藉由接收對私用密鑰份額之刪除的認證來執行。因此,遠端認證協定可用以獲得對先前持有於已離開會議之成員之TEE中的私用密鑰份額之刪除的認證。
圖6之更新私用密鑰份額分配之實例方法600及圖7之更新私用密鑰份額分配之另一實例方法700各自供應各種益處。舉例而言,圖6 之更新私用密鑰份額分配之實例方法600並不依賴於安全刪除且並不需要依賴於受信任硬體。然而,圖6之更新私用密鑰份額分配之實例方法600可受益於此硬體,此係因為在一些情況下,此硬體可使密鑰份額之惡意彙集更不可能。
圖7之更新私用密鑰份額分配之另一實例方法700避免在每次成員資格改變時必須在新的會議公用密鑰下重新鎖定符記。另外,在一些情況下,更新私用密鑰份額分配之另一實例方法700可比圖6之更新私用密鑰份額分配之實例方法600更快速地更新成員資格,此係因為在圖7之更新私用密鑰份額分配之另一實例方法700下,不需要將交易新增至區塊鏈以將所有符記移動至新的公用密鑰,此係因為不將符記移動新的公用密鑰。亦即,可使用圖7之更新私用密鑰份額分配之另一實例方法700更新成員資格而不必等待若干區塊產生以確認符記至新的公用密鑰之傳送,此係因為公用密鑰不會改變。
自會議除名
如上文所提到,群組成員可偶爾請求離開會議且在群組成員自會議除名時,可將該群組成員先前傳送至會議集區之符記傳回。現參看圖8,以流程圖形式說明傳回此傳送之實例方法800。該方法可藉由節點102協同會議之其他節點102執行。
在傳回此傳送之實例方法800之步驟802處,節點102自作為會議成員之請求者接收撤回請求。撤回請求亦可被稱作除名請求。撤回請求係撤回先前由請求者傳送至集區且當前受會議控制之符記。該請求可已由請求者廣播至所有會議成員。
回應於接收到請求,節點102在步驟804處對照所判定準則評估請求。此準則可係預定準則。若會議根據每次群組成員資格改變時會 議公用密鑰皆不改變的會議協定而操作,則在步驟804處,節點102可確認私用密鑰份額已由請求者刪除。可使用與TEE相關聯之遠端認證協定獲得此確認。
若會議協定係當成員資格改變時會議公用密鑰改變之協定,則節點102可能不確認私用密鑰份額之刪除,此係因為私用密鑰份額不再有效。實情為,可使用新的會議密鑰且可將在會議控制下之其他符記傳送至新的會議密鑰。
在步驟804處,評估亦可考慮當前是否部署幽靈鏈。若已部署幽靈鏈,則拒絕撤回請求直至幽靈鏈之操作停止。亦即,防止正在幽靈鏈上挖掘之會議成員撤回其符記「權益」至少直至幽靈鏈終止。
若節點102基於評估而批准撤回請求,則在步驟806處,節點促進符記撤回。亦即,節點102使用其私用密鑰份額協作地產生數位簽名且使用數位簽名將先前由請求者傳送至集區之符記傳送回至請求者。舉例而言,可將符記發送回至符記先前接收自的位址。根據臨限簽名方案執行步驟806使得僅在至少臨限數目個會議成員授權撤回之情況下實行撤回。步驟806係在想要除名之成員暫時中止活動持續一段時間之後執行。此等待時段防止成員在正執行用於反轉其至集區之先前傳送的協定時參與不當行為。
會議協定可用於數個不同目的。該會議提供用於執行各種功能之安全機制。該會議可無信任地操作且提供對符記之所有權控制。
舉例而言,該會議協定可用以實施幽靈鏈,在該狀況下,會議協定可被稱作幽靈鏈協定。
幽靈鏈
現參看圖9,說明區塊鏈902及幽靈鏈904。區塊鏈902係 基於區塊之分散式工作證明總帳。幽靈鏈904係可用以在區塊鏈902之節點間達成分散式共識的基於區塊之分散式權益證明分散式總帳。舉例而言,共識可用以達成共識以便解決區塊鏈網路中之節點之間的爭議。舉例而言,區塊鏈可包括挑戰,其中一個節點挑戰由另一節點提交之工作產品。此挑戰在圖9中指示為「C」。舉例而言,該挑戰可在節點(亦即,挑戰者)指示滿足請求所提議之結果無效時發生。
當由節點發出挑戰時,部署幽靈鏈904。幽靈鏈係回應於挑戰而在挑戰C發生之後經執行個體化。幽靈鏈可藉由係來自幽靈鏈之先前執行個體化之最終區塊(亦被稱作終端區塊)的創始區塊而執行個體化。數個區塊藉由挖掘者新增至幽靈鏈以解決數位爭議直至幽靈鏈達到指示為J之共識(亦即,判斷)。
當達到共識時,可建構交易(在下文被稱作最終交易或結算交易)及對交易進行簽名(如下文將更詳細地描述)。此交易可係一種交易,其效應將係根據共識在主區塊鏈902上分配資金,分配資金以付報酬給幽靈鏈之挖掘者等。該交易亦可將共識結果傳達回至主區塊鏈902。更特定而言,結果可囊封於交易中。
在已達到共識且建構最終交易及對其進行簽名之後,幽靈鏈904終止且所建構交易經挖掘至主區塊鏈902中。由於幽靈鏈904終止,因此其不同於典型區塊鏈,此係因為其具有終端區塊。當判定共識且對所得交易進行有效簽名時,作為幽靈鏈904中之最後區塊的此終端區塊出現,該所得交易根據共識在主區塊鏈902上分配資金,分配資金以付報酬給幽靈鏈之挖掘者等。
請求者-提議者-挑戰者及幽靈鏈
因此,區塊鏈網路100(圖1)中之節點102(圖1)可實施請求 者-提議者-挑戰者協定或幽靈鏈解析協定。此等節點102可包括儲存於記憶體220(圖2)中之實施此等協定的電腦可執行指令。此等指令在由處理器210(圖2)執行時使節點102(諸如,參看圖2所描述之類型的電子裝置200)執行協定之一或多個方法。此等方法可包括圖10至圖13之請求者方法1000、提議者方法1100、挑戰者方法1200、仲裁者方法1300中之任一者或組合。
現將參看圖10至圖13,其說明可包括於請求者-提議者-挑戰者協定或幽靈鏈解析協定中之方法。說明於圖10中之請求者方法1000可藉由計算交換中之任務的請求者執行。亦即,請求完成任務之節點102可執行圖10之請求者請求者方法1000。該節點係區塊鏈網路100(圖1)中之節點且該節點可被稱作請求者。
提議者方法1100說明於圖11中。提議者方法1100可藉由任務之解決方案的提議者執行。亦即,主張已完成任務之節點102可執行圖11之提議者方法1100。該節點係區塊鏈網路100(圖1)中之節點且該節點可被稱作提議者。
挑戰者方法1200說明於圖12中。挑戰者方法1200可藉由任務之解決方案的挑戰者執行。亦即,挑戰由提議者提出之解決方案的節點102可執行圖12之挑戰者方法1200。該節點係區塊鏈網路100(圖1)中之節點且該節點可被稱作挑戰者。
用於在節點間達成共識之仲裁者方法1300說明於圖13中。仲裁者方法1300係藉由區塊鏈網路之節點協同區塊鏈網路之其他節點執行以便達成分散式共識。協同其他節點執行仲裁者方法之節點可被稱作仲裁者。
協作地執行圖10至圖13之方法請求者方法1000、提議者方法1100、挑戰者方法1200、仲裁者方法1300。舉例而言,該等方法共同 地提供請求者-提議者-挑戰者協定,其中幽靈鏈用以確保提議者解決方案之有效性。
在請求者方法1000(圖10)之步驟1002處,將被稱作請求者之節點發出請求。該請求係完成任務之請求。舉例而言,該任務可係對工作產品之請求。更特定而言,其可係對處理器工作產品(亦即,對處理器產生諸如計算輸出之所定義工作產品)的請求。該任務可係昂貴計算、需要來自諸如金融合約之外部源之輸入的任務或產生具有特定特性之之資料的任務,諸如演算法或文件。該請求供應呈與區塊鏈網路100相關聯之符記之形式的賞金以換取任務之成功完成。該請求可在區塊鏈外(亦即,離鏈)發出。舉例而言,該請求可在可經由網際網路存取之網頁伺服器上發出。當請求之候選解決方案在固定時間段(其可被稱作「挑戰時段」)內未受到挑戰時或在藉由在幽靈鏈上重新運行計算來解決挑戰之狀況下,當發現候選解決方案匹配鏈上計算之結果時,定義請求被成功完成。
可在計算交換中發出請求(在步驟1002處)。該計算交換可係所請求之任務集。舉例而言,可在計算交換中發佈複數個任務。該等任務可由同一請求者或不同請求者發佈。計算交換允許節點將計算或演算法執行卸載至其他節點。
在提議者方法1100(圖11)之步驟1102處,將被稱作提議者之節點識別請求。該節點接著繼續(在步驟1104處)以離鏈完成任務。舉例而言,由請求者所請求之演算法、資料或其他結果可藉由處理器獲得作為工作產品。
該提議者可接著在提議者方法1100(圖11)之步驟1106處提交提議。該提議係主張已完成與由請求者在圖10之提議者方法1000之步驟1002處發出的請求相關聯的任務。為提交提議,提議者可將其用於區塊 鏈網路100之公用密鑰發送至請求者。該提議者亦可承諾任務之解決方案。此承諾(commit)可呈解決方案之散列(亦即,諸如計算之輸出或另一類型之解決方案的工作產品之散列)的形式。
請求者在圖10之請求者方法1000的步驟1004處接收提議。舉例而言,請求者可接收提議者之公用密鑰及「承諾」(例如,所聲稱工作產品之散列)。
回應於接收到提議,在圖10之請求者方法1000的步驟1006處,請求者可建構交易T1。該交易包括賞金作為輸入。該交易包括賞金以及提議者存款作為輸出(亦即,T1_out=賞金+proposer_deposit)。該交易T1經簽名以允許提議者新增其自身的輸入。舉例而言,交易T1可經SIGHASH_ALL|SIGHASH_ANYONECANPAY簽名。SIGHASH_ALL係預設簽名散列類型,其對除任何簽名指令碼外之整個交易進行簽名,以防止修改經簽名部分。SIGHASH_ANYONECANPAY係僅對當前輸入進行簽名之簽名散列類型。
交易T1係建構成以兩種方式解除鎖定。在挑戰時段(下文所描述)期滿之後,該交易可藉由提議者之簽名(亦即,對應於提議者提供至請求者之公用密鑰的簽名)及對應於承諾之解決方案來解除鎖定。舉例而言,操作碼OP_CHECKSEQUENCEVERIFY可用以鎖定交易持續挑戰時段,但若在此時段內不存在挑戰,則允許由提議者解除鎖定。交易亦建構成在任何時間藉由會議110(圖1)之群組簽名解除鎖定。亦即,當作為會議之成員的節點使用其各別私用密鑰份額協作以根據用於會議110之臨限簽名方案來解除鎖定交易時,該交易可在挑戰時段期滿之前或之後解除鎖定。
該交易亦可包括關於諸如承諾之宣稱解決方案的資訊。舉例而言,可使用OP_PUSHDATA操作碼將所聲稱工作產品之散列新增至交 易。更特定而言,可將所聲稱工作產品之散列新增至交易之鎖定指令碼。此鎖定指令碼經組態以藉由解除鎖定指令碼來解除鎖定(在挑戰時段期滿之後),該解除鎖定指令碼提供散列至含於鎖定指令碼中之所聲稱工作產品之散列的解決方案。
雖然未說明於圖10及圖11中,但提議者可接收在步驟1006處建構之交易T1,且可將提議者存款作為輸入新增至交易T1。提議者將交易廣播至區塊鏈網路100(圖1)之其他節點。接著將交易挖掘至區塊鏈上(亦即,新增至區塊)使得其公開可見。
一旦將交易挖掘至區塊鏈上,便起始挑戰時段,在此期間,任何節點102(圖1)可挑戰由提議者提交之提議。若在挑戰時段期間未發出挑戰,則提議者可自交易T1主張賞金及提議者存款。提議者可起始計時器以追蹤在挑戰時段中剩餘之時間量,且一旦挑戰時段已期滿,便可自動地採取動作。舉例而言,提議者可將工作產品(其可被稱作解決方案),諸如處理器工作產品提供至請求者且可解除鎖定交易。
提議者可能不將解決方案直接提供至請求者。實情為,提議者可藉由將解決方案嵌入主區塊鏈網路上之交易中來提供解決方案。舉例而言,提議者可在解除鎖定負擔賞金及提議者存款之鎖定指令碼(在交易T1中)的解除鎖定指令碼中提供解決方案(例如,在使T1之鎖定指令碼評估為真之解除鎖定指令碼中)。如上文所提到,鎖定指令碼可經組態以檢查解除鎖定指令碼中之所提議解決方案散列至先前由提議者給予請求者(亦即,在「承諾」中)之值。當解除鎖定指令碼成功地解除鎖定負擔先前由交易T1之鎖定指令碼(亦即,交易T1之UTXO)所負擔的符記的鎖定指令碼時,含有解除鎖定指令碼之交易藉由用新的鎖定指令碼負擔符記(亦即,提議者存款及賞金)(例如,其可使用提議者之公用密鑰負擔符記使得提議者現具有對符 記之完全控制)來利用交易。
如上文所提到,交易T1可經建構以使用OP_CHECKSEQUENCEVERIFY碼鎖定賞金及提議者存款。此准許提議者在挑戰時段期滿之後自動地主張賞金及提議者存款而無需請求者之進一步批准。
可注意到,若不存在對提議者之解決方案的挑戰,則可在工作證明主區塊鏈902(圖9)上執行完整交易而無需執行挑戰協定或幽靈鏈協定。
然而,挑戰者可在挑戰時段期間發出挑戰。舉例而言,在挑戰者方法1200之步驟1202處,挑戰者發出挑戰。挑戰者可能已執行類似於圖11之提議者方法1100中之步驟1102及步驟1104。亦即,挑戰者可能已識別到請求,且可能在於步驟1202處發出挑戰之前已離鏈完成任務。挑戰者亦可能已藉由判定挑戰者之解決方案不同於提議者之解決方案來判定應發出挑戰。舉例而言,挑戰者可執行其解決方案之散列且比較彼散列與提議者之解決方案的散列,且若該等散列不同,則挑戰者可發出挑戰。
在圖12之挑戰者方法1200的步驟1202處,挑戰者在挑戰時段內發出挑戰。挑戰者可藉由將挑戰意圖廣播至區塊鏈網路100來進行此操作。當挑戰經發出時,節點之群組可輔助判定解決方案之有效性。
舉例而言,簡要地參看說明仲裁者方法1300之流程圖的圖13,節點之群組可形成會議,其可用以諸如在出現挑戰時達到分散式共識。如上文所提到,該會議係藉由工作證明區塊鏈網路上之傳送來保證安全。舉例而言,在仲裁者方法1300之步驟1302處,執行仲裁者方法1300之仲裁者可加入會議。舉例而言,仲裁者可執行上文參看圖4所描述之加入會議的方法400。因此,在步驟1302處,仲裁者經由將符記傳送至與會議相 關聯之公用群組位址來加入可被稱作會議之群組以變成群組成員。仲裁者在工作證明區塊鏈網路上進行此傳送。如上文所描述,該群組與臨限簽名方案相關聯,對於該臨限簽名方案,節點控制私用密鑰份額。舉例而言,群組之加入(其亦可被稱作登入)可在幽靈鏈部署期間執行。由於圖13將步驟1302(加入會議)說明為在步驟1306(部署幽靈鏈)之前執行,因此其藉由在幽靈鏈之先前部署期間(亦即,並非在步驟1306處之部署期間)已加入會議的節點執行。然而,步驟1306、步驟1308及步驟1310可例如藉由在步驟1306期間加入群組之節點執行。
在步驟1304處,仲裁者與群組之其他節點協作以偵測由挑戰者在圖12之挑戰者方法1200之步驟1202處發出的挑戰。更特定而言,仲裁者與群組之其他節點協作以偵測回應於由請求者作出之請求而由挑戰者對提議者之工作產品進行的挑戰。
由於上文所論述之交易T1,當發出挑戰時,群組假定控制賞金及提議者存款。亦即,交易T1係建構成可藉由會議在任何時間解除鎖定。因此,當在提議者承諾請求之解決方案之後的被稱作挑戰時間之時間段內偵測到挑戰時,將賞金及存款置於及維持於群組之控制下。因此,當偵測到挑戰時,群組控制賞金及提議者存款。
在群組控制賞金及提議者存款之後且回應於偵測到挑戰者,仲裁者可與群組之其他節點協作以促進由挑戰者傳送符記。舉例而言,回應於偵測到挑戰,會議可建構交易T2,其具有等於賞金及提議者存款之輸入(例如,T2_in=賞金+提議者存款)及等於賞金、提議者存款及挑戰者存款之總和的輸出(例如,T2_out=賞金+提議者存款+挑戰者存款)。因此,值得注意地,在建構交易T2之前,將賞金及提議者存款置於群組之排他性控制下(如上文所描述)。交易T2經組態以在任何時間向群組進行支付。亦即, 交易T2經組態以向會議公用密鑰進行支付。交易T2可經SIGHASH_ALL|SIGHASH_ANYONECANPAY簽名。該仲裁者連同其他仲裁者可將交易T2提供至挑戰者以用於新增挑戰者存款作為輸入。舉例而言,該仲裁者連同其他節點可使交易T2公開可用於其他節點。
在使交易T2公開可用之後,挑戰者將符記作為輸入傳送至交易T2。亦即,挑戰者傳送符記中之符記(在圖12之挑戰者方法1200的步驟1204處)且將此存款置於群組之控制下。更特定而言,將所傳送之符記(「挑戰者存款」)置於會議公用密鑰之控制下。因此,賞金、提議者存款及挑戰者存款皆置於群組之控制下且由會議公用密鑰負擔。如上文在會議描述中較詳細地描述,臨限簽名方案允許臨限數目個會議成員使用各別私用密鑰份額來協作地產生用於涉及賞金、提議者存款及挑戰者存款之交易的有效簽名。提議者存款及挑戰者存款可具有相等大小。
挑戰者亦可承諾其挑戰解決方案。舉例而言,挑戰者可例如使用操作碼OP_PUSHDATA將解決方案之散列新增至交易T2。
將交易T2廣播至主區塊鏈網路,且將該交易挖掘至主區塊鏈網路上使得挑戰者存款由會議公用密鑰負擔。現將賞金、提議者存款及挑戰者存款置於群組之排他性控制下。
因此,挑戰者將替代方案解決方案及存款之證據提供至仲裁者。在將交易T2挖掘至主區塊鏈網路上之後,在仲裁者方法1300之步驟1306處,仲裁者與群組之其他節點協作以部署幽靈鏈來達成分散式共識,藉此解決挑戰。如上文所描述,幽靈鏈係權益證明區塊鏈,其中幽靈鏈之挖掘者係群組之成員。亦即,准許會議之成員在幽靈鏈上挖掘。其在工作證明區塊鏈網路上至集區之成員傳送(亦即,成員存款)充當其權益以允許其在幽靈鏈上挖掘,且任何成員被選擇挖掘之機率與所傳送之相對量(亦即, 其存款之量)成比例。
在幽靈鏈經部署(在步驟1306處)時,可藉由仲裁者協同群組之其他節點創建或獲得用於幽靈鏈之創始區塊。該創始區塊可係來自最後幽靈鏈部署之最終區塊(例如,來自幽靈鏈運行之最後執行個體的終端區塊,且先前運行可能已回應於過去挑戰而進行)。此區塊可含有關於創始支付之資訊。創始支付係尚待進行的數位符記之傳送,該等傳送基於幽靈鏈之先前部署而到期。
另外,在幽靈鏈經部署時,可准許成員登入或可請求自群組除名。在登入階段期間,新成員可登入使得其經分發私用密鑰份額(如上文參看圖4所描述).向新成員提供創始區塊(其藉由臨限值個當前成員鑑認)及在登入處理程序期間產生之任何後續區塊。
預除名階段亦可包括於幽靈鏈運行中。在此預除名階段期間,已請求除名之任何成員可發送對刪除某些私用資料之認證。此認證可係反轉至集區之成員傳送所需的(亦即,認證可係成員存款之傳回所需的)。可在此階段發送可排除反轉成員之先前傳送之不當行為的任何證據(例如,新登入成員可提交已由一或多個當前成員預先承諾但被懷疑係假的創始區塊)。上文參看圖8較詳細地描述用於除名之技術。
幽靈鏈之部署可包括藉由仲裁者協同群組之其他節點進行裁決操作。該裁決操作可包括自提議者及挑戰者接收證據及基於證據解決挑戰。舉例而言,所接收之證據可包括最終解決方案或中間結果中之一者或兩者。中間結果可係執行所請求任務所需之一個步驟或一系列步驟的結果。舉例而言,中間步驟可係用於任務之部分工作產品。最終解決方案係完成所請求任務之最終工作產品。證據可由提議者在圖11之提議者方法1100的步驟1108處及由挑戰者在圖12之挑戰者方法1200的步驟1206處 提交。
仲裁者及會議之其他節點可達成關於解決方案之正確性的分散式共識,藉此藉由執行與請求相關聯之任務以判定正確的解決方案來解決挑戰。舉例而言,可在鏈上(亦即,在幽靈鏈本身上)執行任務(例如,計算或演算法)。群組可藉由比較此等解決方案與在幽靈鏈上判定之其自身的解決方案來判定提議者解決方案及挑戰者解決方案中之哪一者係正確的。在此處理程序期間,群組成員(亦即,幽靈鏈挖掘者)執行計算或分析以達成分散式共識。群組成員在此處理程序期間達到共識且對區塊進行簽名。
為減少計算要求及時間延遲,群組可在使用幽靈鏈解決挑戰的同時執行二元搜尋程序。更特定而言,提議者及挑戰者可各自提供一或多個中間結果以用於其計算或分析。由於計算或分析之輸入對於提議者及挑戰者兩者係相同的(此係因為該輸入已由請求者指定)且由於輸出不同,因此中間步驟之間將存在對挑戰者及提議者有分歧的轉變。一旦識別到此轉變,群組便可使用幽靈鏈僅執行與轉變相關聯之單一操作、步驟或程序。因此,仲裁者協同其他節點可在幽靈鏈上僅執行任務之一部分以判定提議者或挑戰者中之一者在與請求相關聯之任務的中間步驟中已出錯。在二元搜尋技術下,群組可能不會識別正確的解決方案,而是可識別不正確的解決方案。由於群組不判定正確的解決方案,因此未識別為不正確的解決方案未必係正確的。
在幽靈鏈經部署時,仲裁者(協同群組之其他節點)達成共識。實際上,當仲裁者及會議之其他節點解決挑戰時,達到關於共識之判斷。
在於區塊鏈上達到共識(亦即,仲裁判斷)之後,仲裁者與群組之其他節點協作以建構最終交易(待在經完全簽名時挖掘至主區塊鏈網 路)。亦可被稱作結算交易之最終交易可含有各種符記傳送;例如,(i)賞金+存款(其可傳送至在裁決過程中已被視為成功或已證實之節點);(ii)挖掘費用(對於已執行之幽靈鏈挖掘);(iii)創始支付(其係基於幽靈鏈之先前運行而到期的符記傳送且係自創始區塊判定);或(iv)用於經除名成員的傳送至會議集區之符記的反轉(亦即,傳回)。
此交易亦可含有有用的後設資料;例如,結算交易可將解決方案傳送回至區塊鏈網路。因此,在此處理程序期間,群組(亦即,仲裁者協同群組之其他節點)可將共識結果承諾至區塊鏈網路。群組亦可將如在幽靈鏈上以鏈上方式判定之中間計算狀態的默克爾(Merkle)根散列承諾至區塊鏈網路。
因此,可藉由仲裁者協同群組之其他節點分配(在步驟1308處)在群組控制下之符記。根據針對會議(亦即,針對群組)所定義之臨限簽名方案執行此等符記之分配。如上文在會議論述中所提到,臨限簽名方案經組態使得需要至少臨限數目個成員來產生用於會議公用密鑰之有效簽名。因此,仲裁者連同群組之其他節點(亦即,連同其他仲裁者)可藉由使用仲裁者之私用密鑰份額將部分簽名新增至最終交易來同意傳送符記。其他節點亦使用其各別私用密鑰份額來新增部分簽名直至使用在臨限簽名方案下所需之至少臨限數目個私用密鑰份額創建用於最終交易之有效簽名。
在最終交易中分配符記之特定方法將取決於共識結果。舉例而言,當共識係所聲稱解決方案不正確時,仲裁者可與其他節點協作以至少將挑戰者存款傳送至挑戰者及與所挖掘區塊之絕對數目成比例地將提議者存款分配至幽靈鏈之挖掘者。當共識係挑戰者之解決方案將正確時,賞金亦可傳送至挑戰者。因此,挑戰者可在圖12之挑戰者方法1200的步驟1208處接收符記。然而,在使用二元搜尋使得未識別到正確的解決方案, 可將賞金傳回至請求者,該請求者可重新公佈請求,以允許挑戰者基於其答覆來提交提議。替代地,當經由二元搜尋除去提議者時,請求者可將挑戰者之承諾視為提議且可在圖10之請求者方法1000的步驟1006處重新繼續操作。亦即,請求者可基於挑戰者之提議建構新交易T1。此交易可如上文參考步驟1006所描述,除了先前視為挑戰者之節點現被視為提議者以外。因此,新交易T1可建構成由挑戰者在挑戰時段期滿之後藉由提供解決方案來解除鎖定,該解決方案對應於如由挑戰者在上文所描述之交易T2中提供之解決方案之散列。
當共識係提議者之工作產品有效時,仲裁者可與其他節點協作以將賞金及提議者存款傳送至提議者及與所挖掘區塊之絕對數目成比例地將挑戰者存款分配至幽靈鏈之挖掘者。因此,提議者可在圖11之提議者方法1100的步驟1110處接收符記。
若共識係提議者之解決方案及挑戰者之解決方案兩者均不正確,則可與所挖掘區塊之絕對數目成比例地將挑戰者存款之一半及提議者存款之一半分配至挖掘者。可將任何剩餘符記傳回至符記接收自的一方。
請求者在圖10之請求者方法1000的步驟1008處接收解決方案。請求者在步驟1008處接收解決方案之方法可取決於是否發出挑戰。若例如未發出挑戰,則提議者使用上文參考圖10之請求者方法1000之步驟1006所描述的交易T1將解決方案承諾至區塊鏈。然而,若發出挑戰且若幽靈鏈判定請求之解決方案,則幽靈鏈節點可在幽靈鏈終止時(例如,在圖13之仲裁者方法1300的步驟1310處)將解決方案傳輸至請求者。因此,幽靈鏈協定可使參與幽靈鏈之節點在判定解決方案後即自動地將解決方案傳輸至請求者。
另外,在於幽靈鏈上達到共識且建構交易及對其進行有效簽 名之後,幽靈鏈終止(在圖13之仲裁者方法1300的仲裁者方法1310處)。亦即,在解決挑戰後,幽靈鏈即終止。當幽靈鏈終止時,可將關於解決挑戰之資訊傳送回至工作證明區塊鏈網路。
當幽靈鏈終止時,無其他區塊經挖掘至幽靈鏈上。亦即,不同於典型的區塊鏈,幽靈鏈具有終端區塊。幽靈鏈可實施為不分叉之權益證明區塊鏈。不存在分叉意謂當幽靈鏈終止時將存在明確的終端區塊(亦即,群組之所有節點贊同的終端區塊)。在此終端區塊之後,幽靈鏈已達到其目的且不被新增。
如先前所提到,當仲裁者(亦即,會議之節點)達到共識時,節點協作以建構交易,一旦交易有效簽名已經由根據如上文所描述之臨限簽名方案新增部分簽名而產生,便將在主鏈上廣播(在仲裁者方法1308處)該交易。由於此交易本身係多方計算,因此促成此交易之節點可期望因參加此交易而得到獎勵。然而,由於交易係在其經簽名之前指定,因此可推遲因參加簽名(其可包括藉助於交易將部分簽名發送至幽靈鏈以及實際上挖掘區塊)的付報酬,直至進一步幽靈鏈部署。可在仲裁者方法1310中提供此推遲。更具體而言,可藉由允許在幽靈鏈之未來部署期間處理創始支付之資訊來建構終端區塊。此資訊可以用於在最終交易建構之後創建的區塊(諸如,在最終交易之簽名期間創建的區塊)的到期挖掘費用之記錄。亦即,可定義創始支付以獎勵促成最終交易之簽名的節點。幽靈鏈之終端區塊將變成下一幽靈鏈運行(亦即,下次部署幽靈鏈)的創始區塊。因此,記錄創建於終端區塊中以用於未來創始支付。
應注意,根據上文剛剛提到之實施,成員在可藉由挑戰觸發之幽靈鏈運行期間登入或除名。替代實施將亦允許以規則間隔或在其他條件下登入或除名。此可涉及專門用於此目的之幽靈鏈的排程運行,其將類 似於上文所描述之幽靈鏈部署,除了無裁決及共識階段以外。在此狀況下,可從換取登入而需要之「登入費用」至少部分地支付挖掘費用。
亦應注意,上文所描述之仲裁者方法1300描述並非第一幽靈鏈運行之幽靈鏈運行。亦即,仲裁者方法1300描述已在過去某時間部署之幽靈鏈的部署,使得對於幽靈鏈,已存在含有創始支付之終端區塊。可修改仲裁者方法1300以允許部署第一幽靈鏈。舉例而言,第一次部署幽靈鏈時,可用另一種方式建立創始區塊。舉例而言,創始區塊可藉由初始受信任方提供。
有可能藉由使用基於權益證明之區塊鏈來達到分散式共識(亦即,仲裁挑戰),相較於試圖在工作證明區塊鏈網路上達到此共識,可達成較快速共識,此係因為權益證明允許更規則區塊產生且可經組態以允許高頻率區塊產生。另外,藉由執行在幽靈鏈上而非在主區塊鏈本身上達到此分散式共識所必需的操作,任務被推離主區塊鏈網路使得主區塊鏈網路之負擔較少。
另外,幽靈鏈之暫時性質(亦即,幽靈鏈在本質上係臨時的且終止的事實)可避免或減少無利害關係問題通常影響權益證明區塊鏈網路之風險。幽靈鏈網路之臨時性質允許會議要求不反轉幽靈鏈之挖掘者進行的至會議集區之傳送直至幽靈鏈終止。亦即,會議可經組態以不准許任何會議成員在幽靈鏈運行的同時達成其先前至集區之傳送的反轉(亦即,撤回其權益)。
雖然上文所描述之實例已參考可用於比特幣中之操作碼,但本文中所描述之方法亦可與其他類型之區塊鏈網路一起使用。
上文所描述之方法已大體描述為在節點處執行,但方法之特徵依賴於與其他節點之協作且可在其他處執行。
應注意,上文所提及之實施例說明而非限制本發明,且熟習此項技術者將能夠設計許多替代實施例而不背離本發明之如由所附申請專利範圍定義的範圍。在申請專利範圍中,置放於圓括號中之任何參考符號不應被視為限制申請專利範圍。詞「包含(comprising及comprises)」及其類似者並不排除除任何請求項或說明書中整體列出之彼等元件或步驟外的元件或步驟之存在。在本說明書中,「包含(comprises及comprising)」意謂「包括或由……組成」。對元件之單數參考並不排除對此等元件之複數參考,且反之亦然。本發明可藉助於包含若干相異元件之硬體且藉助於經合適程式化之電腦實施。在列舉若干構件之裝置請求項中,此等構件中之若干構件可由硬體之同一個項目體現。在相互不同之附屬請求項中敍述某些措施之純粹實情並不指示不能有利地使用此等措施之組合。
300‧‧‧起始會議之方法
302~308‧‧‧步驟
Claims (16)
- 一種於區塊鏈上之快速分散式共識的電腦實施方法,包含:藉由一節點經由將符記傳送至一公用群組位址來加入一群組以變成一群組成員,該群組與一臨限簽名方案相關聯,對於該方案,該節點控制一私用密鑰份額,符記之該傳送係在一工作證明區塊鏈網路上進行;及藉由該節點回應於由一挑戰者進行的對一提議者之工作產品之一挑戰而與該群組之其他節點協作以達成關於該工作產品之正確性的一分散式共識,該挑戰回應由一請求者作出之一請求,其中達成該分散式共識包括:部署一幽靈鏈以達成解決該挑戰之該分散式共識,該幽靈鏈係一權益證明區塊鏈,其中該幽靈鏈之挖掘者係該群組之成員;及在解決該挑戰後即終止該幽靈鏈。
- 如申請專利範圍第1項所述之於區塊鏈上之快速分散式共識的電腦實施方法進一步包含:與該群組之其他節點協作以建構一交易,將符記傳送至該群組,其中一賞金及提議者存款作為輸入且該賞金、該提議者存款及一挑戰者存款作為輸出,且將該交易提供至該挑戰者以用於新增該挑戰者存款作為輸入,其中該賞金、該提議者存款及該挑戰者存款係符記。
- 如申請專利範圍第2項所述之於區塊鏈上之快速分散式共識的電腦實施方法,其中在建構該交易之前將該賞金及該提議者存款置於該群組之排他性控制下。
- 如申請專利範圍第3項所述之於區塊鏈上之快速分散式共識的電腦實 施方法,其中當在該提議者承諾該請求之一解決方案之後的一時間段內偵測到該挑戰時,將該賞金及該提議者存款置於該群組之控制下。
- 如申請專利範圍第2項至第4項中任一項所述之於區塊鏈上之快速分散式共識的電腦實施方法,其進一步包含與該群組之其他節點協作以在該挑戰成功時進行以下操作:至少將該挑戰者存款傳送至該挑戰者;及與所挖掘區塊之絕對數目成比例地將該提議者存款分配至該幽靈鏈之挖掘者。
- 如申請專利範圍第2項至第4項中任一項所述之於區塊鏈上之快速分散式共識的電腦實施方法,其進一步包含與該群組之其他節點協作以在該提議者之該工作產品經判定為有效之情況下進行以下操作:將該賞金及該提議者存款傳送至該提議者;及與所挖掘區塊之絕對數目成比例地將該挑戰者存款分配至該幽靈鏈之挖掘者。
- 如申請專利範圍第5項所述之於區塊鏈上之快速分散式共識的電腦實施方法,其中該傳送係藉由以下操作執行:藉由該節點使用該私用密鑰份額將一部分簽名新增至一交易,直至使用在該臨限簽名方案下所需之至少臨限數目個私用密鑰份額創建一有效簽名,其他節點基於各別私用密鑰份額而將部分簽名新增至該交易。
- 如申請專利範圍第6項所述之於區塊鏈上之快速分散式共識的電腦實施方法,其中該傳送係藉由以下操作執行:藉由該節點使用該私用密鑰份額將一部分簽名新增至一交易,直至使用在該臨限簽名方案下所需之至少臨限數目個私用密鑰份額創建一有效簽名,其他節點基於各別私用密鑰份額而將部分簽名新增至該交易。
- 如申請專利範圍第1項所述之於區塊鏈上之快速分散式共識的電腦實施方法,其中部署該幽靈鏈以解決該挑戰包含自該提議者及該挑戰者接收證據及基於所接收證據解決該挑戰。
- 如申請專利範圍第9項所述之於區塊鏈上之快速分散式共識的電腦實施方法,其中該所接收證據包括一最終解決方案或一中間結果中之一者或兩者。
- 如申請專利範圍第1項所述之於區塊鏈上之快速分散式共識的電腦實施方法,其中部署該幽靈鏈以解決該挑戰包含在該幽靈鏈上執行與該請求相關聯之一任務以判定一正確的解決方案。
- 如申請專利範圍第1項所述之於區塊鏈上之快速分散式共識的電腦實施方法,其中部署該幽靈鏈以解決該挑戰包含:在該幽靈鏈上執行該任務之一部分以判定該提議者或該挑戰者中之一者在與該請求相關聯之一任務的一中間步驟中已出錯。
- 如申請專利範圍第1項所述之於區塊鏈上之快速分散式共識的電腦實施方法,其中終止該幽靈鏈包含將關於該分散式共識之資訊傳送至該工作證明區塊鏈網路。
- 如申請專利範圍第1項所述之於區塊鏈上之快速分散式共識的電腦實施方法,其中終止該幽靈鏈包含建構一終端區塊,其包括用於在一最終交易之一簽名期間創建之區塊的到期挖掘費用之一記錄。
- 一種電腦可讀儲存媒體,其包含電腦可執行指令,該等指令在經執行時組態一處理器執行如申請專利範圍第1項至第14項中任一項所述之方法。
- 一種電子裝置,其包含:一介面裝置; 一處理器,其耦接至該介面裝置;及一記憶體,其耦接至該處理器,該記憶體具有儲存於其上之電腦可執行指令,該等指令在經執行時組態該處理器執行如申請專利範圍第1項至第14項中任一項所述之方法。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1705869.4 | 2017-04-11 | ||
GB1705868.6 | 2017-04-11 | ||
GB1705867.8 | 2017-04-11 | ||
GBGB1705868.6A GB201705868D0 (en) | 2017-04-11 | 2017-04-11 | Computer-implemented system and method |
GBGB1705867.8A GB201705867D0 (en) | 2017-04-11 | 2017-04-11 | Computer-implemented system and method |
GBGB1705869.4A GB201705869D0 (en) | 2017-04-11 | 2017-04-11 | Computer-implemented system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201842757A TW201842757A (zh) | 2018-12-01 |
TWI765019B true TWI765019B (zh) | 2022-05-21 |
Family
ID=62002189
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107112040A TWI765019B (zh) | 2017-04-11 | 2018-04-09 | 區塊鏈上之快速分散式共識 |
TW107112355A TWI770160B (zh) | 2017-04-11 | 2018-04-11 | 私密金鑰對動態節點群組之安全再用 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107112355A TWI770160B (zh) | 2017-04-11 | 2018-04-11 | 私密金鑰對動態節點群組之安全再用 |
Country Status (6)
Country | Link |
---|---|
US (6) | US11538023B2 (zh) |
EP (4) | EP3610437A1 (zh) |
JP (7) | JP7189144B2 (zh) |
CN (3) | CN110546664A (zh) |
TW (2) | TWI765019B (zh) |
WO (3) | WO2018189656A1 (zh) |
Families Citing this family (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110546664A (zh) * | 2017-04-11 | 2019-12-06 | 区块链控股有限公司 | 区块链之间的安全转移 |
CN107301536B (zh) * | 2017-06-12 | 2019-07-12 | 腾讯科技(深圳)有限公司 | 资源转移方法及装置 |
WO2019000087A1 (en) * | 2017-06-28 | 2019-01-03 | Kitaru Innovations Inc. | METHOD OF OPERATING AND USING A CRYPTOMONIA |
KR20200099149A (ko) * | 2017-12-15 | 2020-08-21 | 엔체인 홀딩스 리미티드 | 낮은 엔트로피 패스워드로 블록체인 트랜잭션을 승인하기 위한 컴퓨터 구현 시스템 및 방법 |
WO2019143852A1 (en) | 2018-01-17 | 2019-07-25 | Medici Ventrues, Inc. | Multi-approval system using m of n keys to perform an action at a customer device |
US11640640B2 (en) | 2018-01-23 | 2023-05-02 | Click IPO Holdings, LLC | Systems and methods for allocating assets to directed and interest-based participants |
US10298585B1 (en) * | 2018-01-26 | 2019-05-21 | Accenture Global Solutions Limited | Blockchain interoperability |
US11038689B2 (en) * | 2018-03-01 | 2021-06-15 | FinancialForce.com, Inc. | Efficient block chain generation |
CN108629583A (zh) * | 2018-04-16 | 2018-10-09 | 上海分赋信息科技有限公司 | 基于分布式技术实现数字资产在映射链上的映射系统及相应方法 |
CN112166619A (zh) * | 2018-04-16 | 2021-01-01 | 斯洛克It有限公司 | 使用最小检验客户端的去信任、无状态激励远程节点网络 |
US11356262B2 (en) * | 2018-07-03 | 2022-06-07 | Royal Bank Of Canada | System and method for anonymous location verification |
GB201811263D0 (en) * | 2018-07-10 | 2018-08-29 | Netmaster Solutions Ltd | A method and system for managing digital using a blockchain |
US11444779B2 (en) | 2018-08-02 | 2022-09-13 | Paypal, Inc. | Techniques for securing application programming interface requests using multi-party digital signatures |
WO2020052751A1 (en) * | 2018-09-12 | 2020-03-19 | Huawei Technologies Co., Ltd. | Device and method for attesting distributed services |
CN109391619B (zh) * | 2018-10-22 | 2021-08-03 | 上海幼鸢网络科技有限公司 | 基于权限的跨链通证交换方法及计算机可读介质 |
CN109583230A (zh) | 2018-10-31 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 基于区块链的数据存证方法及装置、电子设备 |
CN109327528B (zh) * | 2018-10-31 | 2020-10-20 | 创新先进技术有限公司 | 一种基于区块链的节点管理方法和装置 |
SG11202104293RA (en) * | 2018-11-02 | 2021-05-28 | Verona Holdings Sezc | A tokenization platform |
US11240025B2 (en) | 2018-11-09 | 2022-02-01 | Ares Technologies, Inc. | Systems and methods for distributed key storage |
CN109543075B (zh) * | 2018-11-14 | 2020-09-22 | 全链通有限公司 | 区块生成方法和系统 |
EP3654578B1 (en) | 2018-11-16 | 2022-04-06 | SafeTech BV | Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information |
CN111199489A (zh) * | 2018-11-16 | 2020-05-26 | 上海派链信息科技有限公司 | 用于跨区块链资产管理的方法、设备、计算机可读存储介质和计算机程序产品 |
US20200175503A1 (en) * | 2018-11-29 | 2020-06-04 | Paypal, Inc. | Resource-based distributed public ledger system |
US20220014367A1 (en) * | 2018-12-13 | 2022-01-13 | Login Id Inc. | Decentralized computing systems and methods for performing actions using stored private data |
US11720913B2 (en) | 2018-12-18 | 2023-08-08 | Rokfin, Inc. | Cryptographic-token minting scheduler |
US11017329B2 (en) | 2018-12-18 | 2021-05-25 | Rokfin, Inc. | Dampening token allocations based on non-organic subscriber behaviors |
CA3123961A1 (en) * | 2018-12-19 | 2020-06-25 | Perk Hero Software Inc. | Method, system, and computer readable medium for transferring cryptographic tokens |
CN109413228B (zh) * | 2018-12-20 | 2021-06-01 | 全链通有限公司 | 基于区块链域名系统的IPv6生成方法和系统 |
WO2020163247A1 (en) * | 2019-02-04 | 2020-08-13 | Navier, Inc. | Interpreting packet communications |
WO2020176950A1 (en) * | 2019-03-07 | 2020-09-10 | Ziva Connect Pty Ltd | Systems, methods and devices for provision of a secret |
KR20240011890A (ko) * | 2019-03-15 | 2024-01-26 | 라인플러스 주식회사 | 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템 |
US11038685B1 (en) | 2019-03-22 | 2021-06-15 | Turing Technology, Inc. | Correcting blockchain transactions with cryptocurrency type mistakes |
EP3610405B1 (en) * | 2019-03-26 | 2021-07-21 | Advanced New Technologies Co., Ltd. | Program execution and data proof scheme using multiple key pair signatures |
JP6788875B2 (ja) * | 2019-04-16 | 2020-11-25 | 株式会社IndieSquare | ブロック・チェーン間でデジタル資産を転送するシステム |
WO2019120336A2 (en) * | 2019-04-19 | 2019-06-27 | Alibaba Group Holding Limited | Methods and devices for establishing communication between blockchain networks |
ES2872101T3 (es) * | 2019-04-26 | 2021-11-02 | Advanced New Technologies Co Ltd | Gestión de claves distribuidas para entornos de ejecución confiables |
CN110246038A (zh) * | 2019-04-26 | 2019-09-17 | 众安信息技术服务有限公司 | 一种区块链交易快速确认方法及系统 |
SG11202000783UA (en) * | 2019-04-29 | 2020-02-27 | Alibaba Group Holding Ltd | Methods and devices for validating transaction in blockchain system |
WO2020227920A1 (en) * | 2019-05-14 | 2020-11-19 | Daolicloud Information Technology (Beijing) Co., Ltd. | Trustlessly agreeable distributed consensus authentication for identity as a public key |
US11108545B2 (en) | 2019-05-31 | 2021-08-31 | Advanced New Technologies Co., Ltd. | Creating a blockchain account and verifying blockchain transactions |
CN110264354B (zh) * | 2019-05-31 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 创建区块链账户及验证区块链交易的方法及装置 |
CA3141042A1 (en) | 2019-06-13 | 2020-12-17 | Luis Eduardo Gutierrez-Sheris | System and method using a fitness-gradient blockchain consensus and providing advanced distributed ledger capabilities via specialized data records |
US10790990B2 (en) | 2019-06-26 | 2020-09-29 | Alibaba Group Holding Limited | Ring signature-based anonymous transaction |
US11238447B2 (en) | 2019-06-26 | 2022-02-01 | Advanced New Technologies Co., Ltd. | Blockchain transactions with ring signatures |
CN112418862A (zh) * | 2019-06-26 | 2021-02-26 | 创新先进技术有限公司 | 采用环签名的机密区块链交易的实现方法及装置 |
CN110335042B (zh) * | 2019-06-26 | 2020-10-20 | 创新先进技术有限公司 | 基于环签名的匿名交易方法及装置 |
CN110471795B (zh) * | 2019-07-31 | 2020-10-02 | 阿里巴巴集团控股有限公司 | 区块链状态数据恢复方法及装置、电子设备 |
US11250438B2 (en) * | 2019-07-31 | 2022-02-15 | Advanced New Technologies Co., Ltd. | Blockchain-based reimbursement splitting |
US20220173910A1 (en) * | 2019-08-16 | 2022-06-02 | Hewlett-Packard Development Company, L.P. | Remote commands |
US11301845B2 (en) * | 2019-08-19 | 2022-04-12 | Anchor Labs, Inc. | Cryptoasset custodial system with proof-of-stake blockchain support |
US11824980B2 (en) * | 2019-08-27 | 2023-11-21 | Intel Corporation | Enhanced security for multi-link wireless operations |
US11934386B2 (en) * | 2019-09-02 | 2024-03-19 | Worldline | Migration of a data blockchain |
JP2022553946A (ja) * | 2019-11-08 | 2022-12-27 | アルゴランド,インコーポレイテッド | プライベート及びパブリックブロックチェーンを使用した取引の実施 |
CN111199504B (zh) * | 2019-12-29 | 2023-09-26 | 杭州拓深科技有限公司 | 一种基于区块链的去中心化消防维保监管方法 |
CN113111389A (zh) * | 2020-01-13 | 2021-07-13 | 梅特勒-托利多(常州)精密仪器有限公司 | 测量设备的信息管理方法及装置 |
CN111260364B (zh) * | 2020-01-22 | 2023-10-20 | 上海墨珩网络科技有限公司 | 一种基于区块链的可扩展快速支付方法及系统 |
CN111314067B (zh) * | 2020-02-05 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 区块存储方法、装置、计算机设备及存储介质 |
CN111355631B (zh) * | 2020-02-18 | 2021-07-06 | 杭州复杂美科技有限公司 | 一种区块链异常识别方法和系统、设备及存储介质 |
CN111417946B (zh) * | 2020-02-24 | 2023-08-04 | 支付宝(杭州)信息技术有限公司 | 基于区块链的共识处理 |
CN111371558B (zh) * | 2020-02-26 | 2024-01-16 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、电子设备及介质 |
CN111464538B (zh) * | 2020-03-31 | 2022-02-01 | 中国联合网络通信集团有限公司 | 资产交易方法和系统、存储介质、资产交易后台 |
CN111464636B (zh) * | 2020-03-31 | 2021-12-07 | 中国联合网络通信集团有限公司 | 资产交易方法和系统、存储介质 |
CN111490878B (zh) * | 2020-04-09 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 密钥生成方法、装置、设备及介质 |
KR20210142983A (ko) * | 2020-05-19 | 2021-11-26 | 삼성에스디에스 주식회사 | 오프-체인 데이터 공유 시스템 및 그 방법 |
GB2596072A (en) * | 2020-06-15 | 2021-12-22 | Nchain Holdings Ltd | Generating secret shares |
US11803849B1 (en) * | 2020-07-30 | 2023-10-31 | Mark Lawrence | Method and apparatus for decentralized micro businesses |
CN112118292A (zh) * | 2020-08-13 | 2020-12-22 | 北京新盛云佳科技有限公司 | 用于跨链通信的方法、装置、网络节点和存储介质 |
CN112037068B (zh) * | 2020-09-17 | 2024-04-23 | 广州运通链达金服科技有限公司 | 资源转移方法、系统、装置、计算机设备和存储介质 |
CN112270005B (zh) * | 2020-10-28 | 2022-04-26 | 支付宝(杭州)信息技术有限公司 | 一种数据传输方法和系统 |
CN112419060B (zh) * | 2020-11-20 | 2024-03-22 | 上海树图区块链研究院 | 资产托管系统、资产管理方法、节点及介质 |
CN112600671B (zh) * | 2021-03-02 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN113301013B (zh) * | 2021-04-14 | 2022-12-16 | 广州广电运通金融电子股份有限公司 | 基于区块链的文化资产交易系统、方法、装置及存储介质 |
CN112799636B (zh) * | 2021-04-14 | 2021-08-27 | 北京百度网讯科技有限公司 | 随机数生成方法、装置、设备和存储介质 |
US11640639B2 (en) * | 2021-05-04 | 2023-05-02 | Click IPO Holdings, LLC | Systems and methods for allocating fractional shares of a public offering |
EP4099248A1 (en) | 2021-05-31 | 2022-12-07 | Billon Sp. z o.o. | A system and method for trading cryptocurrencies, tokenized assets and/or fiat currencies on a permission-less unified and interoperable blockchain distributed ledger system with anchor-of-trust organizations |
US11538027B1 (en) * | 2021-07-07 | 2022-12-27 | Ava Labs, Inc. | Secure and trustworthy bridge for transferring assets across different networks with an updating pool of wardens |
US20230013119A1 (en) * | 2021-07-19 | 2023-01-19 | International Business Machines Corporation | Tainted asset marker management |
CN113347009B (zh) * | 2021-08-05 | 2022-01-07 | 成都飞机工业(集团)有限责任公司 | 基于椭圆曲线密码体制的无证书门限签密方法 |
GB2609907B (en) * | 2021-08-09 | 2023-12-27 | Nchain Licensing Ag | Generating digital signatures |
US11960579B2 (en) | 2022-02-17 | 2024-04-16 | Bank Of America Corporation | Smart glass and blockchain digital signature implementation |
US11695772B1 (en) * | 2022-05-03 | 2023-07-04 | Capital One Services, Llc | System and method for enabling multiple auxiliary use of an access token of a user by another entity to facilitate an action of the user |
CN115086313B (zh) * | 2022-05-24 | 2023-07-14 | 复旦大学 | 一种维护区块链链下网络数据一致性的方法 |
CN114826592B (zh) * | 2022-06-22 | 2022-10-14 | 腾讯科技(深圳)有限公司 | 基于区块链的密钥生成方法、装置、电子设备和可读介质 |
US11777751B1 (en) | 2022-09-15 | 2023-10-03 | Analog One Corporation | Methods and systems for decentralized consensus protocol in timechain networks |
GB202214597D0 (en) * | 2022-10-04 | 2022-11-16 | Cambridge Cryptographic Ltd | Innovation game 1 |
CN117648710B (zh) * | 2024-01-30 | 2024-04-05 | 北京点聚信息技术有限公司 | 一种ofd版式文档权限控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160330034A1 (en) * | 2015-05-07 | 2016-11-10 | Blockstream Corporation | Transferring ledger assets between blockchains via pegged sidechains |
TW201643783A (zh) * | 2015-05-06 | 2016-12-16 | 現代財富控股有限公司 | 加密貨幣的電子交易系統及其方法 |
CN106534273A (zh) * | 2016-10-31 | 2017-03-22 | 中金云金融(北京)大数据科技股份有限公司 | 区块链元数据存储系统及其存储方法与检索方法 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2665478A1 (en) * | 2006-10-06 | 2008-04-10 | Fmr Llc | Secure multi-channel authentication |
US10017067B2 (en) * | 2012-08-09 | 2018-07-10 | Technische Universitat Dortmund | Method for ensuring functional reliability in electromobility by means of digital certificates |
WO2014196966A1 (en) * | 2013-06-04 | 2014-12-11 | Intel Corporation | Technologies for hardening the security of digital information on client platforms |
US9892460B1 (en) | 2013-06-28 | 2018-02-13 | Winklevoss Ip, Llc | Systems, methods, and program products for operating exchange traded products holding digital math-based assets |
US10269009B1 (en) | 2013-06-28 | 2019-04-23 | Winklevoss Ip, Llc | Systems, methods, and program products for a digital math-based asset exchange |
US20150227968A1 (en) * | 2014-02-07 | 2015-08-13 | Fedex Corporate Services, Inc. | Systems and methods for creating and delivering digital advertisements in a delivery ad network |
US9672499B2 (en) | 2014-04-02 | 2017-06-06 | Modernity Financial Holdings, Ltd. | Data analytic and security mechanism for implementing a hot wallet service |
US11531495B2 (en) * | 2014-04-21 | 2022-12-20 | David Lane Smith | Distributed storage system for long term data storage |
US10396992B2 (en) | 2014-06-30 | 2019-08-27 | Vescel, Llc | Authentication of a user and/or a device through parallel synchronous update of immutable hash histories |
SG10201808109QA (en) * | 2014-07-11 | 2018-10-30 | Loyyal Corp | Distributed ledger protocol to incentivize transactional and non-transactional commerce |
US9836908B2 (en) | 2014-07-25 | 2017-12-05 | Blockchain Technologies Corporation | System and method for securely receiving and counting votes in an election |
US9749297B2 (en) | 2014-11-12 | 2017-08-29 | Yaron Gvili | Manicoding for communication verification |
US20160321751A1 (en) | 2015-04-28 | 2016-11-03 | Domus Tower, Inc. | Real-time settlement of securities trades over append-only ledgers |
US10635471B2 (en) | 2015-05-15 | 2020-04-28 | Joshua Paul Davis | System and method for an autonomous entity |
US20160342977A1 (en) | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
US20160379212A1 (en) | 2015-06-26 | 2016-12-29 | Intel Corporation | System, apparatus and method for performing cryptographic operations in a trusted execution environment |
EP3324355B1 (en) | 2015-07-13 | 2020-08-26 | Nippon Telegraph and Telephone Corporation | Contract agreement method, agreement verification method, contract agreement system, agreement verification device, contract agreement device, contract agreement program and agreement verification program |
US10402792B2 (en) | 2015-08-13 | 2019-09-03 | The Toronto-Dominion Bank | Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers |
CN105488675B (zh) | 2015-11-25 | 2019-12-24 | 布比(北京)网络技术有限公司 | 一种区块链的分布式共享总账构建方法 |
CN105719185B (zh) * | 2016-01-22 | 2019-02-15 | 杭州复杂美科技有限公司 | 区块链的数据对比及共识方法 |
US10108812B2 (en) | 2016-01-28 | 2018-10-23 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
US20170331896A1 (en) | 2016-05-13 | 2017-11-16 | De La Rue International Limited | Methods and systems for processing assets |
CN106503992A (zh) | 2016-10-18 | 2017-03-15 | 北京天德科技有限公司 | 一种将交易信息和账户信息分别存储的区块链 |
US20180225661A1 (en) * | 2017-02-07 | 2018-08-09 | Microsoft Technology Licensing, Llc | Consortium blockchain network with verified blockchain and consensus protocols |
US11233656B2 (en) * | 2017-02-24 | 2022-01-25 | Nec Corporation | Method for mining a block in a decentralized blockchain consensus network |
US20180276626A1 (en) * | 2017-03-21 | 2018-09-27 | Dappsters, LLC | Blockchain systems and methods |
US10805090B1 (en) | 2017-03-24 | 2020-10-13 | Blockstream Corporation | Address whitelisting using public/private keys and ring signature |
WO2018186391A1 (ja) | 2017-04-03 | 2018-10-11 | 株式会社野村総合研究所 | 検査システム、検査方法、およびコンピュータプログラム |
CN110546664A (zh) * | 2017-04-11 | 2019-12-06 | 区块链控股有限公司 | 区块链之间的安全转移 |
-
2018
- 2018-04-09 CN CN201880024728.4A patent/CN110546664A/zh active Pending
- 2018-04-09 WO PCT/IB2018/052470 patent/WO2018189656A1/en unknown
- 2018-04-09 CN CN201880024732.0A patent/CN110574059A/zh active Pending
- 2018-04-09 WO PCT/IB2018/052471 patent/WO2018189657A1/en unknown
- 2018-04-09 CN CN201880024757.0A patent/CN110494875A/zh active Pending
- 2018-04-09 WO PCT/IB2018/052472 patent/WO2018189658A1/en unknown
- 2018-04-09 EP EP18718230.8A patent/EP3610437A1/en active Pending
- 2018-04-09 JP JP2019551618A patent/JP7189144B2/ja active Active
- 2018-04-09 EP EP18718229.0A patent/EP3610436B1/en active Active
- 2018-04-09 EP EP18718228.2A patent/EP3610435A1/en active Pending
- 2018-04-09 JP JP2019551541A patent/JP7012741B2/ja active Active
- 2018-04-09 US US16/604,966 patent/US11538023B2/en active Active
- 2018-04-09 JP JP2019551542A patent/JP2020517135A/ja active Pending
- 2018-04-09 EP EP23163313.2A patent/EP4235549A3/en active Pending
- 2018-04-09 TW TW107112040A patent/TWI765019B/zh active
- 2018-04-09 US US16/604,961 patent/US11403622B2/en active Active
- 2018-04-09 US US16/604,959 patent/US11348095B2/en active Active
- 2018-04-11 TW TW107112355A patent/TWI770160B/zh active
-
2022
- 2022-01-18 JP JP2022005539A patent/JP7319404B2/ja active Active
- 2022-05-27 US US17/827,168 patent/US20220366401A1/en active Granted
- 2022-07-29 US US17/877,119 patent/US20230016360A1/en active Pending
- 2022-12-01 JP JP2022192596A patent/JP7442606B2/ja active Active
- 2022-12-22 US US18/087,801 patent/US20230237468A1/en active Pending
-
2023
- 2023-04-04 JP JP2023060524A patent/JP2023082161A/ja active Pending
- 2023-07-20 JP JP2023117943A patent/JP2023126595A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201643783A (zh) * | 2015-05-06 | 2016-12-16 | 現代財富控股有限公司 | 加密貨幣的電子交易系統及其方法 |
US20160330034A1 (en) * | 2015-05-07 | 2016-11-10 | Blockstream Corporation | Transferring ledger assets between blockchains via pegged sidechains |
CN106534273A (zh) * | 2016-10-31 | 2017-03-22 | 中金云金融(北京)大数据科技股份有限公司 | 区块链元数据存储系统及其存储方法与检索方法 |
Non-Patent Citations (1)
Title |
---|
網路文獻 Arvind Narayanan, et al., "Bitcoin and Cryptocurrency Technologies", Princeton University Press, Feb. 9, 2016. [https://lopp.net/pdf/princeton_bitcoin_book.pdf] * |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI765019B (zh) | 區塊鏈上之快速分散式共識 | |
JP7420890B2 (ja) | ブロックチェーンで実施されるイベントロック暗号化の方法及びシステム | |
US20230120854A1 (en) | Secure blockchain-based consensus | |
JP2023051935A (ja) | ブロックチェーン・ネットワークに関する方法 | |
CN110720102A (zh) | 用于通用计算的区块链 | |
JP2024056954A (ja) | 動的ノードグループのための秘密鍵のセキュアな再利用 |