Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. WO2020158953 - PROCÉDÉ DE STOCKAGE DE TRANSACTION QUI REPRÉSENTE UN TRANSFERT D'ACTIFS VERS UN RÉSEAU DISTRIBUÉ, ET PROGRAMME ASSOCIÉ

Document

明 細 書

発明の名称 分散ネットワークに資産の移転を表すトランザクションを記憶する方法及びそのためのプログラム

技術分野

0001  

背景技術

0002   0003  

発明の概要

発明が解決しようとする課題

0004   0005  

課題を解決するための手段

0006   0007   0008   0009   0010   0011   0012   0013   0014   0015  

発明の効果

0016  

図面の簡単な説明

0017  

発明を実施するための形態

0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085  

符号の説明

0086  

請求の範囲

1   2   3   4   5   6   7   8   9   10  

図面

1   2   3   4   5   6   7   8   9   10  

明 細 書

発明の名称 : 分散ネットワークに資産の移転を表すトランザクションを記憶する方法及びそのためのプログラム

技術分野

[0001]
 本発明は、複数のノードを有する分散ネットワークに資産の移転を表すトランザクションを記憶する方法及びそのためのプログラム並びに当該分散ネットワークを構成するためのノードに関する。

背景技術

[0002]
 データベースを複数のノードによって構成される分散ネットワーク上に構築するブロックチェーンネットワークは、その非中央集権的性格から改ざん耐性が高い。いずれかのノードにおいてデータベースが改ざんされても分散ネットワーク全体を書き換えることは困難だからである。各ノードに記憶されるブロックチェーンが互いに同期してデータベースとして機能している。
[0003]
 ノード数の増大は改ざん耐性を高める反面、各ノードに同一のブロックチェーンを記憶する必要性からブロックの採択のための処理速度を一般に低下させる。直観的にはノード数を増やすことで単位時間当たりの処理速度を向上可能であるとおもわれるが、ブロックチェーンにおいては逆に低下してしまうことから、ブロックサイズの増大、ブロックに含まれる1又は複数のトランザクションのデータ容量の低減等、さまざまな試みがなされているのが現状である。

発明の概要

発明が解決しようとする課題

[0004]
 しかしながら、現状のさまざまな試みの中には、拡張性(スケーラビリティ)を大幅に向上可能なものを見出すことは出来ない。特に、仮想通貨、実通貨、株等の資産の移転を分散ネットワーク上のデータベースにおいて管理することを現実的に考えた場合、1秒間に処理可能なトランザクションの数が数件と言われるビットコインを筆頭に、スケーラビリティはブロックチェーンの実用化において喫緊の課題である。
[0005]
 本発明は、このような問題点に鑑みてなされたものであり、その目的は、複数のノードを有する分散ネットワークに資産の移転を表すトランザクションを記憶する方法及びそのためのプログラム並びに当該分散ネットワークを構成するためのノードにおいて、単位時間当たりのトランザクション処理速度を大幅に向上することにある。

課題を解決するための手段

[0006]
 このような目的を達成するために、本発明の第1の態様は、複数の部分ネットワークを有する分散ネットワークに資産の移転を表すトランザクションを記憶する方法であって、前記複数の部分ネットワークのうちの第1の部分ネットワークを構成するノードが、前記第1の部分ネットワークで処理可能な移転元識別子から前記第1の部分ネットワークで処理可能ではない移転先識別子への資産の移転を表す第1のトランザクションを受信するステップと、前記第1のトランザクションを含むブロックを生成するステップと、前記ブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記移転元識別子の資産の状態を更新するステップと、前記ブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記第1のトランザクションにより表される前記移転先識別子への前記資産の移転を反映させるための第2のトランザクションを、前記第1のトランザクションの前記移転先識別子と一致する移転元識別子を処理可能な第2の部分ネットワークに送信するステップとを含むことを特徴とする。
[0007]
 また、本発明の第2の態様は、第1の態様において、前記第1のトランザクションは、前記移転元識別子の秘密鍵による署名が付加されていることを特徴とする。
[0008]
 また、本発明の第3の態様は、第1又は2の態様において、移転される前記資産の額は、正の値であることを特徴とする。
[0009]
 また、本発明の第4の態様は、第1から第3のいずれかの態様において、前記第2のトランザクションは、前記第1の部分ネットワークにおいて合意形成がなされたことを示す署名が付加されていることを特徴とする。
[0010]
 また、本発明の第5の態様は、第4の態様において、前記第2のトランザクションの署名は、単一の署名であることを特徴とする。
[0011]
 また、本発明の第6の態様は、第4又は第5の態様において、前記第2のトランザクションの署名は、前記ブロック内の前記第1のトランザクションを含む複数のトランザクションに基づくマークルツリーのマークルルートを含むブロックヘッダに対する署名であることを特徴とする。
[0012]
 また、本発明の第7の態様は、複数の部分ネットワークのうちの第1の部分ネットワークを構成するノードに、前記複数の部分ネットワークを有する分散ネットワークに資産の移転を表すトランザクションを記憶する方法を実行させるためのプログラムであって、前記方法は、前記ノードが、前記第1の部分ネットワークで処理可能な移転元識別子から前記第1の部分ネットワークで処理可能ではない移転先識別子への資産の移転を表す第1のトランザクションを受信するステップと、前記第1のトランザクションを含むブロックを生成するステップと、前記ブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記移転元識別子の資産の状態を更新するステップと、前記ブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記第1のトランザクションにより表される前記移転先識別子への前記資産の移転を反映させるための第2のトランザクションを、前記第1のトランザクションの前記移転先識別子と一致する移転元識別子を処理可能な第2の部分ネットワークに送信するステップとを含むことを特徴とする。
[0013]
 また、本発明の第8の態様は、複数の部分ネットワークを有する分散ネットワークに資産の移転を表すトランザクションを記憶するための、前記複数の部分ネットワークのうちの第1の部分ネットワークを構成するノードであって、前記第1の部分ネットワークで処理可能な移転元識別子から前記第1の部分ネットワークで処理可能ではない移転先識別子への資産の移転を表す第1のトランザクションを受信して、前記第1のトランザクションを含むブロックを生成し、前記ブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記移転元識別子の資産の状態を更新し、前記ブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記第1のトランザクションにより表される前記移転先識別子への前記資産の移転を反映させるための第2のトランザクションを、前記第1のトランザクションの前記移転先識別子と一致する移転元識別子を処理可能な第2の部分ネットワークに送信することを特徴とする。
