コンセンサスアルゴリズムとはPoW, PoS って一体なに?

Technology

PoW, PoS って一体何???

導入

分散型台帳技術(Distributed Ledger Technology)(以下、「DLT」)や暗号通貨に欠かせない技術であるコンセンサスアルゴリズムを聞いたことはありますか??

最大の市場価格を誇るBTCを受け取る際に「マイニング」と呼ばれる作業があることは多く知られていますが、これがコンセンサスアルゴリズムのひとつです。

それではコンセンサスアルゴリズムについて詳しく見ていきましょう。

Point

  • コンセンサスアルゴリズムはDLTの基幹技術
  • データベースに新しく情報を追加する際の合意形成に用いる
  • プライベート型・コンソーシアム型DLTでは「PBFT」
  • パブリック型DLT(多くの暗号通貨)では「PoW」や「PoS」が用いられる

概要

コンセンサスアルゴリズムはDLTにおいて、情報の確からしさをそれぞれのノードが検証し、それを承認する際に用いられるアルゴリズムのことです。

DLTにはその用途によって多くの種類がありますが、同様にコンセンサスアルゴリズムにも多岐にわたる種類があります。

その中でも伝統的な多数決を用いたアルゴリズムが「PBFT」、情報の処理能力によって情報を保証するアルゴリズムが「PoW」です。さらに「PoW」を改良したものが「PoS」と呼ばれています。それぞれの説明やさらなる種類の説明は少し後で説明します。

DLT(Distributed Ledger Technology)については以下を参照

分散型台帳技術(DLT)とは【解体新書】
分散型台帳技術(DLT)はBitcoinに用いられた技術の汎用型 台帳を複数で分散管理することで障害耐性、可用性を向上 ブロックチェーン技術として高い改竄耐性、トレースバック能力を保持

定義

コンセンサスアルゴリズムは日本語で「合意手続き」と言う意味です。

情報をブロックにまとめ、それぞれに連続的な関係を持たせたデータ構造をブロックチェーンと言います。

ブロックチェーンでは新しい情報をブロックに記述する際に、その情報が本当に正しいかどうかを検証し、それが承認・合意される必要があります。

この合意の際に用いられるアルゴリズムがコンセンサスアルゴリズムです。

歴史

コンセンサスアルゴリズムの歴史は1980年に遡ります。コンセンサスの研究に関して避けては通れないビザンチン将軍問題がこの頃に提唱され、コンセンサスアルゴリズムの基礎が作られました。このビザンチン将軍問題とは、全会一致制の多数決において裏切り者がいれば攻撃作戦ができないことを例にして、ネットワーク上に1台でも故障しているものや不正を働くものがあれば合意形成ができず、ネットワークが機能しない問題を仮定したものです。詳細なビザンチン将軍問題の仮定は以下の通りです。

ビザンチン帝国の将軍たちがある都市を包囲していると仮定する。将軍たちはその都市を攻撃するか、撤退するかを合意したい。攻撃が成功するためには、全員で攻撃する必要がある。将軍たちは互いに遠く離れており直接通信ができないため、使者を送ってメッセージを届けるものとする。ただし、将軍の中には裏切り者がいて、合意を妨害しようとするかもしれない。また、使者がメッセージを届けるのに失敗する可能性がある。メッセージが改竄される可能性もある。この状況のもとで、もし忠実な将軍たちの意見が(たとえば攻撃に)一致している場合に、彼らは正しい合意(攻撃)に至ることが可能であるか。

この問題は中央管理者を持たないDLTで起きる問題であり、決定が下せない状況を回避する合意手続きが研究された。この際に提唱されたのが、PBFT(Practical Byzantine Fault Tolerance)と呼ばれるビザンチン耐性を持ったアルゴリズムです。

PBFTは多数決を基にしたアルゴリズムであり、ネットワーク参加ノード数が特定されている状況下で使用可能です。そのためこのアルゴリズムはプライベート型・コンソーシアム型DLTでの適用が多く、パブリック型には適しません。

