図面 (/)

技術 一対の結合ブロックチェーンを構成するバイナリブロックチェーンに関連するコンピュータ実装システム及び方法

出願人 エヌチェーンホールディングスリミテッド
発明者 フレッチャー,ジョンスーウェル,マーティン
出願日 2018年8月9日 (2年6ヶ月経過) 出願番号 2020-506822
公開日 2020年10月29日 (3ヶ月経過) 公開番号 2020-530958
状態 未査定
技術分野 暗号化・復号化装置及び秘密通信
主要キーワード チェーンネット ステーク ブロックチェーン 結合ブロック 組み込みメモリ 提案者 非集中型 自己選択
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2020年10月29日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (7)

課題・解決手段

コンピュータ実施方法を提供することができる。コンピュータ実施方法は、i)プルーフオブステークトークンがプルーフ・オブ・ステーク・ブロックチェーン上の決定されたタイプのアドレス転送された後、プルーフ・オブ・ステークトークンの転送のレコードをプルーフ・オブ・ワーク・ブロックチェーンに追加するステップと、ii)ノードグループから、プルーフ・オブ・ステーク・ブロックチェーンにブロックを追加することに参加するノードを識別するステップであって、該識別するステップは、プルーフ・オブ・ワーク・ブロックチェーンに基づくステップと、iii)識別されたノードによって提出されたブロックを、プルーフ・オブ・ステーク・ブロックチェーンに含めるステップとを含む。

概要

背景

本明細書において、「ブロックチェーン」という用語は、電子的なコンピュータベース分散型台帳のすべての形式包含するように使用される。これらは、ブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、コンセンサス合意ベースの台帳、共有台帳及びそれらの変形を含むがこれらに限定されない。最も広く知られているブロックチェーン技術の用途はビットコイン台帳であるが、他のブロックチェーンの実装が提案され、開発されている。

ブロックチェーンは、ブロックにより構成される、コンピュータベースの非集中型の分散システムとして実装されるコンセンサスベースの電子台帳であり、ブロックはトランザクション及び他の情報により構成される。ビットコインは、ブロックチェーン上の取引を容易にするために、マイナー(minor)が高価な計算を行うプルーフオブ・ワーク・ブロックチェーンの一例である。プルーフ・オブ・ワークベースのブロックチェーンは、動作に大量の電力消費を必要とする大規模計算資源を必要とし、またブロック生成が不規則で遅いという事実のために批判されている。さらに、所与のブロックが承認される(すなわち、復帰(revert)する可能性が十分に低い)とみなされる前に、その所与のブロックの上にいくつかのブロックが構築されなければならない。

プルーフ・オブ・ワーク・ブロックチェーンの代替として、プルーフ・オブ・ステークベースのブロックチェーンが提案されている。ストック・オブ・ステーク・ブロックチェーンネットワークでは、ブロックチェーンは、プルーフ・オブ・ワークではなく、ストック・オブ・ステークによって保護される。プルーフ・オブ・ステークの下では、マイナーは、特別な口座(special account)にステークを保有する(いくつかのトークン預ける)。このステークは保証金(security deposit)と呼ばれることがあり、ブロックをマイニングするためのノードとして選択される確率は、保証金として提供されるデジタル資産の量に比例する。プルーフ・オブ・ステーク・ブロックチェーンネットワークを使用して、プルーフ・オブ・ワーク・ブロックチェーンにおいてマイニングするのに必要とされる計算費用エネルギーを回避することができる。さらに、プルーフ・オブ・ステーク・ブロックチェーンは、プルーフ・オブ・ワーク・ブロックチェーンよりも、より高頻度かつより規則的なブロック生成を可能にする。また、少なくともいくつかのプルーフ・オブ・ステーク・ブロックチェーンは、フォーク(forking)の可能性が低く、ブロックは、ブロックチェーンに追加されるとすぐに有効に承認され得る。しかしながら、プルーフ・オブ・ステークの単純な実装には、「nothing at stake」という問題がある。ブロックチェーン内にフォークが存在する場合、ノードのトークンはフォークの両方の部分(すなわち、競合するブロックチェーン)で重複する可能性がある。ブロックを生成するためにランダムに選択されるマイナーは、フォークの両方の部分にブロックを生成することができる。なぜなら、マイナーにとってそうすることが容易であるからであり、また、フォークのどちらの部分が優勢であろうと、マイナーは報酬を受け取るからである。このような曖昧さは、ブロックチェーンネットワークのセキュリティにとって有害であろう。なぜなら、これは、単一のブロックチェーン上でコンセンサスが得られる速度を低下させ、したがって、ブロック内のトランザクションが承認されたと見なされ得るまでに必要な時間を長くするからである。

Algorandは、プルーフ・オブ・ステーク・ブロックチェーンに関連付けられるnothing at stake問題に対処するとされているプルーフ・オブ・ステーク・ブロックチェーンネットワークの一例である。Algorandでは、ブロックを生成するために、コミッティ(committee)が選択される。より具体的には、リーダー提案者とも呼ばれることがある)及び検証者が、暗号仕分け(cryptographic sortation)を実行することによって、すべての公開鍵のセットから自己選択される。提案者はブロックを提案し、検証者は、ネットワーク全体の代わりにビザンチン(Byzantine)コンセンサスアルゴリズムを実行して、ブロックを受け入れるべきかどうかを判断する。Algorandを提案しているMicali氏は、(Micali,S.(2016)Algorand:The efficient and democratic ledger. axXiv:1607.01341v9(2017)[cs.CR]“Micali”を参照されたい)は、Algorandブロックチェーンに関連するトークンの3分の2以上が誠実なユーザによって保有されている限り、フォークが発生する確率は無視することができ、ブロックチェーンは安全であることを示した。しかしながら、Algorandのセキュリティは、メッセージ署名した後に一時的な秘密鍵(ephemeral private keys)が削除されることを条件とする。しかしながら、そのような一時的な秘密鍵の保有者は、そのような鍵を保有することに個人的な経済的利害を有し、Algorandを攻撃に対して潜在的に脆弱にする。さらに、一時的な鍵の使用は、計算費用を導入する。

概要

コンピュータ実施方法を提供することができる。コンピュータ実施方法は、i)プルーフ・オブ・ステークトークンがプルーフ・オブ・ステーク・ブロックチェーン上の決定されたタイプのアドレス転送された後、プルーフ・オブ・ステークトークンの転送のレコードをプルーフ・オブ・ワーク・ブロックチェーンに追加するステップと、ii)ノードのグループから、プルーフ・オブ・ステーク・ブロックチェーンにブロックを追加することに参加するノードを識別するステップであって、該識別するステップは、プルーフ・オブ・ワーク・ブロックチェーンに基づくステップと、iii)識別されたノードによって提出されたブロックを、プルーフ・オブ・ステーク・ブロックチェーンに含めるステップとを含む。

目的

本発明は、一般に、分散台に関し、より詳細には、まとめてバイナリブロックチェーンと呼ばれ得る、一対の結合ブロックチェーンを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータ実施方法であって:プルーフオブステークトークンがプルーフ・オブ・ステーク・ブロックチェーン上の決定されたタイプのアドレス転送された後に、プルーフ・オブ・ステーク・トークンの転送のレコードをプルーフ・オブ・ワーク・ブロックチェーンに追加するステップと;ノードグループから、前記プルーフ・オブ・ステーク・ブロックチェーンへブロックを追加することに参加するノードを識別するステップであって、該識別するステップは、前記プルーフ・オブ・ワーク・ブロックチェーンに基づく、ステップと;前記識別されたノードによって発行されたブロックを前記プルーフ・オブ・ステーク・ブロックチェーンに含めるステップと;を含む、コンピュータ実施方法。

請求項2

前記ノードを識別するステップは、ネットワークの他のノードが共通ノードを識別するように、所定の基準に従って決定論的に実行される、請求項1に記載のコンピュータ実施方法。

請求項3

前記識別するステップは、暗号仕分けを用いて実行される、請求項1又は2に記載のコンピュータ実施方法。

請求項4

前記ノードのグループは、前記決定されたタイプのアドレスにプルーフ・オブ・ステークトークンを転送した少なくともいくつかのノードを含むが、プルーフ・オブ・ステークトークンの転送の、プルーフ・オブ・ワーク・ブロックチェーンにおける登録に関連付けられる承認期間がまだ経過していない場合、前記決定されたタイプのアドレスにそのプルーフ・オブ・ステークトークンを転送したノードを除外する、請求項1乃至3のいずれか一項に記載のコンピュータ実施方法。

