-Understanding Proof of Stake-プルーフ・オブ・ステークを理解する

-Understanding Proof of Stake-プルーフ・オブ・ステークを理解する

著者:Abhishek Sharma (Jan 2018)

最近、暗号通貨のコミュニティでは、Proof of Stakeと呼ばれるコンセプトが話題になっています。コミュニティの多くの人は、この概念をブロックチェーン技術の進化における次のステップと考えていますが、一方で、根本的な欠陥があり、主流になるべきではないと考える人もいます。私は最近、この技術について自分自身を教育することにしました。そして、この技術に対する批判を深く理解することで、Proof of Stakeを根本的なレベルで理解することができました。ブロックチェーンでは、アイデアの詳細は実装する人に委ねられる部分が多く、その人の判断が技術の利用方法に著しい影響を与えることがあります(例:ビットコインの1MBのブロックサイズ制限)。しかし、ある種の構造には、それがどのように実装されているかに関わらず、問題が発生することもあります。このような問題点を理解することで、プルーフオブステークのコンセプトをより深く理解することができます。

<訳注:ここは読み飛ばしても大丈夫です>

まず、Proof of Stakeとは何か、どんな問題を解決しようとしているのかを簡単に説明します。これは以前にも行われたことがありますが、私は怠け者なので、簡単に説明します。このトピックのより良い取り扱いについては、こちらを参照してください。Proof of Stakeが解決しようとしている問題は、エネルギー消費に関するものです。ブロックチェーン技術に少しでも詳しい方であれば、プルーフ・オブ・ワークは、誰が支払いを検証し、その結果をネットワークに送信するかを決定するために使用され、見返りとして素晴らしい「ブロック・リワード」と、トランザクションを提出する人々が提供するトランザクション・フィーを得ることができることをご存知でしょう。プルーフ・オブ・ワークとは、マイナーがブロック報酬を得るために解かなければならない、難易度の高い計算パズルの名称です。マイナーは計算能力を高めるために多大な努力を払っており、中国のセンターには数百万ドルもの機器が設置されている。グラフィックカードメーカーは、このパズルを他のカードよりも速く解けるように調整された専用のハードウェアを開発しています。ある試算によると、これらのパズルを解くために年間32兆円のエネルギーが使われており、これはデンマークの電力に相当します。さて、この状況の経済性は、ビットコインの価値が高くなればなるほど、採掘者はより多くのエネルギーを使用したいと考えるようになります。この状況には負の外部性が含まれており、ビットコインの採掘が儲かれば儲かるほど、環境に悪い影響を与えることになるのです。

プルーフ・オブ・ワークの問題はそれだけではありません。高価な専用のマイニングハードウェアが登場したことで、より専門的なマイニングハードウェアを購入できる資本力のある人には規模の経済が働くようになりました。ビットコインコミュニティのブギーマンは、少数の強力なマイナーがすべてのハードウェアを支配し、彼らが施行するどんなルールも受け入れることを私たち全員に強いることができるという状況です。

では、そもそもなぜプルーフ・オブ・ワークが必要なのでしょうか。その答えは、プルーフ・オブ・ワークが極めて実用的だからです。取引を検証しようとすると金銭的なコストがかかるという事実は、プルーフ・オブ・ワークの最大の資産であると同時に最大の弱点でもあります。ネットワークへのメッセージ送信(少なくとも他のノードが受け入れるようなメッセージ)にはコストがかかることを意味し、見た目は有効だが意味のない偽のブロックを自由に送信できる場合にネットワークが受ける可能性のある、あらゆる種類のサービス拒否攻撃を防ぐことができます。

Proof of Stakeの登場です。Proof of Stakeの大きな革新点は、ネットワークの基盤となるマイニングパワーをブロックチェーンの外にあるものから、チェーン自体に移したことです。プルーフ・オブ・ステークでは、資産そのものが「シミュレートされた採掘装置」となり、「ステーク」されれば、受動的に収入を得ることができます。

詳細は省きますが、要するにProof of Stakeとは、ネットワーク上の特別な取引を通じて自分のコインを「ステーク」し、そうすることでネットワーク上の次のブロックをマイニングしてマイニング報酬を得ることができるというシステムです。欠陥のあるブロックを提出したり、コインを二重に使おうとしたりすることはできません。ブロックを検証している間、自分のコインは「ステーク」された状態のままなので、誰かが不正行為をしたことをネットワークに証明すれば、すべてのコインを失うリスクがあるからです。

このシステムは完璧に見えます。また、ネットワークによって次のブロックをステークするように選択された人からしかブロックを受け取らないので、サービス拒否攻撃も不可能です。また、コインのステークは実際の資源を使用せず、デジタル資源のみを使用するため、暗号による環境への負荷をゼロに近づけることができます。最初にこれを読んだとき、完璧なシステムのように思えました。

