皆さんは「コンセンサスアルゴリズム」という言葉を聞いたことがあるでしょうか。ブロックチェーン技術を理解する上で欠かせない重要なキーワードですが、その役割や種類については意外と知られていません。
本記事では、コンセンサスアルゴリズムの基本的な仕組みや、主要な3つのアルゴリズムの特徴について、わかりやすく解説します。ブロックチェーンのビジネス活用を検討する際の参考になれば幸いです。
(過去に掲載したブロックチェーンの基礎知識「ブロックチェーンとは何か?仕組みをわかりやすく解説」も是非併せてご覧ください。)
コンセンサスアルゴリズムとは、ブロックチェーンネットワーク上の参加者間で取引の正当性を検証し、合意形成するための仕組みのことを指します。
ブロックチェーンは中央管理者が存在せず、不特定多数のユーザーによって分散管理されているため、「どの取引を正当とみなすか」について参加者全員で合意を取る必要があります。この合意形成のプロセスを担うのが、コンセンサスアルゴリズムです。
コンセンサスアルゴリズムには様々な種類がありますが、それぞれ「取引の正当性をどのように検証するか」「不正な取引をどのように防ぐか」といった点で異なるアプローチを取っています。
(引用:Pixabay)
それでは、代表的なコンセンサスアルゴリズムを見ていきましょう。今回は以下3つを紹介します。
ビットコイン(BTC)で採用されているのがプルーフ・オブ・ワーク(PoW)と呼ばれるアルゴリズムです。取引の承認を行うためには複雑な計算問題を解く必要があり、その計算問題を最初に解いたノード(ネットワークを構成する個々のコンピューターやサーバー)に対して報酬が与えられます。
計算問題の難易度は一定時間ごとに調整されるため、ノードは常に高い計算能力を維持する必要があります。そのため、不正な取引を行うためには膨大なコストが必要となり、ネットワークの安全性が担保されているのです。
イーサリアム(ETH)で採用されているのがプルーフ・オブ・ステーク(PoS)です。PoSでは、取引の承認を行うためにはネットワーク上に一定量の通貨を預ける(ステーキングする)必要があり、預けた通貨量に応じて報酬が得られる仕組みです。PoWのように大量の電力を消費する必要がないため、PoSは環境に優しいアルゴリズムだと言われています。
また、PoSには不正を防ぐ仕組みが備わっています。それは、不正な取引を承認したバリデーター(取引の承認者)は、預けていた通貨の没収やネットワークからの追放といったペナルティを受けるというものです。つまり、多くの通貨をステーキングしているバリデーターほど、不正を働くことによって失うものが大きくなるのです。
不正を働くよりも健全にネットワークに貢献した方が利益が得られる仕組みのため、PoSではネットワーク全体の安全性が担保されていると考えられています。PoSが環境に優しいだけでなく、セキュリティの面でも優れているとされる理由の一つがこの点にあります。
分散型アプリケーション(DApps)の開発に特化したブロックチェーンプラットフォームEOSが採用しているデリゲーテッド・プルーフ・オブ・ステーク(DPoS)は、PoSの派生アルゴリズムです。通貨保有者の投票によって承認者(ブロック生成者)を選出し、その承認者が取引の検証を行います。承認者として選ばれなくても、投票したすべての人に報酬が配分されます。
承認者の数が限られているため、PoWやPoSに比べて高速な取引処理が可能な点も特徴です。また、承認者が不正を働いた場合には通貨保有者の投票によって交代させられるため、ネットワークの健全性を保つ仕組みも備わっています。
今回は、ブロックチェーンを支えるコンセンサスアルゴリズムについて解説しました。コンセンサスアルゴリズムは取引の正当性を検証し、合意形成するための重要な仕組みです。
今回紹介した3種類のコンセンサスアルゴリズムについておさらいしておきましょう。
PoW:計算問題を解くことで取引を承認する
PoS:通貨の預け入れ量に応じて取引の承認権が与えられる
DPoS:通貨保有者の投票によって承認者を選出する
それぞれのアルゴリズムには特徴があり、ブロックチェーンを活用する際には、サービスの要件に合ったものを選択することが重要です。本記事を通じて、コンセンサスアルゴリズムへの理解が深まり、ブロックチェーンの可能性を探るきっかけになれば幸いです。