導入

コンセンサス アルゴリズムは、ユーザーまたはマシンが分散環境で調整できるようにするメカニズムです。一部のエージェントが失敗した場合でも、システム内のすべてのエージェントが単一の真実のソースに同意できることを保証する必要があります。言い換えると、システムはフォールト トレラントである必要があります (「ビザンチン フォールト トレランスの説明」も参照)。

集中型の設定では、単一のエンティティがシステムに対して権限を持ちます。ほとんどの場合、彼らは好きなように変更を加えることができます。多くの管理者の間で合意に達するための複雑なガバナンス システムは存在しません。

しかし、分散型のセットアップでは、話はまったく別です。分散データベースを扱っているとします。どのエントリを追加するかについて、どのように合意に達するのでしょうか?

見知らぬ人同士が互いに信頼し合わない環境でこの課題を克服することは、おそらくブロックチェーンへの道を切り開く最も重要な進歩でした。この記事では、コンセンサス アルゴリズムが暗号通貨と分散型台帳の機能にとっていかに重要であるかを見ていきます。


コンセンサスアルゴリズムと暗号通貨

暗号通貨では、ユーザーの残高はデータベース、つまりブロックチェーンに記録されます。全員 (正確には、すべてのノード) がデータベースの同一のコピーを保持することが不可欠です。そうしないと、すぐに矛盾した情報が生じ、暗号通貨ネットワークの目的全体が損なわれてしまいます。

公開鍵暗号方式により、ユーザーは互いのコインを使うことができないようになります。しかし、資金がすでに使われたかどうかを判断できるように、ネットワーク参加者が頼りにする単一の真実の情報源が依然として必要です。

ビットコインの創始者であるサトシ・ナカモトは、参加者を調整するためにプルーフ・オブ・ワーク システムを提案しました。PoW の仕組みについては後ほど説明しますが、ここでは、存在する多くのコンセンサス アルゴリズムの共通点をいくつか確認します。

まず、ブロックを追加したいユーザー(バリデーターと呼びます)にステークを提供することを要求します。ステークとは、バリデータが提示しなければならない何らかの価値であり、不正行為を抑止します。不正行為をすると、ステークを失います。例としては、コンピューティング能力、暗号通貨、評判などがあります。

なぜ彼らは自分のリソースを危険にさらすのでしょうか? 実は、報酬も用意されています。これは通常、プロトコルのネイティブ暗号通貨で構成され、他のユーザーが支払った手数料、新しく生成された暗号通貨ユニット、またはその両方で構成されます。

最後に必要なのは透明性です。誰かが不正行為をしているときにそれを検出できなければなりません。理想的には、ブロックを生成するのにコストがかかる一方で、それを検証するのには誰でも安価であるべきです。これにより、バリデーターが一般ユーザーによって監視されることが保証されます。


コンセンサスアルゴリズムの種類

プルーフ・オブ・ワーク(PoW)

プルーフ オブ ワーク (PoW) は、ブロックチェーンのコンセンサス アルゴリズムのゴッドファーザーです。最初にビットコインで実装されましたが、実際のコンセプトは以前から存在していました。プルーフ オブ ワークでは、バリデーター (マイナーと呼ばれる) が、特定のソリューションを生成するまで、追加したいデータをハッシュします。

ハッシュは、ハッシュ関数にデータを実行すると作成される、一見ランダムな文字と数字の文字列です。しかし、同じデータを再度ハッシュ関数に実行すると、常に同じ出力が得られます。ただし、1 つの詳細を変更するだけでも、ハッシュはまったく異なるものになります。

出力を見ても、関数にどのような情報が入力されたかはわかりません。そのため、ハッシュは、ある時点より前にデータの一部を知っていたことを証明するのに役立ちます。ハッシュを誰かに渡しておけば、後でデータを公開したときに、その人は関数にデータを実行して、出力が同じであることを確認できます。

プルーフ・オブ・ワークでは、プロトコルによってブロックが有効になる条件が定められています。たとえば、ハッシュが 00 で始まるブロックのみが有効であると定められます。マイナーがその組み合わせに一致するブロックを作成する唯一の方法は、入力を総当たりで調べることです。マイナーはデータ内のパラメータを微調整して、正しいハッシュが得られるまで推測ごとに異なる結果を生成します。

主要なブロックチェーンでは、ハードルが極めて高く設定されています。他のマイナーと競争して有効なブロックを生成するには、特別なハッシュ ハードウェア (ASIC) が満載の倉庫が必要になります。

