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

コンセンサスアルゴリズムとは、分散ネットワークの参加者が、ネットワークの状態、または単一のデータ値の状態について合意し、ネットワーク内の未知のピア同士の間で信頼を確立するためにコンピュータサイエンスで用いられる手順です。

コンセンサスアルゴリズムは、ブロックチェーンのメンバーがネットワーク上でトランザクションを検証し、ネットワークのパラメータを変更し、新しいブロックを処理するのにどのノードが信頼できるかを決めることなど、その他の重要な機能について合意に至るように設計されています。

この記事の技術的な性質に振り回されないでください——「コンセンサス(合意)」は私たちの周りにいたるところで見られます。とても人間的な概念ですが、自動化できるものに単に当てはめているだけです。

まず、中央集権型システムでは、コンセンサスタスクは中央の権威によって実行されます。

ビットコインのような分散型システムでは、何百人、何千人、さらには何十万人ものマイナー、あるいはノードで構成されるネットワークが存在し、1つまたは複数のタスクを実行して、信頼性が高く効率的なエコシステムを提供するために参加します。

この例で分散型コンセンサスを考えてみましょう。たとえば、あなたが4人の友人グループにいるとして、そのうちの1人のメンバーであるアレックスが5人目の人物、ボブを紹介します。ボブが去ったとき、たぶんそのグループは「彼は好きだったのか?」(結果は「コンセンサス」になる)を確かめるために、ボブについて話し始めます(これがプロトコルです)。

ホセ: “ボブって感じいい人だと思う。”



ケビン: “うん、いい感じの人。どうやって知り合ったの?”

アレックス: “大学の頃、彼はいずれか僕のファイナンスの授業にいたんだ。暗号資産のトレードのコツを共有してたら、結果的にかなり面白い人だった。”

ケビン: “いいけど、彼のミームはただめちゃくちゃ変だった。”

ジョン: “君はミーム文化を分かってないだけだよ。”

ホセ: “そうだね。TikTokをスクロールする時間はあまり取ってないけど、でも結構面白いと思ったよ。”

この例では、ボブが友人グループにうまく溶け込むかどうかについて「コンセンサス」が得られました。特定の約束や契約がなくても、意見の 必要なコンセンサス が生まれることがよくあります。参加者の一人、ケビンはボブをグループに入れることに消極的ですが、ホセ、アレックス、ジョンはボブのことを気に入っています。

この場合、上の例をコンセンサスアルゴリズムにコード化するとしたら、つまり「彼はいい人」が3人、「彼はいい人だけどXYZは分からない」が1人でも、最終的には「彼はいい人」になります。多数派が勝つので、ケビンの意見に関係なくボブは“気の合う連中”と一緒にいられるわけです。

たとえばビットコインは、新しいトランザクションが有効かどうか(「いい」)を見極めるためにコンセンサスを見つけるように作られています。

ここでは、公的ネットワークとプライベートネットワークにまたがる、最も人気のある——そしてあまり人気のない——ブロックチェーン・コンセンサスアルゴリズムの種類を見ていきます。

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

プルーフ・オブ・ワーク(PoW)とは、2009年にサトシ・ナカモトによってビットコインが作られたときに登場した、最も人気があり最も古いコンセンサスアルゴリズムです。 PoWシステムは、数学的パズルを解くために競い合う、グローバルなマイナーのネットワーク——ネットワークノードと呼ばれる——で構成されます。パズルを成功裏に解いたマイナーは、ブロックチェーンに新しいブロックを追加する権利を得て、新たに作られた暗号資産で報酬を受け取ります。

プルーフ・オブ・ワークとは基本的に、マイナーが計算能力を提供してネットワークのコンセンサスに到達し、各ブロックの真正性を検証したという証拠を示すための方法です。さらに、各ブロック(トランザクション)は連続した順序で配置されるため、二重支払いのリスクが排除されます。

これまでのところ、PoWは暗号資産のブロックチェーンにおいて最も安全なコンセンサスメカニズムでした。ネットワークを改ざんするには、攻撃者がチェーン内の既存すべてのブロックを再マイニングする必要があります。ブロックチェーンが成長するほど、計算能力を独占することは難しくなります。なぜなら、莫大なエネルギー消費と高価な機器が必要になるからです。

