読み込み中...

コンセンサス: または知っておくべきコンセンサスの種類

ブロックチェーン

コンテンツ

共有リンク:

何らかの文脈で「ブロックチェーン」という用語が言及される場合、通常は「コンセンサスアルゴリズム」という複雑な用語が結びつきます。 ほとんどの読者は、コンセンサス アルゴリズムが何であるかをわざわざ調べようとは思いません。 実際、ほとんどの人は、ブロックチェーンのコンテキストでアルゴリズムが何に使用されるのかさえ知りません。 それでも、アルゴリズムは数十種類あり、そのほとんどがブロックチェーンの世界で使用されています。

コンセンサスという考え方は、問題に関して統一された立場に達することです。 コンピューター サイエンスでは、コンセンサスはコンセンサス問題に関連しています。 分散コンピューティングおよびマルチエージェント システムにおける基本的な問題は、多数の障害のあるプロセスが存在する中でシステム全体の信頼性を達成することです。 これには多くの場合、計算中に必要なデータについてプロセスが同意する必要があります。 ブロックチェーンも同じ問題によって損なわれており、科学者やプログラマーはそれを解決する方法を考え出しています。

本質的に、アルゴリズムとは、特定の結果を達成するために必要な、分析、プログラムされた一連の必要なステップです。 つまり、コンセンサス アルゴリズムとは、単一の問題について合意を達成するために必要なアクションを取ることを意味します。 ブロックチェーンの世界では、この 1 つの問題は、ブロックをハッシュできるようにするために、すべてのネットワーク参加者がブロックの計算について合意に達することを意味します。

ブロックチェーン世界では

ブロックチェーンに関して言えば、ネットワーク参加者全員の主な目的として、コンセンサス アルゴリズムによっていくつかの結果が得られる可能性があります。 アルゴリズムの最も一般的な目的は次のとおりです。

  • 合意: 合意メカニズムは、ネットワーク参加者のグループからすべての合意を収集します。
  • コラボレーション: グループのすべてのメンバーは、グループ全体の利益に対応するより良い合意に達することを目指しています。
  • 協力: すべての個人がチームの一員として働き、自分の利益を脇に置いてより大きな利益のために働きます。
  • 平等な権利: すべての参加者は投票プロセスにおいて同じ価値観を持ちます。 このようなアプローチでは、一票でも投票しなければコンセンサスは通過しないため、すべての投票が重要になります。
  • 参加: ネットワーク内の全員が投票プロセスに参加する必要があります。 アルゴリズムの機能が停止するため、誰も取り残されたり、投票に参加できなくなったりすることはありません。
  • アクティビティ: グループのすべてのメンバーが同様にアクティブです。 グループ内の責任は、参加者全員で平等に共有されます。

種類

実際、現在利用可能なコンセンサス アルゴリズムは 30 種類以上あります。 最も一般的なものは次のとおりです。

  • 作業証明
  • プルーフ・オブ・ステーク
  • 委任されたプルーフ・オブ・ステーク
  • 権限の証明
  • ビザンチンフォールトトレランス
  • 委任されたビザンチン フォールト トレランス (dBFT)

などなど。 このリストは無限に続く可能性がありますが、ここで言及したすべてのアルゴリズムと、所定の資料に収まらないその他すべてのアルゴリズムは、合意に達することを中心とした同様に重要な目的を果たしているという事実は変わりません。 唯一変わるのは、それを達成するために使用する方法です。

殿堂

当然のことながら、最も一般的なタイプのコンセンサス アルゴリズムは Proof-of-Work と Proof-of-Stake であり、これらは最初にブロックチェーンとともに登場しました。

Proof-of-work はブロックチェーン上で最も古いタイプのコンセンサスであり、Bitcoinが誕生した 2003 年初頭から存在し、2009 年からテスト段階に入っています。新しいものではありませんが、このアルゴリズムはサトシ ナカモトによって新たな命を受けました。 彼の提案した方法では、ブロックチェーンの参加者 (マイナー) は、トランザクションのブロックをブロックチェーンに追加できるように、複雑でまったく役に立たない計算問題を解決する必要があります。 このアプローチには多くの問題があります。 速度が遅く、電力を大量に消費し、環境に優しくなく、規模の経済の影響を受けやすいです。