[0014]
 また、本発明の第9の態様は、複数の部分ネットワークを有する分散ネットワークに資産の移転を表すトランザクションを記憶する方法であって、前記複数の部分ネットワークのうちの第1の部分ネットワークを構成するノードが、前記第1の部分ネットワークで処理可能な移転元識別子から前記第1の部分ネットワークで処理可能ではない移転先識別子への資産の移転を表す第1のトランザクションを受信するステップと、前記第1のトランザクションを含む第1のブロックを生成するステップと、前記第1のブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記移転元識別子の資産の状態を更新するステップと、前記第1のブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記第1のトランザクションにより表される前記移転先識別子への前記資産の移転を反映させるための第2のトランザクションを、前記第1のトランザクションの前記移転先識別子と一致する移転元識別子を処理可能な第2の部分ネットワークに送信するステップとを含み、前記第2の部分ネットワークを構成するノードが、前記第2のトランザクションを受信するステップと、前記第2のトランザクションを含む第2のブロックを生成するステップと、前記第2のブロックの採択についての前記第2の部分ネットワークにおける合意形成後、前記第2のトランザクションの移転先識別子の資産の状態を更新するステップとを含むことを特徴とする。
[0015]
 また、本発明の第10の態様は、資産の移転を表すトランザクションを記憶するための複数の部分ネットワークを有する分散ネットワークであって、前記複数の部分ネットワークのうちの第1の部分ネットワーク及び第2の部分ネットワークを備え、前記第1の部分ネットワークを構成するノードが、前記第1の部分ネットワークで処理可能な移転元識別子から前記第1の部分ネットワークで処理可能ではない移転先識別子への資産の移転を表す第1のトランザクションを受信して、前記第1のトランザクションを含む第1のブロックを生成し、前記第1のブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記移転元識別子の資産の状態を更新し、前記第1のブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記第1のトランザクションにより表される前記移転先識別子への前記資産の移転を反映させるための第2のトランザクションを、前記第1のトランザクションの前記移転先識別子と一致する移転元識別子を処理可能な第2の部分ネットワークに送信し、前記第2の部分ネットワークを構成するノードが、前記第2のトランザクションを受信して、前記第2のトランザクションを含む第2のブロックを生成し、前記第2のブロックの採択についての前記第2の部分ネットワークにおける合意形成後、前記第2のトランザクションの移転先識別子の資産の状態を更新することを特徴とする。

発明の効果

[0016]
 本発明の一態様によれば、分散ネットワークを複数の部分ネットワークにより構成し、各部分ネットワークにおいて処理可能な移転元識別子を定めておくことによって、トランザクションの並列処理を行い、同時に複数のトランザクションの処理が実行可能となる。

図面の簡単な説明

[0017]
[図1] 本発明の一実施形態にかかる分散ネットワークを示す図である。
[図2] 本発明の一実施形態にかかる通常トランザクションの模式図である。
[図3] 本発明の一実施形態にかかるトランザクションを記憶する方法の流れを説明するための図である。
[図4] 本発明の一実施形態にかかるペグトランザクションの模式図である。
[図5] 本発明の一実施形態における合意形成処理を説明するための図である。
[図6] 本発明の一実施形態における合意形成のための鍵生成方法の流れ図である。
[図7] 本発明の一実施形態におけるブロックの採択についての確定方法の流れ図である。
[図8] 本発明の別実施形態にかかるペグトランザクションの模式図である。
[図9] 本発明の別実施形態にかかるマークルツリーデータを説明するための図である。
[図10] 本発明の別実施形態にかかるペグトランザクションの模式図である。

発明を実施するための形態

[0018]
 以下、図面を参照して本発明の実施形態を詳細に説明する。
[0019]
 図1は、本発明の一実施形態にかかる分散ネットワークを示す。分散ネットワーク100は、分散ネットワーク100上に構築されたデータベースに記憶すべきトランザクションにおける資産の移転元に応じて動作が異なる複数の部分ネットワークを有する。図1では、第1の部分ネットワーク110と、第2の部分ネットワーク120と、第3の部分ネットワーク130とを示しているが、部分ネットワーク数は3に限られるものではない。
[0020]
 各部分ネットワークは、複数のノードにより構成されており、各ノードは、通信インターフェースなどの通信部111Aと、プロセッサ、CPU等の処理部111Bと、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部111Cとを備え、各処理を行うためのプログラムを実行することによって構成することができる。各ノードは、1又は複数の装置ないしサーバを含むことがあり、また当該プログラムは1又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。
[0021]
 ユーザー端末140では、資産203の移転元アドレスなどの移転元識別子201から移転先アドレスなどの移転先識別子202への移転を表すトランザクションが生成される。こうしたトランザンクションの生成をするためのアプリケーションがユーザー端末140にインストールされるか、インターネットなどのコンピュータ・ネットワークを介してユーザー端末140において利用可能である。
[0022]
 図3を参照して、本実施形態にかかる資産の移転を表すトランザクションを記憶する方法を説明する。まず、ユーザー端末140において仮想通貨等の資産203の移転元識別子201から移転先識別子202への移転を表すトランザクション200が生成される(S301)。トランザクション200には、移転元識別子201、移転先識別子202、移転される資産203の額が記述され、移転元識別子201に関連づけられた秘密鍵による署名204が付加される。たとえば、移転元識別子201の秘密鍵は、ユーザー端末140又はユーザー端末140のユーザーのみがアクセス可能に管理されており、当該ユーザーのみが移転先識別子201からの資産の移転を正当に実行可能である。
