導入

コンセンサス アルゴリズムは、ユーザーまたはマシンが分散環境で関係を調整できるようにするメカニズムです。そのためには、システム内のすべてのエージェントが (一部のエージェントが同意しない場合でも) 最終的に単一の信頼できる情報源に同意できるようにする必要があります。言い換えれば、システムは優れたフォールト トレランスを備えている必要があります (「ビザンチン フォールト トレランスの説明」も参照)。

集中環境では、単一のエンティティがシステム全体を制御します。ほとんどの場合、これらのエンティティは、多くの管理者が合意に達することを可能にする明確に定義されたガバナンス システムを構築していないため、システムを意のままに変更できることがよくあります。​

しかし、分散環境では話は全く異なります。分散データベースを使用していると仮定すると、どのエントリを追加するかについてどのように合意すればよいでしょうか?

この環境にはお互いを信頼していない見知らぬ人がたくさんいます。この課題をどのように克服するかが、開発上の問題を解決し、ブロックチェーンへの道を切り開く鍵となるかもしれません。この記事では、暗号通貨と分散台帳を実行するためのコンセンサスアルゴリズムの重要性について見ていきます。


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

暗号通貨環境では、ユーザーの残高はブロックチェーン データベースに記録されます。すべてのユーザー (より正確には、すべてのノード) がデータベースの同じコピーを維持することが重要です。そうしないと、最終的には、暗号通貨ネットワークの目的全体を損なう情報競合の問題が発生します。

公開キー暗号化により、ユーザーは他のユーザーのトークンを使用できなくなります。しかし、ネットワーク参加者が資金が使用されたかどうかを知るために信頼できる唯一の真実の情報源がなければなりません。

ビットコインの創始者サトシ・ナカモトは、参加者を調整する方法としてプルーフ・オブ・ワーク・システムを提案しました。 Proof of Work の仕組みについては後ほど詳しく説明します。ここで、まず既存のさまざまなコンセンサス アルゴリズムの共通の特徴を理解しましょう。

まず、ブロックを追加したいユーザー (バリデータとも呼ばれます) からのステーキングが必要です。バリデーターは、不正行為を防ぐために、ある程度の価値のある株式を賭ける必要があります。一度不正行為をすると、賭けられた権利を失います。たとえば、コンピューティング能力や暗号通貨を失ったり、さらには評判を失ったりすることもあります。​

では、なぜ彼らは自らの資源を危険にさらす必要があるのでしょうか?なぜなら、このプロセスには報酬メカニズムも存在するからです。通常、報酬はプロトコルのネイティブ暗号通貨です。報酬は、他のユーザーが支払った料金、新しく生成された暗号通貨ユニット、またはその両方である場合もあります。

最後に、透明性も確保する必要があります。不正行為をタイムリーに検出する能力が必要です。理論的には、ブロックの製造には多額の費用がかかりますが、その真正性の検証は非常に安価です。このメカニズムを通じて、一般のユーザーはバリデータを簡単に制限できます。


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

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

Proof of Work (PoW) は、ブロックチェーン コンセンサス アルゴリズムの名付け親と考えられています。このメカニズムはビットコイン分野で初めて使用されましたが、実際の概念は長い間存在していました。プルーフ・オブ・ワークでは、バリデーター (マイナーと呼ばれる) が、特定のソリューションが生成されるまで、追加するデータをハッシュします。

ハッシュは、ハッシュ関数を通じてデータを実行することによって作成される、一見ランダムな文字と数字の文字列です。同じデータを繰り返し実行すると、常に同じ出力が得られます。しかし、ほんの些細なことでも変更すると、得られるハッシュ値は全く違ったものになります。

出力だけから関数にどのような情報が入力されたかを推測する方法はありません。したがって、この方法は、特定の時点より前に特定のデータを知っていたことを証明するのに効果的です。事前に誰かにハッシュを伝えることができ、後でデータを公開するときに、その人は関数を実行するだけで、出力が同じであることを確認できます。

プルーフ・オブ・ワークでは、プロトコルはブロックを有効にする条件を指定します。たとえば、00 で始まるハッシュのみが有効なブロックであると規定する場合があります。マイナーがこの組み合わせに一致するブロックを作成する唯一の方法は、入力をブルート フォースすることです。データパラメータを調整し、正しいハッシュ値が得られるまで、さまざまな結果ですべての推測をテストします。​

主要なブロックチェーンの場合、ハードルは非常に高い傾向があります。他のマイナーと競争するには、有効なブロックを生成するための条件を作成するために、大量の特殊なハッシュ ハードウェア (特定用途向け集積回路) を準備する必要があります。