請求項5

前記承認期間は、前記プルーフ・オブ・ワーク・ブロックチェーンに関連付けられる所定の数のブロックである、請求項4に記載のコンピュータ実施方法。

請求項6

前記ブロックは、新たなトークンを生成し、前記トークンの前記転送のレコードを前記プルーフ・オブ・ワーク・ブロックチェーンに追加したノードに、前記新たなトークンの制御を転送する、請求項1乃至5のいずれか一項に記載のコンピュータ実施方法。

請求項7

前記ブロックは、新たなトークンを生成し、前記識別されたノードに前記新たなトークンの制御を転送する、請求項1乃至6のいずれか一項に記載のコンピュータ実施方法。

請求項8

ノードによって発行された払い戻し要求を識別するステップと、前記払い戻し要求を発行した前記ノードを前記ノードのグループから除外するステップとを更に含む、請求項1乃至7のいずれか一項に記載のコンピュータ実施方法。

請求項9

前記払い戻し要求は、前記プルーフ・オブ・ワーク・ブロックチェーンに関連付けられるトランザクションメタデータから識別される、請求項8に記載のコンピュータ実施方法。

請求項10

払い戻し要求に関連付けられるアンボンディング期間の後に、前記払い戻し要求を発行したノードに前記払い戻し要求に関連付けられるプルーフ・オブ・ステーク・トークンを返すように、前記プルーフ・オブ・ステーク・ブロックチェーンを更新するステップを更に含む、請求項8に記載のコンピュータ実施方法。

請求項11

前記アンボンディング期間は、前記プルーフ・オブ・ワーク・ブロックチェーンに関連付けられる所定の数のブロックである、請求項10に記載のコンピュータ実施方法。

請求項12

前記識別されたノードではないノードによって提出されたブロックを拒否するステップ、を更に含む、請求項1乃至11のいずれか一項に記載のコンピュータ実施方法。

請求項13

前記ブロックを前記プルーフ・オブ・ステーク・ブロックチェーンに含める前に、前記ブロックがバリデータノードのグループによって妥当性確認されているかどうかを検証するステップを更に含み、前記バリデータノードのグループは、前記ノードのグループのサブセットであり、前記バリデータノードは、前記プルーフ・オブ・ワーク・ブロックチェーンに基づいて識別される、請求項1乃至12のいずれか一項に記載のコンピュータ実施方法。

請求項14

前記バリデータノードのグループは、前記ブロックを妥当性確認するためにビザンチンアルゴリズムを実行するように構成される、請求項13に記載のコンピュータ実施方法。

請求項15

最大の作業量を含む二次ブロックチェーンを識別し、該識別された二次ブロックチェーンからのプルーフ・オブ・ステーク・トークンの分布を、一次ブロックチェーンでマイニングされたブロックの分布と比較することによって、一次ブロックチェーンと二次ブロックチェーンを前記一次ブロックチェーンと前記二次ブロックチェーンの真のコピーとして識別するステップ、を更に含む、請求項1乃至14のいずれか一項に記載のコンピュータ実施方法。

請求項16

実行されると、請求項1乃至15のいずれか一項に記載の方法を実行するようにプロセッサを構成する、コンピュータ実行可能命令を含む、コンピュータ読取可能記媒体

請求項17

インタフェースデバイスと;前記インタフェースデバイスに結合されるプロセッサと;前記プロセッサに結合されるメモリであって、実行されると、請求項1乃至15のいずれか一項に記載の方法を実行するように前記プロセッサを構成するコンピュータ実行可能命令を記憶したメモリと;を備える電子デバイス

請求項18

前記メモリは、プルーフ・オブ・ワーク・ブロックチェーンとプルーフ・オブ・ステーク・ブロックチェーンとを含むバイナリブロックチェーンを記憶する、請求項17に記載の電子デバイス。

技術分野

0001

本発明は、一般に、分散台に関し、より詳細には、まとめてバイナリブロックチェーンと呼ばれ得る、一対の結合ブロックチェーンを提供するための方法及びシステムに関する。本発明は、特に、純粋なプルーフオブステークPOS:proof-of-stake)ベースブロックチェーンと比較して安全性及び信頼性を向上させながら、従来の純粋なプルーフ・オブ・ワーク(POW:proof-of work)ベースのブロックチェーンに対して、ブロック生成におけるより高い規則性及び/又はより高い頻度のブロック生成を達成することに適しているが、これに限定されない。したがって、本発明は、新規で有利なブロックチェーン実装のための安全かつ暗号が実施された解決策を提供する。

背景技術

0002

本明細書において、「ブロックチェーン」という用語は、電子的なコンピュータベース分散型台帳のすべての形式包含するように使用される。これらは、ブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、コンセンサス合意)ベースの台帳、共有台帳及びそれらの変形を含むがこれらに限定されない。最も広く知られているブロックチェーン技術の用途はビットコイン台帳であるが、他のブロックチェーンの実装が提案され、開発されている。

0003

ブロックチェーンは、ブロックにより構成される、コンピュータベースの非集中型の分散システムとして実装されるコンセンサスベースの電子台帳であり、ブロックはトランザクション及び他の情報により構成される。ビットコインは、ブロックチェーン上の取引を容易にするために、マイナー(minor)が高価な計算を行うプルーフ・オブ・ワーク・ブロックチェーンの一例である。プルーフ・オブ・ワークベースのブロックチェーンは、動作に大量の電力消費を必要とする大規模計算資源を必要とし、またブロック生成が不規則で遅いという事実のために批判されている。さらに、所与のブロックが承認される(すなわち、復帰(revert)する可能性が十分に低い)とみなされる前に、その所与のブロックの上にいくつかのブロックが構築されなければならない。

0004

プルーフ・オブ・ワーク・ブロックチェーンの代替として、プルーフ・オブ・ステークベースのブロックチェーンが提案されている。ストック・オブ・ステーク・ブロックチェーンネットワークでは、ブロックチェーンは、プルーフ・オブ・ワークではなく、ストック・オブ・ステークによって保護される。プルーフ・オブ・ステークの下では、マイナーは、特別な口座(special account)にステークを保有する(いくつかのトークン預ける)。このステークは保証金(security deposit)と呼ばれることがあり、ブロックをマイニングするためのノードとして選択される確率は、保証金として提供されるデジタル資産の量に比例する。プルーフ・オブ・ステーク・ブロックチェーンネットワークを使用して、プルーフ・オブ・ワーク・ブロックチェーンにおいてマイニングするのに必要とされる計算費用エネルギーを回避することができる。さらに、プルーフ・オブ・ステーク・ブロックチェーンは、プルーフ・オブ・ワーク・ブロックチェーンよりも、より高頻度かつより規則的なブロック生成を可能にする。また、少なくともいくつかのプルーフ・オブ・ステーク・ブロックチェーンは、フォーク(forking)の可能性が低く、ブロックは、ブロックチェーンに追加されるとすぐに有効に承認され得る。しかしながら、プルーフ・オブ・ステークの単純な実装には、「nothing at stake」という問題がある。ブロックチェーン内にフォークが存在する場合、ノードのトークンはフォークの両方の部分(すなわち、競合するブロックチェーン)で重複する可能性がある。ブロックを生成するためにランダムに選択されるマイナーは、フォークの両方の部分にブロックを生成することができる。なぜなら、マイナーにとってそうすることが容易であるからであり、また、フォークのどちらの部分が優勢であろうと、マイナーは報酬を受け取るからである。このような曖昧さは、ブロックチェーンネットワークのセキュリティにとって有害であろう。なぜなら、これは、単一のブロックチェーン上でコンセンサスが得られる速度を低下させ、したがって、ブロック内のトランザクションが承認されたと見なされ得るまでに必要な時間を長くするからである。

0005

Algorandは、プルーフ・オブ・ステーク・ブロックチェーンに関連付けられるnothing at stake問題に対処するとされているプルーフ・オブ・ステーク・ブロックチェーンネットワークの一例である。Algorandでは、ブロックを生成するために、コミッティ(committee)が選択される。より具体的には、リーダー提案者とも呼ばれることがある)及び検証者が、暗号仕分け(cryptographic sortation)を実行することによって、すべての公開鍵のセットから自己選択される。提案者はブロックを提案し、検証者は、ネットワーク全体の代わりにビザンチン(Byzantine)コンセンサスアルゴリズムを実行して、ブロックを受け入れるべきかどうかを判断する。Algorandを提案しているMicali氏は、(Micali,S.(2016)Algorand:The efficient and democratic ledger. axXiv:1607.01341v9(2017)[cs.CR]“Micali”を参照されたい)は、Algorandブロックチェーンに関連するトークンの3分の2以上が誠実なユーザによって保有されている限り、フォークが発生する確率は無視することができ、ブロックチェーンは安全であることを示した。しかしながら、Algorandのセキュリティは、メッセージ署名した後に一時的な秘密鍵(ephemeral private keys)が削除されることを条件とする。しかしながら、そのような一時的な秘密鍵の保有者は、そのような鍵を保有することに個人的な経済的利害を有し、Algorandを攻撃に対して潜在的に脆弱にする。さらに、一時的な鍵の使用は、計算費用を導入する。

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