[0023]
 次に、ユーザー端末140は、分散ネットワーク100に向けてトランザクション200の記録依頼要求を送信する(S302)。各部分ネットワークには、受け取ったトランザクションを自ら処理可能な移転元識別子の値又は範囲が設定されているところ、本実施形態において、ユーザー端末140のアプリケーションは、移転元識別子と各部分ネットワークが処理可能な移転元識別子の値又は範囲との対応づけを参照して、トランザクション200の記録依頼要求の送信先を判定する。図1及び2の例では、第1の部分ネットワーク110がトランザクション200を受信することとなる。
[0024]
 より詳細には、第1の部分ネットワーク110にトランザクション200を送信するという場合、第1の部分ネットワーク110を構成する1又は複数のノードに対して送信を行う。トランザクション200を受信したノード111は、その記憶部111C又は当該ノードからアクセス可能な記憶媒体又は記憶装置にトランザクション200をその後処理するため記憶する。必要に応じてトランザクション200を受信したノード111は、第1の部分ネットワーク110を構成するその他のノードにトランザクション200を送信し、第1の部分ネットワーク110を構成する複数のノードのうち、ブロック採択の合意形成に参加するノードにおいて記憶されることとなる。
[0025]
 そして、第1の部分ネットワーク110を構成するいずれかのノード111が、それまでに記憶したトランザクションのうちの1又は複数のトランザクションを含むブロックを生成し、その採択のための第1の部分ネットワーク110における合意形成処理を行う(S303)。合意形成が行われた場合、合意形成に参加する各ノードは、各ノードが記憶するブロックチェーンに当該ブロックを追加する。第1の部分ネットワーク110の各ノードは、第1の部分ネットワーク110で処理可能な移転元識別子の秘密鍵に対応する公開鍵を記憶しており、トランザクションの受信時又はブロックの生成時に署名204の有効性を検証することが可能である。第1の部分ネットワーク110において行われる合意形成処理の詳細については後述する。公開鍵は、事前に各ノードが記憶しているのではなく、トランザクション200が当該トランザクション200に付加された署名204の秘密鍵に対応する公開鍵を含んでいるか、トランザクション200に当該公開鍵が付加されているか、署名204から計算可能であってもよい。
[0026]
 各ノードは、ブロックチェーンに加えて、各ノードが処理可能な移転元識別子に関連づけられた資産の状態を保持する識別子と資産の状態との対応づけを記憶しており、ブロックチェーンに当該ブロックを追加した後、追加されたブロックに含まれる1又は複数のトランザクションに記述された移転元識別子からの資産の移転を記録する(S304)。当該対応づけは、テーブル形式に限るものではないが便宜上「アセットテーブル」と呼ぶことがある。また、対応づけは、各ノードからアクセス可能な記憶媒体又は記憶装置に記憶してもよい。
[0027]
 より詳細には、一例として、分散ネットワーク100で処理可能な移転元識別子及び移転先識別子が「A」で始まる10桁の記号列、「B」で始まる10桁の記号列、そして「C」で始まる10桁の記号列である場合を考える。そして、第1の部分ネットワーク110は「A」で始まる移転元識別子、第2の部分ネットワーク120は「B」で始まる移転元識別子、第3の部分ネットワーク130は「C」で始まる移転元識別子を処理可能と設定されているものとする。第1の部分ネットワーク110において「A13afb3sdf」という移転元識別子201が記述されたトランザクション200を含むブロックに関する合意形成がなされたことを受けて、第1の部分ネットワーク110の各ノード111は、それぞれが記憶するアセットテーブル内の識別子「A13afb3sdf」の資産残高を更新する。具体的には、移転元識別子「A13afb3sdf」の資産残高を10BTC減少させる。
[0028]
 次いで、追加されたブロックを生成したノード又は第1の部分ネットワークのその他のノードが、追加されたブロックに含まれる1又は複数のトランザクションのうち移転先識別子が第1の部分ネットワーク110で処理可能な移転元識別子に一致しないトランザクションに対応するトランザクション400を、当該移転先識別子が自ネットワークにおいて処理可能な移転元識別子と一致する部分ネットワークに送信する(S305)。
[0029]
 ここで、トランザクション400の生成がアセットテーブルの更新後に行われるものとして説明したが、これらは逆にすることも考えられる。合意形成処理(S303)に、ブロックに含まれる各トランザクションの移転元識別子から移転される資産の額が当該移転元識別子の残高以上であることの検証が含まれる場合には順序を逆にしてもよいが、含まれない場合にはアセットテーブルの更新処理(S304)に、移転される資産の額が残高以上であることの検証を含め、検証結果が肯定的であることを条件にトランザクション400の送信が実行されるようにしてもよい。
[0030]
 図2に示したトランザクション200に対応する図4のトランザクション400を例にすると、トランザクション400は、第1の部分ネットワーク110に記憶されたトランザクション200により表される資産203の移転を、移転先識別子202と一致する移転元識別子を処理可能な第2の部分ネットワーク120において反映させるものであり、移転元識別子401、移転先識別子402、移転される資産403の額が記述されている。図2のトランザクション200とは異なり、図4のトランザクション400においては、付加される署名404が、トランザクション200を含むブロックが第1の部分ネットワーク110においてその採択について合意形成がなされたこと、すなわち、ブロックチェーンに追加されたことを示す署名である。図4においては、署名404を「A」として図示している。署名404の詳細は後述する。
[0031]
 以下において、トランザクション400は部分ネットワーク間での資産の状態の整合性を保つためのものであり、いわゆるペグさせるものであるため、「ペグトランザクション」と呼ぶことがあり、署名404は「ペグ署名」と呼ぶことがある。
[0032]
 ペグトランザクション400を受信した第2の部分ネットワーク120では、ペグトランザクション400を含むブロックをいずれかのノードが生成し、当該ブロックの採択についての合意形成処理(S306)がなされた後に各ノードのブロックチェーンに追加される。第2の部分ネットワーク120の各ノードは、第2の部分ネットワーク120で処理可能な移転元識別子の秘密鍵に対応する公開鍵を記憶するとともに、他の部分ネットワークによるペグ署名に関連づけられた公開鍵を記憶している。当該公開鍵によってトランザクション400のペグ署名404を有効なものとして検証することで、トランザクション400がペグトランザクションであることを判定することができる。公開鍵は、事前に各ノードが記憶しているのではなく、ペグトランザクション400が当該トランザクション400に付加された署名404の秘密鍵に対応する公開鍵を含んでいるか、トランザクション200に当該公開鍵が付加されていてもよい。いずれにしても、各部分ネットワークは、ペグトランザクション400に付加される署名404の秘密鍵に対応する公開鍵が、いずれの部分ネットワークで署名可能な秘密鍵に対応するものであるのか、換言すれば、公開鍵のいわゆる保有者がいずれの部分ネットワークであるのかを確認可能であるものとする。