しかし、Proof of Stakeを使用する暗号通貨には、重大な欠陥があります。実際、現在取引されているプルーフ・オブ・ステークを採用したコインは数多くありますし、Ethereumのアップデートとして提案されているCasperという名前を聞いたことがある人もいるかもしれませんが、これらのコインはすべて、著しく異なる方法でこれらの問題に対処しています。

この欠陥の核心は、ブロックチェーンにおける「コンセンサス」の社会的性質にあります。

ブロックチェイナーは「コンセンサス」を、ブロックがブロックチェーンに追加されるプロセスを指すために使用します。もし、2人の異なるマイナーが同じブロックを同じ時間に検証し、そのブロックをネットワークにブロードキャストした場合、その瞬間にブロックチェーンの2つのバージョンが同時に存在することになります。ビットコイン(およびほとんどのプルーフ・オブ・ワーク通貨)では、この問題を解決するために、より長く、より速く成長した方のチェーンを受け入れることにしています。このように、どのチェーンが「メイン」のチェーンであるかを決定する方法は「コンセンサス」のメカニズムと呼ばれ、ビットコインやその他の暗号通貨にとって非常に重要なものです。もし、ビットコインのブロックチェーンがたくさんあって、どれを使えばいいのか誰にもわからなかったら、通貨は使い物になりません。

しかし、ここで理解しておきたいのは、コンセンサスの仕組みは、ビットコインのクライアントに成文化されているとはいえ、それを使う人たちが強制する社会的な規範に過ぎないということです。その気になれば、最長のチェーンを受け入れる代わりに、取引数の多いチェーンや「1」という数字が最も多く現れるチェーンを受け入れるなど、別のことをするビットコインクライアントをコード化することもできるでしょう。しかし、他の人が皆、別のコンセンサスの仕組みを使っていたら、誰も私のクライアントと対話しないので、私がこのようなことをしても意味がありません。

"Nothing at stake"という問題は、Proof of Stakeブロックチェーンの特定のバージョンに投票することは、リソースを必要とせず、したがって機会費用がないという事実に基づいています。採掘者が他のチェーンを排除してどのチェーンに採掘力を向けるかを選択しなければならないプルーフ・オブ・ワークとは異なり、採掘者は存在するプルーフ・オブ・ステーク・ブロックチェーンのすべてのバージョンにコインを賭けることができます。特定のチェーンでのマイニングには機会費用がかからないため、マイナーは「何も懸けていない」ことになります。そのため、合理的なマイナーは、競合するすべてのブランチでマイニングを行い、得られるマイニング・リターンの量を最大化すればよいのです。

Vitalikはエッセイ「On Stake」の中で、nothing at stakeの問題に対処する2つの方法を紹介しています。

  1. あるブロックに「同時に」投票した人、つまり2つの異なるバージョンに投票した人にペナルティを与える方法をプロトコルに導入する。
  2. 二重投票かどうかに関わらず、間違ったブロックに投票した人にペナルティを与える方法をプロトコルに導入する。

Proof of Stake通貨の中でも、それぞれが「Nothing at Stake」の問題を若干異なる方法で処理しています。

 CASPERでは、「間違った投票ペナルティ」をプロトコルに導入することで対処しています。これは、マイナーが間違ったチェーンに投票した証拠をユーザーが提出することで、そのマイナーが間違った投票をした場合にペナルティを与えるというものです。Peercoinでは、自分のコインのステークが長ければ長いほど、次のブロックを採掘できる可能性が高くなります。Peercoinクライアントは、「最もコインエイジが消費された」チェーン、つまり、各ブロックに賭けられたコインの合計数と、それらのコインが賭けられていた時間の合計が最も高いチェーンを使用します。NXTクライアントは、ブロックリワードを一切持たず、単にトランザクションフィーで処理を決定することでこの問題に取り組んでいます。さらに、NXTクライアントは、チェーンのコンセンサスを得るために「累積難易度」と呼ばれるものを使用しています。

もう一つの興味深いアプローチは、ダニエル・ラリマーが提案した「Transactions as Proof of Stake」と呼ばれるもので、トランザクション自体がブロックチェーンを構築するために使用され、送信者が「マイナー」として機能するというものです。この場合、攻撃者は自分の取引が1つのチェーンにしか存在しないようにするというインセンティブが働くため、「二重投票」の問題は発生しません。もちろん、この方法ではスケールメリットがありません。

PoSクライアントは、短期的には二重投票などのペナルティを課しますが、チェーンの始まりにいた個人がブロックチェーンの履歴をすべて戻して、一見有効に見える新しいチェーンを始めるのを止めることはできません。事実上、現存する、あるいは過去に存在したブロックチェーンのすべてのバージョンは、基礎となるプロトコルがそれを可能にするならば、独自のチェーンとして復活し、実行することができます。