0006

ブロックチェーンの安全性及び信頼性を危険にさらすことなく、フォークを最小化又は除去するとともに、高い頻度で規則的なブロック生成を可能にするようにブロックチェーンを改良することが望ましい。したがって、これらの態様の1つ以上においてブロックチェーン技術を改善する、改善された方法、システム及びデバイスを提供することが望ましい。

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

0007

本発明は、添付の特許請求の範囲において定義される。したがって、本発明によれば、添付の特許請求の範囲に定義される方法が提供される。

0008

以下により詳細に説明するように、バイナリブロックチェーンが提供され得る。より具体的には、2つのブロックチェーンが維持されてよい。プルーフ・オブ・ステーク・ブロックチェーンは、ノードが一次ブロックチェーンに様々な種類のトランザクションを追加させることを可能にするよう一次ブロックチェーンとして用いられる。これらのトランザクションは、様々なノード間のトークンの転送を可能にすることができ、スマートコントラクトコード等を含んでもよい。ノードは、一次ブロックチェーンに関連付けられる特別なタイプのリポジトリに1つ以上のトークンを保有する(すなわち、一次ブロックチェーン上の特別なリポジトリ内に「ステーク」を保有する)ことによって、一次ブロックチェーン上にブロックを生成する資格を有することができる。特別なリポジトリは、参照の容易性のために、以下では「口座(account)」と呼ばれることがあり、この特別なタイプのアカウントは、保証金口座と呼ばれることもある。

0009

一次ブロックチェーンに加え、二次ブロックチェーンが使用される。二次ブロックチェーンは、プルーフ・オブ・ワーク・ブロックチェーンであり、二次ブロックチェーンは、一次ブロックチェーンより限られたタイプのトランザクションに使用される。例えば二次ブロックチェーンは、保証金(すなわち、プルーフ・オブ・ステーク・トークン)及び/又は一次ブロックチェーンの保証金口座に関連付けられる残高(balance)を記録するために使用されてよく、二次ブロックチェーン上のそのようなレコードは、一次ブロックチェーン上にブロックを生成する(すなわち、マイニングする)資格を有するノードを識別するために使用されてよい。

0010

一次ブロックチェーン上のトランザクションは、二次ブロックチェーン上のトランザクションよりも規則的で大幅に高い頻度で発生する可能性がある。二次ブロックチェーンのプルーフ・オブ・ワークの性質は、一時的な鍵の使用に関連付けられるセキュリティの懸念事項に対処するため、バイナリブロックチェーンは、Algorandのような純粋なプルーフ・オブ・ステーク・ブロックチェーンよりも強化されたセキュリティと信頼性を提供することができる。

0011

したがって、本発明によれば、コンピュータ実施方法が提供され得る。本方法は、同一の基礎となるブロックチェーン・プロトコル、例えばプルーフ・オブ・ステーク・プロトコル及びプルーフ・オブ・ワーク・プロトコルを共有しない複数のブロックチェーン又はブロックチェーントランザクションの結合、組合せ、関連付け及び/又はリンクを可能にするように構成され得る。

0012

コンピュータ実施方法は、i)プルーフ・オブ・ステーク・トークンがプルーフ・オブ・ステーク・ブロックチェーン上の決定されたタイプのアドレスに転送された後に、プルーフ・オブ・ステーク・トークンの転送のレコードをプルーフ・オブ・ワーク・ブロックチェーンに追加するステップと、ii)ノードのグループから、プルーフ・オブ・ステーク・ブロックチェーンにブロックを追加することに参加するノードを識別するステップであって、該識別するステップは、プルーフ・オブ・ワーク・ブロックチェーンに基づく、ステップと、iii)識別されたノードによって発行されたブロックをプルーフ・オブ・ステーク・ブロックチェーンに含めるステップとを含む。

0013

いくつかの実装では、ノードを識別するステップは所定の基準に従って決定論的に実行される。決定論的識別は、ネットワークの他のノードが共通ノードを識別するように実行されてよい。いくつかの実装では、識別するステップは、暗号仕分けを使用して実行される。

0014

いくつかの実装では、ノードのグループは、決定されたタイプのアドレスにプルーフ・オブ・ステークトークンを転送した少なくともいくつかのノードを含むが、プルーフ・オブ・ステークトークンの転送の、プルーフ・オブ・ワーク・ブロックチェーンにおける登録に関連付けられる承認期間がまだ経過していない場合、決定されたタイプのアドレスにそのプルーフ・オブ・ステークトークンを転送したノードを除外する。

0015

いくつかの実装では、承認期間は、プルーフ・オブ・ワーク・ブロックチェーンに関連付けられる所定の数のブロックである。

0016

いくつかの実装では、ブロックは、新たなトークンを生成し、トークンの転送のレコードをプルーフ・オブ・ワーク・ブロックチェーンに追加したノードに、新たなトークンの制御を転送する。

0017

いくつかの実装では、ブロックは、新たなトークンを生成し、識別されたノードに新たなトークンの制御を転送する。

0018

いくつかの実装では、コンピュータ実施方法は、ノードによって発行された払い戻し要求を識別するステップと、払い戻し要求を発行したノードを前記ノードのグループから除外するステップとを更に含む。

0019

いくつかの実装では、払い戻し要求は、プルーフ・オブ・ワーク・ブロックチェーンに関連付けられるトランザクションのメタデータから識別される。

0020

いくつかの実装では、コンピュータ実施方法は、払い戻し要求に関連付けられるアンボンディング期間(unbonding period)の後に、払い戻し要求を発行したノードに、払い戻し要求に関連付けられるプルーフ・オブ・ステーク・トークンを返すように、プルーフ・オブ・ステーク・ブロックチェーンを更新するステップを更に含む。

0021

いくつかの実装では、アンボンディング期間は、プルーフ・オブ・ワーク・ブロックチェーンに関連付けられる所定の数のブロックである。

0022

いくつかの実装では、コンピュータ実施方法は、識別されたノードではないノードによって提出されたブロックを拒否するステップを更に含む。

0023

いくつかの実装では、コンピュータ実施方法は、ブロックをプルーフ・オブ・ステーク・ブロックチェーンに含める前に、ブロックがバリデータノード(validator nodes)のグループによって妥当性確認(validate)されているかどうかを検証する(verifying)ステップを更に含み、バリデータノードのグループは、ノードのグループのサブセットであり、バリデータノードは、プルーフ・オブ・ワーク・ブロックチェーンに基づいて識別される。

0024

いくつかの実装では、バリデータノードのグループは、ブロックを妥当性確認するためにビザンチンアルゴリズムを実行するように構成される。

0025

いくつかの実装では、コンピュータ実施方法は、最大の作業量を含む二次ブロックチェーンを識別し、該識別された二次ブロックチェーンからのプルーフ・オブ・ステーク・トークンの分布を、一次ブロックチェーンでマイニングされたブロックの分布と比較することによって、一次ブロックチェーンと二次ブロックチェーンを一次ブロックチェーンと二次ブロックチェーンの真のコピーとして識別するステップを更に含む。

0026

本発明によれば、電子デバイスが提供されてもよい。電子デバイスは、インタフェースデバイスと、インタフェースデバイスに結合されるプロセッサと、プロセッサに結合されるメモリとを含む。メモリは、実行されると、本明細書で説明される方法を実行するようにプロセッサを構成するコンピュータ実行可能命令をその上に記憶している。

0027

いくつかの実装では、メモリは、プルーフ・オブ・ワーク・ブロックチェーンとプルーフ・オブ・ステーク・ブロックチェーンとを含むバイナリブロックチェーンを記憶する。

0028

本発明によれば、コンピュータ読取可能記媒体が提供されてもよい。コンピュータ読取可能記憶媒体は、実行されると、本明細書で説明される方法を実行するようにプロセッサを構成するコンピュータ実行可能命令を含む。