[0033]
 ある部分ネットワークが受信したトランザクションが通常のトランザクション200であるかペグトランザクション400であるかを区別するためには、上記のように署名の検証に用いた公開鍵によって判定することが考えられるが、識別子に基づいて判定することも考えられる。すなわち、移転元識別子が自ネットワークにおいて処理可能な移転元識別子ではなく、移転先識別子が自ネットワークにおいて処理可能な移転元識別子のいずれかと一致する場合、当該トランザクションをペグトランザクション400と判定することが可能である。
[0034]
 ブロックが追加された後、当該ブロックに含まれるペグトランザクション400について、各ノードはペグトランザクション400の移転先識別子402の資産残高を更新して資産203の移転を記録する(S307)。通常トランザクション200では、上述したように資産203の移転元識別子201の資産残高を更新するところ、ペグトランザクション400では、移転先識別子402の資産残高を更新する。ペグトランザクション400の移転先識別子402は第2の部分ネットワーク120で処理可能な移転元識別子のいずれかと一致し、第2の部分ネットワーク120の各ノードは、各ノードの記憶部又は各ノードからアクセス可能な記憶媒体又は記憶装置に、自ネットワークで処理可能な移転元識別子と当該識別子に関連づけられた資産の状態との対応づけを参照し、更新することができる。
[0035]
 以上のように、分散ネットワークを複数の部分ネットワークにより構成し、各部分ネットワークにおいて処理可能な移転元識別子を定めておくことによって、トランザクションの並列処理を行い、同時に複数のトランザクションの処理が実行可能となる。よって、単位時間当たりのトランザクション処理速度を大幅に向上させることができる。
[0036]
 上述の説明では、ユーザー端末140が用いるアプリケーションにおいて、移転元識別子と処理可能な移転元識別子の値又は範囲との対応づけを参照して、トランザクション200の記録依頼要求の送信先を判定するものとして記述したが、1又は複数の部分ネットワークに向けて送信をして、トランザクション200が受信した部分ネットワークにおいて自ら処理可能なトランザクションでなければトランザクション200を処理可能な部分ネットワークに転送してもよい。また、分散ネットワーク100に転送ノード(図示せず)を設けて、転送ノードにおいて最初にユーザー端末140から送信されたトランザクション200を受信し、送信元識別子201の値に応じてトランザクション200を処理可能な部分ネットワークを判定してもよい。
[0037]
 また、上述の説明では、ペグトランザクション400の送信先を第1の部分ネットワーク110において定めるものとして記述したが、通常トランザクション200の送信先と同様の態様で送信を行うことが考えられる。
[0038]
 また、上述の説明では、資産203の額は特段制約を課していないが、正の値として、トランザクション200の検証の際に残高不足があれば無効なトランザクションとして処理することが好ましい。負の値とした場合、すなわち移転元識別子201が資産203を受け取る場合には、移転先識別子202の資産残高を第1のネットワーク110のアセットテーブルでは管理していないことから、残高不足か否かを検証することが出来ず、第1の部分ネットワーク110において当該トランザクションを含むブロックが追加されたにも関わらず第2の部分ネットワーク120では移転先識別子202の残高不足によって無効と処理される恐れが生じる。
[0039]
 なお、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。また、一例として、「aの場合にbする」という記載は、明示した場合を除き、「aの場合に常にbする」ことを必ずしも意味しないことに留意されたい。
[0040]
 また、念のため、なんらかの方法、プログラム、端末、装置、サーバ又はシステム(以下「方法等」)において、本明細書で記述された動作と異なる動作を行う側面があるとしても、本発明の各態様は、本明細書で記述された動作のいずれかと同一の動作を対象とするものであり、本明細書で記述された動作と異なる動作が存在することは、当該方法等を本発明の各態様の範囲外とするものではないことを付言する。
[0041]
  合意形成の詳細
 部分ネットワークにおける合意形成は、さまざまな合意アルゴリズムの下で行うことができるところ、一例として、合意形成に参加するN個(Nは2以上の整数)のノードのうちk個(kは2≦k≦Nを満たす整数)のノードによる署名を必要とするものが挙げられる。N=5、k=3の例を考えれば、これは合意形成に参加するノードの過半数による署名が必要となることを意味する。そして、合意形成がなされ、合意形成対象のブロックについてその採択が確定したことを示すためには、根拠としてk個以上の署名を付すことが必要となる。
[0042]
 このようにk個のノードによる署名が当該合意アルゴリズムにおける所定の条件を満たすことのできるノードの組み合わせはN及びkの値によっては数多く考えられ、このことは、合意が形成されたブロックについて、署名の取り扱いを複雑にしている側面がある。たとえば、あるブロックの署名を事後的に検証(verify)するためには、当該ブロックに付された複数の署名が所定の条件を満たしているか否かを個別に確認しなければならないからである。そこで、以下に述べるような単一の署名によって、部分ネットワークにおいて、ブロックの採択にかかる合意がなされたことを示すことが好ましい。このことは、ブロックの採択についての合意形成だけでなく、ペグトランザクション400にペグ署名404を付加するための合意形成についても同様である。
[0043]
 図5に示すネットワーク500は、例示としてNが5であり、第1のノード510、第2のノード520、第3のノード530、第4のノード540及び第5のノード550を有する。各ノードは、第1のノード510について図示するように、通信インターフェースなどの通信部511と、プロセッサ、CPU等の処理部512と、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部513とを備えるコンピュータであり、所定のプログラムを実行することによって、以下で説明する各処理を実現することができ、当該ノード510は、1又は複数の装置ないしサーバを含むことがあり、また当該プログラムは、1又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。その他のノードについても、そのハードウェアの構成は同様である。以下では第1のノード510を中心に説明するが、他のノードにおいても、同様の処理を行い得る。また、合意形成に参加しないノードがネットワーク500に含まれることもある。