Proof of Stakeチェーンでは、初期の段階では、コインを賭けた比較的少数のマイナーグループが存在します。より多くのユーザーがチェーンに参加し、基礎となる資産を手に入れると、マイナーのプール、すなわちコインを賭けたユーザーが大きくなります。しかし、後になって、元々の少人数のマイナーが集まって、チェーンの初期バージョンに戻って「復活」させることができます。その後の段階では、彼らだけがブロックを採掘することができるので、すぐにそのチェーンの資産の大きなシェアを握ることになります。また、Proof of Stakeチェーンの成長率には制限がなく、選ばれたマイナーが次のブロックを採掘するのにかかる時間だけが制限されるため、これらのチェーンは突然、非常に長くなります。

例えばCasperやNXTなどのほとんどのクライアントは、プロトコルにおいて、ある範囲の先行ブロック(NXTの場合は720)を持つブロックのみを論争の対象とし、それ以外のブロックは「メインチェーン」の一部とすることを要求することで、遠回しにこの問題に対処しています。しかし、これでは単に問題の範囲が変わってしまいます。このプロトコルでは、ノードが以下のような場合に未定義の動作をします。

  1. 指定した「ウィンドウ」の時間を過ぎてから再びオンラインに復帰する場合
  2. はじめてオンラインになった場合

例えば,Peercoinは,「正当な」チェーンのハッシュを毎日ブロードキャストすることで,この問題を回避しています。 NXTは、過去720ブロック以上の変更をクライアントが自動的に拒否するため、長距離攻撃を受けないとwikiに記載されており、この問題を無視しています。しかし、これは単に、ネットワークのかなりの部分が過去720ブロック以前に攻撃を受けることはないと確信していることを意味しています。しかし、この問題の存在は認めています。"任意のアカウントが独自のブロックチェーンを生成してブロックチェーンをコントロールする確率が極めて低いため、トランザクションは現在のブロックの高さから10ブロック遅れたブロックにエンコードされた時点で安全とみなされます。" Vitalikは、CASPERが正しいブロックハッシュをブロードキャストするために、信頼できるノードに依存する必要があることを認めています。

これらの2つのケースは、「弱い主観性」と呼ばれるものにつながります。

"Weak Subjectivity:弱い主観性 "とは、初めてオンラインになったノードが、有効なチェーンのハッシュ値を信頼できるソースに尋ねなければならないという考え方です。これは、多くの人がブロックチェーン技術の「キラーアプリ」と考えている、ブロックチェーンのトラストレスな性質を完全に損なうものです。すべてのプルーフ・オブ・ステーク・ブロックチェーンはこの問題を抱えています。

ビットコインが誕生した理由のすべては「信頼」でした。ブロックチェーン技術の基本は、銀行や政府などの信頼できる第三者に頼らなくても、ネットワークにトランザクションを送信すれば、それが台帳の一部になることがわかるということです。それなのに、Proof of Stakeを提唱する人たちは、資源の使用量を減らすという名目で、再び第三者を信頼することを主張しています。これは、私たちが知っているブロックチェーンの基盤を危うくしているように思えます。

しかし、プルーフ・オブ・ステークのFAQの中で、ヴィタリクは、弱い主観性がブロックチェーンをそれ自体で危うくする可能性が非常に低いという論点を提示しています。

 "弱い主観性がそれだけでブロックチェーンの安全性を損なうような状況を考えてみましょう。このような世界では、強力な企業や国家のアクターは、コミュニティ全体に、ブロックハッシュBがブロックXXXXYYYのブロックハッシュであると何らかの方法で信じ込ませる能力を持っていますが、そのような強力なアクターは、何らかの理由で、ユーザーがクライアントソフトウェアをダウンロードする場所と異なる場所を受け入れるように騙す能力を持っていません。"

結論

Proof of Stakeは、ブロックチェーンの「基盤」をオフチェーンの資産からオンチェーンの資産に移し、基本的にマイニングコストをゼロに近づけるということを見てきました。

この変化をどう感じるかは別として、暗号通貨のプロトコルは基本的にすべてトレードオフの中で機能していることを理解していただければと思います。Proof of Stakeは、ビットコインのマイニングにかかる外部コストを取り除くことで、マイニングのインセンティブ構造を変え、単一のブロックチェーンを持つことの保証を減らします。マイニングコストと、ブロックチェーンの他の参加者に要求される信頼のレベルとの間には、明確なトレードオフがあるようです。

暗号通貨の膨大な資源消費を抑制したいのであれば、数学的な証明ではなく、お互いを信頼することが再び必要になるかもしれません。

Remaining : 0 characters / 0 images
10,000

Sign up / Continue after login

Related stories

Writer

購入されたポイントは返金する可能性が高いです(クソリプ防止)

Share

Popular stories

"ビットコインは唯一の出口"

188

貨幣における支配と隷属 <前編>

55

ビットコインの心臓部に空いた"穴"の知られざる物語

50