図面の簡単な説明

0029

本発明のこれら及び他の態様は、本明細書で説明される実施形態から明らかであり、それに関連して解明されるであろう。次に、本発明の一実施形態を、単なる例示として、添付の図面を参照して説明する。
例示的なバイナリブロックチェーンネットワークのブロック図である。
例示的なバイナリブロックチェーンのブロック図である。
ノードとして機能し得る例示的な電子デバイスのブロック図である。
バイナリブロックチェーンプロトコルに従って実行される例示的な方法のフローチャートである。
デジタル資産を没収する例示的な方法のフローチャートである。
候補ノードがブロックの生成に参加する資格があるかどうかを判断する例示的な方法のフローチャートである。

実施例

0030

ブロックチェーンネットワーク
まず、バイナリブロックチェーンに関連付けられる例示のブロックチェーンネットワーク100をブロック図の形で図示する図1を参照する。ブロックチェーンネットワーク100は、公開ブロックチェーンネットワークであってよい。公開ブロックチェーンネットワークは、招待なしに又は他のノードからの合意なしに、誰でも参加することができるピアツーピアオープンメンバーシップネットワークである。ブロックチェーンネットワーク100が動作するブロックチェーン・プロトコルのインスタンスを実行する分散型電子デバイスは、ブロックチェーンネットワーク100に参加することができる。そのような分散型電子デバイスをノード102と称することができる。ブロックチェーン・プロトコルは、本明細書で説明されるタイプのバイナリブロックチェーンプロトコルであってよい。

0031

ブロックチェーン・プロトコルを実行し、ブロックチェーンネットワーク100のノード102を形成する電子デバイスは、例えばデスクトップコンピュータ特定用途向け集積回路ASICs)ラップトップコンピュータタブレットコンピュータサーバスマートフォンのようなモバイルデバイス、スマートウォッチのようなウェアラブルコンピュータ又は他の電子デバイスといったコンピュータを含む、様々なタイプのものであってよい。

0032

ブロックチェーンネットワーク100のノード102は適切な技術を用いて互いに結合される。このような通信は、ブロックチェーンに関連付けられるプロトコルに従う。より具体的には、この例では、通信はバイナリブロックチェーンプロトコルに従って起こる。

0033

ノード102は、2つのブロックチェーン、すなわち一次ブロックチェーンと二次ブロックチェーンから構成されるバイナリブロックチェーンを維持する。一次ブロックチェーンは、バイナリブロックチェーンのトランザクションの大部分が記録され、それらが含む任意のコードが実行されるブロックチェーンである。例えば一次ブロックチェーンは、あるノードから別のノードにトークンの制御を移すトランザクションを含み、かつ/又はスマートコントラクトを提供するトランザクションを含み得るブロックを含んでよい。トークンは、デジタル資産又は他の電子的又はネットワーク資源であり、例えば将来のコンピュータ資源又は他のタイプの資源の制御を表してよい。スマートコントラクトは、一次ブロックチェーン上に記憶され、かつブロックチェーンネットワーク100内のノードによって実行され得る、コンピュータプロトコルである。

0034

一次ブロックチェーンは、プルーフ・オブ・ステークによってセキュアにされる。すなわち、ノードが一次ブロックチェーンにブロックを追加する(すなわち、ブロックを「マイニング」する)資格を有するためには、ノードは確かに特定のトークンを「ステーク(掛け金)」として保有しなければならない。これらのトークンは、プルーフ・オブ・ステーク・ブロックチェーンに関連付けられるトークンであるので、保証金又は保証金トークン又はプルーフ・オブ・ステーク・トークンと呼ばれることがある。バイナリブロックチェーンプロトコルは、保証金(すなわち、プルーフ・オブ・ステーク・トークン)を特別なアドレス(すなわち、保証金アドレス)に入れたノードのみ、一次ブロックチェーン上のブロックをマイニングすることを許可する。供託がなされるアドレスは、そのアドレスが所定の又は指定されたタイプのものであるという意味で特別なものとすることができる。例えばアドレスは特別なフラグ、構文フォーマット等を有してよく、これらは、保証金トークン(すなわち、プルーフ・オブ・ステーク・トークン)を保有するアドレスに使用されるが、他の目的のためにトークンを保有するために使用される他のアドレスには使用されない。一次ブロックチェーンに保証金を預けたノードは、他の基準が満たされている場合(例えばそれらのノードが、それらのノードの保証金(すなわち、以前に預けたそれらのプルーフ・オブ・ステーク・トークン)の払い戻しを要求していないこと)には、一次ブロックチェーンのマイナーとしての役割を果たすことを許容されてよい。

0035

二次ブロックチェーンは、多くの側面で一次ブロックチェーンと異なる。例えば二次ブロックチェーンは、プルーフ・オブ・ワークによってセキュアにされる。すなわち、ノード102は、二次ブロックチェーン上のトランザクションを容易にするために、高価な計算を実行することによって、二次ブロックチェーンのマイナーとしての役割を果たすことができる。例えばプルーフ・オブ・ワークの二次ブロックチェーンは、暗号問題を解決するようにマイナーに要求する可能性がある。例えば二次ブロックチェーンのマイナーは、ブロックヘッダが、現在の難しさによって定義される値より小さい数にSHA−256でハッシュするようなナンス(nonce)を見つける可能性がある。プルーフ・オブ・ワークアルゴリズムに必要とされるハッシュパワーは、トランザクションが、それの上にある特定の数のブロックがマイニングされた後は実際に不可逆であると考えられることを意味する。暗号問題を解決するノードは、二次ブロックチェーンのための新たなブロックを生成し、その新たなブロックを他のノード102にブロードキャストする。他のノード102は、マイナー104が実際に暗号問題を解決し、したがって、ブロックが二次ブロックチェーンに追加されるべきであることを受け入れる前に、十分なプルーフ・オブ・ワークを証明したことを検証する。ブロックは、ノード102のコンセンサスによって、二次ブロックチェーンに追加される。

0036

また、二次ブロックチェーンは、該二次ブロックチェーンが一次ブロックチェーンよりもブロック生成の頻度が少ないという点でも、一次ブロックチェーンとは異なる可能性がある。以下でより詳細に説明されるように、バイナリブロックチェーンプロトコルは、二次ブロックチェーン上の限られたトランザクションのみを含むようにノードを構成する。例えば一次ブロックチェーン上の必ずしもすべてのトランザクションが、二次ブロックチェーン上で重複されるわけではない。むしろ、バイナリブロックチェーンプロトコルは、限られた目的のために二次ブロックチェーンを使用するようノードを構成する。二次ブロックチェーンは保証金口座残高を記録してよい。

0037

1つ以上のトークンが、二次ブロックチェーン上のブロックのマイニングの成功に対する報酬として、二次ブロックチェーンのマイナーに提供されてもよい。二次ブロックチェーンは限定的に使用されるブロックチェーンであるため、報酬は一次ブロックチェーンに対して行われてよい。すなわち、複数のトークンが、二次ブロックチェーン上のブロックをマイニングしたノードによって制御される一次ブロックチェーン上の口座に、そのブロックのマイニングに対する報酬として追加されてよく、一次ブロックチェーン上の口座残高のこの更新は、二次ブロックチェーン上の関連するブロックが承認された後にのみ起こり得る。さらに、一次ブロックチェーンの容量が大きいことにより、一次ブロックチェーンの取引手数料が低くなる可能性がある。

0038

次に、図2を参照すると、例示的なバイナリブロックチェーン200が示されている。バイナリブロックチェーン200は、一次ブロックチェーン202と二次ブロックチェーン204の両方を含む。図2に図示されるように、一次ブロックチェーン202は、二次ブロックチェーン204よりも単位時間当たりのブロック数が多い。なぜなら、一次ブロックチェーン202は、二次ブロックチェーンよりも高い頻度でブロックを生成するからであり、また、いくつかの実装では、一次ブロックチェーン内のブロックは、(圧倒的な確率で)出現するとすぐに承認されると考えられるためである。すなわち、一次ブロックチェーンは、フォークしないように構成され得る。一次ブロックチェーン202は、トランザクションの大部分(少なくともいくつかの実施例では、すべてのトランザクション)を記録するために使用されるが、二次ブロックチェーン204は、供託口座残高及び報酬情報(例えば二次ブロックチェーン上でマイニングされたブロックに対するブロック報酬)を記録するためだけに使用される。例えば図2に示される期間では、一次ブロックチェーンは、PBi〜PBi+6と示される7つのブロックを追加し、二次ブロックチェーンは、SBi及びSBi+1と示される2つの二次ブロックを追加する。これらの数字は単に説明の目的で使用され、一次及び/又は二次ブロックチェーン内のブロック数は、図2に示されるものとは異なってよい。一次ブロックチェーン202のブロックは一次ブロック(PB)と呼ばれ、二次ブロックチェーン204のブロックは二次ブロック(SB)と呼ばれることがある。