[0044]
 所定のプログラムには、合意アルゴリズムにかかるルール及びセットアップにかかるルールが定められており、記憶部513又は第1のノード510からネットワークを介してアクセス可能な記憶装置又は記憶媒体に記憶しておくことができる。
[0045]
 合意形成に参加するN個のノードが、互いに通信可能な状態から、ブロックの採択にかかる合意形成を実行可能な状態に遷移するために実行させるべきプロセスを「セットアップ」と呼ぶ。セットアップは、ネットワーク500の外部又は内部においてセットアップの要求を受けて開始され、図5では、外部から当該要求が送信される例を示している。当該要求には、合意形成に必要となる署名の数kを含むことができ、また予めセットアップにかかるルールの中で定めておいてもよい。また、当該要求には、合意形成に参加するN個のノードの指定を含むことができ、またこの指定は予めセットアップにかかるルールの中で定めておいてもよい。
[0046]
 いずれかの形でN及びkの値が定まり、セットアップ・プロセスの実行が進むと、各ノードは、合意形成に参加するノード全体に割り当てられた1個の公開鍵、合意形成に参加する各ノードに割り当てられたN個の公開鍵シェア、そして当該ノードに割り当てられた1個の秘密鍵シェアを保持することとなる。また、各ノードは、N及びkの値又はk/Nの値も保持することとなる。Nの値は、公開鍵シェアの数から求めることもできる。
[0047]
 秘密鍵と公開鍵は、当該秘密鍵により署名した平文を当該公開鍵により検証できるという関係にあり、秘密鍵シェアとそれに対応する公開鍵シェアについても同様である。ここで、「秘密鍵シェア」とは、N個の一組の秘密鍵シェアのうち所定の数k個の秘密鍵シェアによる署名を用いて秘密鍵による署名を生成可能であるように、生成された一組の秘密鍵シェアのうちのいずれかを指す。したがって、当該秘密鍵を知ることなく、k個の秘密鍵シェアに基づいて公開鍵に対応する署名を生成し、合意形成の対象であるブロックに当該署名を付加することができる。付加された署名は、公開鍵によってその検証可能である。
[0048]
 図5の例についてさらに説明すると、ネットワーク500全体に割り当てられる1個の公開鍵をPK(Public Keyの略)、当該公開鍵に対応する秘密鍵をSK(Secret Keyの略)、第1のノード510、第2のノード520、第3のノード530、第4のノード540、第5のノード550のそれぞれに割り当てられる公開鍵シェア及び秘密鍵シェアをそれぞれPK1及びSK1、PK2及びSK2、PK3及びSK3、PK4及びSK4、PK5及びSK5と表記する。セットアップ後には、たとえば第1のノードは、PK、PK1乃至PK5及びSK1をその記憶部513又は当該ノードと通信可能な記憶装置又は記憶媒体に記憶していることになる。記憶されたこれらのデータは、後の合意形成又はその確定プロセスにおいて当該ノードからアクセス可能となる。
[0049]
 ここで、公開鍵PKは、最終的に付加される署名の検証に必要となるところ、セットアップの段階では生成しない場合もある。署名の検証を行うノード又は装置が検証時に公開鍵PKを有していればよく、初期設定の時点で必ずしもネットワーク500の各ノードが有していることは必要ではないからである。
[0050]
 図6に、本実施形態にかかるこれらの鍵生成方法の流れを示す。ここでは一例として、(k-1)次多項式f(x)を考え、f(xi)の値(iはi番目のノードを表す1からNの整数であり、xiは任意の整数)を各ノードに対する秘密鍵シェアSKiとするものとする。
[0051]
 まず、i番目のノードは、aim(mは0からk-1の整数)を係数とする(k-1)次多項式fi(x)を決定する(S601)。各ノードは、セットアップルールに従って、aimを選択ないし生成して記憶することによってfi(x)を計算することができる。
[0052]
[数1]


[0053]
 次に、i番目のノードは、巡回群G1の生成元g1を用いて、0からk-1の各mにおけるaim・g1の値又はそれを含むメッセージを他のノードに送信する(S602)。また、i番目のノードは、j番目のノード(jは1からNの整数)に対して、fi(xj)の値又はそれを含むメッセージを送信する。ここで、fi(xj)の送信は、m及びaim・g1より前に送信してもよく、またこれと同時に送信してもよい。
 生成元g1は、各ノードに記憶されて既知であるか、いずれかのノードから合意形成に参加するN個のノードに与えられることによって、N個のノードそれぞれがアクセス可能であり、用いることができるものとする。同様に、i番目のノードに秘密鍵シェアf(xi)を与える整数xiの値についても、N個のノードそれぞれがアクセス可能であり、用いることができるものとする。たとえば、これらの値は、各ノードの記憶部又は各ノードからアクセス可能な記憶装置又は記憶媒体に記憶しておけばよい。
[0054]
 そして、j番目のノードにおいて、1からNのiについてfi(xj)を加算して、f(xj)、すなわち秘密鍵シェアSKjを算出する(S604)。多項式f(x)を次式のように定義すれば、
[0055]
[数2]


[0056]
 これは、いずれのノードに対しても知らされていないものの、次式のようにf(xj)を考えることによって、f(x)自体を各ノードが知ることなく、f(xj)の値を各ノードにおいて算出可能である。
[0057]
[数3]


[0058]
 また、各ノードは、m及びaim・g1を自ノードにおいては算出可能であるとともに他ノードのものについては既に受信していることから、次式に従って、公開鍵シェアPKjとしてSKj・g1を算出することができる(S206)。
[0059]
[数4]


[0060]
 この式による公開鍵シェアPKiの算出は、m及びaim・g1並びにxiがすべてのiについて既知であることから、f(x)を知ることなくすべてのノードについて可能である。
