【The Staking 研究レポート】第一部 コンセンサスアルゴリズムの選択ー合意形成の仕組みへ

2019-10-30

The Staking

 ビットコインが10年間に渡って安全な稼働を成し得ていることで、PoW(プルーフ・オブ・ワーク)の安定性を証明した。しかし、ハッシュ値を計算するために大量の電力を消費するデメリットが従来から指摘されている。既存の調査によると、ビットコインのマイニングで消費された電力が、既にスイス国内の電力使用量を上回り、世界電力使用総量の0.21%を占めていた。そこで、PeercoinをはじめとするPoS(プルーフ・オブ・ステークス)を採用するプロジェクトが人目を引いた。
 近年、PoSを採用するプロジェクトが増えており、2017年にVitalik氏がイーサリアム2.0においてCasper(バージョンアップのPoS)を採用する意思を表明したことは、業界がPoSに注目する傾向を更に強くした。例えば、Cosmos、Polkadot、Algorandといった人気プロジェクトもPoSを採用している。Stakingの概念は、単語の「Stake」から由来し、PoSを採用するプロジェクトでの保有する権利により収益を取得する一連の行為を指す。このような背景のもと、Stakingが新たなビジネスモデルとして知られるようになった。
 本文では、PoSとStakingに注目し、その仕組み、ビジネスモデル、業界現状及び問題点を概述することを目的とする。なお、各プロジェクトには、差異が存在するため、個別研究に留意する必要がある。

第一部 コンセンサスアルゴリズムの選択ー合意形成の仕組み

1.1 コンセンサスアルゴリズムとは
1.2 各コンセンサスアルゴリズムの比較
1.3 コンセンサスアルゴリズムの応用

1.1 コンセンサスアルゴリズムとは

P2Pネットワークに基づいたブロックチェーン技術には、中央集権制の管理センターが存在せず、各ノードが協同してシステムを維持する点が特徴である。一方で、機能をうまく実行できなくなったり、嘘の情報を送ったりするというノードが存在する可能性もある。そこで、ネットワークを正常に稼働させるため、ノードにインセンティブを与えて共通する意味を伝える仕組みが求められる。このような仕組みをコンセンサスアルゴリズムと呼ぶ。

現在、主流なコンセンサスアルゴリズムにPoW、PoS、BFTという3種類が取り入れられている。また、設計需要によって、さらに数十種類までに分類可能である。コンセンサスアルゴリズムは、種類に関わらず大体以下の三つの流れでシステムの合意が形成していく。

ブロックを生成するノードをランダムに選出すること
選ばれるノードはブロックを生成し、ネットワークにその情報を流すこと
ほかのノードが流されたブロックの情報を認証し、承認した後に、次回の合意形成に進むこと

PoWとPoSには、主に①について、大きな差異がある。その際、ブロックを生成するノードをどう選ぶのか、という問題が重要である。そのため、コンセンサスアルゴリズムの根本的な問題は、ノードが選ばれるランダム性を確保することだと言えるだろう。この点はシステムの独立性、予測不可能(第三者による操作リスクを除外する意味)といった特徴が備わっている。

また②と③については、複雑な通信過程を介して実行する必要がない。例えば、PoWにおいてはNonce値を承認すれば、ブロックの認証が成立する。これに対して、PoSもそれに類似している。しかし、BFT類のコンセンサスアルゴリズムにおいては、少なくとも3分の2のノードによる署名認証が必要なため、各ノードには膨大な通信交換*1が必要となる。つまり、pBFTにおいて、既存の通信速度でノードが100を超えると、コンセンサスの効率は大幅に低下する恐れがある。このような理由に加えて、パブリックチェーンにpBFTを直接応用するのが難しい。

パブリックチェーンのプロジェクトである「Zilliqa」は、pBFTにおけるPrepareとCommitの段階に対する改良を加えたことで、通信の難易度はO(n^2)からO(n)まで下がったが、ブロックの認証について依然として3分の2のノード(ノード数に依存する)の承認が必要とされる。

パブリックチェーンにとって、ノード数は非常に重要で、より多くのノードの加入によってパブリックチェーンの価値も向上する。そのため、ノードにインセンティブを与える仕組みは非常に重要となっている。通常の仕組みにおいては、ブロックを生成する権利のあるノードに「仮想通貨・トークン」を付与することで実現する。つまり、PoWの場合では、マイニングと呼ばれる方法でブロックを生成する。PoSの場合では、該当する仮想通貨を保有し、Stakingに参与することでブロックを生成する。一方で、「pBFT」においては、それに相応しいインセンティブの仕組みが整備されず、ほかの仕組みと併用するのが一般的だと考えられている。

1.2 各コンセンサスアルゴリズムの比較

各コンセンサスアルゴリズムの違いを提示するために、以下の図1-1を作成した。


