導入
コンセンサス アルゴリズムは、ユーザーまたはマシンが分散環境で調整できるようにするメカニズムです。これにより、一部のエージェントが失敗した場合でも、システム内のすべてのエージェントが単一の信頼できる情報源に同意することが保証されます。つまり、システムはフォールト トレラントである必要があります (「ビザンチン フォールト トレランスの説明」も参照)。
集中型システムでは、単一のエンティティがネットワークに電力を供給し、制御します。ほとんどの場合、企業は必要に応じて変更を加えることができます。複数の取締役が合意に達するための複雑なガバナンス システムはありません。
分散型システムでは、まったく別の話になります。分散データベースを使用しているとします。追加するデータについてどのように合意すればよいでしょうか?
参加者がお互いを信頼していない環境でこの課題を克服することは、おそらくブロックチェーンへの道を開く最も重要な開発でした。この記事では、コンセンサスアルゴリズムが仮想通貨と分散台帳の機能に不可欠である理由を見ていきます。
コンセンサスアルゴリズムと暗号通貨
暗号通貨では、ユーザーの残高はデータベース、つまりブロックチェーンに記録されます。すべてのユーザー (正確にはすべてのノード) がデータベースの同一のコピーを維持することが重要です。そうしないと、矛盾する情報が出現し、ネットワーク全体に損害を与える可能性があります。
公開キー暗号化により、ユーザーはお互いの通貨を使用できなくなります。ただし、ネットワーク参加者が資金がすでに使用されているかどうかを判断するために信頼できる単一の情報源が依然として必要です。
ビットコインの創始者であるサトシ・ナカモトは、参加者を調整するためのプルーフ・オブ・ワーク・システムを提案しました。 PoW がどのように機能するかについてはすぐに説明します。ここでは、多くの既存のコンセンサス アルゴリズムに共通する特徴をいくつか特定してみましょう。
まず、ブロックを追加したいユーザー (バリデーターと呼びます) にステークの提供を求めます。ステーキングは、バリデーターが悪意のある行為を阻止するために誓約しなければならない価値です。彼らが不正行為をした場合、彼らは賭け金を失います。たとえば、コンピューティング能力、暗号通貨、またはその評判などです。
なぜ彼らは自らの資源を危険にさらすのでしょうか?これは通常、ユーザーが支払った料金、新しく作成された暗号通貨、またはその両方に基づくプロトコルのネイティブ暗号通貨であるためです。
最後に必要なのは透明性です。誰かが不正行為をしているとき、それを知ることができる必要があります。理想的には、ブロックを作成するにはコストがかかりますが、誰でもブロックを検証するには安価でなければなりません。これにより、バリデーターも通常のユーザーによって制御されることが保証されます。
コンセンサスアルゴリズムの種類
プルーフ・オブ・ワーク (PoW)
Proof of Work (PoW) は、ブロックチェーン コンセンサス アルゴリズムの名付け親です。最初に実装されたのはビットコインですが、この概念はずっと前から存在していました。 Proof of Work では、バリデータ (マイナーと呼ばれる) が、特定のソリューションを生成するまで、追加するデータをハッシュします。
ハッシュは、ハッシュ関数の実行時に作成される文字と数字のランダムな文字列です。ただし、入力データが同じであれば、出力結果も同じになります。ただし、ほんのわずかな変更により、まったく異なるハッシュが生成されます。
出力のデータからは入力のデータを判断できません。したがって、これは、あるデータを一定期間知っていたことを証明するのに非常に有効な機能です。誰かにハッシュを渡すことができ、データを公開すると、その人はそのデータを関数で実行して、出力が同じであることを確認できます。
Proof of Work では、プロトコルはブロックを有効にする条件を定義します。これは、たとえば、ハッシュが 00 で始まるブロックのみが有効であると言えます。マイナーが有効なブロックを作成する唯一の方法は、ブルート フォースを使用することです。正しい結果が見つかるまで異なる結果を生成するために、マイナーはデータ内のパラメーターを変更できます。
最大のブロックチェーンの場合、レベルは非常に高いです。他のマイナーと競争するには、有効なブロックを生成する可能性を高めるために特別に設計されたハードウェアである ASIC でいっぱいの倉庫が必要です。
マイニングにおけるあなたの賭け金は、これらの機械のコストと、それらを動かすために必要な電力に相当します。 ASIC はマイニングのみを目的として設計されているため、暗号通貨マイニング以外には使用できません。初期投資を回収する唯一の方法は、マイニングを行い、ブロックチェーンに新しいブロックを正常に追加して報酬を獲得することです。
正しいブロックが作成されたことをネットワークが検証するのは非常に簡単です。この関数を 1 回実行するだけで、多数のテストの結果を検証できます。データが有効なハッシュを生成した場合、それは受け入れられ、報酬を受け取ります。そうしないと、ネットワークによって無効になり、時間と電力を無駄に浪費することになります。
プルーフ・オブ・ステーク (PoS)
プルーフ オブ ステーク (PoS) は、ビットコインの初期にプルーフ オブ ワークの代替として提案されました。 PoS には、マイナー、特殊なハードウェア、大量のエネルギー消費といった概念は存在しません。必要なのはコンピューターだけです。
そしてちょっとしたこと... 機械にコインを入れなければなりません。 PoS では、外部リソース (機械や電気) を使用する代わりに、内部リソース (暗号通貨) を使用します。ルールはプロトコルによって異なりますが、通常、ステーキングに参加するには最低額を保持する必要があります。
その後、資金をウォレットにロックする必要があります (ステーキング中に資金を移動することはできません)。通常、どのトランザクションが次のブロックに渡されるかについては、他のバリデーターに同意することになります。ある意味、どのブロックが選択されるかに賭け、残りはプロトコルが決定します。
あなたのブロックが選択された場合、賭け金に比例した取引手数料の一部を受け取ります。より多くの資金をロックすればするほど、勝つチャンスが増えます。ただし、無効な取引を提案して不正行為を試みた場合、賭け金の一部 (またはすべて) を失うことになります。したがって、私たちは PoW と同様のメカニズムを採用しています。つまり、正直に行動する方が、不誠実に行動するよりも利益が高くなります。
一般に、新しく作成された通貨はバリデーターの報酬の一部ではありません。したがって、ネイティブのブロックチェーン通貨は別の方法で発行する必要があります。これは、初期配布 (ICO や IEO など) を通じて、または PoS への移行前のプロトコルの開始時に PoW を使用することによって行うことができます。
現在までのところ、純粋なプルーフ・オブ・ステークは小規模な暗号通貨でのみ使用されています。したがって、PoW の実行可能な代替手段として機能するかどうかは不明です。これは理論的には有効であるように見えますが、実際にはまったく異なります。
PoS が大量の情報を含むネットワーク上に導入されると、そのシステムは金銭的インセンティブとゲーム理論の完璧な温床となります。 PoS システムを「ハッキング」するノウハウを持っている人は、それを利用できる場合にのみハッキングを行います。そのため、それが可能かどうかを確認する唯一の方法は、ネットワーク上で直接試してみることです。
PoS の大規模なテストが間もなく行われる予定です。Casper は、イーサリアム ネットワーク (イーサリアム 2.0 としても知られる) への一連のアップグレードの一部として実装されます。
コンセンサスアルゴリズムの種類
Proof of Work と Proof of Stake は、最も一般的なコンセンサス アルゴリズムです。しかし、明らかに他にも多くのメリットとデメリットがあります。次の記事をご覧ください。
遅延プルーフオブワークの説明
Leased Proof of Stakeのコンセンサス
権威の証明は明確である
火傷の証明の説明
委任型ステーキング証明の説明
ハイブリッド PoW/PoS コンセンサスの説明
結論としては
分散システムの運用には、合意を達成するためのメカニズムが不可欠です。多くの人は、ビットコインの最大のイノベーションはプルーフ・オブ・ワークを使用してユーザーが共通の事実セットに同意できるようにすることだと信じています。
現在、コンセンサス アルゴリズムはデジタル通貨システムだけでなく、開発者が分散ネットワーク上でコードを実行できるようにするブロックチェーンも支えています。これらはブロックチェーン技術の基礎を構成しており、既存のさまざまなネットワークの長期的な存続に不可欠です。
すべてのコンセンサス アルゴリズムの中で、依然として Proof of Work が最もよく使用されています。実際、より信頼性が高く安全な代替手段はまだ提案されていません。とはいえ、PoW の代替に関しては膨大な量の研究開発が進められており、今後数年のうちにさらに多くのコンセンサスが得られる可能性が非常に高いです。