マイニングを行う際のあなたの負担は、これらのマシンのコストと、それらを稼働させるために必要な電力です。ASIC は 1 つの目的のために構築されているため、暗号通貨のマイニング以外の用途には使用できません。初期投資を回収する唯一の方法はマイニングを行うことです。マイニングでは、ブロックチェーンに新しいブロックを追加することに成功すれば、大きな報酬が得られます。

ネットワークにとって、あなたが本当に正しいブロックを作成したかどうかを確認するのは簡単です。正しいハッシュを得るために何兆もの組み合わせを試したとしても、ネットワークはデータを関数に一度通すだけで済みます。データが有効なハッシュを生成した場合、それは受け入れられ、報酬が得られます。そうでない場合は、ネットワークはそれを拒否し、あなたは時間と電力を無駄にしてしまうことになります。


ステーキング証明(PoS)

プルーフ オブ ステーク (PoS) は、ビットコインの初期にプルーフ オブ ワークの代替として提案されました。PoS システムには、マイナー、特殊なハードウェア、大量のエネルギー消費という概念はありません。必要なのは、通常の PC だけです。

まあ、すべてではありません。それでも、ゲームにいくらかの資金を投入する必要があります。PoS では、外部リソース (電気やハードウェアなど) ではなく、内部リソース (暗号通貨) を投入します。ルールはプロトコルごとに異なりますが、一般的に、ステーキングの資格を得るには、最低限の資金を保有する必要があります。

そこから、資金をウォレットにロックします (ステーキング中は資金を移動できません)。通常、次のブロックにどのトランザクションを入れるかについては、他のバリデーターと合意します。ある意味、どのブロックが選ばれるかに賭けていることになります。そして、プロトコルが 1 つを選びます。

あなたのブロックが選ばれると、ステークに応じて取引手数料の一部を受け取ります。ロックした資金が多ければ多いほど、利益も大きくなります。しかし、不正な取引を提案して不正行為をしようとすると、ステークの一部(またはすべて)を失うことになります。したがって、私たちは PoW と同様のメカニズムを持っています。つまり、正直に行動する方が不正に行動するよりも利益が大きいのです。

通常、バリデーターへの報酬として新しく作成されたコインはありません。したがって、ブロックチェーンのネイティブ通貨は他の方法で発行する必要があります。これは、初期配布(ICO または IEO)を介して、またはプロトコルを PoW で開始してから後で PoS に移行することによって行うことができます。

これまでのところ、純粋な Proof of Stake は小規模な暗号通貨にのみ導入されています。そのため、PoW の実行可能な代替手段として機能するかどうかは不明です。理論的には妥当に見えますが、実際には大きく異なります。

PoS が大きな価値を持つネットワークに導入されると、システムはゲーム理論と金銭的インセンティブの舞台となります。PoS システムを「ハッキング」するノウハウを持つ人は、そこから利益を得られる場合にのみハッキングを行う可能性が高いため、それが実現可能かどうかを確認する唯一の方法は、ライブ ネットワークを使用することです。

まもなく PoS が大規模にテストされる予定です。Casper は、Ethereum ネットワークの一連のアップグレード (総称して Ethereum 2.0) の一部として実装されます。


その他のコンセンサスアルゴリズム

プルーフ オブ ワークとプルーフ オブ ステークは、最もよく議論されるコンセンサス アルゴリズムです。しかし、他にもさまざまなアルゴリズムがあり、それぞれに長所と短所があります。次の記事をご覧ください。


最後に

合意を得るためのメカニズムは、分散システムの機能にとって不可欠です。ビットコインにおける最大のイノベーションは、プルーフ・オブ・ワークを使用してユーザーが一連の事実を共有して合意できるようにしたことであると多くの人が考えています。

今日のコンセンサス アルゴリズムは、デジタル マネー システムだけでなく、開発者が分散ネットワーク上でコードを実行できるようにするブロックチェーンの基盤にもなっています。これらは現在、ブロックチェーン テクノロジーの基礎となっており、さまざまなネットワークの長期的な存続にとって不可欠です。

すべてのコンセンサス アルゴリズムの中で、Proof of Work が依然として主流です。より信頼性が高く、より安全な代替手段はまだ提案されていません。とはいえ、PoW の代替手段については膨大な量の研究開発が行われており、今後数年間でさらに多くの代替手段が登場すると思われます。