マイナーがパズルを解くと、ネットワークの難易度によって設定された値以下のハッシュを生成する nonce(ワンス・ナンバー、つまり一度だけ使われる数の略)を見つけます。

nonceはPoWシステムの中心的な要素です。これによりマイナーは、SHA-256ハッシュ関数でハッシュ化されたブロックヘッダを作成できるため、チェーン内のブロックに参照番号を置くことになります。ブロックヘッダには、タイムスタンプと前のブロックのハッシュも含まれます。

PoWのデメリット

マイナーはパズルを解くために相当な計算能力を提供する必要があります。しかし計算が複雑であるため、S9 Antminerが消費するエネルギー量は、通常、14.5 TH/sのハッシュレートで1時間あたり1400 – 1500ワットです。より強力なS19は、110 TH/sのハッシュレートで1時間あたり3250ワットを消費します。

ある程度の計算をすれば、データセンターやマイニング企業が、単一の場所で日々、数百台または数千台のマイニングリグでどれほどのエネルギーを消費しているかを見積もれます。エネルギー消費の高さと環境への悪影響が、プルーフ・オブ・ワークに対する主な批判点です。

例をイメージするために言うと、イーサリアムがプルーフ・オブ・ステークへ切り替える前は、イーサリアムの世界中のマイナーが年間約10 TWh/yrを消費しており、これはチェコ共和国と同じでした。

大きな騒音も人の聴力レベルに悪影響を与えます——80 dBaを超えます。だからこそ、マイニングリグは日常の活動の邪魔にならないよう、通常は地下室やマイニング施設に置かれます。

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

プルーフ・オブ・ステーク(PoS)は、2番目に人気のあるコンセンサスアルゴリズムです。マイナーの代わりに、PoSブロックチェーンには、計算能力ではなく自分のコイン/トークンをネットワークへのコミットメントの証拠として用いるネットワークバリデータがいます。

ステーキングとは、ブロックチェーン・プラットフォーム上で一定期間暗号資産を「ロック」することを意味し、その代わりとしてユーザーはより多くの暗号資産で報酬を得ます。

PoW vs. PoS:主な違い

PoSでは、ユーザーは資産の一部を受動的な収入を生むことだけを目的としてステークできます。もう一つの選択肢は、バリデータになることです。PoWシステムと違って、バリデータは新しいブロックを作るために競争しません。アルゴリズムによってランダムに選ばれるからです。ユーザーがステークするコイン/トークンが多いほど、バリデータになってブロックチェーンに新しいブロックを作る可能性は高くなります。

PoWシステムでは、新しいブロックを生成するまでの時間はマイニング難易度で決まります。ネットワークに参加する人数が増えるほど、ハッシュパワー、つまり新しいブロックをマインするのに必要な計算能力は大きくなります。これに対してPoSブロックチェーンでは、ブロック生成時間は固定で、スロットに分割されています——スロットはブロックを作るのにかかる時間——さらにエポックに分かれます。エポックはスロットで構成される時間の単位です。

これをより分かりやすく説明すると、イーサリアムのスロットは12秒で、ネットワークがブロックを作るのにかかる時間です。32スロットで1エポックを構成します。したがって1エポックは6.4分です。PoSブロックチェーンの各スロットには、提案されるブロックの有効性に投票する、あらかじめ決められた数のバリデータがいます。ブロックが有効ならチェーンに追加され、ブロックの提案者とアテスタ(承認者)はETHで報酬を受け取ります。

PoSブロックチェーンは、51%攻撃のようにネットワークを攻撃しようとする悪意のある行為者に対して、スラッシング(罰則)によって罰します。そこでは、正直なバリデータが悪意のあるバリデータをネットワークから追放し、残高を引き出します。必要なステーク資金の金額がかなり高いため、悪意のある行為者が攻撃することを思いとどまらせます。イーサリアムの場合は32 ETHです。

PoSの利点:

  • PoWに比べてエネルギー消費が少ない
  • PoWよりもレイヤー2ソリューションと組み合わせやすい
  • ブロックが渡される前にコンセンサスが確立されるため、より高いスループットを達成できる可能性がある。
  • 新しいブロックを作るのにエリート級のハードウェアを必要としないため、PoWブロックチェーンより安価。