[0061]
 このようにして得られた公開鍵シェアと秘密鍵シェアのペアは、合意形成対象のブロックのハッシュ値hを与えるハッシュ関数を任意のデータからg2を生成元とする巡回群G2への写像とし、hにSKjを乗じたSKj・hを署名sjとして、G1×G2からgTを生成元とする巡回群GTへの写像eであって、次式を満たす双線形写像を定義することによって、暗号方式として成り立つことが分かる。ここで、a及びbは任意の整数である。
[0062]
[数5]


[0063]
 すなわち、i番目のノードにおいて、合意形成対象のブロックのハッシュ値h及び署名sjをj番目のノードより受け取ったとき、上述のアルゴリズムによって既知の公開鍵シェアPKjを用いて、
[0064]
[数6]


[0065]
となるため、既知の生成元g1を用いて、j番目のノードより受け取った署名sjの検証を行うことができる。ハッシュ値は、セットアップルールの中にハッシュ関数を定めておくことで、各ノードにおいて、合意形成対象のブロックから算出してもよい。
[0066]
 生成元g1、g2の位数は素数であることが好ましく、各生成元により生成される巡回群G1、G2の元の数は一例として32バイト、すなわち256ビット程度以上であることが好ましい。ここで、巡回群G1、G2における演算は加法的に記述しており、たとえば、生成元g1をa回繰り返し加算する演算をa・g1を表記し、「aを生成元g1に乗じる」と呼ぶ。なお、axのように整数の集合の元同士の乗算も本明細書において表記として用いられるが、これは巡回加法群における乗算とは異なるものであることを念のため付言する。
[0067]
 上述の説明では、(k-1)次多項式関数f(x)の値を秘密鍵シェアとして定め、当該秘密鍵シェアを巡回群の生成元に乗じた値を公開鍵シェアとする署名方式を前提としているところ、N個の一組の秘密鍵シェアのうち所定の数k個の秘密鍵シェアによる署名を用いて秘密鍵による署名を生成可能であれば、異なる署名方式を採用することもできる。また、この際には、ネットワーク500のいずれかのノード又はその外部のノードが生成した一組の秘密鍵シェアを各ノードに与えるのではなく、各秘密鍵シェアが各ノードにおいて分散して生成可能であることが望ましい。
[0068]
 また、上述の説明では、j番目のノードにおける公開鍵シェアPKj及び秘密鍵シェアSKjを例に説明したが、i番目のノードを中心にそこで行われる処理を記述する場合には、当然ではあるが、添え字が適宜変更されることを付言する。
[0069]
 図7に、本発明の一実施形態にかかるブロックの採択についての確定方法の流れを示す。セットアップが完了した状態から、第1のノード510が、ブロックを生成して当該ブロックを含む第1のメッセージを合意形成に参加するN個のノードに送信する(S701)。送信ノードも自ら当該ブロックを受信することができる。ここで、ノード間では、メッセージが直接的又は間接的に送受信可能であり、ネットワーク100を構成する他のノードに合意形成に関連するデータを伝え、また、他のノードからデータを受け取ることができる。
[0070]
 第1のメッセージを受信した各ノードは、それぞれが有するプログラムに定められた合意形成のルールに基づいて、当該ブロックの有効性を評価する(S702)。有効性の評価の詳細は、送信者が正当な送信ノードであるか、ブロックのデータ形式が用途に応じた所定の形式その他の所定の条件を満たしているか、分岐が生じていないかなど、さまざまなルールを含むことができ、ノードによって異なるルールが存在してもよい。また、有効性の評価を行う上で、他のノードとのメッセージの送受信を必要としてもよい。
[0071]
 有効と評価された場合、当該ノードは、当該ノードがアクセス可能な秘密鍵シェアf(xi)による合意形成対象のブロックのハッシュ値hに対する署名siを有する第2のメッセージを各ノードに送信する(S703-1)。署名は、当該ノードに与えられた秘密鍵シェアをハッシュ値に乗じることによって行うことができる。送信先には、自ノードを含めてもよい。無効と評価された場合には、当該ブロックは却下される(S703-2)。
[0072]
 j番目のノードにおいてk個の署名が集まった後、当該ノードは、これらの署名を合成して、公開鍵PKに対応する署名を生成する(S704)。具体的には、各ノードは、定期的又は断続的に、k/Nの条件が充足されたか否かを判定し、充足された場合には、受け取ったk個又はk個以上の秘密鍵シェアによる署名から、f(0)・hを公開鍵PKに対応する秘密鍵SKによる署名SK・hとして算出することができる。ここでは、(k-1)次多項式f(x)は、k個以上の点(xi,f(xi))が既知であれば一意に定めることができ、f(0)の値を未知の秘密鍵SKの値と考えられることを用いている。k個の署名からk個の点(xi,f(xi)・h)が既知であれば、関数f(x)・hが定まることになる。f(0)・hの算出は、たとえば、ラグランジュ補間を用いて行うことができる。
[0073]
 なお、公開鍵PKは、k個以上の点(xj,PKj)=(xj,f(xj)・g1)から、たとえば、ラグランジュ補間によって算出可能であり、これはセットアップの段階で行っておいて必要に応じて配布しておいてもよいし、署名の検証を行うネットワーク500の内部又は外部のノード又は装置が検証時又は検証前にk個の公開鍵シェアPKjに基づいて生成してもよい。
[0074]
 そして、必要であれば、生成された単一の署名SK・hが他のノードにブロードキャスト乃至送信される(S705)。既にk個以上のノードによる有効性の評価が済んでいることから、合成に成功した時点でブロックを当該ノードが有するブロックチェーンに追加可能としてもよいが、一例として、合成に成功したノードは他のノードに当該合成後の署名を送信し、そして、所定の数以上の合成後の署名を受け取ったことに応じて、各ノードはブロックを追加可能としてもよい。
[0075]
 最後に、合意形成対象のブロックは、署名SK・hが付加されて各ノードのブロックチェーンに追加される(S706)。これにより、当該ブロックのネットワーク700における採択が確定する。