0039

一次ブロックチェーン202は、一般的なトランザクションが高い確率で発生し得るように、即時承認と高頻度のブロック生成を可能にし、一方、二次ブロックチェーン204は、一次ブロックチェーン202の予想されるマイナーによってなされる保証金のレコードを(プルーフ・オブ・ワークを使用して)セキュアにすることによって、一次ブロックチェーン202のフォークを防止する。

0040

Aノードとして動作する電子デバイス
図3は、バイナリブロックチェーンネットワーク100(図1)内のノード102(図1)として機能し得る例示的な電子デバイス300の構成要素を示すブロック図である。例示的な電子デバイス300は、処理デバイスと呼ばれることもある。電子デバイスは、例えばデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、スマートフォンのようなモバイルデバイス、スマートウォッチのようなウェアラブルコンピュータ又は別のタイプの形態を含む様々な形態をとってよい。

0041

電子デバイス300は、プロセッサ310、メモリ320及びインタフェースデバイス330を含む。これらの構成要素は、互いに直接的又は間接的に結合されてよく、互いに通信することができる。例えばプロセッサ310、メモリ320及びインタフェースデバイス330は、バス340を介して互いに通信してもよい。メモリ320は、本明細書で説明される機能を実行するための機械読取可能な命令及びデータを含むコンピュータソフトウェアプログラムを記憶する。例えばメモリは、プロセッサ310によって実行されると、電子デバイスに本明細書で記載される方法を実行させるプロセッサ実行可能命令を含んでもよい。プロセッサ実行可能命令は、プロセッサ310によって実行されると、電子デバイスにブロックチェーンネットワーク100(図1)に関連付けられるバイナリブロックチェーンプロトコルを実装させる命令を含んでもよい。

0042

プロセッサ310は、例えば特定用途向け集積回路(ASIC)として実装されてよい。

0043

メモリ320は、一次ブロックチェーン202及び/又は二次ブロックチェーン204又はその一部を記憶することができる。すなわち、メモリ320は、一次ブロックチェーン及び二次ブロックチェーンのすべてのブロック又は最新のブロックのようなブロックの一部又はいくつかのブロック内の情報の一部を記憶することができる。

0044

メモリ320は、図3では単一のブロックで図示されているが、実際には、電子デバイス300は、複数のメモリ構成要素を含んでもよい。メモリ構成要素は、例えばRAM、HDDSSD、フラッシュドライブ等を含む種々のタイプのものであってよい。異なるタイプのメモリは異なる目的に適合し得る。さらに、メモリ320は、プロセッサ310とは別に示されているが、プロセッサ310は、組み込みメモリを含んでもよい。

0045

電子デバイス300は、バイナリブロックチェーンネットワーク100(図1)内のノード102(図1)として機能する。電子デバイス300は、例えば他のノードによって提出されたブロックを検証すること、一次又は二次ブロックチェーンへの追加のためのブロックを提案すること等のような、バイナリブロックチェーンプロトコルの種々の機能を実行することができる。

0046

バイナリブロックチェーンプロトコル
バイナリブロックチェーンネットワーク100のノード102は、バイナリブロックチェーンプロトコルに従って動作するように構成される。バイナリブロックチェーンプロトコルは、バイナリブロックチェーンプロトコルの活動を管理するルール・セットを定義する。ノードは、他のノードがバイナリブロックチェーンプロトコルに準拠しているかどうかを、例えばバイナリブロックチェーンネットワークの他のノードによって提出されたブロックの妥当性確認をすることによって評価することになる。ノードのうちの1つ以上に関連付けられるプロセッサは、バイナリブロックチェーンプロトコルに従って動作するようにプロセッサを構成するコンピュータ実行可能命令を用いて構成されてよい。

0047

バイナリブロックチェーンプロトコルによると、ノードが一次ブロックチェーンに対してブロックを「マイニング」する資格を有するためには(すなわち、バイナリブロックチェーンネットワーク内で他のノードによって受け入れられることになる、一次ブロックチェーンに追加するためのブロックを提出することを可能にするために)、ノードはまず、保証金(すなわち、プルーフ・オブ・ステーク・トークン)を保証金口座と呼ばれる特別な口座に入れなければならない。保証金は、1つ以上のトークン(これは、供託トークン又はプルーフ・オブ・ステーク・トークンと呼ばれることがある)であり、特別な口座は、決定されたタイプのアドレスを有する口座であってよい。例えばブロックチェーンネットワークに関連付けられる特定の口座が保証金口座であってもよく、他の口座は通常の口座(すなわち、非供託口座)であってよい。保証金口座は、一次ブロックチェーンのマイナーノードのステークを保有するためだけに使用される口座であり、通常の口座は他の目的のために使用されてよい。バイナリブロックチェーンプロトコルは、一次ブロックチェーンのすべてのマイナーが1つ以上のトークンを自分の供託口座に保有することを要求し、一次ブロックチェーンのマイナーになるために、ノードは、トークンを通常の供託口座から保証金口座に移すことができる。

0048

以下に説明されるように、バイナリブロックチェーンプロトコルによれば、一旦、保証金口座への保証金(すなわち、少なくともいくつかのプルーフ・オブ・ステーク・トークン)の移動のレコードを含むブロックが一次ブロックチェーンに追加されると、バイナリブロックチェーンプロトコルを実行するノードは、二次ブロックチェーンに追加された保証金の移動のレコード(すなわち、保証金口座に移されたプルーフ・オブ・ステーク・トークン)を有するように構成される。二次ブロックチェーンに保証金の移動のレコードを追加するノードは、二次ブロックチェーンをマイニングするノードであってもよい。したがって、保証金口座のステータスは、プルーフ・オブ・ワークのブロックチェーンである二次ブロックチェーン上で追跡される。

0049

ノードが、保証金口座への保証金(すなわち、少なくともいくつかのプルーフ・オブ・ステーク・トークン)の移動の後に一次ブロックチェーンにおいてマイニングする資格を有するようになる前に、まず承認期間が経過しなければならない。承認期間は十分に長いので、プルーフ・オブ・ワーク(すなわち、二次)ブロックチェーン上の再編成リスクは小さい。より正確には、承認期間は、保証金が記録されている二次ブロックチェーンの深さまでの再編成が小規模であるように、十分に長い。承認期間は、二次ブロックチェーンに関連付けられる一定数のブロックであってよい。すなわち、保証金の移動のレコードを含んだブロックの上に、一定数のブロックが二次ブロックチェーンに追加されていると、承認期間が経過したといえる。承認期間が経過すると、保証金の移動を記録したトランザクションは、二次ブロックチェーンで承認されたといわれ、この保証金の所有者は、その後、一次ブロックチェーンでブロックをマイニングする資格を有する。

0050

上述のように、特別な口座(すなわち、保証金口座)は、決定されたタイプのアドレスを有する口座であってよい。例えば保証金口座のアドレスは、通常の口座に使用されず、保証金口座としてのステータスを示すフラグ又は識別子を含んでもよい。

0051

バイナリブロックチェーンプロトコルは、保証金口座と通常の口座に異なるルールを適用するように構成されてもよい。例えば通常の口座に保有されているトークンは、口座保有者の許可があれば直ちに他の口座に移されてよい。しかしながら、保証金口座に保管されているトークンは、払い戻し要求が発行され、払い戻し要求に関連付けられるアンボンディング期間が経過した後にのみ移動させることができる。アンボンディング期間は、二次ブロックチェーン上の所定の数のブロックである。アンボンディング期間の長さは、(二次ブロックチェーン内の)この長さのフォークが無視できる確率で生じるように選択される。したがって、保証金口座に保有されている供託トークンは、払い戻し要求に続いてアンボンディング期間が経過したときにのみ供託者ノードに返される。

0052