PoSの欠点

  • PoSシステムは、ステーク済みトークンが大量のバリデータがネットワークに影響を与えられる場合、中央集権化の影響を受ける可能性があります。
  • PoWブロックチェーンに比べて、安全性の面で実証が少ない。

プルーフ・オブ・ヒストリー(Proof of History)とは?

プルーフ・オブ・ヒストリー(PoH)とは、Solanaブロックチェーンによって提示されたコンセンサスアルゴリズムで、ネットワーク上のすべての出来事にタイムスタンプを付与して、それが所定の時刻に起きたことを証明するものです。 PoHは、トランザクションを連続した順序で確認する暗号学的な時計として説明できます。

SolanaはPoHのアプローチにPoSを組み合わせています。したがってネットワーク参加者は、バリデータになって新しいブロックを処理するためにSOLをステークする必要があり、PoHメカニズムが、それらのトランザクションがリアルタイムで行われていることの妥当性を検証します。言い換えると、PoHはセキュリティを維持し、PoSはタイムスタンプを検証してトランザクションを確認できるバリデータ群をもたらします。

しかしSolanaは、超高速なトランザクション・スループットを提供するために分散性を犠牲にします。このブロックチェーンは、単一のノードがリーダーとして選出され、そのノードが時間の単一の出所、つまりPoHクロックを実装する責任を負い、他のすべてのノードがそれに応じて時間のシーケンスを順守しなければならないという、セミ中央集権型のアーキテクチャに依存しています。リーダーはPoS選挙によって定期的に選ばれます。

Solanaは業界でも最速級のブロックチェーンの一つですが、定期的にダウンタイムを被ることがあります。2020年のローンチ以来、ネットワークはおよそ10回のダウンタイムを経験しており、そのうち5回は2022年に発生しています。これらの障害の主な理由は、「設定ミスをしたノード」です。

委任型プルーフ・オブ・ステーク(Delegated Proof of Stake)とは?

委任型プルーフ・オブ・ステーク**(DPoS)とは、PoSの概念を変形したものであり、コミュニティが中心的な役割を果たします。**

DPoSブロックチェーンでは、コミュニティのメンバーが自分たちの暗号資産をステークして、ブロック生成のための次の証人(witness)またはデリゲート(delegate)に投票します。これを行うために、ユーザーは自分のトークンをブロックチェーンのステーキング・プールにまとめ、その資金を指定されたデリゲートに紐づけます。

DPoSは、元EOS CTOのDan Larimerによって開発され、2015年にBitShares上でアルゴリズムとして実装されました。Larimerおよび他のDPoS推進者たちは、次のバリデータを選ぶのはコミュニティであるため、DPoSは民主主義の範囲を広げる、と述べています。現在では、TRONやCardanoといったブロックチェーンがDPoSを使用しています。

しかしDPoSへの批判は、その手法が裕福なユーザーに有利に働くという点です。大量のトークンを持つ人は、ネットワークにより大きな影響を与えられます。Vitalik Buterinは、ブログ記事の中で、監督役(witness)をカルテルのように形成させたり、支持のために投票者へ賄賂を贈らせたりするよう、このコンセンサスアルゴリズムがインセンティブを与える、と主張して、最初期のDPoS批判者の一人でした。

プルーフ・オブ・オーソリティ(Proof of Authority)とは?

**プルーフ・オブ・オーソリティ(PoA)とは、許可されたメンバーのみがブロックチェーンとやり取りし、トランザクションを実行し、ネットワークのパラメータ変更を行ったり提案したりし、トランザクション履歴を確認するなどできるコンセンサスアルゴリズムです。 **

この用語は、Ethereum、Polkadot、Kusama Networkを共同で創設したブロックチェーン開発者Gavin Woodによって名付けられました。

PoAブロックチェーンでは、すべてが評判(レピュテーション)に関すること——ネットワーク参加者はコインの代わりに自分のアイデンティティをステークします。 限られた数のバリデータにだけ依存するため、より高いレベルのスケーラビリティとスループットが得られます。これはかなり強く中央集権化されたモデルだと考えるかもしれませんが、PoAブロックチェーンは通常プライベートであり、ブロックチェーン技術を使ってビジネスや業務運用システムを強化する企業や組織により適しています。

