"独占戦略"に脆弱な分散合意アルゴリズム「PoS」

Published: January 15, 2018

※本記事を読了後、PoSのNothing at Stake問題などを踏まえ、新しい合意アルゴリズムを作ろうとする”Algorand"の記事の読了を推奨します。


プルーフオブワーク(PoW)マイニングは、あまりに地球に優しくありません。世界中の寒冷かつ余剰電力のある地域にビットコインマイナーが殺到し、電気使用量を押し上げています。興味深いことに天文学者等の科学者が研究用のGPUを確保できない事態に陥っています(2/2018時点)。マイニングが低価格帯のグラフィックカードの価格を高騰させているせいです。

プルーフオブワーク(PoW)は非効率です。ハッシュレートは驚異的なレンジに達しており、この計算を行うASICは大量の電力を消費します。費やされたマシンパワーとスループットには相関がなく、PoWが課す競争がコストだけを引き上げます。膨大なコンピューティングリソースと電力をどぶに捨てていると言っても過言ではありません。

PoWはスループットに明確な限界を設定します。これが”スケーラビリティ問題”の種なのです。ビットコインはPoWを改良するのではなく、PoWを基層としてレイヤーセカンドを開発していくことに舵を切っています。

プランB: Proof of Stake

裏を返すと「ビザンチン将軍問題」を解ければいいのです。それももっとPoWに帯びるおびただしいコストを削減した形で達成したいと考えるのは自然です。Ethereumは、特定の条件が満たされたときに実行されるスマートコントラクトを可能にします。これはEthereumにはビットコインよりももっとトランザクション処理能力を高速化しないといけないことを意味しています。すでにEthereumのトランザクション処理はビットコインを上回っており4倍のレンジで推移しています。

このためEthereumはPoSの採用に動いています。PoSはあなたがどれだけのステークを賭けたかに基いた確率で報酬を獲得できる仕組みです。あるいは、”あなたが新しいブロックを生成する権利を獲得する確率が、コインの持ち分に応じて変化する”仕組みです。つまり「持てる者」に有利な”仕組みです。

PoSはPoWに比べブロックの検証プロセスが非常にシンプルでブロック生成時間を短縮できます。PoSは暗号通貨コミュニティにとって大きな関心事でした。最初のPoSベースのコインは2012年に作られたPPCoinです。しかし当時のPoSは不完全でした。その後も議論が続けられてきました。近年はPoSを唄うチェーンが多数生み出されており、 Ethereumもまた挑戦をしているのです。

PoSは”モノポリー”

PoSはどのようなエコノミクスをもたらすでしょうか。PoSでは、多くのコインを持っているユーザが取引の検証プロセスにおいて悪意のある行動を起こす動機がない、と想定します。PoSでは多量のコインを保有する「金持ち」はより金持ちになる、そういうループが生まれます。お金持ちが次のブロックを生成する人になれる確率が高く、もたらされた報酬がお金持ちにさらなるお金をもたらすのです。

しかも大型コイン保有者はコインを増やす過程で余りリスクを負いません。コインをホールドしているだけです。PoWではマイナーはASIC、電気代、そして規制当局の機微などのコストを負担した上で採掘報酬を得ていますが、PoSでは大量保有者は何もしないでいても、ステークした残高に応じて鋳造(Minting)報酬を得ることができるのです。

あたかもボードゲームの「モノポリー」のように大口保有者が「独占」を競合ゲームになる可能性があります。ブロックチェーンエコシステムは事実上法定通貨とその交換レートに依存しています。小口保有人には利の薄いPoS通貨には手放すインセンティブが働きます。法定通貨建ての価格の下押し要因になり、エコシステムの持続可能性を圧迫します。

NEMという”自然実験”

※筆者注:この記事は2018年2月に執筆されました。その後NEMではさまざまな事が起きました。関心のある人は自分で調べてみることをおすすめします。