図1-1(出典:TokenInsight)

PoWのマイニングに対して、PoSが直面する課題は早期段階でのトークンの分配にある。「Staking」に参加することでトークンを取得するという前提があるため、トークンをごく一部の機関や個人だけに分配すると、中央集権制になるリスクが考えられる。また、ブロックチェーンの分岐が生じた後、大量のトークンを保有する早期投資家が共謀し、新たなブロックチェーンへのロング・レンジ攻撃(Long-Range Attack)を実施することも可能となる。このような脅威を抑えるため、多く対策が摸索されている。例えば、Polkadot上にあるプロジェクトEdgewareでは、所定のETHをコントラクトアドレスにロックアップする必要がある。

また、ブロックチェーンの安全性を確保する一環として、シビル攻撃(Sybil Attack)と呼ばれる不正行為の防止がある。シビル攻撃とは、一つのノードが複数のノードに偽装し、複数のデータを保存しているという偽情報を伝えることで、ブロックの形成に有利な条件を不正に取得することを指す。対策方法について、参入障壁のないPoWにおいてはがマイニングがあり、PoSにおいては、「Staking」を通じて実現する。               

さらに、ブロックチェーンの安全性はデータの冗長化に関連している。つまり、ブロックチェーンに参加するノード数が多いほど、改ざんするコストや難易度が上がり、ブロックチェーンの安全性も向上する。しかし一方で、ノード数が多くなるというのは、通信過程が複雑になったり、合意形成にかかる時間が長くなったりする側面がある。そのため、PoWやPoSを問わず、ブロックチェーンの稼働を維持するための合理的なノード数の確保と一定の性能を保つという点も求められる。

BFTの場合では、ノード数を厳しく制限するため、PoWとPoSよりも効率・性能がよいと考えられている。また、3分の2のノードの承認があれば、ブロックの生成が可能となり、ブロックチェーンのフォークが発生しないという特徴がある。

1.3 コンセンサスアルゴリズムの応用

前述のように、各仕組みにはそれぞれの違いがある。PoWは安全性の高い仕組みとして、トークンの分配にその有効性を発揮できる。だが、無駄なエネルギーを消費することや性能が低いといった欠点もある。また、ビットコインを除けば、PoWを採用する多くのプロジェクトは、早期段階でのノード数が少ないため、51%攻撃を受けやすい傾向が見られる。それに対して、PoSは、無駄なエネルギーを消費することがなく、トークンエコシステムの構築を促進できるが、効率・性能が大幅に改善されず、マタイ効果、早期トークンの分配問題、ロング・レンジ攻撃にも脅かされている。さらに、BFTは高い性能を持つものの、合理的なインセンティブ制度がまだ整備されていない。そのため、現段階では複数のコンセンサスアルゴリズムを併用し、相互補完するのが一般的だと考えられている。

1.3.1  多層アーキテクチャにおける応用

パブリックチェーンにおける多層アーキテクチャは、性能と相互運用性に用いられている。最初の階層(Layer)の機能としては、他の階層が取り扱う取引情報やブロックを認証するところにある。多層アーキテクチャは、一つのメインチェーンと複数のサブチェーンによって構成されるため、通常では、メインチェーンがPoWとPoSを採用し、サブチェーンが性能の向上のために、BFTを採用することが多い。ほかの機能を実現するには、実際の需要に合わせてコンセンサスアルゴリズムを選択すればよい。

1.3.2 単層アーキテクチャにおける応用

パブリックチェーンにおける単層アーキテクチャは、各コンセンサスアルゴリズムを併用し、相互補完する傾向がさらによく見られる。Cosmosのコンセンサスアルゴリズム、Tendermint(本名称:BFT Based PoS)の場合では、まずPoSで認証ノードを選び、次に認証ノードにおいてはBFTを実行することで、性能の向上が実現する。例えば、Zilliqaは、シャーディングの実装によって知られており、pBFTを実行することで性能を高める。また、ネットワークの全体においてPoWを定期的に実行し、シビル攻撃を防止するほか、PoWのランダム性によってDS委員会が選出されることにも活用する。

第一部のまとめ

第一部では、各コンセンサスアルゴリズムについての特徴や違いを簡単に紹介した。現時点では、いわゆる完璧な合意形成の仕組みがまだ存在しないため、各プロジェクトは実際の需要に応じ、異なるコンセンサスアルゴリズムを併用して問題を解決していくのが一般的だと言えるだろう。

では、これまでの内容を理解した上、次回は「PoS類のコンセンサスアルゴリズムとStakingの原理」について解説していく。


*1:pEFTにおける通信の難易度はO(n^2)レベルに達する
*2:格差の拡大

この記事をシェアする:
Related Article

あわせて読みたい関連記事

COLUMNS

コラム

すべてのコラムを見る