経過時間の証明(Proof of Elapsed Time)とは?

プルーフ・オブ・エラプスド・タイム(PoET)とは、プライベート・ブロックチェーンで最も効果を発揮する別のコンセンサスアルゴリズムです。

PoETアルゴリズムは、最初にIntelのソフトウェア開発者によって提示され、プライベート・ブロックチェーンと機関を対象としてHyperledger Sawtoothに実装されました。

このアルゴリズムは、他のブロックチェーンほど人気がないかもしれません。十分に定義されていなかったからです。しかしその狙いは、プライベート・ブロックチェーンが次のブロックプロデューサーを選べるようにする、すぐに使えるNakamoto型のエンジンを提示することでした。では、それらはどう違うのでしょうか? ええ、アルゴリズムは各ネットワークノードに対して「ランダムな待ち時間」を生成し、その間ノードは「sleep(眠る)」必要があります。最も待ち時間が短いノードが先に起床して、チェーン上でブロックを生成する権利を勝ち取ります。

つまり主な違いは、PoETにおけるマイナーは24/7で動き続けず、消費エネルギーも少ないという点です。さらに、PoWネットワークではマイナーが次のブロックヘッダをハッシュ化することを競いますが、PoETではそれはよりランダムな選択システムです。

コンセンサスアルゴリズムFAQ:

イーサリアムはPoSへ移行したので、今より速くなるのですか?

よくある誤解として、イーサリアムはPoSベースのブロックチェーンになったことで自動的にスケールする、というものがあります。しかし、この移行はイーサリアムを次のように強化するために行われました:

  • エネルギー消費を下げる
  • ハードウェア要件をなくすことで参入の障壁を下げる
  • ノードの不正行為に対する経済的なペナルティを可能にする
  • トークン放出(emissions)に関する新しいモデルを導入する
  • イーサリアムのレイヤー2ソリューションで動作させるための、より良いインフラを整える。

**パーミッションレスとパーミッションドのブロックチェーンとは?: **

パーミッションレスのブロックチェーンとは、誰でもトランザクションを行い、トランザクション履歴を確認し、コインをステークし、バリデータになどできるパブリック・ブロックチェーンを指します。一方で、パーミッションド(プライベート)ブロックチェーンでは、許可を持つメンバーだけがネットワークにアクセスしてトランザクションを行い、ネットワークノードとやり取りし、オンチェーンの活動を追跡するなどできます。

PoWは最も安全なコンセンサスアルゴリズムですか? PoWには不利な点もそれなりにありますが、これまでのところ、ブロックチェーンにおけるネットワークのコンセンサスとセキュリティを維持するための最も実証され、最も信頼されている方法でした。

最終的な考え:コンセンサスアルゴリズムの解説

ブロックチェーンは、銀行や金融だけでなく、さまざまな業界の多くの課題や痛点を解決できる技術です。しかし、ブロックチェーンにもそれなりの後退(つまずき)があります。そこで開発者は、中央集権化、スケーラビリティ不足、低いスループットといった共通の問題に取り組むために、複数の種類・バージョンのコンセンサスアルゴリズムを作成してきました。

ただし、ブロックチェーンアルゴリズムの未来について語るのは、ある課題があるため難しいです。それが「ブロックチェーン・トリレンマ」です。Vitalik Buterinによって最初に示されたこの概念は、ブロックチェーンネットワークが次の3つの利点のうち2つしか提供できないという、能力の欠如を述べています:分散性、セキュリティ、スケーラビリティです。FantomやSolanaのように、ブロックチェーン・トリレンマを解決しようとして独自のハイブリッド版コンセンサスアルゴリズムを実装したブロックチェーンプラットフォームはいくつかありますが、これまでのところ本当に成功したものはありません。

さらに、ブロックチェーンの特性を強化するための他の技術的アプローチも作られており、その中でも人気が高いのがレイヤー2で、これはレイヤー1に接続されたチェーンです。たとえばEthereumのArbitrumなどです。またシャーディングは、ブロックチェーン全体を多数のより小さなネットワークに分割します。Buterinは、完璧なブロックチェーンの3つの性質を提供するための最良のアプローチとして、シャーディングを評価しています。

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • リポスト
  • 共有
コメント
コメントを追加
コメントを追加
コメントなし
  • ピン