その後2000年台に入り、パブリック型DLTに適するコンセンサスアルゴリズムが提唱され、それらを用いた暗号通貨が台頭するようになりました。

特徴

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

  • PBFT(Practical Byzantine Fault Tolerance) 多数決を基にしたコンセンサスアルゴリズム ノードの総数をN,裏切り者の数をfとした時、メッセージの送受信に関する条件をいくつか仮定すればN>=3f+1 のとき合意を得ることが可能であるという理論に基づいたアルゴリズム。
  • PoW(Proof of Work) 作業を伴う承認作業を必要とするアルゴリズム 一度きりの乱数を作成し、そのハッシュ値を求める作業を繰り返す。 ハッシュ値が任意の値以下になるまでその作業を繰り返し、最も早く正しい処理をしたノード(マイナー)に報酬を付与する。
  • PoS(Proof of Stake) 暗号通貨の所有によって承認作業を割り当てるアルゴリズム ****暗号通貨の保有量が多いほど承認作業に対する役割が割り当てられる確率が高い。 連続した承認作業に制限をかけたり、暗号通貨の保有期間が考慮される種類もある。
  • PoI(Proof of Importance)
    暗号通貨NEM/XEMで採用されているコンセンサスアルゴリズム
    暗号通貨の保有量に加えて取引回数などを鑑みた上で承認作業を割り当てるアルゴリズム PoSの問題点である中央集権化に対して、保有量だけでなく流動性を配慮した仕組みをとる。
  • PoC(Proof of Consensus) リップル社(Ripple inc.)が管理する中央集権型のコンセンサスアルゴリズム リップル社が指定するバリデーターと呼ばれる承認者の多数決によって承認作業を行う。

利点

  • PBFTは他のコンセンサスアルゴリズムに比べてファイナリティが保証されやすい
  • PoSはPoWに比べて承認の速度が速い
  • PoIはPoSの問題点である中央集権化に配慮

欠点

  • PoWはコンピュータの計算能力によってデータの確からしさを保証しており、電力消費量が莫大
  • PoWは全体の51%の計算能力を掌握することができれば、任意のブロックを作成することができる(51%問題)
  • PoSは承認作業が大規模投資家などの大型保有者に偏ること

活用事例

暗号通貨はには多くの種類がありますが、コンセンサスアルゴリズムもそれぞれで異なります。

主要な通貨を適用しているコンセンサスアルゴリズム毎に仕分けた結果が以下です。

  • PoW(Proof of Work) BTC(ビットコイン), BTH(ビットコインキャッシュ), LTC(ライトコイン), ETH(イーサリアム), ETC(イーサリアムクラシック), MONA(モナコイン), DOGE(ドージコイン)など
  • PoS(Proof of Stake) ETH2.0(イーサリアム2.0), WTZ(テゾス), TRX(トロン), ATOM(コスモス), ADA(カルダノ), SOL(ソラナコイン), DOT(ポルカドット)など
  • PoI(Proof of Importance) NEM/XEM(ネム)
  • PoC XRP(リップル)

まとめ

いかがだったでしょうか。暗号通貨に用いられるコンセンサスアルゴリズムに関して、正しい知識を提供することができていたら幸いです。

最後にコンセンサスアルゴリズムのPointを見ていきましょう。

Point

  • コンセンサスアルゴリズムはDLTの基幹技術
  • データベースに新しく情報を追加する際の合意形成に用いる
  • プライベート型・コンソーシアム型DLTでは「PBFT」
  • パブリック型DLT(多くの暗号通貨)では「PoW」や「PoS」が用いられる

参考

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

PoS(プルーフ・オブ・ステーク)の概要とメリット・デメリット – 【DMMビットコイン】暗号資産(仮想通貨)ならDMM Bitcoin

ブロックチェーン技術の最新動向:4 分散型台帳におけるコンセンサス・アルゴリズムhttps://www.boj.or.jp/paym/fintech/rel161128a.pdf

コメント

タイトルとURLをコピーしました