ノードが、一次ブロックチェーン上の関連する保証金口座に保証金を預け、二次ブロックチェーンが、保証金口座ステータスを反映するように更新された後(すなわち、保証金の移動のレコードが二次ブロックチェーンにおいて承認された後)、当該ノードは、通常口座への保証金の返却を要求する当該ノードからの払い戻し要求が受け取られるまで、一次ブロックチェーン上でマイニングを行う資格を有する。ノードがマイニングする資格を有するとき、それらはマイニングする資格を有するノードのグループに含まれると考えられてよく、そのグループの所与のノードがブロックをマイニングするために選択される確率は、グループが預けた保証金の総額に対する当該マイナーが預けた保証金の額(すなわち、そのマイナーの保証金口座に保有されているプルーフ・オブ・ステーク・トークンの額)に比例し得る。したがって、より多額の保証金(例えばより多くのプルーフ・オブ・ステーク・トークン)を預けているノードは、より少額の保証金を預けているノードよりも、一次ブロックチェーンのマイナーとして選ばれる可能性が高い。

0053

したがって、一次ブロックチェーンにおいてマイニングする(すなわち、ブロックを生成し、それらのブロックを他のノードに受け入れられるようにする)資格は、保有する保証金の額に基づく。より多くの保証金は、所与のノードがマイナーとして選ばれる見込みを高めるが、ステークを預けている(すなわち、保証金口座に保証金を保有している)ノードは、任意の所与のブロックをマイニングするために選ばれる機会がある。マイナーの選択は、一次ブロックチェーンに対する宝くじ(lottery)で行われるといわれることがある。

0054

バイナリブロックチェーンネットワーク100の任意のノードは、保証金を預けていない場合(すなわち、それらが何らかのプルーフ・オブ・ステーク・トークンを特別な保証金口座に移していない場合)であっても、二次ブロックチェーン上でマイニングする資格を有してよい。二次ブロックチェーンはプルーフ・オブ・ワーク・ブロックチェーンであるため、二次ブロックチェーンでマイニングする権利は、プルーフ・オブ・ワークを提供することから生じる。すなわち、どのノードも、二次ブロックチェーンのブロックを生成することができ、二次ブロックチェーンの他のノードに対して、それらが暗号パズル成功裏に解いたことを証明することによって、新たなブロックをマイニングする権利を与えられたことを証明することができる。

0055

一次ブロックチェーンのマイナーは、一次ブロックチェーンにおける報酬を生成する権利を有することができる。例えば一次ブロックチェーン上にブロックをマイニングするマイナーは、新たなトークンを生成することができ、他のノードは、そのマイナーがバイナリブロックチェーンプロトコルに従って動作していると判断した場合に、その新たなトークンが有効であると受け入れるであろう。また、二次ブロックチェーンのマイナーは、報酬を生成するか又は他の方法で受け取る権利を有してもよく、一次ブロックチェーンにおいて報酬を得ることがある。例えば二次ブロックチェーンのマイナーは、一次ブロックチェーン上で(一次ブロックチェーン上でマイナーとして機能する別のノードによって、あるいは二次ブロックチェーン上でマイニングして、一次ブロックチェーン上でもマイニングするノードによって)生成された新たなトークンによって報酬を得ることができる。

0056

いくつかの実装では、ブロックマイニングの報酬は、新たなトークンの形で、一次ブロックチェーンのマイナーに提供されないことがある。代わりに、マイナーは、そのようなマイナーによって作成されたブロックに含まれるトランザクションを行うノードからのみ取引手数料を受け取ることができる。

0057

バリデータノード及び/又はマイナーノードは、バイナリブロックチェーンプロトコルが遵守されていることを確認する。すなわち、上述のプロトコルの違反は、マイナー(トランザクションをブロックに含める前に、それらのトランザクションを検証する者)及び/又は非マイニングのバリデータノード(トランザクションとブロックをブロックチェーンに含める前に、それらのトランザクションとブロックを検証する者)によって検出されることになる。したがって、バイナリブロックチェーンネットワーク100のノードは、一次ブロックチェーン又は二次ブロックチェーンにブロックを追加すべきであることを受け入れる前に、バイナリブロックチェーンプロトコルが遵守されていることを保証するように構成される。例えばノードは、一次ブロックチェーンのために生成されたブロックが、マイニングする資格のあるマイナー(例えば1)ステークを預けており;2)二次ブロックチェーンに追加され、かつ二次ブロックチェーンで承認されたステークの供託(保証金)のレコードを有しており;3)保証金の返還試みる払い戻し要求をまだ発行していなかったノード)によって生成されたかどうかを決定することができる。ノードはまた、一次ブロックチェーンに追加するためにブロックを提出したノードが、マイナーとしての役割を果たす資格のあるノードであるかどうかを決定することができる。

0058

適格なマイナーによって生成されたブロック又はバイナリブロックチェーンプロトコルの他のルールに違反して生成されたブロックは、バイナリブロックチェーンネットワーク100の他のノードによって拒否されることになる。

0059

次に、図4を参照すると、図4は、バイナリブロックチェーンプロトコルに従って動作するノード102によって実行され得る例示的な方法400を示している。図4の方法400は、バイナリブロックチェーンネットワーク100のノード102によって実行されるコンピュータ実施方法であってよい。例えばノード102のプロセッサは、プロセッサによって実行されると、図4の方法400を実行するようにプロセッサを構成するコンピュータ実行可能命令(すなわち、プロセッサ実行可能命令)を有するように構成されてよい。

0060

方法400の動作402において、方法400を実行するノード102は、保証金口座に保証金を移すことができ(すなわち、1つ以上のプルーフ・オブ・ステーク・トークンを移すことができ)、あるいは別のノードが保証金口座に保証金を移したことを検出することができる。すなわち、ノード102は、通常の口座から、保証金口座に関連付けられる所定のタイプのアドレスに保証金を移すことができ、あるいは他のノードによって行われたそのような移動を検出することができる。移動は、プルーフ・オブ・ステーク・ブロックチェーンである一次ブロックチェーンにおいて行われる。移動は、通常の口座から供託口座に保証金を移すトランザクションTpが、一次ブロックチェーンに追加されるブロックに含まれるときに行われる。トランザクションTpは、方法400を実行するノードによって又は別のノードによって準備されたものであってよい。次いで、トランザクションは、一次ブロックチェーンのためのマイナーとして機能するノードによって生成されたブロックに含まれてよい。

0061

トランザクションTpを含むブロックを生成するノードは、マイニングする資格を有するノード及び暗号仕分けを通してブロックを生成する機会を割り当てられ得るノードである。マイニングする資格は、特に図5を参照して、以下でより詳細に議論される。マイニングする資格を有するノードのグループの中で、単一のノードが、暗号仕分けと呼ばれるプロセスを通して所与のブロックをマイニングする権利を有するノードとして(動作403において)効果的に識別され得る。暗号仕分けの間、ノードは、プルーフ・オブ・ステーク・ブロックチェーンにブロックを追加することに参加するために識別される。このような識別は、バイナリブロックチェーンネットワークの他のノードがすべて共通ノードを識別することができるように、所定の基準に従って決定論的に実行される。例えば暗号仕分けの間に、1つ以上のノードが、マイニングする資格を有するノードのグループからランダムに選択される。より詳細には、リーダーは、前のブロックのような公開データにおける暗号化機能を使用して識別される。検証器セット(verifier set)は、暗号仕分けを使用して、例えば前のブロックのような公開データにおける暗号化機能を使用して選択されてもよい。暗号仕分けは、Micali,S.,氏による「Algorand: The efficient and democratic ledger. axXiv:1607.01341v9 (2017) [cs.CR]」に説明されており、その内容は参照によって本明細書に組み込まれる。

0062

識別されたリーダーは、マイニングすべき新たなブロックを提案するので、マイナーと呼ばれることがある。

0063

(動作403における)マイナーの識別とバリデータセット(validator set)は、Micali氏によって説明される方法と同様の方法で行われてよいが、適格なマイナーのグループは限られる。特定のノードが、マイニングする資格のあるノードのグループに含まれるかどうかを決定するために、例えば図5の方法500が動作403で実行されてよい。具体的には、適格なマイナーのグループは、1)保証金を預けており(すなわち、1つ以上のプルーフ・オブ・ステークトークンを特別な供託口座に移した)、2)二次ブロックチェーンに追加され、二次ブロックチェーンで承認された、保証金のレコードを有しており、3)保証金の返還を試みる(すなわち、保証金口座に預けた任意のプルーフ・オブ・ステーク・トークンを通常の供託口座に戻すことを試みる)払い戻し要求をまだ発行していないノードのみを含む。通常の口座にトークンを保有している少なくともいくつかのノードは、一次ブロックチェーンのマイナーとして機能する資格を有していないことがある。

0064