[0076]
 上述の説明では、各ノードに1つの秘密鍵シェアが与えられる場合を考えているが、1つのノードに与えるシェア数を複数とすることも考えられる。また、上述の説明では、有効性の評価対象となるブロックの詳細について触れていないが、1又は複数のトランザクションを含むものとすることができ、あるいは、任意の1又は複数のデータを含むとすることもできる。そして、必ずしもチェーンを形成しない1又は複数のデータに対する複数のノードを有するコンピュータ・ネットワークによる有効性の評価につき、本発明の精神を適用することも可能である。
[0077]
  ペグ署名の詳細
 ペグ署名404は、第1の部分ネットワーク110におけるブロックの採択にかかる合意形成に用いられる合意アルゴリズムと同一又はこれに対応する合意アルゴリズムによって生成することができる。あるいは、第1の部分ネットワーク110におけるブロックの採択で採用される合意アルゴリズムとは異なる合意アルゴリズムによって生成することができる。
[0078]
 いずれの場合においても、ペグ署名404は、一例として、ペグトランザクション400又はその一部のハッシュ値に対する1又は複数の秘密鍵による1又は複数の署名とすることができる。ペグトランザクション400を受信した第2の部分ネットワーク120では、ペグトランザクション400の受信時又はペグトランザクション400を含むブロックの生成時に、ペグ署名404の有効性を検証する。
[0079]
 この方式であると、ブロックの採択のために一度合意形成がなされているにもかかわらず、当該ブロックに含まれる、移転先識別子が第1の部分ネットワーク110で処理可能な移転元識別子に一致しないすべてのトランザクションについて、それらに対応するペグトランザクション400を生成し、それぞれについて第1の部分ネットワーク110として署名するための合意形成を行わなければならない。部分ネットワークの数が増えれば増えるほど、移転先識別子が第1の部分ネットワーク110で処理可能な移転元識別子に一致しないトランザクションの数も増え、合意形成処理が増加することとなる。
[0080]
 そのため、別方式では、マークルツリーを用いる。ペグ署名404を生成するために、まず、第1の部分ネットワーク110において追加されたブロックに含まれる複数のトランザクション又は当該トランザクションのうちの移転先識別子が第1の部分ネットワーク110で処理可能な移転元識別子に一致しないトランザクションに基づくマークルツリーのマークルルートを算出する。そして、当該マークルルートに対する秘密鍵による署名をペグ署名404とする。
[0081]
 ペグトランザクション400は、移転先識別子が第1の部分ネットワーク110で処理可能な移転元識別子に一致しない通常トランザクション200に対応し、ペグ署名404に加えて、ペグ署名404の有効性を検証するために必要な1又は複数のノードにかかるマークルツリーデータMが付加される。ここで、本明細書において「マークルツリーデータ」とは、マークルツリーを構成する1又は複数のノードのデータであり、具体的には、1又は複数のハッシュ値である。ペグトランザクション400は、通常トランザクション200に一致するか通常トランザクション200を含むデータであり、ペグトランザクション400又はその一部のハッシュ値を生成し、当該ハッシュ値とペグトランザクション400と共に受信したマークルツリーデータMとを用いてマークルルートを算出して、ペグ署名404が当該マークルルートに対する署名であるか否かを第1の部分ネットワーク110の公開鍵を用いて検証を行うことができる。一例として、暗号方式はECDSAを用いることができる。ECDSAの場合には、公開鍵を署名から計算可能である。
[0082]
 図9に、マークルツリーの一例を示す。第1の部分ネットワーク110において、4つのトランザクションを含むブロックが追加されたものとする。そして、第2のトランザクションtx2に対応するペグトランザクション400が第2の部分ネットワーク120に送信されるものとする。この場合、ペグトランザクション400又はその一部のハッシュ値として第2のトランザクションtx2のハッシュ値が得られるから、ノード1のハッシュ値とノード6のハッシュ値とをマークルツリーデータMとしてペグトランザクション400に付加しておけば、第2の部分ネットワーク120においてノード7のマークルルートを算出することができる。
[0083]
 第1の部分ネットワーク110において追加されたブロックに対する署名が、当該ブロックのブロックヘッダに対する署名であり、当該署名に当該ブロックのマークルツリーのマークルルートが含まれていれば、ブロックに対する署名をそのままペグ署名404として用いることができる。ペグトランザクション400にはこの場合、マークルツリーデータMに加えて、当該ブロックヘッダ又は当該ブロックヘッダからマークルツリールートを除いたデータBを付加し、第2の部分ネットワーク120において、ブロックヘッダを生成して、ペグ署名404が当該ブロックヘッダに対する署名であるか否かを第1の部分ネットワーク110の公開鍵を用いて検証を行うことができる。
[0084]
 さらに別方式として、第1の部分ネットワーク110において追加されたブロック全体をペグトランザクション400として第2の部分ネットワーク120に送信することが考えられる。この場合、当該ブロックには、移転先識別子が、第2の部分ネットワーク120で処理可能な移転元識別子に一致しないトランザクションが含まれるため、不必要なデータを送信することとなるものの、第1の部分ネットワーク110におけるペグトランザクション400への追加的な署名を省略し、ブロックの採択についての合意形成において付加された署名をそのままペグ署名404と考えることができる。
[0085]
 この方式では、当該ブロック(「第1のブロック」に相当)を受信した第2の部分ネットワーク120において、当該ブロックに含まれる、移転先識別子が、第2の部分ネットワーク120で処理可能な移転元識別子に一致する1又は複数のトランザクション又はこれらの対応するトランザクションを含むブロック(「第2のブロック」に相当)を生成し、合意形成の対象とする。

符号の説明

[0086]
 100 分散ネットワーク
 110 第1の部分ネットワーク
 111 第1の部分ネットワークのノード
 111A 通信部
 111B 処理部
 111C 記憶部
 120 第2の部分ネットワーク
 130 第3の部分ネットワーク
 140 ユーザー端末
 200 通常トランザクション
 201 移転元識別子
 202 移転先識別子
 203 資産
 204 署名
 400 ペグトランザクション
 401 移転元識別子
 402 移転先識別子
 403 資産
 404 ペグ署名
 500 ネットワーク
 510 第1のノード
 511 通信部
 512 処理部
 513 記憶部
 520 第2のノード
 530 第3のノード
 540 第4のノード
 550 第5のノード
 B ブロックヘッダ又は又はブロックヘッダからマークルツリールートを除いたデータ
 M マークルツリーデータ
 1乃至7 マークルツリーのノード

