(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-18
(45)【発行日】2024-01-26
(54)【発明の名称】ブロックチェーン・ネットワークにおける暗号座礁リソースを回避又は削減する方法、電子デバイス及び記憶媒体
(51)【国際特許分類】
H04L 9/32 20060101AFI20240119BHJP
H04L 9/08 20060101ALI20240119BHJP
【FI】
H04L9/32 200Z
H04L9/08 F
H04L9/08 A
【外国語出願】
(21)【出願番号】P 2022077414
(22)【出願日】2022-05-10
(62)【分割の表示】P 2019566966の分割
【原出願日】2018-06-11
【審査請求日】2022-05-10
(32)【優先日】2017-06-14
(33)【優先権主張国・地域又は機関】GB
(32)【優先日】2017-06-14
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】318001991
【氏名又は名称】エヌチェーン ライセンシング アーゲー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】フレッチャー,ジョン
【審査官】青木 重徳
(56)【参考文献】
【文献】特許第7072587(JP,B2)
【文献】特表2017-515252(JP,A)
【文献】国際公開第2016/164310(WO,A1)
【文献】マイクロペイメントチャネル,この1冊でまるごとわかる ブロックチェーン&ビットコイン,日本,日経BP社,2016年12月24日,p.86-87
【文献】STEVEN GOLDFEDER,ESCROW PROTOCOLS FOR CRYPTOCURRENCIES: HOW TO BUY PHYSICAL GOODS USING BITCOIN,21ST INTERNATIONAL CONFERENCE ON FINANCIAL CRYPTOGRAPHY AND DATA SECURITY (FC 2017),SPRINGER INTERNATIONAL PUBLISHING,2017年04月03日,VOL:10322,PAGE(S):1 - 27 (321 - 339),http://dx.doi.org/10.1007/978-3-319-70972-7_18
【文献】DIKSHIT PRATYUSH; ET AL,EFFICIENT WEIGHTED THRESHOLD ECDSA FOR SECURING BITCOIN WALLET,2017 ISEA ASIA SECURITY AND PRIVACY (ISEASP),IEEE,2017年01月29日,PAGE(S):1 - 9,http://dx.doi.org/10.1109/ISEASP.2017.7976994
【文献】Joseph Poon et al.,The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments,DRAFT Version 0.5.9.2,[オンライン],2016年01月14日,p. 1-59,<URL: https://lightning.network/lightning-network-paper.pdf>,(検索日 令和4年3月9日)、インターネット
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
H04L 9/08
(57)【特許請求の範囲】
【請求項1】
コンピュータで実現される方法であって:
第1デポジット・トランザクションをブロックチェーン・ネットワークのノードへブロードキャストするステップであって、前記第1デポジット・トランザクションは、
第1ディジタル資産が、第1パブリック・キーに対して有効である署名の生成による所定の期間の後
にアンロックされること、及び閾値署名方式の下で動作するノード・グループに関連付けられているコングレス・パブリック・キーに対して有効である署名の生成による任意の時間にアンロックされることを許容するように構成され
ており、前記コングレス・パブリック・キーは、少なくとも閾値数のノード・グループによって生成され、各ノードはキー・シェアを生成するように構成されている、ステップ;
前記所定の期間の経過前に、前記第1パブリック・キー、前記コングレス・パブリック・キー、及び第3パブリック・キーで第2ディジタル資産を制限する第1ファンディング・トランザクションを前記ブロックチェーン・ネットワークへブロードキャストするステップであって、前記第2ディジタル資産の制限は:1)前記第1パブリック・キーに対して有効な署名及び第3パブリック・キーに対して有効な署名の双方;又は2)
前記コングレス・パブリック・キーに対して有効な署名により解除されることが可能である、ステップ;及び
前記所定の期間の経過後に、前記第1パブリック・キーに対して有効な署名で前記第1ディジタル資産をアンロックするトランザクションをブロードキャストするステップ;
を有するコンピュータで実現される方法。
【請求項2】
前記キー・シェアは、個々のノードにおける信頼される実行環境内で保持される、請求項
1に記載のコンピュータで実現される方法。
【請求項3】
前記キー・シェアは、個々のノードにおける信頼される実行環境のエンクレーブ内で保持される、請求項2に記載のコンピュータで実現される方法。
【請求項4】
前記第1ファンディング・トランザクションをブロードキャストする前に:
前記ブロックチェーン・ネットワークにおける第2デポジット・トランザクションのコンファメーションを検出するステップであって、前記第2デポジット・トランザクションは、
別のディジタル資産が、前記第3パブリック・キーに対して有効である署名の生成による所定の期間の後
にアンロックされること、及び前記コングレス・パブリック・キーに対して有効である署名の生成による任意の時間にアンロックされることを許容するように構成されている、ステップ
を更に有する請求項1に記載のコンピュータで実現される方法。
【請求項5】
第1カプセル化コミットメント・トランザクションをブロードキャストする方法であって、前記第1カプセル化コミットメント・トランザクションは、コミットメント・トランザクションをメタデータとして含み、前記コミットメント・トランザクションは、前記第1パブリック・キーに対応する第1プライベート・キーを利用して署名される、ステップ
を更に有する請求項1-
4のうち何れか1項に記載のコンピュータで実現される方法。
【請求項6】
前記第1カプセル化コミットメント・トランザクションをブロードキャストする前に:
前記ブロックチェーン・ネットワークにおける第2ファンディング・トランザクションのコンファメーションを検出するステップであって、前記第2ファンディング・トランザクションは、前記第1パブリック・キー、前記コングレス・パブリック・キー、及び前記第3パブリック・キーで別のディジタル資産を制限し、前記別のディジタル資産の制限は:1)前記第1パブリック・キーに対して有効な署名及び第3パブリック・キーに対して有効な署名の双方;又は2)前記コングレス・パブリック・キーに対して有効な署名により解除されることが可能である、ステップ
を更に有する請求項
5に記載のコンピュータで実現される方法。
【請求項7】
実行されると請求項1-
6のうち何れか1項に記載の方法を実行するようにプロセッサを構築するコンピュータ実行可能命令を有するコンピュータ読み取り可能な記憶媒体。
【請求項8】
インターフェース・デバイス;
前記インターフェース・デバイスに結合されるプロセッサ;
前記プロセッサに結合されるメモリであって、前記メモリは、実行されると請求項1-
6のうち何れか1項に記載の方法を実行するように前記プロセッサを構築するコンピュータ実行可能命令を保存している、メモリ;
を有する電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般に分散された台帳に関し、より詳細には電子通信、移転及び交換の目的で参加者間で設定されたオフ・ブロックチェーン・チャネルを促進する方法及びシステムに関する。本発明は、相手がチャネルのセットアップの完了に失敗した場合に、チャネルに関連するディジタル・リソースのリカバリ/ディジタル・リソースへのアクセスを可能にするために、オフ・ブロックチェーン・チャネル(an off-blockchain channel)を設定することに特に適しているが、これに限定されない。本発明は、参加者間で確立されるチャネルに関して使用するために暗号強制ソリューションを提供し、1人以上の参加者がやり取りを完了できなかった場合でさえ、リソースに引き続きアクセスされ得ることを保証する。
【背景技術】
【0002】
本書では電子的なコンピュータ・ベースの分散型の全ての形態の台帳を含むように用語「ブロックチェーン」を使用する。これらは、ブロックチェーン及びトランザクション・チェーン技術、許可された及び許可されていない台帳、共有台帳、並びにそれらの変形を含むが、これらに限定されない。ブロックチェーン技術の最も広く知られている応用はビットコイン台帳であるが、他のブロックチェーン実装が提案され開発されている。本明細書では、便宜上及び説明の目的でビットコインが参照されるかもしれないが、本発明は、ビットコイン・ブロックチェーンで使用することに限定されず、代替的なブロックチェーンの実装及びプロトコルが、本発明の範囲内に属することに留意すべきである。
【0003】
ブロックチェーンはコンセンサス・ベースの電子台帳であり、これはトランザクション及びその他の情報により構成されるブロックにより構成される、コンピュータ・ベースの非セントラル化された分散システムとして実装される。ビットコインの場合、各トランザクションは、ブロックチェーン・システムの参加者間のディジタル資産のコントロールの移動をエンコードするデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは、共にチェーン化される先行するブロックのハッシュを含み、開始以来ブロックチェーンに書き込まれてきた全てのトランザクションについての永続的で変更不可能な記録を作成する。トランザクションは、トランザクションの入力及び出力に組み込まれるスクリプトと呼ばれる小さなプログラムを含み、スクリプトは、トランザクションの出力がどのように誰によってアクセスされ得るかを指定する。ビットコイン・プラットフォームでは、これらのスクリプトはスタック・ベースのスクリプト言語を使用して書かれる。
【0004】
トランザクションがブロックチェーンに書き込まれるためには、それが「検証済み(validated)」でなければならない。幾つかのネットワーク・ノードは、マイナーとして振る舞い、各トランザクションが有効であることを保証するために作業を行い、無効なトランザクションはネットワークから拒否される。例えば、ノードにインストールされたソフトウェア・クライアントは、未使用残高(unspent transaction output:UTXO)を参照するトランザクションに対してこの検証作業を実行する。検証は、そのロック及びアンロック・スクリプトを実行することによって実行されてもよい。ロック及びアンロック・スクリプトの実行がTRUEに評価され、特定の他の条件が満たされる場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれることができる。従ってトランザクションがブロックチェーンに書き込まれるためには、i)トランザクションを受け取るノードによって検証され、トランザクションが有効である場合には、そのノードがそれをネットワーク内の他のノードへ中継すること;及びii)マイナーによって構築された新しいブロックに追加されること;及びiii)採掘されること、即ち、過去のトランザクションの公の台帳に追加されることを要する。トランザクションを事実上不可逆的にする程度に十分な数のブロックがブロックチェーンに追加されると、トランザクションは合意されたと考えられる。
【0005】
ブロックチェーン技術は、暗号通貨の実装を利用することに最も広く知られているが、ディジタル起業家は、新しいシステムを実現するために、ビットコインが基礎としている暗号セキュリ・ティシステムと、ブロックチェーンに格納され得るデータとの双方を使用することを探求し始めている。ブロックチェーンが、暗号通貨での支払いに純粋に限定されない自動化されたタスク及びプロセスに使用され得るならば、非常に有益であろう。このようなソリューションは、ブロックチェーンの利点(例えば、イベントの恒久的な改ざん防止記録、分散処理など)を、それらの用途でいっそう多様化しつつ利用し得るであろう。
【0006】
ビットコインを含むブロックチェーン・プロトコル内でのスケーラビリティは、暗号通貨コミュニティの中で多くの議論の的となっている。どのようにしてスケーリングを可能にするかという問題は、様々な技術的課題を提起する。例えば、ブロックチェーンは、台帳に対する全ての状態変更が全ての参加者にブロードキャストされる「ゴシップ・プロトコル」により動作し、状態についてのコンセンサスはゴシップ・プロトコルに基づいて合意されるので、ブロックチェーン・ネットワーク内の全てのノードは、グローバルに発生する全てのトランザクションについて知っていなければならない。トランザクションのこのグローバルな追跡は、少なくともいくつかのブロックチェーン・ネットワークにおけるトランザクションの量又は頻度を制限する可能性がある。例えば、本件執筆時点で実現されているように、ビットコインはVisa(登録商標)等の既存の大容量電子決済システムと置き換わることはできない可能性が高い。例えば、ビットコインでVisaトランザクションを実行することは、年間だけで400テラバイトのデータを消費することになると予想されている。既存のネットワークの多くのノードは、この量の帯域幅及びストレージを取り扱うことはできない。
【0007】
より多くの取引量を収容するために、オフ・チェーン(即ち、オフ・ブロックチェーン)支払チャネル(payment channels)が提案されている。例えば、「ライティング・ネットワーク(Lighting Network)」と呼ばれるオフ・チェーン支払チャネルは、Poon and Dryjaによる「The Bitcoin Lighting Network:Scalable Off-Chain Instant Payments」(2016年1月14日)において記述されている。ライティング・ネットワークは、価値のある取引がオフ・ブロックチェーンで生じることを許容する。ライティング・ネットワークは、支払チャネルがオープンにされた後に特定の非協力的又は敵対的な行動がオフ・チェーンで発生した場合、オフ・チェーンで以前に交換された半・署名コミットメント・トランザクションが完全に署名され、ブロックチェーン上でブロードキャストされ得る技術を説明している。
【0008】
しかしながら、例えばトランザクション・マレアビリティ・メカニズムを導入せずに、ビットコインで実装された場合、ライトニング・ネットワークは、特定の状況では、ディジタル資産が暗号座礁(cryptographically stranded)してしまう可能性がある。例えば、少なくとも2つのノードが「開始トランザクション」におけるディジタル資産をマルチシグネチャ・アドレス(「マルチ署名」アドレスとも呼ばれる)へ移す場合、ライトニング・ネットワークで支払チャネルが開始される。このマルチ署名アドレスは、マルチ署名アドレスに転送されたディジタル資産が、支払チャネルの両方の参加者(即ち、ディジタル資産をマルチ署名アドレスへ移した少なくとも2つのノード)がトランザクションに双方とも署名した場合にのみ、使用され得るように構成される。例えば、相手方がライティング・ネットワーク・プロトコルに従って動作しない場合、(相手方と言及されてもよい支払チャネルに関与する他者の非協力的な行動に起因して、取得し難くなるという意味で)ディジタル資産は暗号座礁してしまう可能性がある。例えば、ノードは、ディジタル資産をマルチ署名アドレスへ移し、相手方は対応するディジタル資産をそのマルチ署名アドレスへ移すことに失敗するかもしれない。相手方はディジタル資産の見返りにノードを支援することを拒否し、その結果ディジタル資産は暗号座礁になり得る。マルチ署名アドレスに関連する暗号制約は、相手方の参加なしにディジタル資産のリターンを妨げる。
【0009】
更に、たとえ両方のノードがライトニング・ネットワーク・プロトコルに従ってマルチ署名アドレスへディジタル資産を移したとしても、相手方は、支払チャネル上で何らかの活動(コミットメント・トランザクションの交換など)が発生する前に、参加を停止することができる。支払チャネルが開設された後、相手方は参加するインセンティブを有する(即ち、マルチ署名アドレスへ転送されたディジタル資産は、現在、部分的に他者の支配下にあるからである)。しかしながら、彼らの参加は、いくつかの考えられる理由のうちのいずれか1つにより止むであろう。例えば、相手方が不注意に必要なプライベート・キーを削除した場合、相手方は参加を止める可能性がある。最初のコミットメント・トランザクションが受信される前に、相手方が参加することを止める場合、マルチ署名アドレスへ転送されたディジタル資産は暗号座礁するかもしれない。
【0010】
資産の暗号座礁に対する1つのソリューションは分離署名(segregated witness)である。しかしながら、分離署名は例えばビットコイン・コア・プロトコルに対する更新を必要とし、ブロックチェーン・ネットワークの分散性の下では、コア・プロトコルに対する更新は、実装するのに困難である可能性がある。更に、分離署名(SegWit)の導入はビットコイン・プロトコルを根本的な方法で変更し、それに伴って搾取を引き起こす可能性のあるセキュリティ問題を引き起こすのではないかという懸念がビットコイン・コミュニティ内で表明されている。
【発明の概要】
【0011】
従って支払チャネルを設定する改善された技術に対するニーズが存在する。
【0012】
従って本発明によれば添付の特許請求の範囲に規定されるような方法が提供される。
【0013】
以下により詳細に記載されるように、ディジタル資産のオフ・チェーン転送のためのチャネルを確立するための技術が説明される。チャネルは、「支払チャネル」、「転送チャネル」、「通信チャネル」又は「交換チャネル」のように称されてもよい。参照の便宜上、「支払チャネル」という用語が使用されるかもしれない。
【0014】
より詳細には、チャネルのセットアップ中にコングレス又は議会(a congress)が使用され得る。コングレスは、コングレスに関連するディジタル資産のプールに十分なステーク(「メンバ・デポジット」)を提出することにより、ブロックチェーン・ネットワーク内の任意のノードが参加できるノードのグループである。例えば、ノードは、ディジタル通貨(ビットコイン等)、トークン、又はその他のステーク(stake)若しくは価値等のディジタル資産又はリソースを、コングレスに関するアカウントへ移すことによって、コングレスに参加することができる。コングレスは、部分的には、プライベート・キー・シェアの分散生成を通じて保全され得る。各プライベート・キー・シェアは、トランザクションの部分署名を生成するために、その所有者によって使用され得る。閾値署名方式は、少なくとも閾値数の部分署名を使用して、そのようなトランザクションに関する有効な署名を生成するために使用され得る。メンバ・デポジットは、悪質な行為のために没収される。
【0015】
有利なことに、チャネルの設定の際にコングレスを使用することにより、暗号座礁ディジタル資産の脅威は減らされる。従って、支払チャネルは、ディジタル資産を暗号座礁させることなく、トランザクションをブロックチェーン・ネットワークからオフロードするために使用されることが可能である。従ってリソースは関係者又は各人によってアクセスされ利用され得る。本明細書に記載される技術は、前提とするプロトコルの修正を必要とせずに、ビットコイン等の既存のブロックチェーン・ネットワークに決済チャネル・ネットワークが提供されることを許容する。
【0016】
従って本発明によればコンピュータで実装される方法が提供され得る。コンピュータ実装方法は:第1デポジット・トランザクションをブロックチェーン・ネットワークのノードへブロードキャストするステップであって、第1デポジット・トランザクションは、第1パブリック・キーに対して有効である署名の生成による所定の期間の後に第1ディジタル資産がアンロックされること、及び第2パブリック・キーに対して有効である署名の生成による任意の時間に第1ディジタル資産がアンロックされることを許容するように構成されている、ステップ;所定の期間の経過前に、第1パブリック・キー、第2パブリック・キー、及び第3パブリック・キーで第2ディジタル資産を制限する第1ファンディング・トランザクションをブロックチェーン・ネットワークへブロードキャストするステップであって、第2ディジタル資産の制限(the encumbrance)は:1)第1パブリック・キーに対して有効な署名及び第3パブリック・キーに対して有効な署名の双方;又は2)第2パブリック・キーに対して有効な署名により解除される、ステップ;及び所定の期間の経過後に、第1パブリック・キーに対して有効な署名で第1ディジタル資産をアンロックするトランザクションをブロードキャストするステップを含む。
【0017】
幾つかの実装において、コンピュータ実装方法は、第1ファンディング・トランザクションをブロードキャストする前に、ブロックチェーン・ネットワークにおける第2デポジット・トランザクションのコンファメーションを検出するステップを含む。第2デポジット・トランザクションは、第3パブリック・キーに対して有効である署名の生成による所定の期間の後に、別のディジタル資産がアンロックされること、及び第2パブリック・キーに対して有効である署名の生成による任意の時間に別のディジタル資産がアンロックされることを許容するように構成されている。
【0018】
幾つかの実装において、第1ファンディング・トランザクションをブロックチェーン・ネットワークへブロードキャストするステップは、第2デポジット・トランザクションのコンファメーションを検出したことに応答して自動的に実行される。
【0019】
幾つかの実装において、第1デポジット・トランザクションは、第1ファンディング・トランザクション及び第2ファンディング・トランザクションで提供されるファンディング量を指定するメタデータを含み、第2デポジット・トランザクションは、第1ファンディング・トランザクションと第2ファンディング・トランザクションとで提供されるファンディング量を指定するメタデータを含む。
【0020】
幾つかの実装において、コンピュータ実装方法は、第1ファンディング・トランザクションをブロードキャストする前に、第1ファンディング・トランザクション及び第2ファンディング・トランザクションで提供されるように期待されるファンディング量を、第2デポジット・トランザクションが指定していることを確認するステップを含む。
【0021】
幾つかの実装において、第2パブリック・キーは、閾値署名方式の下で動作するノード・グループに関連付けられている。
【0022】
幾つかの実装において、方法は第1カプセル化コミットメント・トランザクションを更に含む。第1カプセル化コミットメント・トランザクションは、コミットメント・トランザクションをメタデータとして含む。コミットメント・トランザクションは、第1パブリック・キーに対応する第1プライベート・キーを利用して署名される。幾つかの実装において、第1カプセル化コミットメント・トランザクションは、所定の期間の経過前にブロードキャストされる。
【0023】
幾つかの実装において、コンピュータ実装方法は更に:第1カプセル化トランザクションをブロードキャストする前に、ブロックチェーン・ネットワークにおける第2ファンディング・トランザクションのコンファメーションを検出するステップを含む。第2ファンディング・トランザクションは、第1パブリック・キー、第2パブリック・キー、及び第3パブリック・キーで別のディジタル資産を制限し、別のディジタル資産の制限は:1)第1パブリック・キーに対して有効な署名及び第3パブリック・キーに対して有効な署名の双方;又は2)第2パブリック・キーに対して有効な署名より解除され得る。
【0024】
幾つかの実装において、第1カプセル化トランザクションは名目上のディジタル資産に対するものである。
【0025】
幾つかの実装において、コンピュータ実装方法は更に、第3パブリック・キーに関連するノードによりブロードキャストされる第2カプセル化コミットメント・トランザクションのコンファメーションを検出するステップを含む。第2カプセル化コミットメント・トランザクションは別のコミットメント・トランザクションをメタデータとして含む。別のコミットメント・トランザクションは、第3パブリック・キーに対応する第3プライベート・キーを使用して署名される。
【0026】
幾つかの実装において、コンピュータ実装方法は更に、ブロックチェーン・ネットワークのノードへ別のコミットメント・トランザクションをブロードキャストするステップを含む。
【0027】
幾つかの実装において、コンピュータ実装方法は更に、1つ以上の別のコミットメント・トランザクションを、第3パブリック・キーに関連するノードと直接的にやり取りするステップを含む。
【0028】
本発明によれば、電子デバイスが提供され得る。電子デバイスは、インターフェース・デバイスと、インターフェース・デバイスに結合されるプロセッサと、プロセッサに結合されるメモリとを含む。メモリはコンピュータ実行可能命令を保存し、その命令は、実行されると、本明細書で説明される方法を実行するようにプロセッサを構築する。
【0029】
本発明によれば、コンピュータ読み取り可能な記憶媒体が提供され得る。コンピュータ読み取り可能な記憶媒体はコンピュータ実行可能命令を含み、その命令は実行されると、本明細書で説明される方法を実行するようにプロセッサを構築する。
【図面の簡単な説明】
【0030】
本発明のこれら及び他の態様は、本明細書に記載される実施形態から明らかであり、それを参照して解明されるであろう。次に、本発明の実施形態が単なる例示として添付の図面を参照して説明される。
【0031】
【
図1】
図1は例示的なブロックチェーン・ネットワークのブロック図を示す。
【0032】
【
図2】
図2は、ブロックチェーン・ネットワーク内のノードとして機能し得る例示的な電子デバイスのブロック図を示す。
【0033】
【
図3】
図3は、支払チャネルを設定する例示的な方法のフローチャートである。
【0034】
【
図4】
図4は、コングレスへ参加する例示的な方法のフローチャートである。
【0035】
【
図5】
図5は、ディジタル資産を没収する例示的な方法のフローチャートである。
【0036】
【
図6】
図6は、キー・シェアを再配分する例示的な方法のフローチャートである。
【0037】
【
図7】
図7は、キー・シェアを再配分する例示的な別の方法のフローチャートである。
【0038】
【
図8】
図8は、デポジットを戻す例示的な方法のフローチャートである。
【0039】
【
図9】
図9は、支払チャネルの設定を支援する例示的な方法のフローチャートである。
【発明を実施するための形態】
【0040】
ブロックチェーン・ネットワーク
まず、ブロックチェーンに関連する例示的なブロックチェーン・ネットワーク100をブロック図の形で示す
図1を参照する。ブロックチェーン・ネットワークは、パブリック・ブロックチェーン・ネットワークであってもよく、それは、誰でも、招待されることなく、又は他のメンバからの同意なしに、参加することができるピア・ツー・ピアのオープン・メンバーシップ・ネットワークであってよい。ブロックチェーン・ネットワーク100が動作する基礎となるブロックチェーン・プロトコルのインスタンスを実行する分散電子デバイスは、ブロックチェーン・ネットワーク100に参加することができる。そのような分散電子デバイスはノード102として言及され得る。ブロックチェーン・プロトコルは例えばビットコイン・プロトコルであってもよい。
【0041】
ブロックチェーン・プロトコルを実行し、ブロックチェーン・ネットワーク100のノード102を形成する電子デバイスは、例えば、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、サーバ、スマートフォンのようなモバイル・デバイス、スマート・ウォッチのようなウェアラブル・コンピュータ、又は他の電子デバイスのようなコンピュータを含む種々のタイプのものであってよい。
【0042】
ブロックチェーン・ネットワーク100のノード102は、有線及び無線通信技術を含み得る適切な通信技術を使用して互いに結合される。このような通信は、ブロックチェーン・ネットワークに関連するプロトコルを遵守する。例えば、ブロックチェーンがビットコイン・ブロックチェーンである場合、ビットコイン・プロトコルが使用されてもよい。
【0043】
ノード102は、ブロックチェーン上の全てのトランザクションのグローバルな台帳を維持する。従ってグローバル台帳は分散された台帳である。各ノード102は、グローバル台帳の完全なコピー又は部分的なコピーを記憶することができる。プルーフ・オブ・ワークによって保証されるブロックチェーンの場合、グローバル台帳に影響するノード102によるトランザクションは、グローバル台帳の有効性が維持されるように、他のノード102によって検証される。ブロックチェーンがプルーフ・オブ・ワークに基づくブロックチェーンである場合、ブロックはまた、ブロックとともに提出されるプルーフ・オブ・ワークを検査することによって検証される。
【0044】
少なくとも一部のノード102は、ブロックチェーン・ネットワーク100のマイナー104として動作する。
図1のブロックチェーン・ネットワーク100は、ブロックチェーンでのトランザクションを促進にするために、マイナー104が費用のかかる計算を実行するプルーフ・オブ・ワーク・ブロックチェーンであってもよい。例えば、プルーフ・オブ・ワーク・ブロックチェーンは、暗号の問題を解くことをマイナーに要求することができる。ビットコインでは、マイナー104は、ブロックヘッダが、SHA-256により、現在の難易度によって定義される値よりも小さな数字にハッシュするようなナンスを発見する。プルーフ・オブ・ワーク・アルゴリズムに必要なハッシュ・パワーは、トランザクションの上に所定数のブロックが採掘された後に、トランザクションは事実上不可逆であると考えられることを意味する。暗号問題を解くマイナー104は、ブロックチェーンのための新しいブロックを作成し、その新しいブロックを他のノード102にブロードキャストする。他のノード102は、マイナー104が実際に暗号問題を解いており、従ってブロックがブロックチェーンに追加されるべきであることを受け入れる前に、十分なプルーフ・オブ・ワークを示したことを検証する。ブロックは、ノード102のコンセンサスによってブロックチェーン(即ち、分散グローバル台帳)に追加される。
【0045】
プルーフ・オブ・ワークに代わるものとして、ブロックチェーン・ネットワーク100は、その代わりにプルーフ・オブ・ステーク・ブロックチェーン・ネットワークであってもよい。プルーフ・オブ・ステーク・ブロックチェーン・ネットワークは、コンセンサスを達成するための代替メカニズムを提供する。プルーフ・オブ・ステーク・ブロックチェーン・ネットワークでは、ブロックチェーンはプルーフ・オブ・ワークではなく持分証明(proof-of-stake)によって保全される。プルーフ・オブ・ステークの下では、マイナーはディジタル資産のセキュリティ・デポジット(保証金)を預託し、ブロックを採掘するノードとして選ばれる確率は、セキュリティ・デポジットとして提供されるディジタル資産の量に比例する。プルーフ・オブ・ステーク・ブロックチェーン・システムは、プルーフ・オブ・ワーク・ブロックチェーンで採掘するのに必要な計算費用とエネルギーを回避するために使用されることができる。更に、プルーフ・オブ・ステーク・ブロックチェーンは、プルーフ・オブ・ワーク・ブロックチェーンよりも、より高頻度で、より規則的なブロック作成を可能にし得る。
【0046】
マイナー104によって作成されたブロックは、ノード102によってブロックチェーンにブロードキャストされていたトランザクションを含む。例えば、ブロックは、ノード102のうちの一方に関連付けられたアドレスからノード102のうちの他方に関連付けられたアドレスへのトランザクションを含んでもよい。このようにして、ブロックはあるアドレスから別のアドレスへのトランザクションのレコードとして機能する。トランザクションをブロックに含められることを要求した者は、彼らのパブリック・キーに対応するプライベート・キーを使用してリクエストに署名することによって、トランスファを開始するために(例えば、ビットコインの場合は、ビットコインを使用するために)それらが承認されることを証明する。トランスファは、リクエストが有効に署名されている場合に限り、ブロックに追加されることができる。
【0047】
ビットコインの場合、パブリック・キーとアドレスとの間に1対1の対応が存在する。即ち、各々のパブリック・キーは、単一のアドレスに関連付けられる。従って、本明細書において、パブリック・キー宛てに又はそこからディジタル資産を移すこと(例えば、パブリック・キーへの支払)及びそのパブリック・キーに関連するアドレス宛てに又はそこからディジタル資産を移すことは、共通のオペレーションを指す。
【0048】
ブロックチェーン・ネットワーク内の幾つかのノード102はマイナーとしては動作せず、その代わりに検証ノードとして参加することができる。トランザクションの検証は、署名の確認、有効なUTXOへの参照の確認などを含み得る。
【0049】
図1の例は5つのノード102を含み、そのうちの2つはマイナー104として参加している。実際には、ノード102又はマイナー104の数は様々であってよい。多くのブロックチェーン・ネットワークにおいて、ノード102及びマイナー104の数は、
図1に示される数よりもはるかに大きくなり得る。
【0050】
以下に説明するように、種々のノード102は協働して、本明細書でコングレス又は議会(a congress)110と呼ばれるグループを形成することができる。図示の例では、3つのノード102がコングレス110に参加しているように示されている。しかしながら、実際のコングレス110のメンバ数は非常に多くなり得る。
【0051】
コングレス110は、オープン・メンバーシップ・グループであってもよく、これは、コングレス110に関連するプールへの十分なステークの投入によって、任意のノード102が参加し得る。例えば、ノードは、ディジタル通貨(例えば、ビットコイン)、トークン又はその他のステーク若しくは価値のようなディジタル資産を、コングレス110に関連するアカウントへ(例えば、グループ・パブリック・アドレス又はグループ・パブリック・キーへ)移すことによって、コングレスに参加することができる。コングレスに参加するノード102は、マイニング・ノードと非マイニング・ノードの両方を含むブロックチェーン・ネットワーク内の任意のノードであってもよい。
【0052】
コングレス110は、ノード間のオフ・ブロックチェーン支払チャネル120のセットアップを促進にするために使用されることができる。このオフ・ブロックチェーン支払チャネルは、本明細書では、オフ・チェーン支払チャネル、オフ・チェーン・チャネル、又は支払チャネルと呼ばれてもよい。支払チャネルは、ブロックチェーンから外れた価値の交換を許容する。支払チャネルは、支払チャネルの現状(即ち、支払チャネルに関与する個々のノードの差引勘定)が何時でもブロックチェーンに対してコミットされることを許容する。即ち、当事者は、複数のオフ・ブロックチェーン・トランザクションにおいて価値を移転することができ、また、ある時点で支払チャネルの最終状態を反映するようにブロックチェーンを更新することができる。
【0053】
実施例では、支払チャネル120は、第1ノード102a及び第2ノード102bの2つのノードの間に設定される。
図1は単一の支払チャネルを示しているが、実際にはノード間に多数の支払チャネルが設定され得る。例えば、第1ノード102a又は第2ノード102bはハブであってもよい。ハブは、他のノードに接続してハブ・アンド・スポーク(HAS)構成を提供することができ、HAS構成では、中央ハブ(例えば、第1ノード102a)が第2ノード102b及び他のノード(例えば、第3ノードなど)の両方と共に支払チャネルを確立する。このHAS構成は、ハブに接続された任意のノードが、そのハブに接続された任意の他のノードにバリュー・オフ・チェーンを転送するか、又はハブに接続された任意の他のノードからバリュー・オフ・チェーンを受けることを可能にする。例えば、第2ノード102bは、バリューを第3ノード・オフ・チェーンへ移したり、第3ノードからバリューを受信したりすることができる。
【0054】
支払チャネルのセットアップの間に、支払チャネル120に関連するノード(例えば、図示の例では、第1ノード102a及び第2ノード102b)はそれぞれ、支払チャネルに資金提供するような特別な方法でディジタル資産をロックする。セットアップが完了した後、これらのディジタル資産はコミットメント・トランザクションを使用して割り振られてもよい。より具体的には、支払チャネルは、支払チャネルに関連するノードが、コミットメント・トランザクションをやり取りすることを可能にする。コミットメント・トランザクションは、ブロックチェーン・ネットワークに対して(初期)ブロードキャストすることなく、ノードによってやり取りされるトランザクションである。コミットメント・トランザクションは、支払チャネル120に関連するディジタル資産の配分を決定する台帳を提供する。この割り振りは支払チャネル120のステータスと呼ばれてもよい。コミットメント・トランザクションは、支払チャネルに関連する1つのノードによって何時でもブロードキャストされ得る。コミットメント・トランザクションについては次の文献に記載されているように動作し得る:Poon and Dryja in “The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments”, January 14, 2016 (hereinafter “the Lightning Network”)。しかしながら支払チャネルはライティング・ネットワークで述べられているものとは異なる方法で設定されてもよい。より詳細には、本明細書においてコングレスと称されるノードのグループは、相手方(即ち、支払チャネルに関与する他のノード)が支払チャネル設定を完了することに失敗した場合に、支払チャネルに対する当事者となったノードが、ディジタル資産を回収することを可能にするように、セットアップ・プロトコルに関わっていてもよい。これにより、支払チャネルは、分離署名や同様のトランザクション・マレアビリティ・フィックスを使用することなく、動作することを許容する。
【0055】
ノードとして動作する電子デバイス
図2は、ピア・ツー・ピア・ブロックチェーン・ネットワーク100(
図1)のノード102(
図1)として機能し得る例示的な電子デバイス200の構成要素を示すブロック図である。例示的な電子デバイス200は、処理デバイスとも呼ばれる。電子デバイスは、例えば、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、サーバ、スマートフォンのようなモバイル・デバイス、スマート・ウォッチのようなウェアラブル・コンピュータ、又は他のタイプの形態を含む様々な形態をとることができる。
【0056】
電子デバイス200は、プロセッサ210、メモリ220及びインターフェース・デバイス230を含む。これらの構成要素は、互いに直接的又は間接的に結合されることが可能であり、互いに通信することができる。例えば、プロセッサ210、メモリ220及びインターフェース・デバイス230は、バス240を介して互いに通信することができる。メモリ220は、本明細書に記載の機能を実行するための機械読取可能な命令及びデータを含むコンピュータ・ソフトウェア・プログラムを格納する。例えば、メモリは、プロセッサ210によって実行されると、本明細書に記載の方法を電子デバイスに実行させるプロセッサ実行可能命令を含み得る。プロセッサ実行可能命令は、プロセッサ210によって実行されると、ブロックチェーン・ネットワーク100(
図1)に関連するプロトコルを電子デバイスに実行させる命令を含み得る。例えば、命令は、ビットコイン・プロトコルを実装するための命令を含んでいてもよい。
【0057】
メモリ220は、ブロックチェーン・ネットワーク100(
図1)のグローバル台帳又はその一部を格納することができる。即ち、メモリ220は、ブロックチェーンの全てのブロック又はブロックの一部、例えば最新のブロック、又は情報の一部を幾つかのブロックに格納することができる。
【0058】
メモリ220は、
図2において単一ブロックで示されているが、実際には電子デバイス200は複数のメモリ構成要素を含んでいてもよい。メモリ・コンポーネントは、例えば、RAM、HDD、SSD、フラッシュ・ドライブ等を含む種々のタイプのものであってもよい。異なるタイプのメモリが、異なる目的に適しているかもしれない。更に、メモリ220はプロセッサ210から離れて示されているが、プロセッサ210は内蔵メモリを含んでもよい。
【0059】
図2に示すように、(例えば、コングレス110を形成するノード、及び/又は本明細書に記載されるようなフェイルセーフ・モードを提供する支払チャネルに参加するノード等の)幾つかのノード102のプロセッサ210は、信頼される実行環境(TEE)250のようなセキュア領域を含んでもよい。TEE250は、隔離された実行環境であり、電子デバイス200に対して、隔離された実行、信頼されるアプリケーションの完全性、及び資産の機密性のような追加のセキュリティを提供する。TEE250は、TEE250内にロードされたコンピュータ命令及びデータが機密性及び完全性の観点から保護されることを保証する実行空間を提供する。TEE250は、鍵などの重要なリソースの完全性及び機密性を保護するために使用されてもよい。TEE250は少なくとも部分的にハードウェア・レベルで実現され、その結果、TEE250内で実行される命令及びデータは、電子デバイス200の残りの部分及び電子デバイスの所有者などの外部の者からのアクセス及び操作から保護される。TEE250内のデータ及び計算は、TEE250を含むノード102を動作させる者から保護される。
【0060】
TEE250は、累積的にハッシュしながら、エンクレーブ(an enclave)をインスタンス化し、そして一度に一つメモリのページを追加するように動作し得る。また、リモート・マシンが、期待されるハッシュを決定及び格納するように、同様のオペレーションが、リモート・マシン(デベロッパ・マシン又は他のマシンであってもよい)上で実行されてもよい。従って、エンクレーブの内容は、エンクレーブが承認済みアルゴリズムを実行していることを保証するために、任意のリモート・マシンによって検証されることが可能である。この検証は、ハッシュを比較することによって実行されてもよい。エンクレーブが完全に構築される場合、それはロックダウンされる。TEE250でコードを実行し、コードにシークレット(secrets)を送信することは可能であるが、コードは変更され得ない。最後のハッシュは、認証鍵によって署名され、データ所有者が何らかのシークレットをエンクレーブに送信する前に、データ所有者がそれを確認できるようにされ得る。
【0061】
コングレス・メンバとして機能するノードによって使用されるTEE250は、コングレス110(
図1)によって使用されるコングレス・パブリック・キーに関連するプライベート・キー・シェアの機密性及び完全性を保護するために使用され得る。例えば、TEE250は、プライベート・キー・シェアの生成及び記憶のために使用されてもよい。TEE250は、TEE250エンクレーブ内で保持されるプライベート・キー・シェア、又は他のプライベート・キー・シェアに関する情報を、どのメンバも、メンバ間通信又はエンクレーブ間通信から直接的に取得できないことを保証するように意図されている。コングレス・プロトコルもまたTEEの閾値の妥協に対してロバストである。更に、TEE250は、ノード102(
図1)によって使用され得るリモート認証(remote attestation)を可能にし、TEE250が真正であり且つコングレス110又は支払チャネルによって実現されるプロトコルに関して承認されたコンピュータ実行可能命令を実行していることを、他のノード102に証明することができる。リモート認証は、特定のコード部分を実行し、エンクレーブにとって内的に、エンクレーブの内部認証キー(本明細書では、エンクレーブ・プライベート・キーと言及されてもよい)によって署名される、コードのハッシュを送ることによってTEE250によって提供されてもよい。
【0062】
コングレス・メンバとして機能するノードで提供されるTEE250は、以前に電子デバイス200上でプライベート・キー・シェアを使用したコングレス110のメンバがコングレスを離れることを選択した場合に、プライベート・キー・シェアの削除を保証することを証明するために使用され得る。電子デバイス200は、TEE250において提供されるリモート認証プロトコルにより、他のコングレス・メンバに削除の認証を提供することができる。メンバが彼らのメンバ・デポジットを引き出すことを許される前に、抹消の証明が必要とされてもよい。即ち、預託金の返還は、メンバのエンクレーブ内で保持されるプライベート・キー・シェアの削除に対する認証を条件とすることができる。
【0063】
TEE250は、プライベート・キー、ランダム・チャレンジ、又は他のランダム・データを生成するために使用され得る、TEEのエンクレーブにとって内的なセキュア乱数発生器を備えることができる。TEE250はまた、外部メモリからデータを読み込むように構成されてもよく、外部メモリにデータを書き込むように構成されてもよい。そのようなデータはエンクレーブ内でのみ保持されるシークレット・キーで暗号化されてもよい。
【0064】
TEE250は、信用されたプラットフォーム・モジュール(Trusted Platform Module:TPM)又はインテル・ソフトウェア・ガード・エクステンション(Intel Software Guard Extensions:SGX)のような様々なプラットフォームを使用して実装されることができる。例えば、SGXはリモート認証をサポートし、これは、参照(a quote)として知られるメンバの所与のハッシュとともに、特定のエンクレーブを実行しているプロセッサから、署名されたステートメントを、エンクレーブが取得することを可能にする。インテル・アテステーション・サービス(Intel Attestation Service:IAS)等の第三者認証サービスは、これらの署名済みステートメントがSGX仕様に準拠した真正なCPU から派生していることを証明し得る。
【0065】
図2は、TEE250を含むノード(即ち、電子デバイス200)を示しているが、ブロックチェーン・ネットワーク100の少なくとも幾つかのノードはTEEを含まないかもしれない。
【0066】
電子デバイス200は、ブロックチェーン・ネットワーク100(
図1)内のノード102(
図1)として機能する。幾つかのノードはコングレス110に参加する或いは一員となってもよい。ディジタル通貨、トークン、又はブロックチェーン・ネットワーク100(
図1)によってサポートされる他の持分若しくは価値のようなディジタル資産を、ディジタル資産保有者グループが共同出資(プール)する場合に、コングレス110が形成される。コングレスは、例えば相手方が無反応になった場合、又は所定のプロトコルに従って動作することに失敗した場合に、相手方との支払チャネルを設定する目的でそのようなディジタル資産を提供したノードに1つ以上のディジタル資産を返してもよい。
【0067】
幾つかのノードは、コングレスのメンバ又は支払チャネルの参加者としてブロックチェーン・ネットワークに参加することができる。他のノードは、支払チャネルの参加者として参加しなくてもよいし、コングレス・メンバとして行動しなくてもよい。そのようなノードは、その代わりに、1つ以上のマイナー、検証者、ハブとして機能してもよいし、或いはブロックチェーン・ネットワークに関連する他の機能を提供してもよい。
【0068】
支払チャネルへの参加及びチャネル不具合に対する対応
次に、
図3を参照すると、支払チャネルに参加し、チャネル不具合に対応するための方法300が示されている。方法300は、ブロックチェーン・ネットワークのノード102によって実行されてもよい。このようなノード102は、方法300を実現するメモリ220(
図2)に記憶されたコンピュータ実行可能命令を含んでもよい。このような命令は、プロセッサ210(
図2)によって実行されると、(
図2を参照して説明したタイプの電子デバイス200のような)ノード102に方法300を実行させる。方法300は、支払いチャネルを開設するために実行されてもよいし、方法を実行するノード102が、支払チャネルを開設するために使用されるディジタル資産の量について(即ち、支払チャネルにたいする「資金提供」の量について)、相手方(即ち、支払チャネルに対して当事者となる他のノード)と合意した後に実行されてもよい。
【0069】
オペレーション302では、ノード102は、第1デポジット・トランザクションをブロックチェーン・ネットワーク100のノードへブロードキャストする。第1デポジット・トランザクションは、第1パブリック・キーに対して有効な署名の生成により所定の期間の後に、第1ディジタル資産がロック解除され、及び第2パブリック・キーに対して有効な署名の生成により何時でもロック解除されることを可能にするように構成される。第1パブリック・キーはノード102自体に関連付けられたパブリック・キーである一方、第2パブリック・キーは閾値署名方式の下で動作するノードのグループに関連付けられるパブリック・キーである。このノードのグループは、コングレス110と呼ばれてもよい。従って、第2パブリック・キーは、コングレス110に関連付けられるパブリック・キーである。このパブリック・キーは、グループ・パブリック・キー、コングレス・パブリック・キー、又はグループ・アドレスと呼ばれてもよい。
【0070】
第1デポジット・トランザクションは、第1ディジタル資産をロックして、コングレスが(特に、コングレスのノードによって実現されるコングレス・プロトコルのための閾値署名方式の下で必要とされる閾値よりも大きなキー・シェアをコントロールする多数のノードが)第1ディジタル資産の管理を引き受けることを可能にする(即ち、第2パブリック・キーに対して有効な署名を使用してディジタル資産の制限を除去することによって、第1ディジタル資産のロックを解除する)。第1デポジット・トランザクションは、第1ディジタル資産がコングレスによっていつでもロック解除されることを可能にするように構成されているので、相手方が支払チャネルを開設するために
図3の方法300を実行することに失敗した場合、コングレスに関する十分な数のキー・シェアをコントロールするコングレスの複数のノードは、方法300を実行するノードに第1ディジタル資産を返却するように動作し得る。コングレスのノードによって実行され得る第1ディジタル資産を返却するためのオペレーションは、
図9を参照して以下において詳細に説明される。
【0071】
第1デポジット・トランザクションは、方法300を実行するノードによって及び支払チャネルを開設するための相手方によって、提供されるべき資金調達額を指定するメタデータを含むことができる。即ち、第1デポジット・トランザクションは、第1ファンディング・トランザクション及び第2ファンディング・トランザクション(これらのファンディング・トランザクションは、オペレーション306及び308を参照して、以下においてより詳細に説明される)において提供されるべき資金調達額を指定するメタデータを含んでもよい。このメタデータは、
図9を参照して後述されるように、支払チャネルの両当事者が支払チャネルに適切に資金提供することをコングレスが保証することを可能にする。
【0072】
前述のように、第1デポジット・トランザクションはまた、第1ディジタル資産を第1パブリック・キーでロックする。第1パブリック・キーは、方法300を実行するノードに関連付けられるパブリック・キーであり、第1デポジット・トランザクションは、第1パブリック・キーを使用して、第1ディジタル資産に時間ベースのロックを適用する。時間ベースのロックは、第1デポジット・トランザクションによって制限されたディジタル資産が、所定の期間tの満了後に第1パブリック・キーに対して有効な署名を含むトランザクションのブロードキャストを行うことによって、ノードによって返還要求(回収)されることを可能にする。即ち、第1パブリック・キーに対応する第1プライベート・キーを使用して署名されたトランザクションを、ノードがブロードキャストする場合に、所定の期間tが経過した後、第1ディジタル資産は、方法300を実行するノードによって返還を要求され得る。しかしながら、第1ディジタル資産に適用されるロックは、ノードが、この期間が満了する前に直接的に第1ディジタル資産を返還要求することを妨げる。即ち、期間tが満了するまで、第1ディジタル資産は、コングレスによってのみ(そして、より詳細には、コングレスに代わって有効な署名を共同で生成することを許容する程度に十分な数のキー・シェアをコントロールするコングレスの多数のノードによって)ロック解除(即ち、使用)され得る。しかしながら、コングレスがこの時点で第1ディジタル資産を使用しない場合、方法300を実行するノードは、第1ディジタル資産を使用することができる。
【0073】
支払チャネルの相手方(即ち、開設される支払チャネルの当事者となる他のノード)もまた、デポジット・トランザクションをブロードキャストし、これは第2デポジット・トランザクションと呼ばれてもよい。本明細書中で使用される「第1」及び「第2」のラベルは、単に、異なる項目同士を区別するために使用されており、順序を示すためには使用されていない。即ち、方法を実行するノードによってブロードキャストされる第1デポジット・トランザクションは、相手方によってブロードキャストされる第2デポジット・トランザクションの前又は後にブロードキャストされ、及び/又はブロックチェーンに追加され得る。
【0074】
第2デポジット・トランザクションは、支払チャネルを開設するために当事者により提供される資金提供額(即ち、以下で説明される、第1ファンディング・トランザクション及び第2ファンディング・トランザクション)を指定するメタデータを含む。合意された資金(即ち、第1デポジット・トランザクション及び第2デポジット・トランザクションの双方に明記されている資金)のステートメント(計算書)は、同じ額であるべきである。合意された資金のステートメントが互いに対応しない場合、支払チャネルに関連する双方のノードは、期間tが満了するまで待機し、各自のデポジット・トランザクションに関連するディジタル資産を返還要求することができる。
【0075】
オペレーション304において、ノード102は、ブロックチェーン・ネットワークにおける第1デポジット・トランザクション及び第2デポジット・トランザクションのコンファメーションを検出する。支払チャネルの相手方からブロードキャストされる第2デポジット・トランザクションは、第3パブリック・キーに対して有効な署名の生成により所定期間の後に、更なるディジタル資産のロックが解除され、また第2パブリック・キーに対して有効な署名の生成により何時でもロック解除されることを可能にするように構成される。第3パブリック・キーは相手方に関連するパブリック・キーである。
【0076】
オペレーション304において、ノード102はまた、第2デポジット・トランザクションが、第1ファンディング・トランザクション及び第2ファンディング・トランザクションにおいて提供される予定の資金提供額を特定していることを検証することができる。例えば、ノード102は、第1デポジット・トランザクション及び第2デポジット・トランザクションが、支払チャネルに関して共通レベルの資金提供を示していることを検証することができる。
【0077】
留意すべきことに、第2デポジット・トランザクションが相手方によってブロードキャストされず、オペレーション304において検出されなかった場合、方法を実行するノード102は、所定の期間tが満了するまで待機し、第1ディジタル資産を返還要求することができる。即ち、相手方が、第1デポジット・トランザクションにおける第1ディジタル資産に為されるロックに関連する所定の期間tの満了後に、デポジットを提供することに失敗した場合、方法300を実行するノード102は、第1ディジタル資産(即ち、第1デポジット・トランザクションにおいて預託されるディジタル資産)をロック解除するトランザクションを、第1パブリック・キーに対して有効な署名とともにブロードキャストすることができる。即ち、第1パブリック・キーに対応する第1プライベート・キーを使用して生成される署名を含むロック解除スクリプトを含むトランザクションがブロードキャストされ得る。所望であれば、トランザクションは、ノード102に関連するアドレスに第1ディジタル資産を移すことによって(例えば、方法300を実行するノード102に関連する第1パブリック・キーに対して有効な署名のみを必要とする新しい制限をディジタル資産に設定することによって)、第1ディジタル資産を消費することができる。
【0078】
ブロックチェーンにおけるデポジット・トランザクションのコンファメーションを検出した後、ノード102は、第1ファンディング・トランザクションをブロックチェーン・ネットワークにブロードキャストする。第1ファンディング・トランザクションは、第1パブリック・キー(即ち、方法300を実行するノードに関連するパブリック・キー)と、第2パブリック・キー(即ち、コングレスに関連するパブリック・キー)と、第3パブリック・キー(即ち、相手方に関連するパブリック・キー)とにより第2ディジタル資産に制限を付けるように構成され、第2ディジタル資産についての制限は:1)第1パブリック・キーに対して有効な署名及び第3パブリック・キーに対して有効な署名の双方;又は2)第2パブリック・キーに対して有効な署名により除去され得る。
【0079】
このように、第1ファンディング・トランザクションは、支払チャネルの二人の当事者が、ファンディング・トランザクションに関連するディジタル資産に対する制限を相互に取り除くことができるように設定されるか、又は単独に動作するコングレスが制限を取り除くことができる。即ち、ファンディング・トランザクションは、次の2つの方法のうちの1つで制限が除去され得るように設定される。支払チャネルに対する当事者が協力することを希望する場合、彼ら双方がそれぞれのプライベート・キー(即ち、第1パブリック・キー及び第3パブリック・キーに関連付けられるプライベート・キー)を使用して、制限付きのディジタル資産を消費するトランザクションに対する署名を生成する場合、制限は取り除かれる可能性がある。このシナリオの下では、それら有効な署名は一緒になって制限を取り除く。制限が除去され得る第2の方法は、コングレスの複数のメンバが協力して、閾値署名方式に従って有効な署名をコングレスに代わって生成することである。閾値署名方式については、コングレスの詳細な議論において詳細に説明される。一般に、閾値署名方式は、少なくとも閾値数のキー・シェアをコントロールする多数のコングレス・メンバ・ノードの協調を必要とする。コングレスは持分の預託によって保護されているので、彼らがコングレス・プロトコルに反する行為をした場合、コングレスのメンバ・ノードはその持分の没収の危険にさらされる。例えば、コングレス・メンバが、オペレーション306のファンディング・トランザクションに関連するディジタル資産を効果的に盗むトランザクションに部分的な署名を寄与した場合、コングレス・メンバは、少なくとも閾値数のキー・シェアをコントロールする誠実なコングレス・メンバの協力によって、彼らのデポジットが取り消されるリスクがある。
【0080】
第1ファンディング・トランザクションは、第1デポジット・トランザクションのブロードキャストの後、所定の期間sの間に提供されなければならない。この所定の期間は、第1デポジット・トランザクションにおける第1ディジタル資産に設定されたロックに関連する期間tよりもかなり短い。従って、第1ファンディング・トランザクションは、デポジット・トランザクションのロックに関連する所定の期間tと、第1デポジット・トランザクションで使用される所定の期間tよりも短い別の所定の期間sと両方の中で放送されなければならない。コングレスのノードは、第1ファンディング・トランザクションがタイムリーな方法で(即ち、所定の期間sが満了する前に)ブロードキャストされる及び/又はブロックチェーンに追加されることを保証にするように設定され得る。第1ファンディング・トランザクションが時宜を得た方法で提供されない場合、第1デポジット・トランザクションで制限されていた第1ディジタル資産は、コングレスによって差し押さえられ得る。
【0081】
第1ファンディング・トランザクションは、第2デポジット・トランザクションのコンファメーションの検出に応答して自動的に(オペレーション304において)、ノード102によってブロードキャストされ得る。
【0082】
第1ファンディング・トランザクションは、第1デポジット・トランザクション及び/又は第2デポジット・トランザクションのメタデータに規定されていたディジタル資産の量を用いて支払チャネルに資金を提供する。即ち、第1ファンディング・トランザクションに含まれるように要求されるディジタル資産の量は、デポジット・トランザクションで規定されるとおりである。第1ファンディング・トランザクションで提供されるディジタル資産の量が、第1デポジット・トランザクションのメタデータに基づいて期待される量と異なる場合、コングレスは、第1デポジット・トランザクションにおけるデポジットとして、提供された第1ディジタル資産を差し押さえることができる。
【0083】
相手方はまた、対応するファンディング・トランザクションにより、支払チャネルに資金提供するように要求される。このファンディング・トランザクションは、第2ファンディング・トランザクションと言及されてもよく、オペレーション308において、ノード102は、ブロックチェーンにおける第2ファンディング・トランザクション(及び第1ファンディング・トランザクション)のコンファメーションを検出することができる。即ち、ノードは、第2ファンディング・トランザクション及び第1ファンディング・トランザクションがブロックチェーンに追加されたことを確認することができる。第2ファンディング・トランザクションは、第1パブリック・キー、第2パブリック・キー、及び第3パブリック・キーにより、追加のディジタル資産を制限し、その結果、追加のディジタル資産の制限は:1)第1パブリック・キーに有効な署名と第3パブリック・キーに有効な署名との両方;又は2)第2パブリック・キーに有効な署名によって除去され得る。第2ファンディング・トランザクションで提供されるディジタル資産に追加される制限は、第1ファンディング・トランザクションで提供されるディジタル資産に追加される制限に対応する。
【0084】
ノードはまた、第2ファンディング・トランザクションにおけるディジタル資産の量が期待される量であることを(オペレーション308において)確認することができる。即ち、ノードは、相手方が支払チャネルを適切に資金提供していることを確認することができる。例えば、ノードは、第2ファンディング・トランザクションにおけるディジタル資産の量が、デポジット・トランザクションのメタデータで指定される量に対応することを確認することができる。
【0085】
オペレーション310において、第2ファンディング・トランザクション及び第1ファンディング・トランザクションのコンファメーションを検出したことに応答して、ノード102は、第1のカプセル化されたコミットメント・トランザクション(a first encapsulated commitment transaction)をブロードキャストすることができる。第1のカプセル化されたコミットメント・トランザクションは、名目上のディジタル資産(例えば、ブロックチェーンにトランザクションを追加させるためのマイニング手数料をカバーするのに十分でしかないディジタル資産)に対するトランザクションである。第1のカプセル化されたコミットメント・トランザクションの目的は、価値を交換すること(即ち、ディジタル資産を他者に移転すること)ではなく、コミットメント・トランザクションの公的な記録として機能することである。コミットメント・トランザクションは、支払チャネルの状態の記録であり、他の当事者が非協力的になった場合に、チャネルを閉鎖(クローズ)してディジタル資産を戻し受けることをノードに許容する。より具体的には、コミットメント・トランザクションは、支払チャネルの当事者の現在の残高を記録する。第1のカプセル化されたコミットメント・トランザクションは、メタデータとしてコミットメント・トランザクション(即ち、第1コミットメント・トランザクション)を含むトランザクションである。コミットメント・トランザクションは、コミットメント・トランザクションを受け取る当事者が、いつでも、コミットメント・トランザクションに署名し、ブロックチェーン・ネットワークへブロードキャストして、支払チャネルの現在の状態をブロックチェーンに対してコミットできるように構成される。即ち、コミットメント・トランザクションは、支払チャネル・オフ・チェーンにおいて、当事者により継続的にやり取りされる可能性があり、任意の時点において、これらの当事者の一方が、自身の署名をコミットメント・トランザクションに加えてそれをブロードキャストし、ブロックチェーンに対して支払チャネルの現状をコミットすることを試みることができる。
【0086】
従って、第1のカプセル化されたコミットメント・トランザクションに含まれる最初のコミットメント・トランザクションは、半・署名トランザクション(a half signed transaction)である。これは、方法300を実行するノードによって署名されており(即ち、第1パブリック・キーに対応する第1プライベート・キーを使用して署名されている)、相手方は、支払チャネルの現在の状態をブロックチェーンにコミットしようとして、彼らの署名をコミットメント・トランザクションに追加してそれをブロックチェーン・ネットワークへブロードキャストすることができる。ブロックチェーン・ネットワークへブロードキャストされるトランザクションにメタデータとして最初のコミットメント・トランザクションを提供することにより、コングレスは、最初のコミットメント・トランザクションが受領されたことを確認することができ、その結果、相手方が非協力的になった場合には、支払チャネルの当事者は支払チャネルを閉鎖する手段を有する。即ち、各当事者が他の当事者に最初のコミットメント・トランザクションを提供した後、両当事者は、他の当事者の協力を必要としないチャネルを閉鎖する手段を有する。
【0087】
相手方はまた、支払チャネルの設定を完了するために、カプセル化されたコミットメント・トランザクション(これは第2のカプセル化されたコミットメント・トランザクションと呼ばれてもよい)を提供するように要求される。従って、オペレーション312において、この方法を実行するノード102は、第3パブリック・キーに関連するノードによって(即ち、相手方によって)ブロードキャストされる第2のカプセル化されたトランザクションのコンファメーションを検出する。第2のカプセル化されたコミットメント・トランザクションは、メタデータとして別のコミットメント・トランザクションを含む。別のコミットメント・トランザクションは、第3プライベート・キー(即ち、相手方のパブリック・キーである第3パブリック・キーに対応するプライベート・キー)を使用して署名される。即ち、別のコミットメント・トランザクションは、半・署名トランザクションである。これは、相手方によって署名され、この方法を実行するノード102は、第1パブリック・キーに対して有効な署名をこのコミットメント・トランザクションに追加することができる。ノード102は、望まれるならば、別のコミットメント・トランザクションで規定される支払チャネルのステータスをブロックチェーンに対してコミットするために、別のコミットメント・トランザクションに署名してブロックチェーン・ネットワークへブロードキャストすることができる。
【0088】
カプセル化されたコミットメント・トランザクションは、時宜を得た方法で提供されなければならず、そのような適時性はコングレスによって評価される。適時にカプセル化されたコミットメント・トランザクションを提供することに失敗すると、ファンディング・トランザクションで提供される資金提供の全部又は一部、及び/又はデポジット(即ち、デポジット・トランザクションで提供されるディジタル資産)についての差し押さえという結果を招く可能性がある。より詳細には、カプセル化されたコミットメント・トランザクションは、第1デポジット・トランザクションのブロードキャストに続いて、所定の期間s’の満了前にブロードキャストされる及び/又はブロックチェーン上で確認される必要がある。この所定の期間s’は、第1デポジット・トランザクションにおける第1ディジタル資産に設定されたロックに関連する期間tよりも短くてもよいが、ファンディング・トランザクションを提供するために割り当てられる期間sより長くてもよい。従って、少なくとも幾つかの実装では、ファンディング・トランザクションは、デポジット・トランザクションのロックに関連する所定の期間tと、第1デポジット・トランザクションで使用される所定の期間tより短い別の所定の期間s’との両方の期間内にブロードキャストされなければならない。カプセル化されたコミットメント・トランザクションが、第1デポジット・トランザクションの第1ディジタル資産に設定されるロックに関連する期間tの満了前にブロードキャストされることを要求することにより、コングレスは、カプセル化されたコミットメント・トランザクションが適時に受領されない場合、デポジット・トランザクションにおいて制限されるディジタル資産の全部又は一部を差し押さえることができる。しかしながら、幾つかの実装は、カプセル化されたコミットメント・トランザクションがこの所定の期間tの間に受け取られることを要求しないかもしれない。その代わり、カプセル化されたコミットメント・トランザクションが所定の期間s’において提供されない場合、コングレスは支払チャネルに関連するディジタル資産(例えば、ファンディング・トランザクションで提供されるディジタル資産)を差し押さえることができる。
【0089】
カプセル化されたコミットメント・トランザクションがブロックチェーン上で確認された後、支払チャネルは開設されていると見なされてよい。オペレーション314において、第1デポジット・トランザクションにおいて第1ディジタル資産に設定されるロックに関連付けられる所定の期間tの満了後に、方法300を実行するノード102は、第1パブリック・キーに対して有効な署名と共に、第1ディジタル資産(即ち、第1デポジット・トランザクションにおいて預託されたディジタル資産)をロック解除するトランザクションをブロードキャストすることができる。即ち、第1パブリック・キーに対応する第1プライベート・キーを使用して生成される署名を含むロック解除スクリプトを含むトランザクションがブロードキャストされ得る。トランザクションは、ノード102に関連するアドレスに第1ディジタル資産を移すことによって(例えば、方法300を実行するノード102に関連する第1パブリック・キーに対して有効な署名のみを必要とする新たな制限をディジタル資産に設定することによって)、第1ディジタル資産を使うことができる。
【0090】
支払チャネルが開設された後、本方法を実行するノード102及び相手方は、(オペレーション316において)1つ以上の更なるコミットメント・トランザクションをやり取りすることができる。このようなコミットメント・トランザクションは、直接的に交換される(例えば、方法300を実行するノードは、コミットメント・トランザクションを相手方に直接的に送信し、その相手方から直接的に受け取ることができる)。コミットメント・トランザクションは、一般に、ライティング・ネットワークで記述された方法で交換することができる。コミットメント・トランザクションは、前のチャネル状態を事実上無効にする値と共に交換することができる。つまり、その値は、より古いコミットメント・トランザクションを事実上利用不可能にする。不誠実な参加者による古い(即ち、現在のものではない)コミットメント・トランザクションをブロードキャストしようとする如何なる試みも賢明でないことを証明し、なぜなら、以前のチャネル状態を無効にする値が正直な参加者によって使用され、違反救済トランザクションを用いてチャネル内の全ての資金を主張する(claiming)ことによって不正な参加者にペナルティを科すことができるためである。
【0091】
支払チャネルは、支払チャネルに対する当事者の相互の合意により、いつでも閉鎖されることが可能である。支払チャネルに資金提供するために使用されたファンディング・トランザクションは、支払チャネルの両当事者(例えば、方法300を実行するノード及びハブ)が、マルチシグネチャ・プロトコルで協力することにより、ディジタル資産に対する制限を取り除くことができるように構成されていたことを想起されたい。従って、これらのノードは、支払チャネルをクローズし、且つファンディング・トランザクションによって以前に制限されていたディジタル資産を再分配するであろうトランザクションのために、それぞれの署名を生成するように協力することができる。即ち、これらのノードは、必然的にコミットメント・トランザクションに依存する必要なしに、支払チャネルの現在の状態を考慮した方法で資金を簡易に再配分することができる。チャネルを閉鎖するこの問題は、「ソフト・レゾリューション(soft resolution)」と呼ばれ得る。しかしながら、相手方が非協力的になり、そのようなトランザクションの閉鎖に署名することを拒否する場合、コミットメント・トランザクションは有用であるかもしれない。例えば、ソフト・レゾリューションにより支払チャネルを閉鎖するトランザクションに署名することを相手方が拒否する場合、方法300を実行するノード102は、オペレーション318において、ブロックチェーン・ネットワーク100のノードへ最新のコミットメント・トランザクションに署名してブロードキャストすることができる。そのように行うことは、支払チャネルの現状に応じて、ファンディング・トランザクションにおけるディジタル資産を再配分する効果を有する。コミットメント・トランザクションに依存するのではなく、ソフト・レゾリューションでチャネルを閉鎖することの利点は、コミットメント・トランザクションは、ディジタル資産を回復し、必要ならば違反救済トランザクションをブロードキャストすることを他ノードに許可するために、長期にわたる期間(例えば、1000ブロック)を待機することを、ノードに要求してしまうことである。これに対して、ソフト・レゾリューションは、その長期にわたる時間を待機することをノードに要求しない。
【0092】
支払チャネルの両当事者が支払チャネル・プロトコルに従って動作する場合、コングレスのノードは、如何なる行動もとるように要求されなくてよい。しかしながら、当事者の一方又は両方が支払チャネル・プロトコルに従って動作し損なう場合、コングレスは、そのようなディジタル資産が暗号座礁にならないように、ディジタル資産の回復を支援することができる。双方のカプセル化されたコミットメント・トランザクションが有効であることが確認され認められると、コングレスはもはや必要とされなくてもよく、当事者はコングレスからの助けを借りずに支払チャネルを利用して閉鎖することができる。
【0093】
コングレス及び閾値署名
コングレス110は、ブロックチェーン・ネットワークで動作する許可された又は許可されていないノード102のグループであってもよい。即ち、コングレス110には、ブロックチェーン・ネットワーク100(
図1)内のノード102(
図1)が(例えば、ブロックチェーン内の情報の少なくとも一部を監視し格納する任意のノードが)加入し得る。コングレス110に参加するために、ノード102は、コングレス110に関連するディジタル資産プールへ(即ち、コングレスの他のメンバに関連する、1つ以上のディジタル資産に関連するパブリック・グループ・アドレスへ)1つ以上のディジタル資産を移す。このディジタル資産プールは、コングレス・プールと言及されてもよい。例えば、ノード102は、コングレス・プールに関連するアドレスへ(即ち、パブリック・グループ・アドレスと呼ばれてもよい「コングレス・アドレス」へ)そのようなディジタル資産を転送(即ち、デポジット)することによって、コングレス110に参加することができる。ディジタル資産は、コングレス・パブリック・キーと呼ばれる単一のパブリック・キーによるグループ閾値署名の管理下に置かれる。コングレス・メンバは、配布により生成されたプライベート・キー・シェア(即ち、そのようなプライベート・キー・シェアを保持するさまざまなノードで生成されるプライベート・キー・シェア)を保持する。保有されるシェア(持ち分)の数は、プールに預託された額に比例してもよい。
【0094】
コングレス110によって管理されるディジタル資産は、コングレス・アドレスへ(即ち、コングレスに関連するパブリック・キーであるコングレス・パブリック・キーへ)移される如何なるディジタル資産も含み、閾値署名方式の管理下に置かれる。閾値署名方式の下では、メンバ各自の総プライベート・キー持ち分保有量が閾値を超えるメンバー・グループは、ディジタル資産がコングレス110の管理から離れて移転されることを可能にする有効な署名を生成するために必要とされる。即ち、コングレス110によって管理されるディジタル資産の任意の発信転送に対して有効な署名を生成するために、少なくとも閾値数のプライベート・キー・シェアが使用されなければならない。
【0095】
コングレス・パブリック・キーは、プライベート・キー・シェアの見返りとしてコングレス110のメンバによってコングレス・プールに預けられたディジタル資産、及び、プライベート・キー・シェアを取得すること以外の理由で預けられている(即ち、コングレス・パブリック・キーにより制限される)コングレス110のメンバ及び非メンバによってコングレス・プールに関連するアドレスに預けられた任意のディジタル資産(即ち、コングレスの完全な、部分的な又は条件付きの管理下に置かれている)を制限する。非メンバ又はメンバは、様々な理由により、コングレス・パブリック・キーでディジタル資産を制限することができる。例えば、
図3を参照して上述したように、支払チャネルのためのファンディング・トランザクションは、コングレス・パブリック・キーを用いてディジタル資産を制限することができる。そのようなディジタル資産(即ち、支払チャネルを開設するために使用されるディジタル資産)をコングレス・パブリック・キーで制限することにより、仮に支払チャネルが故障した場合(例えば、支払チャネルに関連するハブが応答しなくなった場合)、コングレスはフェイルセーフ・モードを実装することができる。
【0096】
同じコングレス・パブリック・キーが、メンバのデポジット(即ち、プライベート・キーに対する見返りにコングレス・メンバによって提供されるディジタル資産)と、他の目的でメンバ又は非メンバにより提供されるディジタル資産との両方を制限し得るので、コングレス・パブリック・キーに対する少なくとも幾らかのデポジットは、デポジットの種類を示すための特別なフラグで合図されてもよい。例えば、コングレス・アドレスへディジタル資産を移転するトランザクションは、行われたデポジットの性質を示すフラグ、識別子又は他の属性を含むことができる。例えば、コングレスへ参加すること又はコングレス・メンバーシップにおける出資額を増やすことを目的としない、ディジタル資産をコングレス・アドレスへ移すトランザクションは、デポジットが別の目的で行われていることを示す特別な識別子を含むことができる。このような識別子は、プライベート・キー・シェア生成を管理する場合に、コングレス110に関連するノード102によって使用されてもよい(これについては、以下で詳細に説明される)。より詳細には、グループに参加する目的でディジタル資産を預託\制限するノード102は、(ディジタル資産の預託を行うことの結果として)コングレス110に関するプライベート・キー・シェアを割り振られる一方、他の目的で(例えば、支払チャネルを開設するために)ディジタル資産を制限する他のノード102は、コングレスに関するコングレス・プライベート・キー(即ち、コングレス・パブリック・キーに対応するもの)を保有しないかもしれない。
【0097】
コングレス110は、メンバのデポジットの全部又は一部を没収する脅しによって協力的な行動が強制される自治グループとして振る舞うことができる。非協力的又は悪意のあるメンバは、多数の正直なメンバによる協力的なプロトコルへの参加によって、そのようなディジタル資産を没収される可能性がある。更に、コングレス・メンバがコングレス110の退会を希望する場合、彼らは彼らのメンバ・デポジットを引き出すことができる(即ち、コングレス110がメンバのデポジットをそのメンバのパーソナル・アドレスへ戻すように転送することを要求する)。しかしながら、資金の引き出しは、有効なディジタル署名を生成するために必要な閾値を超える多数のプライベート・キー・シェアが、グループのメンバに関連付けられるTEEs(即ち、コングレス)によって、引き出しを承認するための部分的な署名を生成するために使用される場合にのみ実行される。
【0098】
コングレス110によって実装される閾値署名方式は、種々のタイプのものであり得る。少なくとも閾値数のプライベート・キー・シェアが有効な署名を生成することに貢献し、且つこの閾値未満の如何なるキー・シェア保有数も、署名に関して如何なる有用な情報も生成できないものである限り、閾値署名方式はn人の当事者間で署名権限の分配を可能にする。閾値より小さな如何なる部分集合も、有効な署名を生成することはできない。より詳細には、各当事者は、プライベート署名キーのシェア(持ち分)を管理し、閾値数のキー・シェアが、部分署名の組み合わせによる有効な署名を生成するために使用されなければならない。閾値未満のキー・シェアの如何なる部分集合も、部分署名の組み合わせによる有効な署名を生成することはできない。
【0099】
閾値署名方式は楕円曲線ディジタル署名アルゴリズム(ECDSA)方式であってもよい。例えば、ECDSA方式は、次の文献でIbrahim et al.によって提案されるタイプのものであってもよい:“A robust threshold elliptic curve digital signature providing a new verifiable secret sharing scheme”, 2003 EIII 46th Midwest Symposium on Circuits and Systems, 1:276-280 (2003).この閾値署名方式は、楕円曲線暗号ベースのアルゴリズムであるディジタル署名方式の拡張であり、n個のキー・シェア・ホルダの当事者からのt+1個のキー・シェアがプライベート・キーを再構成するために必要とされる。この方式は、プライベート・キーを再構築する必要なしに、また、如何なる者も他者に各自のキー・シェアを明らかにする必要なしに、有効な署名を構築するために使用され得る。
【0100】
t+1個のキー・シェアがシークレット(the secret)を再構築するために十分なので、この技術による許容可能な敵の最大数はtである。Ibrahim et al.のモデルにおいて、敵対者は、シークレット・シェアを保有する当事者を買収し、そのシークレット・シェアへアクセスする存在(an entity)である。敵対者は様々なタイプのものであり得る。例えば、ビザンチン問題の敵対者は、プロトコルに参加するふりをする一方、実際には誤った情報を送る敵対者である。Ibrahimによって提案されるECDSA方式は、t<=n/4までの悪意の敵対者に対してロバストである。このロバスト性はt<=n/3に上げることができるが、より多くの複雑さという代償を払うことになる。
【0101】
Ibrahim et al.のECDSA方式は、t<=n/3の不完全敵対者(halting adversaries)を止めることに対してロバストである。不完全敵対者は、買収された当事者がプロトコルに参加すること、又は、途中で参加を止めることができる。
【0102】
このECDSA方式は、悪意のある又は非協力的な者を識別するためにノード102により使用され得る種々のメカニズムを含む。例えば、検証可能なシークレット・シェアリング(verifiable secret sharing:VSS)は、Shamirのシークレット・シェアリング(SSS)に必要な多項式を共有するために使用され得る。SSSは、シークレットが複数の部分的に分割され、各参加者に各自固有の部分で提供されるシークレット共有の形態である。これらの部分はシークレットを再構築するために使用され得る。矛盾するシェアが様々なノード102に提供される場合、又はシェアが全てのノードにブロードキャストされるブラインド・シェアとは異なるノードに秘密裏に送られる場合に、悪意のあるノード102又はメンバを識別するために、VSSがノード102によって使用され得る。矛盾するシェアは、ノード102の内のうちの何れかによって識別され得る。シークレットの共有は、ノード102が各自のシェアを矛盾のないものとして検証することを可能にする補助情報を含めることによって、検証可能にされ得る。
【0103】
個々のノードへの誤ったシェア(即ち、ブロードキャストされる盲目的シェアとは異なるシェア)の送信は、そのシェアの意図された受信ノードによって識別され得る。ノードへ秘密に送られる誤ったシェアの識別は、公に検証可能なシークレット・シェアリング(Publically Verifiable Secret Sharing:PVSS)の技術を使用して公に検証可能にすることができる。このような技術は、PVSSが使用されず、誤ったシェアの受信者がオフラインであるか又は誤ったシェアが送信されたときにネットワークのかなりの部分から切断される場合に発生し得る不正な送信者の識別における考えられる遅延を回避し得る。
【0104】
異なるノードに誤ったシェアを提供する等の不適切な行動は、悪意のある行動を抑止するために、コングレス110によって対処され得る。例えば、ノード102(
図1)が悪意のある者として他のノード102によって識別される場合、閾値(例えばt+1)を超える多数のノード102(即ち、コングレス・メンバに関連するノード)は、悪意のある者にペナルティを科すように協働し得る。例えば、ノード102は、悪意のある者によってコングレスに預け入れられたディジタル資産(例えば、ディジタル通貨、トークン又はその他のステーク(stake)又は価値)に関わる行動をとることができる。例えば、コングレスは、ディジタル通貨、トークン、ステーク又は価値を、使用不可能アドレス(an unspendable address)へ移すことによって焼却する(burn)ことができ、あるいは、コングレスは、悪意のある者への返却を許可しない決定について合意に達することによって、そのようなディジタル資産を没収することができる。また、誤った行動をするノードではないノード102はまた、誤った行動をするノードを排除するために協働することによって(例えば、キー・シェアを実質的に無効にすることによって;例えば、コングレス・プロトコルに参加することからノードを排除することによって、又は、プライベート・キーを共有し直して、誤った行動をするノードにシェアを割り当てないことによって)、誤った行動を止めることができる。
【0105】
上述のECDSA技術は、TEEの使用によって強化され得る。例えば、Ibrahim et al.に基づく閾値ECDSA署名技術は、ここではビザンチン敵対者と呼ばれる強力な形態の敵対者を想定している。この種の敵は、横暴に行動する可能性があり、例えば、署名プロセスへ参加することを拒否したり途中で止めたりするだけでなく、正直に参加するふりをして、誤った情報を送信し得る。しかしながら、TEEを使用し、シークレット・プライベート・キー・シェアが保存されているTEEのエンクレーブ内で署名するために使用されるデータを生成することによって、追加のセキュリティが提供される可能性があり、なぜならエンクレーブが多数不正アクセスされる可能性は極めて低いからである。各TEEが1つのキー・シェアだけしか割り当てられないならば、例えば、危険にさらされる可能性のあるTEEの数は、nが十分に大きいと仮定すると、ビザンチン問題の敵に対するロバスト性の閾値に近づかないように合理的に予想され得る。これは、キー・シェアの総数に対して少数の悪意のある敵対者にたいして耐性があるならば、プロトコルが安全であることを可能にする。
【0106】
例えば、コングレスの全てのノードがTEEを有する場合、TEEの製造者が買収されない限り、エンクレーブに保存されたシークレットの獲得は、ノードに対する物理的なアクセスに限り、そして多大な労力と費用をかける場合に限って達成され得る。このような製造者レベルの買収は、扱いやすいようものであると予想される。例えば、もし製造者が、多くのパブリック・キーが真のTEEに対応すると誤って主張するならば、彼らはプライベート・キー・シェアへの直接的なアクセスを得て、潜在的に攻撃を開始するかもしれない。しかしながら、そのような攻撃は、製造者が他のノードからの支援なしに有効な署名を生成することを許容する程度に十分な数のキー・シェアを必要とすることになる。これは、総ステークのうちの大部分を蓄積することを意味し、法外に高価であると予想され得る。更に、攻撃を実行することによって、必然的に莫大な保有持分の価値の内のかなりの割合が損なわれることになる。
【0107】
TEEが使用される場合、「損なわれたノード(A corrupted node)」に対するプロトコルのロバスト性を考察することは有用である。損なわれたノードは、TEEの外部のハードウェアは損なわれているが、TEEの完全性は損なわれていないようなノードである。損なわれたノードは、エンクレーブがどの情報を受信してどの情報を受信しないかに対するコントロールを有し得る。特に、損なわれたノードは停止するかもしれず、即ち、プロトコルへの参加を控えるかもしれない。プロトコルに提供される情報が、エンクレーブで秘密に保持されるプライベート・キーによって署名されるように要求される場合(対応するパブリック・キーは認証プロセスの際に認証される)、プライベート・キーは、エンクレーブそれ自体と同程度に信頼できる。従って、損なわれたノードは、任意の(認証された)情報をプロトコルへ送ることはできず、エンクレーブを停止させるか、又はエンクレーブを欺いて不適切に動作させるよう試みることによって、例えば古くなった情報を提供することによって、妨害を試みることしかできないであろう。その結果、損なわれたノードに関し、攻撃が成功するには、完全な署名を生成するために十分な数の部分的な署名の収集を必要とする。TEEに関し、Ibrahim et al.のプロトコルは2tの損なわれたノードに対してロバストである。n-2t>=2t+1の場合、署名が生成され得るので、サイズ2t+1<=(n+1)/2のキー・シェアの適格なサブセットであれば十分である。従って、TEEが使用される場合、閾値署名方式の閾値は、損なわれたノードの存在下で有効な署名を生成するために、キー・シェアの50%以上の数であるように設定され得る。
【0108】
他の閾値署名方式が使用されてもよい。例えば、閾値署名方式は、以下の文献で提案されているタイプのECDSA閾値方式であってもよい:Goldfeder et al.,“Securing Bitcoin Wallets Via a New DSA/ECDSA threshold signature scheme”,(2015).このプロトコルは、t+1人の当事者が有効な署名を生成することを可能にする。その結果、有効な署名を生成するために敵対者がコントロールしなければならないキー・シェアの数は、敵対者がプライベート・キーを再構築するために所有しなければならないキー・シェアの数に等しい。この技術は、有効な署名を生成するために満場一致が要求される場合に、効率的な方式を提供することができる。最も一般的な場合、この方式は、コングレス・メンバ数ともに指数関数的に増えるスペース要件を課し、なぜなら任意の閾値に対して、nのうちt+1プレーヤーの任意の可能なサブセットに対して、プロトコル全体を繰り返す必要があるからである。従って、n及びt双方が大きな値である場合、多数のキー・シェアが格納される必要がある。このようなストレージ要件を緩和するために、標準ビットコイン・マルチシグネチャが、閾値署名と組み合わせられことができる。特に、ディジタル資産は、各プライベート・キーが複数のシェアに分割されるように、マルチ署名を使用してロックされることが可能である。この技術は、大規模なコングレスを、スペース要件の観点からより効率的にするであろう。スケーリング特性はまた、多数の参加者のためのスキームを、より小さな当事者サイズから、複数のレベルで、反復的に構成することによって改善され得る。例えば、閾値署名方式は次の文献の技術と組み合わせられることが可能である:Cohen et al.,Efficient Multiparty Protocols via Log-Depth Threshold Formulae(2013),Advances in Cryptology - CRYPTO 2013 pp 185-202.
【0109】
非ECDSA署名方式を含む他の閾値方式が使用されてもよい。例えば、Schnorr方式に基づく閾値方式が、コングレス110を実現するためにノード102により使用されてもよい。
【0110】
ブロックチェーン・ネットワーク100(
図1)におけるノード102は、選択された閾値署名方式に基づいてコングレス・プロトコルを実装することができる。このようなノード102は、コングレス・プロトコルを実装するメモリ220(
図2)に記憶されるコンピュータ実行可能命令を含んでもよい。このような命令は、プロセッサ210(
図2)によって実行されると、ノード102(
図2を参照して説明したタイプの電子デバイス200のようなもの)に、コングレス・プロトコルの1つ以上の方法を実行させる。そのような方法は、
図4~9の方法400、500、600、700、800、900のうちの何れか1つ又は組み合わせを含み得る。従って、コングレス・プロトコルは、
図4~9の方法400、500、600、700、800、900のうちの1つ以上を含み得る。この方法は、他のコングレス・メンバと関連する他のノードと協力するノードによって実行され得る。
【0111】
コングレスへの加入
次にコングレスへ参加する方法400を示す
図4を参照する。この方法は、既存のコングレスに参加するために実行されることができる。即ち、方法400は、以前に開始されたコングレスに参加するために使用されてもよい。
【0112】
図4の方法400は、オペレーション402において、コングレス・パブリック・キーを取得することを含む。コングレス・パブリック・キーは、コングレスの既存のメンバである者から取得されてもよいし、あるいは例えばブロックチェーン・ネットワーク100(
図1)の外側で動作する第三者システムを含む第三者から取得されてもよい。例えば、コングレス・パブリック・キーは、公のインターネット経由でアクセス可能な公のウェブサーバから入手されてもよい。更なる例として、コングレス・パブリック・キーはブロックチェーン上で監視されることが可能であり;例えば、ディジタル資産をコングレス・パブリック・キーへ移す少なくとも幾つかのトランザクションに含まれるメタデータに基づいて監視されてもよい。
【0113】
方法400を実行するノード102は、ノード102に関連付けられたプライベート・アカウントからコングレス・アドレス(即ち、コングレス・パブリック・キーに関連付けられたアドレス)へディジタル資産のトランザクションをブロードキャストすることによって、オペレーション404においてコングレス・パブリック・キーに支払を行う。より詳細には、ノード102は、コングレス・パブリック・キーに関連付けられたパブリック・グループ・アドレスへ、1つ以上のディジタル資産を移すトランザクションをブロードキャストする。パブリック・グループ・アドレスは、コングレス・プールのアドレスである。コングレス・プールは、コングレスの他のメンバに関連する他のディジタル資産を含む。従って、オペレーション404におけるトランザクションは、一旦マイナー104(
図1)によってブロックに追加され、ブロックが確認された後に、他のメンバからのディジタル資産を含むコングレス・プールに移転される。パブリック・グループ・アドレスは、コングレスへ参加することを希望する者からの転送と、コングレスへ参加することを希望しない者からの転送との両方を受け取ることができる。コングレスに参加することを望まない者は、コングレス・プールへディジタル資産を転送し、それによりそのようなディジタル資産は、コングレスにより使用される閾値署名方式を用いて、全体的、部分的又は条件付きで管理され得る。例えば、
図3を参照して上述したように、コングレス・パブリック・キーは、支払チャネルを開設するファンディング・トランザクションに関連するディジタル資産を制限することができる。
【0114】
オペレーション404におけるトランザクションは、ディジタル資産を転送する者がコングレスへ参加することを希望していること、及びそのような目的のためにデポジットが行われていることを示すフラグ、識別子又は他の属性を含むことができる。
【0115】
コングレス・プールにディジタル資産を預託した後、方法400を実行するノード102は、オペレーション406において、プライベート・キー・シェアを受信する。次に、ノード102は、プロトコルの単一インスタンスを実行することによって、オペレーション408においてプライベート・キー・シェアを再生成する。プライベート・キー・シェアの生成は、ノード102のTEE内で実行されてもよい。
【0116】
オペレーション408において、ノード102は閾値署名方式で使用されるべきプライベート・キー・シェアを生成し、その方式では少なくとも閾値数のプライベート・キー・シェアがコングレスに代わってトランザクションに関して有効な署名を生成するために使用されなければならない。他のプライベート・キー・シェアの保有者は、コングレスの他のメンバであり、パブリック・グループ・アドレスへ各自のディジタル資産を移すことにより許可された又は許可されていない方法でコングレスに参加している。
【0117】
オペレーション407において、プライベート・キー・シェアを再生成するために、既存のコングレス・メンバは、キー・シェアを更新するために協力することができる。例えば、ノード102は、次数がtで定数項ゼロのランダム多項式f0
n+1(x)を生成することができる。次いで、ノード102は、ポイントf0
n+1(n+1)を計算し、これをそれらのプライベート・キー・シェアとして設定することができる。次いで、ノード102は、この多項式(i)f0
n+1(i)におけるポイントを既存のコングレス・メンバの各々に配分することができる(i=1,...,n)。次に、各々の既存のコングレス・メンバ(i=1,...,n)は、新しいプライベート・キー・シェアを取得するために、受信した値を既存のプライベート・キー・シェアに加える。今やノード102は他の全てのメンバと同等なプライベート・キー・シェアを有し、対応するパブリック・キーは変更されないままである。上述したように、閾値署名方式は、楕円曲線ディジタル署名アルゴリズム又はSchnorrスキームに基づく閾値方式を含む種々のタイプのものであってもよい。
【0118】
プライベート・キー・シェアは、TEE250(
図2)内で生成されることが可能であり、ノード102で安全に格納され得る。例えば、プライベート・キー・シェアはTEE250に格納されてもよい。
【0119】
プライベート・キー・シェアが各ノードによって生成された後、以前のコングレス・パブリック・キーの管理下にある資金(例えば、元のコングレス・パブリック・キーに関連付けられるパブリック・グループ・アドレスに移された資金)は、(閾値署名方式の下で有効な署名を生成するのに十分な数のグループ・ノードの協力を通じて)新しいプライベート・キー・シェアに関連付けられる新しいコングレス・パブリック・キーへ転送され得る。しかしながら、他の実施形態では、ノードは、新しいコングレス・パブリック・キーが定義されることを要求しない方法で、コングレスに参加してもよい。その代わりに、同じコングレス・パブリック・キーが使用されてもよく、コングレス・ノードに関連付けられるTEEは、コングレスに参加するノードが、既存のコングレス・パブリック・キーに対応するプライベート・キー・シェアを生成できるように協調するために使用されてもよい。
【0120】
プライベート・キー・シェアがオペレーション408で生成された後、それは方法400のオペレーション410で使用され得る。プライベート・キー・シェアは、メンバによってブロードキャストされ得るパブリック・グループ・アドレスから、トランザクションに対して有効な署名を協調的に生成するために使用され得る。即ち、プライベート・キー・シェアは、署名生成に貢献するために、閾値署名方式で使用され得る。閾値署名方式の下で、コングレスの閾値数のプライベート・キー・シェアは、ディジタル資産がコングレスから遠くへ移転されることを可能にする有効な署名を生成するために、それぞれのメンバによって使用されるように要求される。方法500を実行するノード102は、ストレージからプライベート・キー・シェアを検索し、署名生成に貢献するためにプライベート・キー・シェアを使用することができる。十分な数の他のコングレス・メンバはまた、署名生成に貢献するために各自のプライベート・キーを使用する場合、署名が生成され、有効な発信トランザクションがブロードキャストされてもよい。ブロックチェーン・ネットワーク100のマイナー104(
図1)が、ブロックチェーン・ネットワーク100内のノード102のコンセンサスによってブロックチェーンに追加される採掘済みブロックにトランザクションを追加し、ブロックが確認されると、発信トランザクションは完了する。この時点で、トランザクションで示されるディジタル資産は最早コングレス・パブリック・キーにより制限されない可能性がある。即ち、そのようなディジタル資産は最早コングレス・パブリック・キーによって制限されない可能性がある。
【0121】
オペレーション408におけるプライベート・キー・シェアの使用は、ノード102のTEE内で実行されてもよい。TEEはプライベート・キー・シェアを保護し、その結果、システムの他の部分やメンバ自身が、プライベート・キー・シェア等のエンクレーブに保存される如何なるデータにもアクセスできないようにする。更に、メンバがデポジットの返還を希望する場合には(TEEの完全性は維持されているものと仮定する)プライベート・キーのコピーを保持することはできない点、及びメンバのデポジットが返還される前にプライベート・キーの削除を証明しなければならないので、各自のデポジットの返還を受け取ることができないという点で、TEEはプライベート・キーを保護する。
【0122】
オペレーション410におけるトランザクションは、コングレス・プールにこれらのディジタル資産を最初に預託した者へディジタル資産を戻すように転送することができる。即ち、転送は、ディジタル資産を預託者に返還することができる。転送はまたディジタル資産を他の場所へ移すことができる。例えば、ディジタル資産は、第三者へ又は使用不可能アドレスへ移されてもよい。場合によっては、支払チャネルを開設するためのファンディング・トランザクションにおいて、コングレス・パブリック・キーにより制限されていた1つ以上のディジタル資産が、コングレスの承認でトランザクションによって再分配され得る。
【0123】
ディジタル資産の没収
次に、
図5を参照すると、ディジタル資産を没収する例示的な方法500が示されている。
図5の方法500は、以前にコングレスに参加したノード102によって実行されてもよく、そのノードは
図4の方法400を実行するのと同じノードであってもよい。方法500は、
図4の方法400のオペレーション408の後に実行されることが可能であり、そのため、方法500を実行するノード102は、
図5の方法500が実行される場合に、プライベート・キー・シェアに既にアクセスしている。
【0124】
オペレーション502では、ノード102は、悪意のある者による悪意のある活動を検出する。悪意のある者はコングレスの他のメンバである。悪意のある活動は、ノード102が、コングレスのメンバが所定のプロトコル又は基準に違反していると判断した場合に検出される。例えば、コングレスのメンバであるノードが、コングレスの他のメンバに、悪い情報(即ち、虚偽の情報、矛盾する情報、許容できない情報)を報告する場合、そのメンバは悪意のあるメンバであると考えられてよい。更なる具体例として、コングレスのメンバであるノードが、コングレス・パブリック・キーにより制限されるディジタル資産(支払チャネルを開設するためにファンディング・トランザクションでコングレス・パブリック・キーにより制限されるディジタル資産など)を不正で詐欺的に別の場所へ転送するトランザクションを提案する場合、他の誠実なノードは、不正なノードのメンバ・デポジットにペナルティを科すように動作することができる。
【0125】
オペレーション503では、悪意のある活動を検出したことに応答して、ノード102は、コングレスの他のノードと協力して、悪意のある者であるメンバを一時停止にすることができる。即ち、コングレスは、悪意のある者を、コングレスへの更なる参加から除外することができる。
【0126】
全てノード102が事前に所定のプロトコル又は基準に従って動作することを確実にするために、コングレス・プールへのメンバのデポジットは、没収(confiscation)の対象となり得る。没収は、没収されたと見なされるメンバ・デポジットの返還を永続的に妨げることを意味する。悪意のある活動に起因して返却されないメンバ・デポジットを形成するディジタル資産は、コングレス・プールに残されるかもしれないが返還はされず、速やかに又は将来的に別の使用不可能アドレスへ転送され、又は没収される可能性があり、没収の性質は、コングレスがサイドチェーンに設定される保証バリデータ(承認者)として機能するか否かに依存する。例えば、オペレーション504において、悪意のある者による悪意のある活動を検出したことに応答して、方法500を実行するノード102は、プライベート・キー・シェアを使用して、没収トランザクションにおいて部分的な署名を提供することができる。即ち、ノードは、悪意のある者によってパブリック・グループ・アドレスに(即ち、コングレス・プールに)以前に移されたディジタル資産の少なくとも一部を没収するために、コングレスの他のノードと協力する。即ち、グループ・メンバーが所定のプロトコル又は基準に違反していることに気付いたことに応答して、プライベート・キー・シェアが、そのグループ・メンバーに関連付けられ且つコングレス・プールに保持される1つ以上のディジタル資産のトランザクションの承認に貢献するために利用される。
【0127】
閾値署名方式は、コングレス・パブリック・キーと共に使用されるので、単独で行動する個々のノードは、他のコングレス・メンバのディジタル資産のデポジットを、コングレス・プールから別の場所へ(例えば、使用不可能アドレスへ)移すことはできない。むしろ、他のアドレスへディジタル資産を移すために有効な署名を生成するために、各自それぞれのメンバにより、閾値数のプライベート・キー・シェアが使用される場合、又は少なくとも閾値数のプライベート・キー・シェアを有するメンバのグループが(オペレーション503で)メンバを一時停止にするコンセンサスに達した場合に限り、ディジタル資産は転送によって没収されることが可能であり、これは、一時停止させられているメンバからの如何なる引き出し要求も、自動的に無視されることを引き起こす。ディジタル資産が転送により没収される場合、ディジタル資産が転送され得る他のアドレスは、使用不可能アドレスに関連付けられてもよい。例えば、他のアドレスは、誰もがそのアドレスのパブリック・キーに結び付くディジタル資産にアクセスできないように、プライベート・キーが存在しないアドレスであってもよい。ディジタル資産が使用不可能アドレスへ移される場合、それらは、コングレスの何れのメンバによっても、又は実際にはブロックチェーン・ネットワーク100内の何れのノードによっても、最早使用できないので、焼却されたと考えられてよい。
【0128】
従って、オペレーション504において、ノードは、使用不可能アドレスへのトランザクションの有効な署名を生成するために、コングレスの他のメンバと協力して、プライベート・キー・シェアを使用することによって、ディジタル資産を没収することができる。
【0129】
更に、幾つかの実装において、コングレスは、保証承認者のセットとして機能することが可能であり、プルーフ・オブ・ステーク・サイドチェーン(以下においてより詳細に説明されるゴーストチェーンを含む)を確実にし、このサイドチェーンはブロードキャスト・チャネルとして使用され得る。例えば、メンバが悪意を持って行動したことのコンセンサスが、サイドチェーンにおけるコングレス・メンバにより到達され得る。このコンセンサスは、悪意のある活動についての有罪の証拠を含むサイドチェーン・トランザクションの確認に対応し得る。コンセンサスに到達した場合、悪意のあるメンバにより行われるメンバ・デポジットを引き出す如何なるリクエストも否定され、そのデポジットは没収されたものとみなされる。没収されたディジタル資産の全部又は一部は、将来のいずれかの時点で焼却され得る。即ち、後の時点で、(悪意のあるメンバを含まない)閾値数のメンバが協力して、没収したディジタル資産の使用不可能アドレスへの転送を承認することができる。むしろ、ディジタル資産の一部又は全部が、メンバの不正行為の証拠を提供したノードに報酬として送られてもよい。
【0130】
コングレスは、ディジタル資産の預託によりブロックチェーン・ネットワーク100の任意のノード102によって参加してよいオープンなグループであるので、グループ・メンバーシップは周期的に変化してもよい。そのような変更が生じると、プライベート・キー・シェアの配分が更新され得る。
【0131】
新しいパブリック・アドレスを使用したプライベート・キー・シェア配分の更新
図6を参照すると、プライベート・キー・シェア配分を更新する方法例600が示されている。方法600は、ブロックチェーン・ネットワークの他のノードと協調するブロックチェーン・ネットワーク100のノード102によって実行されてもよい。
【0132】
方法600のオペレーション602において、ノード102は、再配布リクエストを検出し、これは要求であり、その要求を満たすためには、キー・シェアの再配布を必要とする。例えば、ノード102は、将来の新たなメンバがディジタル資産をパブリック・グループ・アドレスに移したこと、又は既存のメンバがメンバ・デポジットの引き出しを要求したことを検出するかもしれない。
【0133】
ディジタル資産は、コングレスへの参加を要求する又はコングレスへの関与を増加させることを要求するノードによって、及びコングレスへの参加を要求していないが、別の目的(例えば、後述するようにディジタル資産をサイドチェーンへ移すこと)のためにコングレスへディジタル資産を移している他のノードによって、パブリック・グループ・アドレス(即ち、コングレスプール)へ移され得る。オペレーション602において、ノード102は、パブリック・グループ・アドレスに対するディジタル資産の少なくとも幾つかのトランザクションに含まれる1つ以上の属性を使用して、コングレス・メンバ(即ち、他の目的ではなくコングレスに参加するためにコングレス・パブリック・キーへディジタル資産を移す者)を識別することができる。例えば、特定のトランザクションは、トランザクションにおける属性を利用する特別なトランザクションとしてフラグを立ててもよい。そのような属性(又は属性の存在又は不存在)は、移転が行われる目的を示してもよい。例えば、転送がコングレスへ参加することを要求していない場合、フラグがトランザクションに含められてもよい。
【0134】
オペレーション602においてリクエストを検出したことに応答して、その実現には、オペレーション604において、キー・シェアの再配布を必要とし、
図4の方法400のオペレーション408においてプライベート・キー・シェアが生成されたのと同様な方法で、新しいプライベート・キー・シェアがノード102によって生成される。コングレスの他のメンバ・ノードもまた各自のプライベート・キー・シェアを生成する。これらのプライベート・キー・シェアは、新しいコングレス・パブリック・キーの閾値署名方式と共に使用され得る。この時点でコングレスを去るメンバは、オペレーション604の間に新たなプライベート・キー・シェアを生成せず、また、彼らは新しいコングレス・パブリック・キーと共に使用するためのプライベート・キー・シェアを割り当てられないので、彼らはコングレスに参加する資格を失い、もはやコングレス・メンバとは考えられない。
【0135】
更に、再配布リクエスト(これは要求であり、その履行には、キー・シェアの再配布を必要とする)を検出したことに応答して、オペレーション606において、ノード102は、他のコングレス・メンバと協力して、パブリック・グループ・アドレス内の全てのディジタル資産を、新しいパブリック・キーに関連する新しいパブリック・アドレス(その後、新しいコングレス・パブリック・キーとなる)へ移す。
【0136】
従って、
図6の方法600によれば、デポジットの配分が変化する場合、又はデポジットを引き出すことに対してメンバからリクエストが受信される場合、プライベート・キー・シェアが再生成され、コングレスの支配下にある全てのディジタル資産が、新しいパブリック・キーへ移されることが可能である。コングレスのメンバーシップが更新され得る頻度は、ブロックチェーン・ネットワーク100のブロック時間によって制限される。多くのアプリケーションは少ない頻度で(即ち、プルーフ・オブ・ワーク機構でブロックが採掘される頻度と比較して低い頻度で)リバランス(又は資産再配分)を行うことを必要とするだけであろう。
【0137】
既存のパブリック・グループ・アドレスを維持しつつプライベート・キー・シェア再配分を更新する
次に、
図7を参照すると、プライベート・キー・シェア配分を更新する別の例示的な方法700が示されている。方法700は、ブロックチェーン・ネットワーク100の他のノードと協力して、ブロックチェーン・ネットワーク100のノード102によって実行されてもよい。
【0138】
図7の方法700では、コングレス・パブリック・キーは、メンバ・デポジットの配分が変化する度に変化しない。新しいキー・シェアを割り当てるリクエストが検出されると(オペレーション702。これは、パブリック・グループ・アドレスへのディジタル資産のデポジットにより発生する可能性がある)、ノード102は、コングレスの他のメンバと協働して、同じパブリック・キーに対する新しいプライベート・キー・シェアを(オペレーション704において)グループの新しいメンバへ発行する。コラボレーションするノードの数は、少なくとも、閾値署名方式の下でディジタル署名を生成するために必要とされる閾値数である。オペレーション704において、他のキー・シェアは同じままである一方、追加のキー・シェアが割り当てられてもよい。これは(閾値署名方式の)閾値の変更を必要とするかもしれないが、実際にはその変更は僅かであろう。あるいは、オペレーション804において、他のキー・シェアが新しくされる一方、追加のキー・シェアが割り当てられてもよい。そのような更新は、前世代の任意のキー・シェアの削除に対する証明によって達成されるように要求される。この場合、同じ閾値を維持する一方、新しいシェアが割り当てられてもよい(SSSの場合、これは、増加した次数についての新たな多項式における共有を含む)。
【0139】
オペレーション702において、ノード102は、パブリック・グループ・アドレスに対するディジタル資産のトランザクションの少なくとも幾つかに含まれる1つ以上の属性を使用して、コングレス・メンバ(即ち、他の目的ではなくコングレスに参加するためにコングレス・パブリック・キーへディジタル資産を移した者)を識別することができる。例えば、特定のトランザクションは、トランザクションにおける属性を使用して特別なトランザクションとしてフラグを立ててもよい。そのような属性(又はその存在又は不存在)は、移転が行われる目的を示してもよい。例えば、移転がコングレスに参加することを要求していない場合に、フラグがトランザクションに含まれてもよい。
【0140】
メンバが方法700を使用するコングレスを去る場合、彼らは各自のプライベート・キー・シェアを確実に削除することができる。旧メンバのプライベート・キー・シェアが使用不可能であることを保証するために、コングレスのメンバは、特別なTEEを有するノード102を使用するように要求され得る。TEEは、ハードウェア・レベルで実現されるアーキテクチャであり、その中で実行される命令及びデータが、システムの残りの部分からのアクセス及び操作に対して保護されることを保証する。TEEは、コングレスの他ノードのような外的な者に対してシステムの完全性を検証するために使用され得るリモート認証チャレンジに応答するハードウェア・メカニズムを使用してもよい。
【0141】
各メンバ・ノードは、集積回路レベルでハードウェアを危険にさらすことなく、ホスト・システムに対してアクセスできないままである1つ以上のランダム・シークレット値を生成するように構成される認証されたTEEを使用することができる。このようにして生成されたシークレット値は、プライベート・キー・シェアの分散生成(例えば、
図4の方法400のオペレーション410)において使用される。このシークレット値は、コングレスのセットアップ段階で共有パブリック・キーを確立するためにも使用され得る。セットアップ・プロトコルに関連する計算は、TEEエンクレーブ内で実行されるので、何れのメンバ又は元メンバも、メンバ間通信又はその他の任意の方法から、各自自身又は他のプライベート・キー・シェアに関する情報を導出するはできない。TEE内のエンクレーブは、TEEエンクレーブが真正であること、及び承認されたコンピュータ読取可能な命令を実行していることを他ノードに証明するために使用され得るリモート認証プロトコルが実行されることを可能にする。
【0142】
グループ変更に関連する計算は、TEEエンクレーブ内で実行される。例えば、SSSの目的のために新たな多項式を計算する際に使用され得る新たなセキュア・ランダム・シークレットの生成は、TEEエンクレーブで実行される。
【0143】
TEEエンクレーブはまた、メンバ・デポジットが返還され得る前に、もはや使用されない以前のシークレット及び以前のキー・シェアが確実に削除されることを保証することを目的としている。より詳細には、メンバ・デポジットを返却させるために、認証プロトコルは、TEEエンクレーブがキー・シェアの削除を公的に証明することを要求し得る。各ノード102は、このような認証を、リモート認証プロトコルにより他ノードで必要な削除が発生したことのコンファメーションとして解釈することができる。従って、方法800は、コングレスを去ったメンバのTEE内で以前に保持されていたプライベート・キー・シェアが、そのメンバに関連するノードから削除されていることを確認することを含んでもよい。この確認は、プライベート・キー・シェアの削除の認証を受けることによって実行されてもよい。従って、コングレスを離れたメンバのTEE内で以前に保持されていたプライベート・キー・シェアの削除に対する認証を得るために、リモート認証プロトコルが使用されてもよい。
【0144】
図6の方法600及び
図7の方法700はそれぞれ、様々な利点を提供する。例えば、
図6の方法600は、セキュアな削除を当てにせず、信頼できるハードウェアを当てにする必要もない。しかしながら、
図6の方法600はそのようなハードウェアによる恩恵を得ることが可能であり、なぜならある状況では、そのようなハードウェアは、キー・シェアの悪意のプーリングをより起こりにくくすることができるからである。
【0145】
図7の方法700は、メンバーシップが変更されるたびに、新しいコングレス・パブリック・キーの下でディジタル資産を再ロックする必要を回避する。更に、ある状況では、方法700は
図6の方法600よりも早期にメンバーシップを更新してもよく、なぜなら
図7の方法700の下では、ディジタル資産が新しいパブリック・キーへ移されないので、全てのディジタル資産を新しいパブリック・キーへ移動させるためにトランザクションがブロックチェーンに追加されることを要しないからである。即ち、パブリック・キーは変化しないので、ディジタル資産の新しいパブリック・キーへの移転を確認するために生成される幾つかのブロックを待つ必要なしに、
図7の方法700を用いてメンバーシップが更新され得る。
【0146】
コングレスからの退会
前述したように、グループ・メンバーは、時々、コングレスを立ち去ることを要求することがあり、グループ・メンバーがコングレスから退会する場合、彼らがコングレス・プールに預け入れたディジタル資産は、彼らに返却され得る。ここで
図8を参照すると、デポジットを返却する例示的な方法800が、フローチャート形式で示されている。この方法は、コングレスの他のノード102と協力してノード102によって実行され得る。
【0147】
方法800のオペレーション802において、ノード102は、コングレス・メンバである要求者から引き出しリクエストを受信する。引き出しリクエストはまた退会リクエストと言及されてもよい。引き出しリクエストは、要求者により以前に預託され且つコングレスによって現在管理されているディジタル資産を引き出す要求である。この要求は、要求者によって全てコングレス・メンバにブロードキャストされていてもよい。
【0148】
リクエストを受信したことに応答して、ノード102は、オペレーション804において、決定された基準に対してリクエストを評価する。このような基準は予め定められた基準であってもよい。グループ・メンバーシップが変化するたびにコングレス・パブリック・キーが変更されないコングレス・プロトコルに従って、コングレスが動作するならば、オペレーション804において、ノード102は、プライベート・キー・シェアが要求者によって削除されていることを確認することができる。そのような確認は、TEEに関連するリモート認証プロトコルを利用して得られてもよい。
【0149】
コングレス・プロトコルが、メンバーシップが変わる場合にコングレス・パブリック・キーが変更されるものである場合、プライベート・キー・シェアは最早有効ではないので、ノード102はプライベート・キー・シェアの削除を確認しないかもしれない。その代わりに、新たなコングレス・パブリック・キーが使用されるかもしれないし、コングレスの管理下にある他のディジタル資産が新しいコングレス・パブリック・キーに移されるかもしれない。
【0150】
ノード102が評価に基づいて引き出しリクエストを承認する場合、オペレーション806において、ノードは、ディジタル資産の引き出しを促す。即ち、ノード102は、ディジタル署名を協調的に生成するためにそのプライベート・キー・シェアを使用し、また要求者によって以前に預託されたディジタル資産を要求者へ移すためにディジタル署名を使用する。例えば、ディジタル資産はアドレスへ返送されてもよく、ディジタル資産はそのアドレスから以前に受信されている。オペレーション806は、閾値署名方式に従って実行され、その結果、少なくとも閾値数のコングレス・メンバがその引き出しを承認した場合にのみ、引き出しは成し遂げられる。オペレーション806は、退会することを望むメンバが一定期間活動を停止した後に実行される。この待機期間は、各自のメンバ・デポジットの返還のためのプロトコルが実行されている場合に、メンバが誤った行動に従事してしまうことを防止する。
【0151】
コングレス・プロトコルは、多数のさまざまな目的に使用され得る。コングレスは、様々な機能を実行するための安全なメカニズムを提供する。コングレスは、信頼を失うことなく機能することができ、ディジタル資産の所有権を管理することができる。
【0152】
コングレス・プロトコルは、例えば、支払チャネルの設定を容易にするために、そしてより具体的には、支払チャネルの設定中にディジタル資産が暗号座礁になることを防止するために使用され得る。
【0153】
支払チャネル設定のためのコングレス
次に、
図9を参照すると、支払チャネルのセットアップを促進する例示的な方法900が、フローチャート形式で示されている。方法900は、コングレス110のメンバである他のノード102と協働して、コングレス110のメンバであるノード102によって実行されることができる。即ち、方法900は、上述したように、メンバ・デポジットのコングレス・プールへのデポジットにより、コングレスに既に加盟しているノード102によって実行される。従って、方法900を実行するノード102は、
図9の方法900を実行する前に上述したように、プライベート・キー・シェアを取得している。
【0154】
オペレーション902において、ノード102は、デポジット・トランザクション902を検出する。例えば、ノードは、
図3の方法300のオペレーション302の第1デポジット・トランザクションがブロックチェーン上で確認されたことを検出することができる。第1デポジット・トランザクションには、当事者間で支払チャネルを開設するために、ファンディング・トランザクションにおいて提供されるべき資金の額を特定するメタデータを含む。即ち、第1デポジット・トランザクションは、第1ファンディング・トランザクション及び第2ファンディング・トランザクション(これらのファンディング・トランザクションは、
図3の方法300のオペレーション306及び308を参照して、上記で詳細に説明されている)において提供されるべき資金調達額を特定するメタデータを含んでもよい。
【0155】
デポジット・トランザクションは、関連するディジタル資産をロックして、そのようなディジタル資産の管理を、コングレス(特に、閾値署名方式の下で要求される閾値を超えるキー・シェアを管理する多数のノード)が引き受けること(即ち、コングレス・パブリック・キーに関して有効な署名を使用してディジタル資産の制限を除去することによって、そのようなディジタル資産をアンロックすること)を可能にする。
【0156】
オペレーション904において、ノード102は、ファンディング・トランザクション違反が発生したか否かを判断することができる。即ち、ノード102は、開設されるべき支払チャネルに関連する1人以上の当事者が、支払チャネルの資金提供に関する所定の要件に違反したか否かを判断することができる。例えば、ファンディング・トランザクション違反は、1)ファンディング・トランザクションが1人以上の当事者によってブロードキャストされていない場合;2)ファンディング・トランザクションが不十分な資金を提供している場合(即ち、その量がデポジット・トランザクションのメタデータで定められる量未満である場合);又は3)所定の期間満了前にファンディング・トランザクションが確認されていない場合(所定の期間は、第1ファンディング・トランザクションのブロードキャスト又はコンファメーションに続く所定の期間であってもよい)に発生したと判断されてもよい。
【0157】
ファンディング・トランザクション違反がオペレーション902で検出される場合、オペレーション906において、コングレスの他のノードと協力して、ノード102により、救済トランザクションが発行されてもよい。救済トランザクションは、例えば、ファンディング・トランザクション違反を引き起こした者のデポジット・トランザクションでデポジットとして提供されたディジタル資産を没収することができる。例えば、プロトコルに違反した者のデポジットは、没収され得る。
【0158】
方法900を実行するノード102は、オペレーション906を実行するために、コングレスの他のノードと協働する。より詳細には、ノード102は、救済トランザクションを提案し、そのノードにより保有されるキー・シェアに基づいて、救済トランザクションに部分的な署名を加えることができる。コングレスの他のノードもまた、トランザクションに部分的な署名を貢献することができる。十分な数のキー・シェアが署名プロセスに関与している場合、有効な署名(即ち、コングレス・パブリック・キーである第2パブリック・キーに対して有効な署名)が生成され得る。参加するために必要なキー・シェアの数は、コングレスにより使用される閾値署名方式に基づいて決定される。なお、参加するノード数がキー・シェアの閾値を少なくとも保つ限り、全てのコングレス・メンバが署名に参加するように要求されるわけではない。有効な署名が生成されると、救済トランザクションはブロックチェーン・ネットワークにブロードキャストされ得る。救済トランザクションは、プロトコルに違反した者によってデポジットとして提供されたディジタル資産を没収することができる。即ち、支払チャネルに適切に資金提供しなかった者のデポジットは没収され得る。このデポジットは、例えば、コングレスへの参加を奨励するために、1人以上のコングレス・メンバに分配されてもよい。非違反当事者により提供された非違反当事者のディジタル資産(即ち、デポジット・トランザクション及びファンディング・トランザクションに関連するディジタル資産)もまた、救済トランザクションにおいて非違反当事者に返却されてもよい。
【0159】
ファンディング・トランザクション要件の違反が存在しない場合、ノード102は、オペレーション908においてカプセル化されたコミットメント・トランザクションの違反があるか否かを判断することができる。即ち、ノード102は、開設されるべき支払チャネルに関連する1人以上の当事者が、カプセル化されたコミットメント・トランザクションを提供することに関連する所定の要件に違反したか否かを判断することができる。例えば、カプセル化されたコミットメント・トランザクションの違反は、1)カプセル化されたコミットメント・トランザクションが1人以上の当事者によってブロードキャストされていない場合;又は、2)カプセル化されたコミットメント・トランザクションが所定期間の満了前に確認されない場合(所定の期間は、第1ファンディング・トランザクションのブロードキャスト又はコンファメーションの後の所定の期間s’であってもよい)に発生したと判断されてもよい。
【0160】
カプセル化されたコミットメント・トランザクション違反がオペレーション908で検出された場合、コングレスの他のノードと協力して、ノード102により、オペレーション910において救済トランザクションが発行されてもよい。救済トランザクションは、例えばカプセル化コミットメント・トランザクション違反に対する責任を負う者のデポジット・トランザクションでデポジットとして提供されたディジタル資産を没収することができる。例えば、プロトコルに違反した者のデポジットは没収され得る。
【0161】
方法900を実行するノード102は、オペレーション910を実行するためにコングレスの他のノードと協働する。ノード102は、救済トランザクションを提案し、そのノードが保有するキー・シェアに基づいて、救済トランザクションに部分的な署名を加えることができる。コングレスの他のノードもまた、救済トランザクションに部分的な署名を貢献することができる。十分な数のキー・シェアが署名プロセスに含まれる場合、有効な署名(即ち、第2パブリック・キーに対して有効な署名)が生成され得る。有効な署名が生成されると、救済トランザクションがブロックチェーン・ネットワークへブロードキャストされ得る。救済トランザクションは、プロトコルに違反した者によりデポジットとして提供されたディジタル資産を没収することができる。即ち、カプセル化コミットメント・トランザクションを提供しなかった者のデポジットは没収され得る。このデポジットは、例えば、コングレスへの参加を奨励するために、コングレスの1人以上のメンバに分配されてもよい。ファンディング・トランザクションにおいて当事者により提供された如何なる資金も、当該当事者に返還され得る。
【0162】
上述の例は、ビットコインで利用可能なオペレーション・コードを参照しているが、本明細書で説明される方法はまた、他のタイプのブロックチェーン・ネットワークと共に使用され得る。
【0163】
更に、本明細書に記載されるような所定の期間(例えば、上記の期間、t、s、s’)に対する如何なる参照も、時間の伝統的な尺度(例えば、秒、分、時間、日など)又は時間の非伝統的な尺度(例えば、ブロックなど)に基づいて定義される期間を指すことができる。例えば、ブロックは、合理的に一貫した頻度で幾つかのブロックチェーン・ネットワーク上で生成され得るので、トリガーイベント以来ブロックチェーンに追加されるブロック数は、時間の尺度を提供し得る。従って、所定の期間が満了したか否かをノードが評価する如何なるオペレーションも、ブロックチェーンに追加されたブロック数を評価することを含んでよい。
【0164】
上述の方法は、一般に、ノードで実行されるように説明されてきたが、方法の特徴は、他のノードとの協調を当てにし、他の場所で実行されることが可能である。
【0165】
上述の実施形態は、本発明を限定するものではなく例示するものであること、そして当業者は、添付の特許請求の範囲によって定義される本発明の範囲から逸脱することなく、多くの代替実施形態を設計し得ることに留意すべきである。特許請求の範囲において、括弧内に配置される如何なる参照符号も特許請求の範囲を限定するように解釈されてはならない。「有している」及び「有する」等の言葉は何らかの請求項又は明細書全体に列挙されたもの以外の要素又はステップの存在を排除しない。本明細書において、「有する」は「含む又はから構成される」を意味し、「有している」は「含んでいる又はから構成されている」を意味する。要素の単独参照はそのような要素複数個の参照を排除せず、逆もまた同様である。本発明は、幾つかの別個の要素を含むハードウェアによって、及び適切にプログラムされたコンピュータによって実施されてもよい。幾つかの手段を列挙する装置クレームにおいて、これらの手段の幾つかは、1つの同じのハードウェア・アイテムによって具現化されてもよい。所定の複数の事項が互に異なる従属請求項で引用されているという単なる事実は、これらの事項の組み合わせが有用に使用され得ないことを示すものではない。
【0166】
(付記1)
コンピュータで実現される方法であって:
第1デポジット・トランザクションをブロックチェーン・ネットワークのノードへブロードキャストするステップであって、前記第1デポジット・トランザクションは、第1パブリック・キーに対して有効である署名の生成による所定の期間の後に第1ディジタル資産がアンロックされること、及び第2パブリック・キーに対して有効である署名の生成による任意の時間にアンロックされることを許容するように構成される、ステップ;
前記所定の期間の経過前に、前記第1パブリック・キー、前記第2パブリック・キー、及び第3パブリック・キーで第2ディジタル資産を制限する第1ファンディング・トランザクションを前記ブロックチェーン・ネットワークへブロードキャストするステップであって、前記第2ディジタル資産の制限は:1)前記第1パブリック・キーに対して有効な署名及び第3パブリック・キーに対して有効な署名の双方;又は2)第2パブリック・キーに対して有効な署名により解除されることが可能である、ステップ;及び
前記所定の期間の経過後に、前記第1パブリック・キーに対して有効な署名で前記第1ディジタル資産をアンロックするトランザクションをブロードキャストするステップ;
を有するコンピュータで実現される方法。
(付記2)
前記第1ファンディング・トランザクションをブロードキャストする前に:
前記ブロックチェーン・ネットワークにおける第2デポジット・トランザクションのコンファメーションを検出するステップであって、前記第2デポジット・トランザクションは、前記第3パブリック・キーに対して有効である署名の生成による所定の期間の後に、別のディジタル資産がアンロックされること、及び前記第2パブリック・キーに対して有効である署名の生成による任意の時間にアンロックされることを許容するように構成されている、ステップ
を更に有する付記1に記載のコンピュータで実現される方法。
(付記3)
前記第1ファンディング・トランザクションを前記ブロックチェーン・ネットワークへブロードキャストするステップは、前記第2デポジット・トランザクションのコンファメーションを検出したことに応答して自動的に実行される、付記2に記載のコンピュータで実現される方法。
(付記4)
前記第1デポジット・トランザクションは、前記第1ファンディング・トランザクション及び第2ファンディング・トランザクションで提供されるファンディング量を指定するメタデータを含み、前記第2デポジット・トランザクションは、前記第1ファンディング・トランザクションと前記第2ファンディング・トランザクションとで提供されるファンディング量を指定するメタデータを含む、付記2に記載のコンピュータで実現される方法。
(付記5)
前記第1ファンディング・トランザクションをブロードキャストする前に:
前記第1ファンディング・トランザクション及び前記第2ファンディング・トランザクションで提供されるように期待されるファンディング量を、前記第2デポジット・トランザクションが指定していることを確認するステップ
を更に有する付記4に記載のコンピュータで実現される方法。
(付記6)
前記第2パブリック・キーは、閾値署名方式の下で動作するノード・グループに関連付けられている、付記1-5のうち何れか1項に記載のコンピュータで実現される方法。
(付記7)
第1カプセル化コミットメント・トランザクションをブロードキャストする方法であって、前記第1カプセル化コミットメント・トランザクションは、コミットメント・トランザクションをメタデータとして含み、前記コミットメント・トランザクションは、前記第1パブリック・キーに対応する第1プライベート・キーを利用して署名される、ステップ
を更に有する付記1-6のうち何れか1項に記載のコンピュータで実現される方法。
(付記8)
前記第1カプセル化コミットメント・トランザクションは、前記所定の期間の経過前にブロードキャストされる、付記7に記載のコンピュータで実現される方法。
(付記9)
前記第1カプセル化トランザクションをブロードキャストする前に:
前記ブロックチェーン・ネットワークにおける第2ファンディング・トランザクションのコンファメーションを検出するステップであって、前記第2ファンディング・トランザクションは、前記第1パブリック・キー、前記第2パブリック・キー、及び前記第3パブリック・キーで別のディジタル資産を制限し、前記別のディジタル資産の制限は:1)前記第1パブリック・キーに対して有効な署名及び第3パブリック・キーに対して有効な署名の双方;又は2)前記第2パブリック・キーに対して有効な署名により解除されることが可能である、ステップ
を更に有する付記7に記載のコンピュータで実現される方法。
(付記10)
前記第1カプセル化トランザクションは名目上のディジタル資産に対するものである、付記7に記載のコンピュータで実現される方法。
(付記11)
前記第3パブリック・キーに関連するノードによりブロードキャストされる第2カプセル化コミットメント・トランザクションのコンファメーションを検出するステップであって、前記第2カプセル化コミットメント・トランザクションは別のコミットメント・トランザクションをメタデータとして含み、前記別のコミットメント・トランザクションは、前記第3パブリック・キーに対応する第3プライベート・キーを使用して署名される、ステップ
を更に有する付記7に記載のコンピュータで実現される方法。
(付記12)
前記ブロックチェーン・ネットワークの前記ノードへ前記別のコミットメント・トランザクションをブロードキャストするステップを含む、付記11に記載のコンピュータで実現される方法。
(付記13)
1つ以上の別のコミットメント・トランザクションを、前記第3パブリック・キーに関連するノードと直接的にやり取りするステップを更に含む、付記7に記載のコンピュータで実現される方法。
(付記14)
実行されると付記1-13のうち何れか1項に記載の方法を実行するようにプロセッサを構築するコンピュータ実行可能命令を有するコンピュータ読み取り可能な記憶媒体。
(付記15)
インターフェース・デバイス;
前記インターフェース・デバイスに結合されるプロセッサ;
前記プロセッサに結合されるメモリであって、前記メモリは、実行されると付記1-13のうち何れか1項に記載の方法を実行するように前記プロセッサを構築するコンピュータ実行可能命令を保存している、メモリ;
を有する電子デバイス。