マイニングプロセス中に賭ける賭け金には、マシンの購入費とマシンの実行に必要な電力が含まれます。特定用途向け集積回路 (ASIC) は、暗号通貨マイニング専用に構築されており、他のアプリケーションには役に立ちません。初期投資を回収できる唯一の方法はマイニングであり、ブロックチェーンに新しいブロックを追加することに成功すると、かなりの報酬を得ることができます。

ネットワークは、作成したブロックの信頼性を簡単に検証できます。正しいハッシュ値を取得するには何兆もの組み合わせを試行する必要がある場合がありますが、データの検証に必要なのは 1 回のハッシュ関数の計算だけです。データが有効なハッシュを生成すると、ネットワークはそれを受け入れ、それに対して報酬が得られます。そうしないと、ネットワークが値を拒否し、すべての時間と電力が無駄になります。


プルーフ・オブ・ステーク (PoS)

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

ただし、常にそうとは限りません。ある程度の資本も必要です。プルーフ・オブ・ステークのメカニズムでは、外部リソース (電力やハードウェアなど) を消費する必要はありませんが、内部リソース、つまり暗号通貨を提供する必要があります。各プロトコルのルールは異なりますが、一般に、ステーキング資格を得るために満たさなければならない最低投資額があります。

これが完了すると、ウォレット内の資金はロックされます(ステーキング中に資金を移動することはできません)。一般に、どのトランザクションを次のブロックに入れるかについて他のバリデーターと合意する必要があります。ある意味、これはどのブロックが選択されるかに賭けることと同じであり、プロトコルはブロックの 1 つだけを選択します。

あなたのブロックがプロトコルによって選択された場合、賭けた賭け金の量に比例した取引手数料を受け取ります。より多くの資金をロックすればするほど、リターンも大きくなります。不正行為を試みて無効な取引を提案すると、賭け金の一部 (またはすべて) を失うことになります。したがって、私たちは、正直さと信頼性が不正行為よりも多くの利益を得ることができる、プルーフ・オブ・ステークと同様のメカニズムを運用しています。

一般的に、バリデーターの報酬は、新しく鋳造されたトークンの形では発行されません。したがって、ブロックチェーンのネイティブ通貨は別の方法で発行する必要があります。これは、初期オファリング (ICO または IEO) を通じて行うことも、Proof-of-Work でプロトコルを開始してから Proof-of-Stake に移行することによっても可能です。

これまでのところ、純粋なプルーフ・オブ・ステークは小規模な暗号通貨でのみ導入されています。したがって、これがproof-of-workの実行可能な代替手段として機能するかどうかは不明です。理論的には機能しますが、実際にはそのようなものではありません。​

大量の価値を持つネットワークにプルーフ・オブ・ステークが実装されると、システム全体がゲーム理論と経済的インセンティブで満たされたアリーナになります。利益がある限り、熟練したハッカーはプルーフ・オブ・ステーク・システムを「ハッキング」します。したがって、それが実現可能かどうかを判断する唯一の方法は、それをオンライン ネットワークに適用することです。

まもなく、Proof of Stake が大規模にテストされ、イーサリアム ネットワークは、Casper の実装を含む一連のアップグレード (総称してイーサリアム 2.0 と呼ばれます) を実装しようとしています。


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

プルーフ・オブ・ワークとプルーフ・オブ・ステークは、現在最も議論されているコンセンサス アルゴリズムです。しかし、これ以外にも多くのアルゴリズムがあり、それぞれに長所と短所があります。詳細については、次の記事をお読みください。

  • 「ワークロード遅延証明の詳しい解説」

  • 「リース利息証明に関する合意内容の詳細説明」

  • 「権威ある証明の詳しい解説」

  • 「破壊証明書の詳しい説明」

  • 「委任資本証明の詳しい解説」

  • 「ハイブリッドProof of Work/Proof of Stakeコンセンサスについて詳しく解説」


要約する

合意に達するためのメカニズムは、分散システムが機能するために重要です。多くの人は、ビットコインの最大のイノベーションはプルーフ・オブ・ワークの使用であると信じています。プルーフ・オブ・ワークは、ユーザーが一連の共有事実について同意することができるメカニズムです。

現在、コンセンサス アルゴリズムはデジタル通貨システムとブロックチェーンの基盤となり、開発者が分散ネットワーク上でコードを実行できるようになりました。コンセンサスアルゴリズムはブロックチェーンテクノロジーの基礎的な位置を占めており、既存のさまざまなネットワークの長期的な存続に重要な役割を果たします。

すべてのコンセンサス アルゴリズムの中で、プルーフ オブ ワークが優勢です。より信頼性が高く、より安全な代替ソリューションを提案した人はまだ誰もいません。そうは言っても、専門家は依然として作業証明に代わる多くの製品を開発しており、今後数年間でさらに多くの代替ソリューションが登場することが期待されます。