また、一次ブロックチェーンにブロックを追加することに参加するノードを識別する際に、二次ブロックチェーンを参照する。すなわち、一次ブロックチェーンの保証金口座にプルーフ・オブ・ステークの形で保証金を保有することだけでは、一次ブロックチェーンでマイニングする資格を有するには不十分であり、二次ブロックチェーンは、保証金がなされたこと(そして、このような指示があるブロックが承認されたこと)も示さなければならない。したがって、動作403が実行される時点では、動作402において保証金を移動させたノードは、まだ、マイニングする資格を有するノードのグループには含まれない(二次ブロックチェーンは、方法400のその後の動作において保証金の移動を反映するようにのみ更新されるため)。方法400を実行するノードが、トークンを一次ブロックチェーン上の保証金口座に移したノードによって生成されたブロックを検出した場合、二次ブロックチェーンが移動を記録するようまだ更新されていない場合(あるいは、レコードを含むブロックがまだ承認されていない場合)、そのブロックは、不適格なノードによって提案されたものとして拒否されるであろう。

0065

動作403は、例えば一次ブロックチェーンにブロックを受け入れるかどうかを判断するときに、方法400を実行するノード102による検証動作の一部として実行されてもよい。ブロックが成功裏に検証された場合(例えばブロックが動作403で識別されたノードによって提出された場合)、そのブロックは、一次ブロックチェーンに含まれてもよい。例えばこの方法を実行するノードは、この方法を実行するノード102に記憶された一次ブロックチェーンのコピーに(動作404で)ブロックを追加してもよい。

0066

保証金(すなわち、プルーフ・オブ・ステーク・トークン)が、一次ブロックチェーン上の保証金口座に移された後、動作408において、保証金のレコードが二次ブロックチェーンに追加され得る。例えばノード(一次ブロックチェーンをモニタリングしている二次ブロックチェーンのマイナーであってよい)は、保証金の移動のレコードを準備することができ、そのレコードを二次ブロックチェーンのブロックに追加することができる。保証品を移したノードは、そのレコードが二次ブロックチェーンで承認された後にのみ、一次ブロックチェーンでマイニングする資格を有する。すなわち、ノードは、プルーフ・オブ・ワーク・ブロックチェーン上の記録に関連付けられる承認期間が経過した後に、マイニングする資格を有する。承認期間は、二次ブロックチェーンに関連付けられる所定数のブロックである。より具体的には、承認期間は、その後、発生している二次ブロックチェーンの保証金のレコードの深さまでの再編成の可能性が受容可能な程度に小さくなる期間である。二次ブロックチェーンのプルーフ・オブ・ワークの性質により、所定数のブロックが、レコードを含むブロックの上に追加された後、レコードは実際上不可逆になる。保証金の振替のレコードが二次ブロックチェーンに不変的に追加されたことを確実にするために、バイナリブロックチェーンネットワークのノードは、保証金に関連付けられるノードが一次ブロックチェーンでマイニングする資格を有する前に承認期間が経過することを要求してよい。

0067

二次ブロックチェーンのブロックに保証金の場所(placing)のレコードを作るマイナーは、図4の方法400を実行するノードであってもよく、あるいはバイナリブロックチェーンネットワーク100内の別のノードであってもよい。方法400を実行するノードが、二次ブロックチェーンのブロックに保証金の場所のレコードを追加しないか又はレコードを含むブロックを生成しない場合、方法400を実行するノードは、それにもかかわらず、検証者として参加してもよく、そのレコードが適切にブロックに含まれること及び/又はそのブロックが適切に生成されたこと(例えばマイナーがそのブロックを生成する権利を有することを証明するためにマイナーが提出したプルーフ・オブ・ワークが有効であること)を確実にする。

0068

保証金の場所のレコードが二次ブロックチェーンに追加された後、承認期間が経過した後に、動作402においてトランザクションTp内の保証金を移したノードは、一次ブロックチェーンのブロック生成に参加する資格を有する。したがって、動作410において、一次ブロックチェーンに更なるブロックを追加することができ、また、更なるブロックを追加する際に、更なるノードは、マイナーとして参加する資格を有するノードのグループから識別されてもよい。動作410は、保証金の場所のレコードが二次ブロックチェーンに追加されて承認されているので、動作402において保証金を移動させたノードが、動作410に参加する資格を有する点を除いて、動作403と同様に実行されてよい。(マイニングノード及び/又はバリデータセットの複数のノードのような)一次ブロックチェーン上のブロックの追加に参加するノードを識別するために、暗号仕分けが再び実行されてよい。しかしながら、動作410では、暗号仕分けは、異なるノードが動作410で選択される可能性が高くなるように、動作403とは異なる公開データに基づいて実行される。動作410におけるノードを識別する際に、方法400を実行するノードは二次ブロックチェーンを参照し、識別されたノードが一次ブロックチェーン上の適所に保証金を有することを二次ブロックチェーンが示すこと、そしてこれが二次ブロックチェーンに記録され、その記録が行われたブロックが承認されることを確実にする。したがって、動作410における識別は、少なくとも部分的には、プルーフ・オブ・ワーク・ブロックチェーンに基づいている。

0069

動作410においてノードを識別する際に、方法400を実行するノード102は、適格なノードのグループを識別してもよく、あるいは所与のノードが適格なノードのグループに含まれるかどうかを判断してもよい。例えば図5の方法500が動作410で実行されてもよい。上述のように、適格なノードのグループは、決定されたタイプのアドレスに(例えば保証金口座に)に保証金を移した少なくともいくつかのノードを含むが、プルーフ・オブ・ワーク・ブロックチェーン上の保証金の移動のレコードに関連付けられる承認期間がまだ経過していない場合に、決定されたタイプのアドレスに保証金を移したノードは除外する。承認期間は、プルーフ・オブ・ワーク・ブロックチェーンに関連付けられる所定数のブロックであってよい。

0070

動作412において、方法400を実行するノード102は、一次ブロックチェーン内の識別されたノードによって提出されたブロックを含む。例えばこの方法を実行するノードは、この方法を実行するノード102に記憶された一次ブロックチェーンのコピーにブロックを追加してもよい。

0071

図4には図示されていないが、ブロック生成の所与の反復に対して識別されたノードではない他のノードが、ブロックの生成を試みてもよい。この方法を実行するノードは、ブロック生成の所与の反復に対して、識別されたノードではないノードによって提出されたブロックを拒否するように構成される。

0072

さらに、図4には図示されていないが、一次ブロックチェーンにブロックを含める前に、この方法を実行するノードは、ビザンチン合意(BA:Byzantine agreement)バリデータセットとも呼ばれるバリデータノードのグループによって、このブロックが検証されたことを確かめることができる。バリデータノードのグループは、マイニングする資格を有するノードのグループのサブセットであってよく、マイニングする資格を有するノードのグループは、二次ブロックチェーンに基づいて識別され得る。すなわち、ノードは、1)保証金を預け、2)二次ブロックチェーンに追加され、かつ二次ブロックチェーンで承認された保証金のレコードを有し、3)預けた保証金を返還するよう試みる払い戻し要求をまだ発行していなかった場合にのみ、ノードはBAバリデータセットに包含するための資格を有する。

0073

BAバリデータセットは、Micali(2017)と同様に動作し、例えばブロックを検証するためにビザンチンアルゴリズムを実行することができる。すなわち、BAバリデータセットのメンバーのみがビザンチンアルゴリズムに参加する。

0074

バイナリブロックチェーンプロトコルは、ブロックを生成するノード(すなわち、マイナーとして機能するノード)が新たなトークンを生成し、その新たなトークンの制御を自分自身に移すことを可能にすることができる。例えば動作404又は動作412において一次ブロックチェーンに含まれるブロックが、そのブロックをマイニングしたノードに対する報酬を含んでよい。報酬が所定の基準(報酬の量に関する基準等)を満たす場合、報酬は、他のノードがブロックを検証することを妨げない。しかしながら、他のノードは、ブロックを検証するときに、報酬(例えば報酬の量)を評価してもよい。

0075