請求の範囲

[請求項1]
 複数の部分ネットワークを有する分散ネットワークに資産の移転を表すトランザクションを記憶する方法であって、前記複数の部分ネットワークのうちの第1の部分ネットワークを構成するノードが、
 前記第1の部分ネットワークで処理可能な移転元識別子から前記第1の部分ネットワークで処理可能ではない移転先識別子への資産の移転を表す第1のトランザクションを受信するステップと、
 前記第1のトランザクションを含むブロックを生成するステップと、
 前記ブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記移転元識別子の資産の状態を更新するステップと、
 前記ブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記第1のトランザクションにより表される前記移転先識別子への前記資産の移転を反映させるための第2のトランザクションを、前記第1のトランザクションの前記移転先識別子と一致する移転元識別子を処理可能な第2の部分ネットワークに送信するステップと
を含むことを特徴とする方法。
[請求項2]
 前記第1のトランザクションは、前記移転元識別子の秘密鍵による署名が付加されていることを特徴とする請求項1に記載の方法。
[請求項3]
 移転される前記資産の額は、正の値であることを特徴とする請求項1又は2に記載の方法。
[請求項4]
 前記第2のトランザクションは、前記第1の部分ネットワークにおいて合意形成がなされたことを示す署名が付加されていることを特徴とする請求項1から3のいずれかに記載の方法。
[請求項5]
 前記第2のトランザクションの署名は、単一の署名であることを特徴とする請求項4に記載の方法。
[請求項6]
 前記第2のトランザクションの署名は、前記ブロック内の前記第1のトランザクションを含む複数のトランザクションに基づくマークルツリーのマークルルートを含むブロックヘッダに対する署名であることを特徴とする請求項4又は5に記載の方法。
[請求項7]
 複数の部分ネットワークのうちの第1の部分ネットワークを構成するノードに、前記複数の部分ネットワークを有する分散ネットワークに資産の移転を表すトランザクションを記憶する方法を実行させるためのプログラムであって、前記方法は、前記ノードが、
 前記第1の部分ネットワークで処理可能な移転元識別子から前記第1の部分ネットワークで処理可能ではない移転先識別子への資産の移転を表す第1のトランザクションを受信するステップと、
 前記第1のトランザクションを含むブロックを生成するステップと、
 前記ブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記移転元識別子の資産の状態を更新するステップと、
 前記ブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記第1のトランザクションにより表される前記移転先識別子への前記資産の移転を反映させるための第2のトランザクションを、前記第1のトランザクションの前記移転先識別子と一致する移転元識別子を処理可能な第2の部分ネットワークに送信するステップと
を含むことを特徴とするプログラム。
[請求項8]
 複数の部分ネットワークを有する分散ネットワークに資産の移転を表すトランザクションを記憶するための、前記複数の部分ネットワークのうちの第1の部分ネットワークを構成するノードであって、
 前記第1の部分ネットワークで処理可能な移転元識別子から前記第1の部分ネットワークで処理可能ではない移転先識別子への資産の移転を表す第1のトランザクションを受信して、前記第1のトランザクションを含むブロックを生成し、
 前記ブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記移転元識別子の資産の状態を更新し、
 前記ブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記第1のトランザクションにより表される前記移転先識別子への前記資産の移転を反映させるための第2のトランザクションを、前記第1のトランザクションの前記移転先識別子と一致する移転元識別子を処理可能な第2の部分ネットワークに送信することを特徴とするノード。
[請求項9]
 複数の部分ネットワークを有する分散ネットワークに資産の移転を表すトランザクションを記憶する方法であって、前記複数の部分ネットワークのうちの第1の部分ネットワークを構成するノードが、
 前記第1の部分ネットワークで処理可能な移転元識別子から前記第1の部分ネットワークで処理可能ではない移転先識別子への資産の移転を表す第1のトランザクションを受信するステップと、
 前記第1のトランザクションを含む第1のブロックを生成するステップと、
 前記第1のブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記移転元識別子の資産の状態を更新するステップと、
 前記第1のブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記第1のトランザクションにより表される前記移転先識別子への前記資産の移転を反映させるための第2のトランザクションを、前記第1のトランザクションの前記移転先識別子と一致する移転元識別子を処理可能な第2の部分ネットワークに送信するステップとを含み、前記第2の部分ネットワークを構成するノードが、
 前記第2のトランザクションを受信するステップと、
 前記第2のトランザクションを含む第2のブロックを生成するステップと、
 前記第2のブロックの採択についての前記第2の部分ネットワークにおける合意形成後、前記第2のトランザクションの移転先識別子の資産の状態を更新するステップと
を含むことを特徴とする方法。
[請求項10]
 資産の移転を表すトランザクションを記憶するための複数の部分ネットワークを有する分散ネットワークであって、
 前記複数の部分ネットワークのうちの第1の部分ネットワーク及び第2の部分ネットワークを備え、
 前記第1の部分ネットワークを構成するノードが、
 前記第1の部分ネットワークで処理可能な移転元識別子から前記第1の部分ネットワークで処理可能ではない移転先識別子への資産の移転を表す第1のトランザクションを受信して、前記第1のトランザクションを含む第1のブロックを生成し、
 前記第1のブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記移転元識別子の資産の状態を更新し、
 前記第1のブロックの採択についての前記第1の部分ネットワークにおける合意形成後、前記第1のトランザクションにより表される前記移転先識別子への前記資産の移転を反映させるための第2のトランザクションを、前記第1のトランザクションの前記移転先識別子と一致する移転元識別子を処理可能な第2の部分ネットワークに送信し、
 前記第2の部分ネットワークを構成するノードが、
 前記第2のトランザクションを受信して、前記第2のトランザクションを含む第2のブロックを生成し、
 前記第2のブロックの採択についての前記第2の部分ネットワークにおける合意形成後、前記第2のトランザクションの移転先識別子の資産の状態を更新することを特徴とする分散ネットワーク。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]