次に、プルーフ・オブ・ステークの概念です。 このアプローチは、後者のアプローチの代替として登場し、ブロックをtracするためにマイニングを使用する代わりに、ネットワークの参加者がプロセスに参加できるようにするには、システム内にコインの形で何らかのステークを保持する必要があることを提案しました。 10% の株式を所有すると、次のブロックを 10% でマイニングする確率が与えられます。 ステーク所有者が保有するコインが多いほど、ブロックをtracする可能性が高くなります。 このアプローチにも欠陥があり、何も問題がないという問題が発生しやすいです。 それでも、電力消費が少なく、規模の経済の影響を受けにくく、攻撃に対する保護が強化されています。

合意形成にどのようなアプローチを使用しても、問題は依然としてほぼ同じであり、次から次へと反映されます。 すべてのコンセンサス モデルが直面する最大の問題は次のとおりです。

消費電力は、ブロックチェーン運用における最大の問題です。 たとえば、Bitcoin1 秒あたり 200 億のハッシュがあります。 それには膨大な電力が必要であり、現時点では現代のブロックチェーンのエネルギー欲求を満たす安価なエネルギーの代替手段はありません。

大手メーカーは動作するためにより多くの電力を必要とし始め、要求を満たすためにマイニング システムのルールを曲げたり、新しいルールを発行したりしようとする可能性があるため、マイナーの集中化、PoW ネットワークは別の問題です。 その結果、分散型ネットワーク内での集中化が実現します。 中央集権化が定着すると、システムはもはやブロックチェーンではなくなり、コンセンサスを取る意味がなくなります。

ネットワークへの攻撃は依然として人気があり、ハッカーはどこにも行きません。 51% 攻撃は実行可能ですが、それが起こらないという保証はありません。 攻撃者が利権を掌握した場合、攻撃者が全ノードの半分以上を制御し、ネットワークを自らの金儲けの場に変えるのは時間と計算能力の問題です。

新しいものとともに

プログラマーが新しいコンセンサス モデルに到達できるように、以前のコンセンサス アルゴリズムの問​​題が徹底的に調査および研究されてきました。

クレジット プラットフォームで採用されている別のコンセンサス アルゴリズムである Proof-of-Agreement です これはかなり単純な概念で、最初は複雑に見えますが、合意に達するのに効果的です。 コンセンサスの手順全体は、トランザクションの形成とネットワーク ノード間でのトランザクションの分散、および信頼されたノード (TN) にコンセンサスを実行する権限が与えられる循環ラウンドの実行で構成され、その結果、ブロック内のトランザクションとその生成を含む共通の解決が得られます。 トランザクション パッケージには、順序付けされた数 (最大 500) のトランザクションが含まれており、Blake2s アルゴリズムで計算されたハッシュを含むヘッダーが与えられます。 ノードは、ラウンド テーブルに含まれるトランザクション パッケージのリストを受信すると、ローカル バッファー内でこれらのパッケージが利用可能かどうかの確認を開始します。 一部のパッケージが欠落している場合は、同期プロセスが開始されます。 ノードは近隣ノードに不足しているパッケージを要求し、それらのノードでもパッケージが不足している場合、それらの近隣ノードは近隣ノードにパッケージを要求し、不足しているパッケージが見つかるまでこのプロセスが繰り返されます。 ラウンドテーブルに含まれるすべてのトランザクション パッケージがすべての信頼されたノードで利用可能であることが、ラウンドを開始するための条件です。 すべてのネットワーク ノードがトランザクション パッケージをリリースし、相互に交換した後、コンセンサス実行を担当するノードを選択する必要があり、それらのノードはトランザクションを検証してブロックを生成する必要があります。 このようなコンセンサス アルゴリズムとは、パブリック ネットワークでの実装の可能性を備えた、すべてのノードが完全に関与するシンプルかつ効果的なブロック形成です。

