TW201946414A - 用以控制參與區塊鏈網路的循環排序節點組所實行任務之電腦實施方法與系統 - Google Patents

用以控制參與區塊鏈網路的循環排序節點組所實行任務之電腦實施方法與系統 Download PDF

Info

Publication number
TW201946414A
TW201946414A TW108113412A TW108113412A TW201946414A TW 201946414 A TW201946414 A TW 201946414A TW 108113412 A TW108113412 A TW 108113412A TW 108113412 A TW108113412 A TW 108113412A TW 201946414 A TW201946414 A TW 201946414A
Authority
TW
Taiwan
Prior art keywords
node
nodes
values
transaction
value
Prior art date
Application number
TW108113412A
Other languages
English (en)
Other versions
TWI807014B (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 TW201946414A publication Critical patent/TW201946414A/zh
Application granted granted Critical
Publication of TWI807014B publication Critical patent/TWI807014B/zh

Links

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/29Payment schemes or models characterised by micropayments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • 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/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0825Key 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
    • 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
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Power Engineering (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本案揭示一種控制及協調一分散式系統中之處理步驟的方法。該方法可由參與一區塊鏈網路之一循環排序節點組中之一節點實施。該方法包括自一緊接在後之節點接收對應於與自彼節點至緊接在一監督節點前之一節點的節點相關聯之處理步驟的可能最終結果之組合的值。該等值係基於對應於可能輸出之與該等節點相關聯的公用密鑰及監督者之公用密鑰。狀態值係基於該等值及對應於關於該節點之一處理步驟之該等可能最終結果的公用密鑰而產生,且與該監督者及一緊接在前之節點共用。準備一區塊鏈交易以在供應對應於所接收值之一解除鎖定值組中之一者後將對一資源之控制自該節點傳輸至該緊接在後之節點。

Description

用以控制參與區塊鏈網路的循環排序節點組所實行任務之電腦實施方法與系統
發明領域
本申請案大體上係關於非集中式計算系統。更特定而言,本發明係關於控制及協調與分散式計算系統之節點相關聯的處理步驟,包括使用區塊鏈網路導向及控制經排序處理步驟。本發明亦係關於分散式計算系統及網路內之資源的分配,及密碼編譯技術及機制用於實施及實行此類資源之控制及分配且用於系統內之實體/節點之階層式組織及配置的使用。
發明背景
分散式系統之優點眾多,包括抵抗潛在攻擊、共用資源及努力等。在分散式計算系統中,充當分散式系統中之節點的各種計算裝置可經由網路通訊,可在此等節點之間交換訊息。此訊息交換可例如允許節點協作以執行計算任務。此類任務可涉及跨越各種節點分散之處理。此分散式處理可能需要控制及協調與各種節點相關聯之步驟。舉例而言,可實行特定處理次序。
分散式系統之一個實例可出現在無人駕駛汽車之情況下。舉例而言,無人駕駛汽車可包括各種模組,其各自具有其自身的感測器資料。此等模組中之各者可負責執行特定處理步驟。另外,無人駕駛汽車可與一或多個內部節點及一或多個外部節點商議以執行某些處理,諸如可能與車輛控制相關。舉例而言,外部節點可基於網路或雲端。
在此類分散式系統中,可能有必要或需要能夠實行處理任務中之步驟的排序。舉例而言,節點可能需要按次序執行處理步驟。處理步驟可接著組合以產生任務之多個可能結果中之一者。關於分散式系統而常常遇到之其他技術挑戰包括由網路或系統內之資源分配及如何以高效且穩固之方式組織行動者(亦即,節點)及其間的通訊所引起的困難。節點之組織及階層考慮因素亦在分散式系統內呈現挑戰。經由數學及密碼編譯技術實行及判定分散式系統內之階層式配置及控制流程將為有利的。此將提供與程序之安全及自動化相關的益處。
通常,提供線上表決或決策製定協定之嘗試係以嘗試防止濫用之方式但以依賴於中央授權單位之方式建構,以證實及考量表決或反饋。中央授權單位可使用諸如盲簽名及同態加密之不同密碼編譯基元,以將秘密性及適用性之驗證添加至投票表決(ballot vote)-參見例如R. Riemann及S. Grumbach之「Distributed Protocols at the Rescue for Trustworthy Online Voting」,其經由arXiv預印本arXiv:1705.04480可得。舉例而言,集中式表決協定描述於D. L. Chaum (1981年)之「Untraceable electronic mail, return addresses, and digital pseudonyms」中(ACM通訊,24(2),84至90頁)。在Chaum之協定中,參與者將其表決發送至集中式混合授權單位,集中式混合授權單位在其廣播之前使用混合網路設置來重整及加密表決,以便偽裝表決至表決者鏈路。
其他早期工作移除對中央受信任授權單位之相依性,但依賴於參與者間之協作。舉例而言,A.C. Yao (1982年11月)在電腦科學基礎 (1982 年,SFCS'08 )第23 屆年度研討會 (第160至164頁)上之「Protocols for secure computations」描述安全多合作對象計算(MPC)協定,其目標為使得一使用者組能夠計算其想要保持秘密而不需要受信任第三合作對象之其聯合私用輸入的功能。MPC可允許合作對象私密且安全地聯合計算其平均表決,但對應地,依賴於合作對象間的協作。
更基本而言,前述早期工作中之各者意欲用於獨立選擇而不用於非獨立選擇,更不必說用於以規定次序執行處理步驟以達成結果。
鑒於以上內容,一個技術問題可為如何提供允許且實行分散式系統中之節點進行的處理步驟之排序的解決方案。另一技術問題可為如何提供由分散式系統中之此排序處理產生的結果之防篡改或抗篡改記錄。另一技術問題可為如何使用密碼編譯技術來實行分散式系統內之控制及/或階層及許可(例如,存取許可)。
提供前述技術問題中之一或多者的解決方案可涉及使用區塊鏈。在此文件中,使用「區塊鏈」一詞來包括所有形式的基於電腦之電子分散式總帳。此等總帳包括基於共識之區塊鏈及交易鏈技術、許可及未許可總帳、共用總帳及其變化。區塊鏈技術之最廣泛已知之應用為比特幣總賬,但已提議並開發出其他區塊鏈實施方案。雖然比特幣在本文中可僅出於方便及說明目的而提及,但應注意,本申請案之主題不限於與比特幣區塊鏈一起使用,且替代區塊鏈實施方案及協定屬於本申請案之範圍內。
區塊鏈係同級間電子總帳,其實施為由區塊組成的基於電腦之非集中式系統,區塊又由交易組成。各交易係編碼數位資產之控制在區塊鏈系統中之位址之間的傳送且包括至少一個輸入及至少一個輸出的資料結構。各區塊含有先前區塊之散列,使得區塊變為鏈接在一起以產生自一開始便已寫入至區塊鏈之所有交易的永久性不可變更之記錄。
區塊鏈可用於廣泛多種應用中。舉例而言,區塊鏈可用於提供反映一或多個商品之所有權的總帳。舉例而言,在比特幣區塊鏈中,總帳反映比特幣及其部分之所有權。一些此類商品可表示底層單元,諸如計算資源之單元。
發明概要
根據本申請案,提供如在所附申請專利範圍中定義之方法及系統。
本發明可提供一種用於分散式控制之電腦實施方法。該方法可包括藉由參與一區塊鏈網路之一循環排序節點組中之一特定節點自緊接在特定節點後之一節點接收對應於處理步驟之可能最終結果之組合的值,該等處理步驟與自緊接在後之節點至緊接在一監督節點前之一節點的節點相關聯。該等值可基於與節點相關聯的各自對應於與彼節點相關聯之一處理步驟之可能結果的公用密鑰,且基於監督節點之一公用密鑰。該方法可包括藉由特定節點基於所接收值且基於對應於與特定節點相關聯之一處理步驟之可能最終結果的公用密鑰而產生狀態值。該方法可包括藉由特定節點與監督節點且與緊接在特定節點前之一節點共用狀態值。該方法可包括藉由特定節點使用狀態值準備一區塊鏈交易,該區塊鏈交易經配置以回應於滿足一執行條件而將對一資源之控制自與特定節點相關聯之一源位址傳輸至緊接在後之節點之一接收位址,執行條件包括供應對應於所接收值之多個解除鎖定值中之任一者。
在一些實施方案中,節點可對應於與一系統相關聯之模組,且與一給定節點相關聯之一處理步驟的可能最終結果可對應於該系統之一控制系統的一相關聯模組之輸出。
在一些實施方案中,所接收值中之各者可藉由組合與監督節點相關聯之一公用密鑰與對應於處理步驟之可能最終結果的組合中之一各別者的公用密鑰中之多個公用密鑰來判定,該等處理步驟與自緊接在後之節點至緊接在監督節點前之節點的節點相關聯。
在一些實施方案中,所接收值中之一給定者可藉由對與監督節點相關聯之公用密鑰及對應於可能最終結果之組合中的各別者之最終結果的公用密鑰中之多個公用密鑰進行求和來判定。
在一些實施方案中,狀態值可藉由組合所接收值及對應於與特定節點相關聯之一處理步驟之可能最終結果的公用密鑰來形成。
在一些實施方案中,狀態值可藉由對所接收值中之一者及對應於與特定節點相關聯之處理步驟之可能最終結果的公用密鑰中之一者進行求和來形成。
在一些實施方案中,另一區塊鏈交易可經配置以在滿足一退回條件條件後將對第二資源之控制退回至特定節點。在一些實施方案中,該方法可進一步包括等待區塊鏈交易執行且自該交易獲得用以將該交易解除鎖定之第一解除鎖定值,該第一解除鎖定值指示與自緊接在後之節點至緊接在監督節點前之節點的節點相關聯之處理步驟的輸出且基於對應於與彼等節點相關聯之公用密鑰中之多個公用密鑰且對應於輸出的私用密鑰。
此方法可包括識別與特定節點相關聯之處理步驟的可能最終結果中之一者。此方法可包括藉由特定節點基於對應於公用密鑰之私用密鑰及解除鎖定值而判定第二解除鎖定值,該公用密鑰對應於經識別之最終結果。該第二解除鎖定值可對應於狀態值中之一者,且可指示與自特定節點至緊接在監督節點前之節點的節點相關聯之處理步驟的輸出。此方法可包括使用第二解除鎖定值,執行另一區塊鏈交易。
在一些實施方案中,另一區塊鏈交易可藉由緊接在前之節點準備,且可經配置以回應於滿足一執行條件而將對第二資源之控制自與緊接在前之節點相關聯的源位址傳輸至特定節點之接收位址,該執行條件包括供應對應於狀態值中之一者的第二多個解除鎖定值中之任一者。可在準備另一區塊鏈交易之後準備經配置以將對資源之控制自與特定節點相關聯之源位址傳輸至緊接在後之節點之接收位址的區塊鏈交易。
在一些實施方案中,第二多個解除鎖定值中之各解除鎖定值可對應於狀態值中之各別者,且可基於對應於彼狀態值所基於之公用密鑰的私用密鑰。
在一些實施方案中,解除鎖定值可為對應於與自緊接在後之節點至緊接在監督節點前之節點的節點相關聯之處理步驟的輸出之私用密鑰及對應於與監督節點相關聯之公用密鑰之私用密鑰的總和。
在一些實施方案中,第二解除鎖定值可為對應於與自特定節點至緊接在監督節點前之節點的節點相關聯之處理步驟的輸出之私用密鑰及對應於與監督節點相關聯之公用密鑰之私用密鑰的總和。
在一些實施方案中,該資源與該第二資源可相同。
在一些實施方案中,各公用密鑰及其對應私用密鑰可形成橢圓曲線密碼術公用-私用密鑰對。
本發明亦可提供一種用於進行根據前述內容之方法的電腦實施系統。
本發明亦可提供一種非暫時性電腦可讀儲存媒體,其儲存用於使電腦系統適於執行根據前述內容之方法的指令。
較佳實施例之詳細說明
在本申請案中,「及/或」一詞意欲涵蓋所列元件之所有可能的組合及子組合,包括所列單獨元件、任何子組合或所有元件中之任一者,且未必排除額外元件。
在本申請中,片語「……或……中之至少一者」意欲涵蓋所列元件中之任何一或多者,包括所列單獨元件、任何子組合或所有元件中之任一者,而未必排除任何額外元件,且未必需要所有元件。
在本文中描述體現本發明之協定,其用於供一群協作節點各自以排序方式製定決策。其在概念上藉由需要節點提交其僅可藉由利用累加秘密值來恢復之計算資源的單元來建置,該累加秘密值係自處理任務中之先前步驟的輸出導出。
本文中所描述之協定基於現有比特幣相關技術建置支付渠道(參見例如「Introduction to Micropayment Channels」 http://super3.org/introduction-to-micropayment-channels/),其為經設計用於一對參與者之間的區塊外比特幣交易的技術且尤其併有對退款交易之使用。
支付渠道
如上文所提到,在以下描述中提及支付渠道,且因此出於讀者之便利性目的而遵循支付渠道之綜述。
支付渠道為經設計以供合作對象進行多個密碼貨幣交易而不向區塊鏈提交所有交易之技術。在典型的支付渠道實施方案中,可進行幾乎無限量之支付,但僅需要向區塊鏈添加兩個交易。
除了向區塊鏈添加減小數目個交易及降低相關聯成本以外,支付渠道亦提供速度優點,且重要地,提供合作對象之以下能力:在事情未按規劃進行或任一參與者決定不超出某一組支付的情況下使單元得到退款。下文概述支付渠道實施方案之描述。
考慮愛麗絲需要將區塊鏈資源傳送至鮑勃之情境。如情形所需求的,此傳送可能需要一段時間內自愛麗絲至鮑勃之多次支付。愛麗絲預期在可能交換組中將例如至多15個BTC (總計)傳送至鮑勃。為促進此傳送,在愛麗絲與鮑勃之間建立支付渠道,且該支付渠道如下操作。
首先,愛麗絲創建由愛麗絲及鮑勃兩者控管之提交源自愛麗絲之15個BTC的2/2多重簽名支付至指令碼散列(pay to script hash,P2SH)交易Tc 。此時,不將交易提交至比特幣網路(此多重簽名位址需要2個人(愛麗絲及鮑勃)以密碼編譯方式對自此位址之花費金錢的任何交易進行簽名);
接下來,愛麗絲創建分開的退款交易Tr,0 ,以將多重簽名控制資金之所有單元退回至愛麗絲。此交易包括100個區塊之nLockTime值(nLockTime為允許比特幣交易僅可在已經過指定時間之後執行的比特幣交易參數)。鮑勃對交易進行簽名。若愛麗絲與鮑勃之間的交換出錯,則此退款交易允許愛麗絲在已過去nLockTime之後被退款。
接下來,愛麗絲對原始交易Tc 進行簽名。
此時,愛麗絲及鮑勃可繼續創建新退款交易以反映由愛麗絲對鮑勃進行的(區塊鏈外)傳送。此等退款交易將反映需要愛麗絲在彼時傳送至鮑勃之淨資源量。作為實例,若愛麗絲將傳送給鮑勃5個BTC,則創建新退款交易Tr,i ,該交易具有將5個BTC發送至鮑勃且將10個BTC退回至愛麗絲之輸出。若愛麗絲需要將另外5個BTC傳送至鮑勃,則創建新退款交易Tr,i+1 ,該交易具有將10個BTC發送至鮑勃且將5個BTC發送至愛麗絲之輸出。對於各新退款交易,假定其同意細節,則兩個合作對象對交易進行簽名但未必將交易提交至網路。
應注意,所創建之各連續退款交易具有比先前退款交易小之nLockTime-亦即,nLockTime(Tr,i+1 ) > nLockTime(Tr,i )。
若參與者拒絕對任何Tr,i 進行簽名,則受害參與者可簡單地提交Tr,i-1 。在最差情境下,愛麗絲對Tr,0 進行簽名且將其提交至網路,從而收回所有其單元(在nLockTime已到期之後)。
所建構之最終退款交易表示自愛麗絲傳送至鮑勃之單元的淨和。將此交易提交至網路。
圖1展示用於支付渠道中之交易Tc 100A及Tr,n 100D。M表示可自愛麗絲發送至鮑勃之金錢的最大量。xi 為愛麗絲需要向鮑勃支付之單元的當前淨和。Sstop 為關於初始退款交易之nLockTime。n為愛麗絲與鮑勃之間進行的進行中(區塊外)傳送中創建之退款交易的數目(此排除初始退款交易)。s為分派給兩個參與者(愛麗絲及鮑勃)以在一合作對象冒著另一合作對象提交先前退款交易之風險之前同意退款交易從而有效地結束愛麗絲與鮑勃之間的交換的時間。
應注意:t + n*s > Sstop ,其中t為當前時間且(Sstop - n*s) ≥ s。
圖1之交易 Tc 100A、Tr,0 100B、Tr,1 100C及Tr,n 100D為可在區塊鏈出現之交易。
用於建構愛麗絲與鮑勃之間的支付渠道的操作展示於圖2之流程圖200中。操作210及向前的操作係由一或多個計算裝置之一或多個處理器執行,該一或多個處理器執行包含如可儲存於電腦可讀儲存媒體上之電腦可執行指令的軟體。
在操作210處,與愛麗絲相關聯之計算裝置的處理器以上文所描述之方式創建2/2多重簽名支付至指令碼散列(P2SH)交易Tc
自操作210,控制流程繼續進行至操作212。在操作212處,與愛麗絲相關聯之計算裝置的處理器以上文所描述之方式創建分開的退款交易Tr,0 ,以將多重簽名控制資金之所有單元退回至與愛麗絲相關聯之帳戶。
自操作212,控制流程繼續進行至操作214。在操作214處,與愛麗絲相關聯之計算裝置的處理器對上述退款交易進行簽名。
自操作214,控制流程繼續進行至操作216。在操作214處,與鮑勃相關聯之計算裝置的處理器亦可對上述退款交易進行簽名。若交易經如此簽名,則控制流程前進至操作218。替代地,若交易未經如此簽名,則支付渠道之創建中止。
在操作218處,與愛麗絲相關聯之計算裝置的處理器對Tc 進行簽名且將其提交至區塊鏈。控制流程接著前進至操作220。
在操作220處,上述退款交易被辨識為第一退款交易,使得在時間允許之情況下可協商自愛麗絲至鮑勃之另一傳送。
自操作220,控制流程前進至操作222。在操作222處,判定剩餘足夠時間來協商另一傳送。若未剩餘足夠時間,則控制流程前進至操作224,在該操作中,將最後退款交易提交至區塊鏈。替代地,若剩餘足夠時間,則控制流程前進至操作226。
在操作226處,協商愛麗絲與鮑勃之間的另一傳送。自操作226,控制流程前進至操作228,在該操作中,判定協商是否成功。若彼協商不成功,則控制繼續進行至上文所描述之操作224。替代地,成功協商將導致控制流程前進至操作230。
在操作230處,以上文所描述之方式創建反映源於成功協商之協議的新退款交易。接著,控制流程前進至操作240,在該操作中,將新退款交易辨識為當前退款交易。
自操作240,控制流程前進至操作242,在該操作中,與愛麗絲及鮑勃相關聯之計算裝置的處理器可對當前退款交易進行簽名。若進行簽名,則控制流程返回至上文所描述之操作222。替代地,若交易未經如此簽名,則對當前退款交易之辨識在操作244處恢復至先前退款交易。自操作244,控制流程返回至上文所描述之操作222。
圖3展示本申請案之實例操作環境。
如所說明,多個節點300經由電腦網路310通訊。節點300中之各者為計算裝置並參與區塊鏈,且具有一或多個相關聯位址,與該等位址相關聯,區塊鏈反映一定量的單元,諸如計算資源之單元。
節點300中之各者可執行分散式處理中之處理步驟,該等步驟之輸出組合以形成最終結果。
如下文進一步描述,本申請案之主題可應用於多種情形中。舉例而言,圖4展示在系統且更特定而言在自動駕駛車輛400之情況中的本申請案之特定實例操作環境。
自動駕駛車輛400進行之分散式處理可依賴於多個模組。舉例而言,分散式處理可涉及各種節點,諸如地圖模組410、招待(hospitality)模組420、天氣模組430及交通模組440。如所說明,模組410至440經由網路450通訊。
該等節點中之一些可整合至自動駕駛車輛400中且該等節點中之其他者可基於網路或雲端。舉例而言,如所說明,地圖模組410及招待模組420整合至自動駕駛車輛400中,而天氣模組430及交通模組440遠離自動駕駛車輛400。
地圖模組410可為用以找到最短路線之模組。舉例而言,地圖模組410可基於距離選擇最佳路線。
招待模組420可基於招待可用性選擇路線。舉例而言,招待模組420可基於餐館及旅館可用性選擇最佳路線。
天氣模組430可基於天氣選擇路線。舉例而言,天氣模組430可基於避免嚴酷或惡劣天氣選擇最佳路線。
交通模組440可基於交通條件選擇路線。舉例而言,交通模組440可基於避免交通擁塞選擇最佳路線。
便利地,可應用本申請案之主題以允許模組410至440共同地執行與任務相關之處理步驟,該任務與自動駕駛車輛400之路線選擇相關,彼等步驟之輸出導致特定結果,即,選定路線。亦值得注意地,因為如下文進一步描述,區塊鏈用以記錄各種處理步驟之輸出且在節點之間傳輸該等輸出,所以可按允許未來審計及審查(諸如,用於在涉及自動駕駛車輛400之事故之後的故障判定)的方式記錄模組410至440之輸出。
如上文所提到,本申請案之主題亦可應用於其他情況。舉例而言,在本申請案之主題應用於系統控制之情況下,受控制之特定類型的系統無需為自動駕駛汽車。舉例而言,可應用本申請案之主題以允許諸如可負責操作或控制工業設備之模組共同地執行與此設備相關之處理步驟。在特定實例中,此類步驟可對應於工業程序之決策或控制點。在另一實例中,本申請案之主題可應用於交通控制系統之操作中,諸如以允許此系統之模組共同地預形成與諸如控制交通訊號之任務相關的處理步驟。
返回圖3,前文曾提及,節點300中之各者為計算裝置。圖5為實例計算裝置之高階操作圖。實例計算裝置500可例示本文中所描述之電腦系統中之一或多者,包括例如節點300中之一或多者。實例計算裝置500包括使其適於執行特定功能之軟體。
實例計算裝置500包括多種模組。舉例而言,如所說明,實例計算裝置500可包括處理器510、記憶體520及網路介面530。如所說明,實例計算裝置500之前述組件經由匯流排540通訊。
處理器510為硬體處理器。舉例而言,處理器510可為一或多個ARM、Intel x86、PowerPC處理器或其類似者。
記憶體520允許儲存及擷取資料。舉例而言,記憶體520可包括隨機存取記憶體、唯讀記憶體及永續性儲存器。舉例而言,永續性儲存器可為快閃記憶體、固態磁碟機或其類似者。唯讀記憶體及永續性儲存器為非暫時性電腦可讀儲存媒體。電腦可讀媒體可使用檔案系統來組織,諸如可藉由控管實例計算裝置500之總體操作的作業系統來管理。
網路介面530允許實例計算裝置500與其他計算裝置及/或諸如電腦網路310 (圖3)之各種通訊網路通訊。
包含指令之軟體係藉由處理器510自電腦可讀媒體執行。舉例而言,軟體可自記憶體520之永續性儲存器載入至隨機存取記憶體中。另外或替代地,指令可藉由處理器510直接自記憶體520之唯讀記憶體執行。
如下文進一步描述,軟體可使實例計算裝置500之例項適於充當本文中所提到之各種電腦系統中之一或多者,包括例如節點300中之一或多者及/或模組410至440中之一或多者。
如下文進一步描述,在本文中所描述之協定中,節點負責執行總體分散式計算任務之處理步驟。參看圖6,在特定實例中,節點600可負責以排序方式執行處理任務。節點中之一者充當監督節點,例如,節點600中之一者(節點U0 )可為監督節點,且節點中之其他者負責選取選項。任務中之處理步驟的次序可用以實現由節點形成之循環排序組。循環排序組可被視為環,其中節點中之各者具有節點中之兩個其他者作為彼節點之緊接在後之節點及緊接在前之節點。舉例而言,節點600之循環排序組可描繪為如圖6中所展示之導向環610。
為方便參考起見,向導向環610中之節點600的非監督節點中之各者指派標籤Ux ,其中x 對應於根據處理任務中之步驟之預期次序的字母表次序中之字母。
預期監督節點U0 為給定監管協定執行之職責的節點。監督節點充當協定之發起者及協調者,如下文進一步描述。在一個實例中,監督節點可與提供將基於決策製定程序之結果而分配之資源的合作對象相關聯。
節點600 (監督及/或非監督)可為節點300及或模組410至440中之節點。另外,可自節點300中選取監督節點U0 。此選取可按多種方式來進行。舉例而言,節點300中之各者可執行操作或參與協定,從而導致將節點中之特定者選取為監督節點。替代地,可藉由某中央授權單位將節點300中之一者選取為監督者。
本文中所描述之協定促進藉由參與節點600執行分散式計算任務,其中任務中之處理步驟對應於決策樹之結構。此決策樹之實例見於圖7中,該圖展示決策樹700。在決策樹700中,該樹之各層級表示藉由參與本文中所描述之協定的節點且特定而言,彼等節點300中之一者進行之處理的結果。換言之,決策樹700之各層級對應於由節點600所形成之分散式系統進行的處理之最終結果中的「因數」。在決策樹700之給定層級處的節點600中之各者對應於由該樹之較高層級(亦即,更接近於根之層級)表示的處理步驟之特定輸出之組合。自節點引出之邊緣中之各者表示合作對象可相對於由彼節點表示之決策進行的與彼節點相關聯/由彼節點執行之處理(「選擇」)的可能結果。
在決策樹700中,存在參與處理之n= 3個步驟(及3個節點),其中各節點與處理相關聯,從而導致一者具有各別m= 2個選項。
一般而言,決策樹700之各節點表示一節點、一處理步驟及先前輸出(亦即,對應於樹之較高層級的處理之輸出之特定組合),其中表示由特定節點執行之處理步驟且表示樹中之先前處理步驟之輸出。在特定實例中,UB,2 表示在合作對象UA 已識別處理步驟之特定輸出之後執行處理步驟B 的節點。
決策樹700之葉節點表示由來自各種處理步驟之輸出之特定組合產生的可能最終結果組。換言之,與節點中之各者相關聯的任務之輸出形成決策樹中朝向分散式處理之結果的路徑。值得注意地,在目前協定中,不同於大多數表決判定獲勝者之決策或表決協定。各種處理步驟之輸出之組合判定選取哪一結果。更特定而言,特定處理步驟之輸出並非對特定結果之表決,而是將分散式處理之可能結果縮小至可能結果組(亦即,為沿著對應於選定輸出之分支的決策樹700之對應節點之子代的所有結果)。因而,步驟之預定序列中的各處理步驟減小可能結果組,直至剩餘僅一個可能最終結果-分散式處理之輸出。
在特定實例中,在決策樹700中,可經由用較粗箭頭指示之特定路徑到達可能結果O212 。首先,如所展示,若UA 選擇選項2,則此將可能結果組限制為{O211 ,O212 ,O221 ,O222 }。接下來,若UB 選擇選項1,則此將可能結果組限制為{O211 ,O212 }。接下來,若UC 選擇選項2,則此將可能結果組限制為{O212 }。
存在由節點進行之處理的按時間順序態樣,其符合由本文中所描述之協定實行的任務中之步驟之間的相依性。特定而言,節點各自以預定順序執行其各別處理步驟。舉例而言,在決策樹700中,在樹之層級中反映的預定順序對應於圖6中所展示之排序,其中UA UB 之前執行其相關聯之處理步驟,UB 又在UC 之前執行其相關聯之處理步驟。
當然,決策樹700為實例且與本文中所描述之協定之給定部署相關聯的決策樹可變化。舉例而言,不需要在處理步驟與節點之間存在1:1對應關係。在特定實例中,可呼叫合作對象UA 以執行處理步驟B 以及處理步驟A 。另外或替代地,該等步驟中之一些或全部可具有更多(亦即,多於2個)可能輸出。另外或替代地,不同步驟可具有不同數目個可能選項。另外,可存在更多或更少步驟或節點。
在本文中所描述之協定中,對於與特定節點相關聯之各處理步驟,彼節點將產生對應於給定節點可針對彼處理步驟而具有之各可能最終結果的私用密鑰組。特定而言,要求合作對象選取對應於節點可在已進行之先前處理步驟的輸出之可能組合中之各者的情況下選取的各選項之私用密鑰。
展示決策樹700之圖8中所說明的此情形之實例藉由與決策樹700之各邊緣相關聯的各種私用密鑰來擴充。如所展示,私用密鑰可藉由編碼早期處理步驟之輸出以及在與特定私用密鑰相關聯之層級處的處理(亦即,「當前」處理步驟)之輸出的下標來指示。舉例而言,在圖8中,由UB 進行之處理具有對應於四個可能最終結果之兩個可能輸出。在特定實例中,UB 之一個選擇係在UA 已選擇選項2之後選擇選項1。彼選擇對應於私用密鑰k21
在此階段,節點將其各別私用密鑰k 維持為秘密。
可使用如一般熟習此項技術者已知之技術產生私用密鑰k 。可使用其他各種公用密鑰密碼系統。舉例而言,可使用橢圓曲線密碼術(ECC)。在特定實例中,可使用橢圓曲線密碼術,且k 及其對應公用密鑰P 可為橢圓曲線密碼術公用-私用密鑰對使得P =kG ,其中G 為橢圓曲線上具有階q 之基點q :q ×G = 0,其中q 為大質數且0 >k >q 。在特定實例中,可使用定義於文件「Standards for Efficient Cryptography 2 (SEC 2)」(Certicom公司,2010年1月27日)中之橢圓曲線secp256k1。換言之,各公用密鑰及其對應私用密鑰可形成橢圓曲線密碼術公用-私用密鑰對。
在產生私用密鑰之後,基於對應公用密鑰產生值。
首先,監督者產生公用/私用密鑰對且與參與本文中所描述之協定之所有節點共用該對之指示為Qs 的公用密鑰。
接下來,參與節點中之各者又產生對應於其先前產生之私用密鑰中之各者的公用密鑰值。此說明於例如圖9中,該圖展示對應於決策樹700但經擴充以展示與特定邊緣相關聯之公用密鑰值的決策樹900。
特定而言,藉由組合對應於先前產生之私用密鑰中之多個私用密鑰的公用密鑰中之各者來產生公用密鑰值或狀態值,該等私用密鑰與自樹之根至給定邊緣的邊緣相關聯。換言之,藉由組合與所產生私用密鑰中之給定者相關聯(亦即,在引出節點之邊緣上)的公用密鑰與來自樹中之早期者(亦即,在引入彼節點之邊緣上)的公用密鑰值來產生狀態值中之各者。在基本狀況下(在樹之低於監督者的第一層級處),可藉由組合Qs 與相關聯於彼層級處之私用密鑰的公用密鑰中之各者來產生狀態值。
在橢圓曲線密碼系統之狀況下,可藉由加上公用密鑰產生組合。舉例而言,可將給定公用密鑰加至先前選擇值。前文曾提及,在ECC中,對應於私用密鑰k 之公用密鑰P由P = k×G定義。因而,參看圖9,當使用ECC時,有可能Q2 =Qs +k2 G 。在另一實例中,有可能Q21 =Q2 +k21 G
監督者與參與本文中所描述之協定的其他節點中之各者共用其公用密鑰Qs 。類似地,非監督節點中之各者與循環排序組中緊接在彼節點前之節點且與監督節點共用其狀態值。另外,非監督節點中之各者與循環排序組中緊接在彼節點前之節點且與監督節點共用彼等值(亦即,其所對應之最終結果)之語義含義。
值得注意地,表決序列中之最終表決者(例如,圖6中之UC )的狀態值對應於本文中所描述之協定的可能結果(Ox )。監督節點可將與各結果直接相關聯之新公用密鑰/位址傳達至參與本文中所描述之協定的其他節點。此合計為對組,其中組與組為一一對應的。公用密鑰有可能不屬於監督節點自身(亦即,監督節點可能不知曉對應私用密鑰),而是彼等私用密鑰可能為帶有進行與特定結果相關聯之工作之任務的分開的實體所已知。便利地,以此方式,可藉由可擁有對應於公用密鑰之私用密鑰的第三合作對象執行後續步驟。
秘密值svx 對應於狀態值中之各者(且因此,對應於各可能結果)。
便利地,在使用ECC之情況下,對應於給定選擇值之秘密值svx 如下與選擇值相關。首先,前文曾提及,根據橢圓曲線加法之同態性質,E(m + n ) = E(m ) +E(n ),其中E為函數E(x) =xG 。另外,前文曾提及,在使用ECC之情況下,給定選擇值QX QX =ks G +kA G + … +kx G 定義,其中ks 為監督節點之對應於其公用密鑰Qs 的私用密鑰(亦即,Qs =ks G )。換言之,對應於選擇值Qx 之私用密鑰svx 為私用密鑰之總和ki +ki +1 +... +kx 。在與決策樹700相關之特定實例中,sv21 =ks +k2 +k21 Q 21 = G ×sv21
本文中所描述之協定涉及參與節點600之間的支付渠道之迴路。特定而言,如下文進一步描述,在節點600中之各者與其緊接在前之節點之間建立支付渠道,以將計算資源自彼節點傳送至其緊接在前之節點。舉例而言,在圖6中,支付渠道將在節點600中之各者與其緊接在前之節點之間,如由節點之間所描繪的邊緣之方向展示。支付渠道經組配以可藉由對應於緊接在前之節點之狀態值的秘密值中之任一者解除鎖定。當本文中所描述之協定相對於比特幣區塊鏈操作時,藉助於支付渠道傳送之計算資源可例如為比特幣或其一部分。
支付渠道之使用需要將計算資源之單元提交至該渠道。舉例而言,在支付渠道之迴路中,計算資源將藉由各支付渠道自節點傳送至其緊接在後之支付渠道。
由於值之傳送對本文中所描述之協定並不重要,因此此量可為標稱量。然而,如將變得顯而易見,需要各節點參與在其提交至支付渠道之值的沒收懲罰下選取結果。因此,亦可能需要節點將足夠大量之計算資源貢獻至支付渠道以阻止輕率參與及/或本文中所描述之協定的違反。提交至支付渠道中之各者的計算資源之量可相同,或換言之,提交至支付渠道中之各者的資源可相同,其中資源為可替代的。
在建構迴路之支付渠道之前,節點及特定而言,監督節點結合參與本文中所描述之協定的其他節點必須同意兩個值:時間點S 及時間跨度s
首先,選擇時間跨度s ,其表示參與本文中所描述之協定的各節點完成下文進一步描述之某些操作所需要的時間量,即,建構節點與緊接在前之節點之間的支付渠道;擷取用以將迴路中之先前支付渠道進行解除鎖定的秘密值;選取關於與節點相關聯之處理步驟的可能最終結果中之一者;以及將有利於彼節點之另一支付渠道之支付交易提交至區塊鏈。給定其他使用者之共識,節點中之任一者可選擇時間s。在一些實施方案中,監督節點可選擇可簡化協定之s 。可用諸如秒或區塊數目之適當單位來表達時間s。
其次,將值S 選擇為提交至區塊鏈網路之至節點之第一傳送的開始時間。給定其他節點之共識,節點中之任一者可選擇S 。在一些實施方案中,發起者選擇可簡化協定之實施的S
值得注意地,S 表示時間點,此時間點可例如以Unix時間或區塊高度指定,而s 表示時間跨度。
以順時針方式建構支付渠道,以監督節點與其緊接在後之節點(亦即,負責作出最終選擇之節點)之間的支付渠道開始。舉例而言,參看圖6,待建構之第一支付渠道將為U0 UC 之間的支付渠道,且待建構之最終支付渠道將為UA U0 之間的支付渠道。
此排序序列向各節點保證:在各節點將資源提交至有利於其緊接在後之節點的支付渠道之前,存在有利於其之支付渠道。然而,監督節點不接收此保證,此係因為其私用密鑰ks 為如可用以將各種支付渠道中之各者進行解除鎖定的所有秘密值之分量。然而,因為ks 由監督節點在此階段維持為秘密,所以監督節點可在缺乏對有利於其之支付渠道的保證之情況下安全地創建迴路中之第一支付渠道。特定而言,若未創建有利於監督節點之支付渠道,則監督節點可簡單地等待其可提交其創建之支付渠道之退款交易的足夠時間段。
現將參考圖10、圖13及圖14中呈現之一系列流程圖來論述由參與本文中所描述之協定的節點執行的實例操作。在彼等流程圖及其以下描述中,將參與協定之循環排序組的n 個節點識別為U0 Un-1 ,自監督節點U0 開始且經由循環排序組之節點繼續至按建構各種支付渠道之次序(亦即,與預期處理中之步驟之次序相反的次序)緊接在監督節點前(亦即,緊接在前)之節點。舉例而言,若處理步驟之預期次序描繪為在如圖6中所展示之逆時針方向上,則如圖10、圖13及圖14中所參考之節點U0 Un-1 的排序將遵循順時針方向。在特定實例中,根據此編號,若圖6中標記為UB 之節點經識別為Ui ,則UA (圖6)將為Ui+1 UC (圖6)將為Ui-1 。換言之,出於圖10、圖13及圖14中所展示之流程圖之目的,圖6中標記為UB 之節點將被視為緊接在節點UA 前之節點,且標記為UB 之節點將被視為緊接在節點UC 後之節點。
現將論述圖10。圖10展示流程圖1000,該流程圖說明與參與本文中所描述之協定之特定節點在進行準備創建且接著創建自彼節點至其緊接在前之節點之支付渠道中的操作相關聯的操作。各種非監督參與節點可各自在創建上述支付渠道迴路時執行對應於流程圖1000中所說明之操作的操作。操作1010及向前的操作係由參與節點中之特定非監督者的一或多個處理器執行。因而,操作1010及向前的操作係由計算裝置之一或多個處理器執行,諸如實例計算裝置500之經合適組配例項的處理器510 (圖5),該一或多個處理器執行包含如可儲存於諸如記憶體520之儲存器之電腦可讀儲存媒體上的電腦可執行指令的軟體。
在操作1010處,特定節點將自循環排序組中緊接在特定節點後之節點接收與緊接在後之節點相關聯的狀態值。因而,因為狀態值之定義及循環有序組中之節點的排序,特定節點接收對應於處理步驟之可能最終結果之組合的值,該等處理步驟與循環排序組(例如,導向環610)中自緊接在後之節點至緊接在監督節點前之節點的節點相關聯。如上文所解釋,狀態值係基於與節點相關聯之公用密鑰,且彼等公用密鑰中之各者對應於與彼節點相關聯之處理步驟的可能輸出。舉例而言,在使用ECC之情況下,可藉由對與監督節點相關聯之公用密鑰及對應於特定最終結果之公用密鑰中之多個公用密鑰進行求和來判定所接收狀態值中之各者,如上文所描述。
在操作1010之後,控制流程前進至操作1020。
在操作1020處,特定節點將產生彼節點之狀態值。換言之,特定節點產生對應於可由特定節點選取之輸出的狀態值。狀態值係基於所接收狀態值及與彼節點相關聯之公用密鑰(其對應於與彼節點相關聯之私用密鑰kx ,如上文所解釋)而產生。因而,狀態值係基於所接收值且基於對應於與特定節點相關聯之處理步驟之可能最終結果的公用密鑰而產生。
在操作1020之後,控制流程繼續進行至操作1030。
在操作1030處,與監督節點且與循環排序組中緊接在特定節點前之節點共用狀態值,如上文所描述。
自操作1030,控制流程繼續進行至操作1040。
在操作1040處,特定節點可等待由緊接在前之節點創建有利於其之支付渠道。為創建前述支付渠道中之各者,將準備各種交易,如上文所描述。舉例而言,使用用於彼支付渠道之鎖定值準備交易Tpay 。彼交易經配置以將例如計算資源之x 個單元或xBTC 的資源自與緊接在前之節點相關聯的源位址傳輸至特定節點之接收位址。根據彼交易,將回應於滿足執行條件而傳輸對資源之控制,該執行條件包括供應對應於鎖定值中之任一者(亦即,狀態值中之任一者)的解除鎖定值(svx )。特定而言,解除鎖定值中之各者對應於狀態值中之各別者,且係基於對應於彼選擇值所基於之公用密鑰的私用密鑰。舉例而言,在使用ECC之情況下,各解除鎖定值可為彼等私用密鑰及對應於監督節點之公用密鑰Qs 之私用密鑰ks 的總和。因而,特定節點可等待創建區塊鏈交易,該區塊鏈交易由緊接在前之節點準備且經配置以將對資源之控制自與緊接在前之節點相關聯的源位址傳輸至特定節點之接收位址。
接下來,特定節點將使用狀態值準備第二支付渠道,其由特定節點創建以有利於緊接在後之節點。舉例而言,特定節點可在創建有利於其之支付渠道之後準備此第二支付渠道。準備此支付渠道類似於上文對第一支付渠道之描述,包括準備經配置以將對第二資源之控制自與特定節點相關聯之源位址傳輸至緊接在後之節點之接收位址的區塊鏈交易。該支付渠道經組配以回應於滿足執行條件而傳輸對資源之控制,該執行條件包括供應對應於所接收值之(第二)多個解除鎖定值中之任一者。
圖11提供諸如可對應於前述第一及第二支付渠道之UaUb 支付渠道的表示1100。
如所說明,該渠道包括三個交易Tc Tpay Tr 。應注意,σ (Ux )表示Ux 之密碼編譯簽名。
Tc 交易表示支付渠道之提交分量。此處,經由該交易,Ub 發送/提交待由以下各者控管之指定數目個單元:2/2多重簽名(Ub ,U a )抑或對多個秘密值{sv }(a) 中之任一者及密碼編譯簽名Ua 的知曉。
Tr 交易表示將指定數目個單元(來自提交交易)退款回至在指定時間已到期之後變得適用於提交至區塊鏈的。因而,Tr 經配置以在滿足時間到期之退回條件後將對資源之控制退回給特定節點Ub 。為成功地執行此交易,其需要之密碼編譯簽名。
Tpay 交易為將來自Ub 之所提交資金的指定數目個單元傳送至U a 。為成功地執行此交易,需要多個秘密值{sv }(a) (對應於與決策樹之彼因數/層級相關聯的狀態值)中之任一者及Ua 之密碼編譯簽名。
在區塊鏈為比特幣區塊鏈之情況下,Tc Tr Tpay 中之各者可為比特幣交易。
圖12展示流程圖1200,該流程圖說明如可由節點Ub 在如上文所描述創建自彼節點至另一節點Ub 之支付時執行的操作。操作1210及向前的操作係由節點Ub 執行。因而,操作1210及向前的操作係由計算裝置之一或多個處理器執行,諸如實例計算裝置500之經合適組配例項的處理器510 (圖5),該一或多個處理器執行包含如可儲存於諸如記憶體520之儲存器之電腦可讀儲存媒體上的電腦可執行指令的軟體。
在操作1210處,Ub 創建提交交易Tc 。交易TC 係如上文所描述。
自操作1210,控制流程繼續進行至操作1220。
在操作1220處,創建退款交易Tr 。交易Tr 係如上文所描述。Tr 創建為具有指定到期時間S + (a + 1)s ,其中對於迴路中之第一支付交易(例如,自U0 Uc ),a 為0,且對於迴路中彼支付交易之後的各支付渠道遞增一(例如,a = 0, 1, 2, 3…)。
自操作1220,控制流程繼續進行至操作1230。
在操作1230處,Ub 對退款交易進行簽名。
自操作1230,控制流程繼續進行至操作1240。
如上文所解釋,支付渠道中之另一參與者Ua 亦對退款交易Tr 進行簽名。在操作1240處,判定Ua 是否對退款交易Tr 進行簽名。若其未進行簽名,則支付渠道之創建已失敗且中止。替代地,若Ua 對退款交易Tr 進行了簽名,則控制流程繼續進行至操作1250。
在操作1250處,Ub 創建支付交易Tpay 。交易Tpay 係如上文所描述。
自操作1250,控制流程繼續進行至操作1260。
在操作1260處,Ub 對支付交易Tc 進行簽名且將其提交至區塊鏈。
在操作1260之後,控制流程終止,支付渠道已創建。
在支付迴路已完成之後,參與節點中之各者又可選取選項。作為綜述,參與本文中所描述之協定的各節點又選取選項且接著基於其選擇而兌現有利於彼節點之Tpay 交易。
圖13展示流程圖1300,該流程圖說明如可由參與本文中所描述之協定之節點在選擇結果時執行的操作1310及向前的操作。因而,操作1310及向前的操作係由各種計算裝置之一或多個處理器執行,諸如實例計算裝置500之經合適組配例項的處理器510 (圖5),該一或多個處理器執行包含如可儲存於諸如記憶體520之儲存器之電腦可讀儲存媒體上的電腦可執行指令的軟體。
如上文所提到,流程圖1300及其描述利用與流程圖1000之記法一致的記法。換言之,自監督節點U0 開始,以建構支付渠道之次序對節點進行編號。
在操作1310處,進行檢查以確保剩餘足夠時間來完成本文中所描述之協定中的必要步驟。特定而言,當前時間可與第一傳送之開始時間S 比較以確保存在足夠時間,使得可完成迴路而支付渠道中之任一者皆不會逾時。特定而言,判定是否t >S +s ,其中t 為當前時間。
若操作1310處之檢查失敗,則本文中所描述之協定中止。否則,控制流程前進至操作1320,在該操作中,監督節點提交有利於其之Tpay 區塊鏈交易。此具有如下副作用:將值ks 顯露於區塊鏈上,此係因為其為用以鎖定彼特定支付渠道之對應於Qs 的值。
在操作1320之後,初始化計數器i 以對應於與第一處理步驟相關聯之節點,亦即,第一表決節點。控制流程接著繼續進行至操作1330,在該操作中,迴路檢查(loop check)判定參與協定之各節點是否已完成其相關聯之處理步驟且已判定結果。若是,則控制流程終止。替代地,若所有處理步驟尚未完成(例如,在通過操作1330之第一通路上),則控制流程繼續進行至操作1340。
在操作1340處,自區塊鏈,亦即,自Ui U(i+1 )mod n 之支付渠道的支付交易提取用於如將已在操作1320處或如下文所描述在操作1350)處提交至區塊鏈的支付渠道之支付交易中的解除鎖定值svprevious 。便利地,因為svprevious 係自僅在緊接在後之節點(亦即,與先前處理步驟相關聯之節點)已識別輸出之後提交的區塊鏈交易提取,所以實行處理步驟之排序。
自操作1340,控制流程前進至操作1350。
在操作1350處,節點Ui 識別關於與彼節點相關聯之處理步驟的可能最終結果中之一者。彼節點接著藉由組合值svprevious 與對應於公用密鑰之私用密鑰()來判定對應的解除鎖定值,該公用密鑰對應於經識別輸出。舉例而言,在使用ECC之情況下,Ui 藉由計算來判定秘密值值。值得注意地,此起作用係因為用以鎖定各種Tpay 交易之各種狀態值的定義中之各者且因為同態性質。
關於執行處理步驟,可藉由節點300中之各者以多種方式執行步驟。舉例而言,在節點300對應於自動駕駛汽車之模組的情況下,處理步驟可諸如基於提供至彼節點之輸入資料而以規劃方式選取輸出。輸入資料可包括經由一或多個輸入裝置諸如自使用者接收之資料。
自操作1350,控制流程前進至操作1360。在操作1360處,判定是否剩餘足夠時間來完成交易。特定而言,判定是否t >S + (n -i )s ,其中t為當前時間且i 為自監督節點進行計數之當前節點的索引,其中監督節點為0,緊接在監督節點後之節點(亦即,在最後處理步驟中相關聯之節點)具有索引1,等等,直至與第一處理步驟相關聯之節點具有索引(n - 1),如上文所解釋。
自操作1360,若判定剩餘足夠時間,則控制流程前進至操作1380。替代地,若判定未剩餘足夠時間,則控制流程前進至操作1370。
在操作1370處,藉由使Ui-1 藉助於退款交易觸發本文中所描述之協定之中止來處置足夠剩餘時間之缺乏。特定而言,U i-1 將有利於循環節點排序組中緊接在後之節點Ui 的退款交易提交至區塊鏈,藉此開始使至意欲執行最終處理步驟之節點(亦即,緊接在監督節點後之節點)U1 的節點將其各別退款交易提交至區塊鏈的程序。
在操作1380處(在剩餘足夠時間時),節點Ui 將有利於其之Tpay 區塊鏈交易提交至區塊鏈,藉此將svcurrent 顯露於區塊鏈上。
在操作1380之後,計數器i 遞減以對應於選擇序列中之下一節點,且接著控制流程返回至操作1330 (如上文所描述),藉此進行迴圈以處置由序列中之下一節點進行的選擇。
流程圖1300描述跨越作為整體參與分散式計算任務之節點的處理步驟之執行。圖14展示流程圖1400,該流程圖說明由參與本文中所描述之協定的特定節點在進行與處理任務相關聯之操作時執行的操作。各種非監督參與節點可各自在創建上述支付渠道迴路時執行對應於流程圖1400中所說明之操作的操作。操作1410及向前的操作係由參與節點中之特定非監督者的一或多個處理器執行。因而,操作1410及向前的操作係由計算裝置之一或多個處理器執行,諸如實例計算裝置500之經合適組配例項的處理器510 (圖5),該一或多個處理器執行包含如可儲存於諸如記憶體520之儲存器之電腦可讀儲存媒體上的電腦可執行指令的軟體。
如上文所提到,流程圖1400及其描述利用與流程圖1000之記法一致的記法。換言之,自監督節點U0 開始,以建構支付渠道之次序對節點進行編號。
首先,特定節點必須確保其等待緊接在後之節點作出其選擇。因此,在操作1410處,特定節點等待與自特定節點至緊接在後之節點之支付渠道相關聯的區塊鏈交易Tpay 執行,亦即,將該區塊鏈交易進行解除鎖定且將其提交至區塊鏈。在將彼交易提交至區塊鏈之後,控制流程前進至操作1420。
在操作1420處,特定節點自區塊鏈提取用以將在操作1410處偵測到之區塊鏈交易Tpay 進行解除鎖定的解除鎖定值svprevious 。如上文所描述,值svprevious 指示與在特定節點之前選擇之節點相關聯的處理步驟之輸出。因而,值svprevious 指示與循環排序組中自緊接在後之節點至緊接在監督節點前之節點的節點相關聯的處理步驟之輸出。另外,如上文所描述,值svprevious 係基於私用密鑰,該等私用密鑰對應於與彼等節點相關聯之公用密鑰中的多個公用密鑰且對應於先前由彼等節點選擇或選取之前述選定選項。換言之,值svprevious 對應於緊接在後之節點的選擇值。舉例而言,如上文所描述,在使用ECC之情況下,解除鎖定值可為以下各者之總和:對應於與循環排序組中自緊接在後之節點至緊接在監督節點前之節點的節點相關聯的處理步驟之輸出的私用密鑰;以及對應於與監督節點相關聯之公用密鑰(Qs )的私用密鑰(ks )。
接下來,在操作1430處,特定節點以上文所描述之方式識別關於與彼節點相關聯之處理步驟的可能最終結果中之一者。如上文所描述,節點可按多種方式識別輸出,諸如根據與彼節點相關聯之輸入及/或狀態以規劃方式。舉例而言,輸入中之一些可經由輸入介面諸如自使用者接收。
自操作1430,控制流程前進至操作1440。
如先前所描述,特定節點之公用密鑰對應於與彼節點相關聯之處理任務的可能最終結果中之各者。在操作1440處,基於在操作1420處提取之解除鎖定值svprevious 且基於對應於公用密鑰之私用密鑰而判定解除鎖定值,該公用密鑰對應於經識別之最終結果。舉例而言,在使用ECC之情況下,可藉由以上文所描述之方式相加來組合該等值。
自操作1440,控制流程前進至操作1450。
在操作1450處,在操作1440處判定之解除鎖定值用以執行與緊接在前之節點及特定節點之間的支付渠道相關聯的交易。特定而言,特定節點可使用在操作1440處判定之解除鎖定值將對應Tpay 交易進行解除鎖定,且將解除鎖定之交易提交至區塊鏈。舉例而言,可藉由將解除鎖定值提交至交易之解除鎖定指令碼中來將Tpay 交易解除鎖定。值得注意地,如上文所描述,用在操作1440處判定之解除鎖定值將交易解除鎖定且將其提交至區塊鏈具有將解除鎖定值顯露於區塊鏈上之副作用。
在操作1450之後,由特定節點進行之選擇完成。
本文中所描述之協定可應用於廣泛多種應用中。舉例而言,其可應用於自動駕駛車輛,諸如自動駕駛車輛400。在一些此類實施方案中,與參與本文中所描述之協定之給定節點相關聯的處理步驟之可能最終結果有可能可對應於車輛之控制系統的相關聯模組之輸出。舉例而言,輸出可為模組410至440之輸出。
在將本文中所描述之協定實施於給定區塊鏈上時,可需要考慮各種實施細節。舉例而言,在比特幣區塊鏈中,有可能交易之相關聯ID可改變,而交易保持有效。此可被稱作交易延展性問題。此可在依賴於支付渠道之諸如本文中所描述之協定的協定之實施中呈現問題,其中退款(Tr )及支付(Tpay )交易可按參考先前交易之識別符的方式實施。關於比特幣中之交易延展性的額外資訊見於例如在比特幣雜誌(Bitcoin Magazine)中發表之Aaron van Wirdum (2015年10月7日)的「The Who, What, Why and How of the Ongoing Transaction Malleability Attack」中。交易延展性可藉由比特幣之SegWit分叉消除,參見例如可自https://bitcoincore.org/en/2016/01/26/segwit-benefits/(在2016年10月19日更新)得到之「Segregated Witness Benefits」。
應注意,上文所提到之實施例說明而非限制本發明之主題,且熟習此項技術者將能夠設計許多替代實施例而不脫離如由所附申請專利範圍所定義之本發明之範圍。在申請專利範圍中,置放於圓括號中之任何參考符號不應被視為限制申請專利範圍。詞「包含(comprising及comprises)」及其類似者並不排除除任何技術方案或說明書中整體列出之彼等元件或步驟外的元件或步驟之存在。在本說明書中,「包含(comprises及comprising)」意謂「包括或由……組成」。對元件之單數參考並不排除對此類元件之複數參考,且反之亦然。本發明之主題可藉助於包含若干相異元件之硬體且藉助於經合適規劃之電腦來實施。在列舉若干構件之裝置技術方案中,此等構件中之若干構件可由硬體之同一個項目體現。在相互不同之附屬技術方案中敍述某些措施之純粹實情並不指示不能有利地使用此等措施之組合。
100A‧‧‧交易Tc
100B‧‧‧交易Tr,0
100C‧‧‧交易Tr,1
100D‧‧‧交易Tr,n
200、1000、1200、1300、1400‧‧‧流程圖
210、212、214、216、218、220、222、224、226、228、230、240、242、244、1010、1020、1030、1040、1210、1220、1230、1240、1250、1260、1310、1320、1330、1340、1350、1360、1370、1380、1410、1420、1430、1440、1450‧‧‧操作
300、600、Ua 、Ub U0 、UA,0 UB,1 UB,2 UC,11 UC,12 UC,21 UC,22 ‧‧‧節點
310‧‧‧電腦網路
400‧‧‧自動駕駛車輛
410‧‧‧地圖模組
420‧‧‧招待模組
430‧‧‧天氣模組
440‧‧‧交通模組
450‧‧‧網路
500‧‧‧計算裝置
510‧‧‧處理器
520‧‧‧記憶體
530‧‧‧網路介面
540‧‧‧匯流排
610‧‧‧導向環
700、900‧‧‧決策樹
1100‧‧‧表示
k1 、k2 、k11 、k12 、k21 、k22 、k111 、k112 、k121 、k122 、k211 、k212 、k221 、k222 ‧‧‧私用密鑰
O111 、O112 、O121 、O122 、O211 、、O212 、、O221 、O222 ‧‧‧可能最終結果
Qs 、Q1 、Q2 、Q11 、Q12 、Q21 、Q22 、Q111 、Q112 、Q121 、Q122 、Q211 、Q212 、Q221 、Q222 ‧‧‧公用密鑰
Tc ‧‧‧提交交易
TPay ‧‧‧支付交易
Tr ‧‧‧退款交易
關於本發明之一個態樣或實施例所描述的任何特徵亦可關於一或多個其他態樣/實施例來使用。本發明之此等及其他態樣將自本文中描述之實施例顯而易見且參考本文中所描述之實施例進行闡明。現將僅作為實例且參看隨附圖式來描述本發明之實施例,在該等圖式中:
圖1展示用於支付渠道中之交易;
圖2為說明可如何創建根據圖1之支付渠道的流程圖;
圖3為說明本申請案之一實例操作環境的簡化示意圖;
圖4為說明本申請案之另一實例操作環境的簡化示意圖;
圖5說明實例計算裝置;
圖6為說明由節點構成之循環排序組的圖;
圖7展示對應於實例處理任務之決策樹;
圖8說明與圖7之決策樹之特定邊緣相關聯的私用密鑰;
圖9說明與圖8之私用密鑰相關且與圖7之決策樹之特定邊緣相關聯的公用密鑰值;
圖10為說明由圖6之特定節點執行之操作的流程圖;
圖11為說明根據本申請案之實例支付渠道的圖;
圖12為說明可如何創建根據圖1之支付渠道的流程圖;
圖13為說明由圖6之節點執行之操作的流程圖;及
圖14為說明由圖6之特定節點執行之操作的流程圖。
類似參考編號用於圖式中以指示類似元件及特徵。

Claims (15)

  1. 一種用於分散式控制之電腦實施方法,其包含: 藉由參與一區塊鏈網路之一循環排序節點組中之一特定節點自緊接在該特定節點後之一節點接收對應於與自緊接在後之節點至緊接在一監督節點前之一節點的節點相關聯之處理步驟的可能最終結果之組合的值,其中該等值係基於與該等節點相關聯的各自對應於與彼節點相關聯之一處理步驟之可能最終結果的公用密鑰,且基於該監督節點之一公用密鑰; 藉由該特定節點基於所接收值且基於對應於與該特定節點相關聯之一處理步驟之可能最終結果的公用密鑰而產生狀態值; 藉由該特定節點與該監督節點且與緊接在該特定節點前之一節點共用該等狀態值;以及 藉由該特定節點使用該等狀態值準備一區塊鏈交易,該區塊鏈交易經配置以回應於滿足一執行條件而將對一資源之控制自與該特定節點相關聯之一源位址傳輸至該緊接在後之節點之一接收位址,該執行條件包括供應對應於該等所接收值之多個解除鎖定值中之任一者。
  2. 如請求項1之方法,其中該等節點對應於與一系統相關聯之模組,且其中與一給定節點相關聯之一處理步驟的該等可能最終結果對應於該系統之一控制系統的一相關聯模組之輸出。
  3. 如請求項1至2中任一項之方法,其中該等所接收值中之各者係藉由組合與該監督節點相關聯之一公用密鑰及對應於處理步驟之可能最終結果的該等組合中之一各別者的該等公用密鑰中之多個公用密鑰來判定,該等處理步驟與自該緊接在後之節點至緊接在該監督節點前之該節點的節點相關聯。
  4. 如請求項3之方法,其中該等所接收值中之一給定者係藉由對與該監督節點相關聯之該公用密鑰及對應於可能最終結果之該等組合中的該各別者之該等最終結果的該等公用密鑰中之該等多個公用密鑰進行求和來判定。
  5. 如請求項1至4中任一項之方法,其中該等狀態值係藉由組合該等所接收值及對應於與該特定節點相關聯之一處理步驟之可能最終結果的該等公用密鑰來形成。
  6. 如請求項5之方法,其中該等狀態值中之各者係藉由對該等所接收值中之一者及對應於與該等特定節點相關聯之處理步驟之可能最終結果的該等公用密鑰中之一者進行求和來形成。
  7. 如請求項1至6中任一項之方法,其進一步包含: 等待該區塊鏈交易執行且自該交易獲得用以將該交易解除鎖定之一第一解除鎖定值,該第一解除鎖定值指示與自該緊接在後之節點至緊接在該監督節點前之該節點的節點相關聯之處理步驟的輸出且基於對應於與彼等節點相關聯之該等公用密鑰中之多個公用密鑰且對應於該等輸出的私用密鑰; 識別與該特定節點相關聯之該處理步驟的可能最終結果中之一者; 藉由該特定節點基於對應於該公用密鑰之一私用密鑰及該解除鎖定值而判定一第二解除鎖定值,該公用密鑰對應於經識別之最終結果,該第二解除鎖定值對應於該等狀態值中之一者且指示與自該特定節點至緊接在該監督節點前之該節點的節點相關聯之處理步驟的輸出;以及 使用該第二解除鎖定值,執行另一區塊鏈交易。
  8. 如請求項7之方法,其中該另一區塊鏈交易係藉由緊接在前之節點準備,且經配置以回應於滿足一第二執行條件而將對一第二資源之控制自與該緊接在前之節點相關聯的一源位址傳輸至該特定節點之一接收位址,該第二執行條件包括供應對應於該等狀態值中之一者的第二多個解除鎖定值中之任一者,且其中經配置以將對該資源之控制自與該特定節點相關聯之該源位址傳輸至該緊接在後之節點之該接收位址的該區塊鏈交易係在準備該另一區塊鏈交易之後準備。
  9. 如請求項8之方法,其中該第二多個解除鎖定值之該等解除鎖定值中之各者對應於該等狀態值中之一各別者且係基於對應於彼狀態值所基於之該等公用密鑰的私用密鑰。
  10. 如請求項7至9中任一項之方法,其中該解除鎖定值為對應於與自該緊接在後之節點至緊接在該監督節點前之該節點的節點相關聯之處理步驟的該等輸出之該等私用密鑰及對應於與該監督節點相關聯之該公用密鑰之一私用密鑰的一總和。
  11. 如請求項7至10中任一項之方法,其中該第二解除鎖定值為對應於與自該特定節點至緊接在該監督節點前之該節點的節點相關聯之處理步驟的該等輸出之該等私用密鑰及對應於與該監督節點相關聯之該公用密鑰之一私用密鑰的一總和。
  12. 如請求項7至11中任一項之方法,其中該資源與該第二資源為相同的。
  13. 如請求項1至12中任一項之方法,其中各公用密鑰及其對應私用密鑰形成一橢圓曲線密碼術公用-私用密鑰對。
  14. 一種用於進行如請求項1至13中任一項之一方法的電腦實施系統。
  15. 一種非暫時性電腦可讀儲存媒體,其儲存用於使一電腦系統適於執行如請求項1至13中任一項之一方法的指令。
TW108113412A 2018-04-20 2019-04-17 用以控制參與區塊鏈網路的循環排序節點組所實行任務之電腦實施方法與系統 TWI807014B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1806448.5 2018-04-20
GBGB1806448.5A GB201806448D0 (en) 2018-04-20 2018-04-20 Computer-implemented methods and systems

Publications (2)

Publication Number Publication Date
TW201946414A true TW201946414A (zh) 2019-12-01
TWI807014B TWI807014B (zh) 2023-07-01

Family

ID=62236212

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108113412A TWI807014B (zh) 2018-04-20 2019-04-17 用以控制參與區塊鏈網路的循環排序節點組所實行任務之電腦實施方法與系統

Country Status (9)

Country Link
US (2) US11831408B2 (zh)
EP (1) EP3782104A1 (zh)
JP (2) JP7326326B2 (zh)
KR (1) KR20210016338A (zh)
CN (1) CN112020727A (zh)
GB (1) GB201806448D0 (zh)
SG (1) SG11202008984VA (zh)
TW (1) TWI807014B (zh)
WO (1) WO2019202437A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111245857B (zh) * 2020-01-17 2021-11-26 安徽师范大学 一种区块链环境下通道网络稳态演化博弈方法
CN111539813B (zh) * 2020-07-10 2020-12-11 支付宝(杭州)信息技术有限公司 业务行为的回溯处理方法、装置、设备及系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10491477B2 (en) * 2015-12-18 2019-11-26 Privops Llc Hybrid cloud integration fabric and ontology for integration of data, applications, and information technology infrastructure
GB2562622A (en) 2016-02-23 2018-11-21 Nchain Holdings Ltd Cryptographic method and system for secure extraction of data from a blockchain
MX2018010054A (es) * 2016-02-23 2019-01-21 Nchain Holdings Ltd Metodo y sistema de tokenizacion para la implementacion de cambios de moneda en una cadena de bloques.
CN108885745B (zh) 2016-02-23 2023-06-30 区块链控股有限公司 具有令牌化的基于区块链的交换
IL278834B2 (en) 2016-02-23 2023-09-01 Nchain Holdings Ltd Automatic registration and management method for smart contracts based on 'block chain'
EP3364598B1 (en) * 2016-02-23 2020-10-14 Nchain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US20170286951A1 (en) 2016-04-04 2017-10-05 Moving Media GmbH Dynamic Delivery Authorization for Cryptographic Payments
GB201607477D0 (en) 2016-04-29 2016-06-15 Eitc Holdings Ltd A method and system for controlling the performance of a contract using a distributed hash table and a peer to peer distributed ledger
US20170324711A1 (en) 2016-05-03 2017-11-09 The Real Mccoy, Llc Inc. Method for establishing, securing and transferring computer readable information using peer-to-peer public and private key cryptography
GB201611948D0 (en) 2016-07-08 2016-08-24 Kalypton Int Ltd Distributed transcation processing and authentication system
CA3031133C (en) 2016-07-18 2024-01-16 Royal Bank Of Canada Distributed ledger platform for vehicle records
CN106331151A (zh) * 2016-09-19 2017-01-11 中国银联股份有限公司 基于区块链结构的资源文件处理系统及方法
US10291627B2 (en) 2016-10-17 2019-05-14 Arm Ltd. Blockchain mining using trusted nodes
CN107341702B (zh) * 2017-03-08 2020-06-23 创新先进技术有限公司 一种业务处理的方法及装置
GB201706071D0 (en) 2017-04-18 2017-05-31 Nchain Holdings Ltd Computer-implemented system and method
CN107392040B (zh) * 2017-04-28 2019-08-09 阿里巴巴集团控股有限公司 一种共识验证的方法及装置
CN107094148A (zh) * 2017-05-09 2017-08-25 电子科技大学 一种抗量子计算攻击的无人机区块链管控策略
SG11201910769WA (en) 2017-06-20 2020-01-30 Nchain Holdings Ltd System and method of multi-round token distribution using a blockchain network
US10944546B2 (en) * 2017-07-07 2021-03-09 Microsoft Technology Licensing, Llc Blockchain object interface
GB201802063D0 (en) * 2018-02-08 2018-03-28 Nchain Holdings Ltd Computer-implemented methods and systems
US10614253B2 (en) * 2018-02-14 2020-04-07 Fortune Vieyra Systems and methods for state of data management

Also Published As

Publication number Publication date
JP2023145662A (ja) 2023-10-11
KR20210016338A (ko) 2021-02-15
US11831408B2 (en) 2023-11-28
US20240163098A1 (en) 2024-05-16
EP3782104A1 (en) 2021-02-24
WO2019202437A1 (en) 2019-10-24
SG11202008984VA (en) 2020-11-27
US20210243022A1 (en) 2021-08-05
TWI807014B (zh) 2023-07-01
JP2021521699A (ja) 2021-08-26
CN112020727A (zh) 2020-12-01
GB201806448D0 (en) 2018-06-06
JP7326326B2 (ja) 2023-08-15

Similar Documents

Publication Publication Date Title
CN106899698B (zh) 一种区块链之间的跨链互操作方法
JP6871380B2 (ja) 情報保護のシステム及び方法
JP7395701B2 (ja) ブロックチェーン上でトランザクション・ミキシングを行うためのコンピュータで実施されるシステム及び方法
CN110832807B (zh) 用于区块链网络上分层令牌分配的系统和方法
US20240163098A1 (en) Computer-implemented methods and systems for controlling tasks implemented by a cyclically-ordered set of nodes participating in a blockchain network
WO1997050205A1 (en) Digitally signing agreements from remotely located nodes
JP7417583B2 (ja) コンピュータネットワークの間のタスクの分配のためのアキュムレータに基づくプロトコルのためのコンピュータ実施システム及び方法
JP2021513253A (ja) ブロックチェーンを使って資源を移転するためのシステムおよび方法
US20240179211A1 (en) Computer-implemented system and method for controlling processing steps of a distributed system
Alruwaili et al. Intelligent transaction techniques for blockchain platforms
CN112438035B (zh) 用于控制分布式系统的处理步骤的计算机实现的系统和方法