二次ブロックチェーンは、公開データ記録の限られた目的に使用されるため、二次ブロックチェーン上のブロックのマイナーは、二次ブロックチェーン上でのマイニングにより、一次ブロックチェーン上で報酬を受け取ることができる。例えば一次ブロックチェーンに追加されたブロック(動作404又は動作412で追加されたブロック等)は、新たなトークンを生成し、その新たなトークンの制御を、二次ブロックチェーン上でマイニングしたノードに移転してもよい。例えば新たなトークンの制御は、二次ブロックチェーンに保証金の振替のレコードを追加したノードに移転されてもよい。任意で、バイナリブロックチェーンプロトコルは、二次ブロックチェーン上のマイニング活動に対する報酬として一次ブロックチェーン上で生成された新たなトークンが、報酬を受け取るノードによってのみ生成されることを要求することがある。これは、一次ブロックチェーンに多額のステークを預ける更なるインセンティブを与え、バイナリブロックチェーンネットワークに対する協調的な攻撃に参加する一次ブロックチェーンのマイナーのインセンティブを低下させるであろう。なぜなら、これは彼らのステークの価値を低下させるからである。また、バイナリブロックチェーンプロトコルは、二次ブロックチェーン上のマイニング活動に対する報酬の一部のみが、一次ブロックチェーン上でマイニングされた任意の所与のブロックにおいて生成され得るように変更されることも可能である。これは、マイナーが任意の所与の時間に彼らの報酬の一部を要求することのみを必要とし、一次ブロックチェーンにおいてより少数のマイナーが、二次ブロックチェーンで成功裏にマイニングした後に、特にブロック報酬を要求する目的のために、トークンを交換することのインセンティブを減らすことになるだろう。さらに、このように報酬の償還を制限することは、合理的なマイナー(rational miner)のマイニングによって二次ブロックチェーンに配置されることになる保証金の額について、効果的なフロアを作り出す可能性がある。二次ブロックチェーンのマイナーは、十分な保証金を有していない場合に一次ブロックチェーンにおいて報酬を要求し得るよりも早い速さで、二次ブロックチェーンブロックの報酬を得る可能性がある。したがって、合理的なマイナーは、二次ブロックチェーン上のハッシュパワーに比べて十分に大きな保証金を預けることがある。

0076

次に、図5を参照すると、候補ノードが、一次ブロックチェーン上のブロックの生成に参加する(例えばマイニングする)資格を有するかどうかを判断する例示的な方法500が示されている。候補ノードは、例えば一次ブロックチェーンに追加されるブロックを提案し、そしてその際に、そのようにする資格を有すると主張したノードであってもよい。したがって、方法500は、一次ブロックチェーン上にブロックを受け入れる前に、妥当性確認又は検証プロセスの一部として実行され得る。方法500は、例えば図4の方法400の動作403及び/又は動作410において実施されてよい。この方法は、図4の方法400を実行するノード102のような、バイナリブロックチェーンネットワーク上のノードによって実行されてよい。

0077

動作502において、ノードは、候補ノードが一次ブロックチェーン上で保証金を供託したかどうかを判断する。候補ノードが一次ブロックチェーンに保証金を供託していない場合、候補ノードは(動作504に示されているように)一次ブロックチェーン上でマイニングする資格を有さない。動作506において、ノードは、保証金のレコードが、プルーフ・オブ・ワーク・ブロックチェーンである二次ブロックチェーン上で承認されたかどうかを判断する。より具体的には、ノードは、供託のレコードを含むブロックが承認されたかどうか(すなわち、承認期間が経過したどうか)を判断する。この判断は、保証金のレコードを含んだブロックの上に追加されたブロックの数に基づいて行われてよい。

0078

レコードが承認されていない場合、候補ノードは(動作504で示されるように)一次ブロックチェーン上でマイニングする資格を有さない。

0079

動作508において、ノードは、候補ノードから払い戻し要求を受け取ったかどうかを判断する。払い戻し要求は、保証金口座に以前に移された保証金の返還を求める要求である。払い戻し要求が受け取られると、候補ノードは(動作504で示されるように)一次ブロックチェーン上でマイニングする資格を有しない。

0080

ノードが、候補ノードが保証金を供託しており、保証金のレコードが二次ブロックチェーン上で承認されており、そして払い戻し要求が受け取られていないと判断した場合、候補ノードは、動作510において、一次ブロックチェーン上でマイニングする資格を有すると判断される。

0081

次に、図6を参照すると、払い戻し要求を処理する例示的な方法600が示されている。方法600は、図4の方法400及び/又は図5の500を実行するノード102のような、バイナリブロックチェーンネットワーク100のノードによって実行されてよい。

0082

動作602において、方法600を実行するノード102は、バイナリブロックチェーンネットワークのノードによって発行された払い戻し要求を識別する。払い戻し要求は、一次ブロックチェーンの保証金口座に保証金を以前に移したノードによって発行されるものであり、保証金の返還を求める要求である。払い戻し要求は、一次ブロックチェーンのブロックに含まれるトランザクション又は二次ブロックチェーンのブロックに含まれるトランザクションで検出され得る。例えばトランザクションは、取り消し要求としてトランザクションを識別するメタデータを含み得る。したがって、払い戻し要求は、動作602において、プルーフ・オブ・ワーク・ブロックチェーンである二次ブロックチェーンに関連付けられるトランザクション又はレコードのメタデータから識別されてよく、あるいは払い戻し要求は、一次ブロックチェーンに関連付けられるトランザクションのメタデータから識別されてよい。

0083

払い戻し要求が発行された後、ノード102は、(動作604において)払い戻し要求を発行したノードを、一次ブロックチェーン上のマイニングから除外してよい。すなわち、払い戻し要求を発行したノードは、一次ブロックチェーンでマイニングする資格を有するノードのグループから除外される。払い戻し要求が発行された後、払い戻し要求を発行したノードによって提案された一次ブロックチェーンのすべてのブロックが無視される。

0084

方法400を実行するノードが、払い戻し要求に関連付けられるアンボンディング期間が経過したと判断した後、ノード102は、動作606において、払い戻し要求に関連付けられる保証金を、払い戻し要求を発行したノードに返却することを許可することができる。例えば一次ブロックチェーンは、払い戻し要求に関連付けられる保証金を、払い戻し要求を発行したノードに返すために更新され得る。例えばアンボンディング期間の後、払い戻し要求を発行したノードは、一次ブロックチェーンのマイナーに、保証金を通常のアドレスに戻す(言い換えると、保証金を所有者によって使用可能にする)トランザクション案をブロードキャストすることができる。一次ブロックチェーンのマイニングするノード及び/又は検証するノードは、トランザクションが、一次ブロックチェーンに追加されるブロックに含まれることを可能にする前に、アンボンディング期間が実際に経過していることを保証することができる。アンボンディング期間は、二次ブロックチェーンに関連付けられる所定の数のブロックであってよい。例えば払い戻し要求を発行したノードは、保証金が返却されるまでに所定の数のブロックを待つように要求されることがある。

0085

場合によっては、保証金のレコードが二次ブロックチェーンで承認される前に、払い戻し要求を受けることがある。これが発生すると、方法400を実行するノードは、アンボンディング期間のクロックを開始する前に、保証金のレコードが承認されるまで待機してよい。

0086

ブロックチェーンネットワークに新規であるノード(これらのノードが、ブロックチェーンネットワークに以前に接続されていなかった、あるいはアンボンディング期間よりも長い間オフラインであったという意味で)は、最も多くの作業量を含む二次ブロックチェーンを識別し、識別された二次ブロックチェーンからの保証金の分布を一次ブロックチェーンでマイニングされたブロックの分布と比較することによって、一次及び二次ブロックチェーンを、一次及び二次ブロックチェーンの真のコピーとして識別することができる。2つ以上の一次ブロックチェーンが存在する場合、そのようなノードは、分布が最も密接に一致するようなものを選択してよい。

0087

上述の実施形態は、本発明を限定するものではなく、例示するものであり、当業者は、添付の特許請求の範囲によって定義される本発明の範囲から逸脱することなく、多くの代替実施形態を設計することができることに留意されたい。特許請求の範囲においては、括弧内に付した任意の参照符号は、請求項を限定するものと解釈されるべきではない。「備える(comprising)」及び「備える(comprises)」等の語は、いずれかの請求項又は明細書全体に列挙されるもの以外の要素又はステップの存在を除外するものではない。本明細書において、「備える(comprise)」は、「含む(includes)又は構成される(consist of)」を意味し、「備える(comprising)」は「含む(including)又は構成される(consisting of)」を意味する。単数形の要素の言及は、そのような要素の複数形の言及を除外するものではなく、その逆もまた同様である。本発明は、いくつかの別個の要素を含むハードウェアによって及び適切にプログラムされたコンピュータによって実装されてよい。いくつかの手段を列挙するデバイスクレームにおいては、これらの手段のうちのいくつかが、1つの同じのハードウェアのアイテムによって具体化されてもよい。特定の手段が相互に異なる従属請求項に記載されているという単なる事実は、これらの手段の組合せを有利に利用することができないことを示すものではない。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