PoSコインと類似する性質をもつNEMで起きたことはPoSの導入で起きる何が起きたかの自然実験です。もちろん細かい条件は違いますが、比較検討することに十分な意味があります。NEMはPoI (Proof of Importance)と呼ばれるコンセンサスアルゴリズムを採用しています。「重要度スコア(importance score)」に基いてコインを分配する仕組みです。しかし、実際には保有量が一番大きな要素であり、大量保有者に著しく有利です。PoIはPoSの改悪と指摘されています。

NEMでは暗号通貨界隈の新規参入者が拡大した2016年5〜6月と2017年12月〜2018年1月の期間に大きなPump&Dumpが起きています。推測に過ぎませんが、大量保有者のグループがこのPump&Dumpを仕込み、上記の状況を知らない新規参入者を搾取した可能性があります。

chart-1-2

もちろんPoS通貨でこのような行動が必ずとられると断定できるわけはありません。しかし、大量保有者には新規参入者に対して優越し、明らかにフェアではない行動をとるインセンティブが働くのは明らかです。

次はPoSの問題を確認していきましょう。

流動性

PoSは”ブロックを生成する確率がコインの持ち分に多さに応じて上昇する”仕組みを採用しています。できるだけ利用せず溜め込んでおくことが、ホルダーにとって正しい戦略です。しかし「溜め込み」は市場から流動性を奪い、暗号通貨の基本機能であるペイメント(支払い)を圧迫します。

Nothing at Stake問題

  • PoWの場合、マイナー報酬は経済資源(計算力)の投下量に依存します。自分の投資を確かにするため、マイナーには正しいチェーンにコストを投入するインセンティブが働きます。
  • PoSの場合、PoWと異なり、ネットワークの運営プロセスには多量のコストが必要ではありません。必ずしも正しいチェーンを支持するインセンティブがありません。コイン保有者は分岐したふたつのチェーンに同時に賭けることができ、事態を収集する動機をもちません。
  • システムを開始した者は何度でも”リセット”できます。ジェネシスブロックの時点で、「開始者」の持ち分は100%です。その他の参加者も自分の持ち分がある地点に戻って、チェーンを分岐してしまうことが可能です。
  • 攻撃者がいる場合、攻撃者は利他的なノード(元のチェーンに専念する)の力を超えさえすればいいのです。合理的なノードは元のチェーンと攻撃者のチェーンの両方に投資すると想定するためです。これは攻撃者は利他主義者と合理的なノードの両方を圧倒しなければならないPoWとは対照的です。

低コスト51%攻撃

PoSでは、コイン保有者には溜め込むインセンティブが働くため、51%攻撃が困難になると説明されています。しかし、以下のような戦略に対して脆弱かもしれません。

  • 攻撃者はコインの51%を買える資金を証明をしつつ、買うと公表する
  • ホルダーは攻撃が開始されると想定し、コインを売る。コインの価格が下る。
  • 攻撃者は安くコインを買い占める

ステークグラインディング攻撃

「ステークグラインド」は、バリデータが計算を実行するタイプの攻撃であり、ランダム性を自分たちの好みに偏らせようとする何らかの他のステップをとっています。例えば、攻撃者は少量のステークを持ち、ブロックチェーンのブロックの中から、ステークがブロック生成を獲得した場所を見つけます。そこから連続して勝利したことを偽装するために、再び自分が賭けに勝つまでのブロックのヘッダーを修正することを試みます。

ロングレンジ攻撃

ロングレンジ攻撃とは、攻撃者が”古い”鍵を持っていて、イベントに相当するバージョンを作り出すために、その鍵を使う攻撃。攻撃者はその古いブロックからブロックチェーンを分岐させ、そのチェーンをメインチェーンより速いペースで伸ばし続けることでメインチェーンを乗っ取ろうとします。

※本記事を読了後、PoSのNothing at Stake問題などを踏まえ、新しい合意アルゴリズムを作ろうとする”Algorand"の記事の読了を推奨します。


参考

eyecatch image via kisspng/Rich Uncle Pennybags