次に有望なアルゴリズムは、Facebook のLibraBFTコンセンサス アルゴリズムです。 LibraBFT は HotStuff を改良し、より幅広い用途に適応させます。 Libra はビザンチン フォールト トレランス タイプのコンセンサス アルゴリズムであり、HotStuff に基づいており、Libra ブロックチェーン用に設計された堅牢で効率的なステート マシン レプリケーション システムです。 LibraBFT は、Pacemaker メカニズムの実装による HotStuff の機能強化です。 これには、トランザクションコミットメントへの具体的な境界で構成される活性分析が含まれます。 LibraBFT では、プロセスはバリデーターと呼ばれます。 後者のそれぞれはラウンドで動作し、それぞれにリーダーと呼ばれる指定されたバリデーターが存在します。 リーダーは新しいブロックを提案し、ブロック生成の提案に関してバリデーターから署名付き投票を受け取ります。 ラウンドは、指定された 1 人のリーダーとの単なるコミュニケーション フェーズであり、リーダーの提案は暗号化ハッシュを使用してチェーンに編成されます。 ラウンドが開始されると、リーダーは自由に使える最長のチェーンを延長するブロックを提案します。 提案が有効でタイムリーであれば、各正直なノードがそれに署名し、リーダーに投票を送信します。 クォーラムに達するのに十分な投票があると、リーダーは投票をクォーラム証明書 (QC) に集約し、同じチェーンを再度拡張し、QC がすべてのノードにブロードキャストされます。 リーダーが QC をまとめることができなかった場合、参加者は次のラウンドに進みます。

これまでに、Libra ブロックチェーンは許可されたネットワークとして開始されました。 創設者のバリデーターには、Uber、Visa、MasterCard、PayPal などの企業が含まれています。すべての創設者は、初期のバリデーターになるための厳格なガイドラインを遵守しています。 たとえば、暗号通貨ヘッジファンドには10億ドルを超える運用残高が求められ、デジタル資産を中心としたカストディアンには少なくとも1億ドルを保管する必要がありました。 非暗号通貨企業は、時価総額が10億ドル以上、または顧客残高が5億ドル以上である必要がありました。

もう 1 つのコンセンサス アルゴリズムは Proof of Elapsed Time です。これは 2016 年初めに Intel によって発明され、 Hyperledger Sawtooth 1.1 によるテストに成功しました。

動作原理はかなり単純で、ネットワーク内の各ノードはランダムに選択された期間待機します。 待ち時間を最初に経過したノードが次のブロックを発行する権利を獲得します。 ネットワーク内の各ノードはランダムな待機時間間隔を生成し、指定された時間スリープ状態で非アクティブ化されます。 ウェイクアップしたノード、および待機時間が最も短いノードがブロックチェーンに新しいブロックを追加し、ネットワーク全体にデータを送信します。 次のブロックが見つかるまで、このプロセスが繰り返されます。 このようなアルゴリズムの利点は、参加コストが低いこと、正当性検証が簡単であること、検証と選択の制御コストが低いことです。 特殊なハードウェアが必要なことや、公共ネットワークでは役に立たないことなど、デメリットもあります。 全体として

さまざまなコンセンサス アルゴリズムにより、ブロックチェーンは多用途になり、さまざまなアプリケーションや構造に適応できるようになります。 攻撃に対して脆弱で、多くの場合扱いにくく、エネルギー効率が非常に悪いにもかかわらず、ブロックチェーンは依然として存続しており、効率性の競争においていずれかのアルゴリズムが他のアルゴリズムに勝つのは時間の問題です。 おそらく、無名であまり知られていないアルゴリズムの長いリストにあるアルゴリズムの 1 つが、近い将来、PoW と PoS を追放するアルゴリズムになるでしょう。

共有リンク:

よく読まれている

よく読まれている記事を読み込んでいます...

暗号通貨に関するニュースを常に把握し、毎日の最新情報を受信箱で受け取ります

関連ニュース

クリプトポリタン
クリプトポリタンを購読する