The History of Casper – Chapter 2

Casperの歴史第2

この章では、2014年秋に行われたゲーム理論と経済セキュリティモデリングについて説明します。「The Bribing Attacksモデル」がロングレンジ攻撃問題の根本的な解決に直接どのように影響したかを詳しく説明します。

前回の記事をご覧になられていない方はこちら

The History of Casper – Chapter 1

 

Chapter 2: The Bribing Attacker, Economic Security, and the Long Range Attack Problem

Vitalikと私は、対面する以前から研究の一環としてインセンティブについて検討しており、「インセンティブを得ること」がPoSにおいて重要であるという議論は決して問題にはなりませんでした。私たちは、セキュリティの前提として、「ノードの半分は正直と思ったことがありませんでした。(重要なので太字になっています)。接続したノードのインセンティブとプロトコル・セキュリティ保証の間には、ある種の「インセンティブ互換性」が必要であることがわかっていました。

プロトコルのインセンティブが悪意ある行動を助長するならば、プロトコルは「悪い結果」をもたらしやすいゲームと見なすことができるというのが、常に我々の見解でした。これを潜在的なセキュリティ問題とみなしました。セキュリティデポジットは私たちに悪意ある行動に対して処罰する明確な方法をです。

ビットコインはビットコインの価格が高いほどに安全性が高く、価格が低い場合は安全性が低いということが長い観察を得てわかりました。また、セキュリティデポジットは、経済的な効率とセキュリティを提供し、最重要課題だということがはっきりと分かりました。

上記の文脈のうち「ノードの半分は正直ではない」という部分は非常に重要で、だからこそインセンティブを通じて、「ノードの半分(人間)は合理的」という考えの元、セキュリティ保証ができると考えられています。厳密には人間はインセンティブがあっても非合理的であり、インセンティブによってセキュリティが保証されているわけではないが、cryptoeconomics的な観点から考えても非常に重要な文脈です。

 

Bribe Attacker’s Game

Vitalikがゲーム理論でどのくらいのバックグラウンドを持っていたかはわかりません(私以上であることは明らかでしたが)。この話の開始時の私自身のゲーム理論の知識はかなり貧しかった。 しかし、私はナッシュ均衡(*1)を認識して計算する方法を知っていました。

*1 ナッシュ均衡:BobとAliceの対戦ゲームで戦略が複数あるうち、双方が利益を最大化できるような選択をしている状態をナッシュ均衡と言います。逆を言えば、その選択以外の選択肢ではどちらか片方の利益が最大化ではない場合、ナッシュ均衡の状態とは言えません。(下記でVladが説明していますが私なりにも説明しておきます。)

ナッシュ均衡とは、プレーヤーが個別に逸脱するインセンティブを持たない場合の、対応する報酬($ETHを与えたり、$ETHを奪う)を持つ戦略プロファイルです。「逸脱するインセンティブ」とは、「彼らがやっていることを何か変えれば、より多くのETHを得る」という意味です。これを覚えておけば、「ナッシュ均衡」と聞くたびに「個々の戦略の変更が何のメリットもない状態」と思って大丈夫です。

2014年の夏の終わりのある時期に、私は初めて「The Bribing Attacker」に出くわしました。Vitalikが私にSkypeで経済的なセキュリティ問題(“I can just bribe them to do it”)について尋ねたときです。私はさっぱり分かりませんでした。Vitalikはそれから12週間後にこのことについて私に再度尋ね、その考えを深めるために私を現場に置きました。

ゲーム参加者に賄賂を渡すことによってゲームの報酬を変更することができ、この操作によってナッシュ均衡を変更することができる。 下記の画像を見てください。

賄賂攻撃は、囚人のジレンマゲームのナッシュ均衡を(上、左)から(下、右)に変更します。

ナッシュ均衡が(1,1)だったものが、The Bribing Attacksによって(6,6)に移動していることがわかります。これによってネットワークの意思決定に影響を及ぼすことが可能で、セキュリティ保全ができないことがわかります。

The Bribing Attacksは、最初の有用な経済的セキュリティのモデルだった。

私たちは、The Bribing Attacksが行われるまで、経済的攻撃を外部の別のプロトコルのトークン購入者またはマイナーによる敵対的買収として考えました。ブロックチェーンを攻撃するために、外部資本がシステムに侵入する必要があります。The Bribing Attacksでは、「現在の既存のノードに賄賂を渡して実際に望む結果(価格)は何か?」という問いを投げかけるのです。

私たちは、PoSプロトコルに対するThe Bribing Attacksによって、デポジットしている多額の資金を失うことを期待しました。

「合理性」についての議論はさておき、The Bribing Attacksは経済的セキュリティについて学ぶための最初の一歩でした。あなたは、攻撃者がノードに支払う賄賂を眺めているだけで良い。そして私たちは、攻撃者がチェーンを巻き戻してdouble-spend(二重支払い)を試みるために、相当する保証金をデポジットさせることができると分かりました。私たちは「二重署名」を見分けることができます。 だからこれがThe Bribing Attackerに対し、PoWプロトコルよりもPoSのほうが定量的な経済的セキュリティの利点を与えることができると確信していました。

イーサリアムでは様々な攻撃に対応するために「スラッシャー」と呼ばれるインセンティブ設計をしています。これは不正をしたらデポジットしているETHを没収するという負のインセンティブを与えることで、攻撃するインセンティブを減少させる効果が期待されています。様々な攻撃とは、The Bribing AttacksやNothing at Stake問題などが該当します。

 

The Bribing Economics of the Long Range Attack

Vitalikと私は、The Bribing Attackerを私たちのPoS調査に適用しました。セキュリティデポジットのないPoSプロトコルは、小さな賄賂で簡単に屈服する可能性があることが分かりました。コインホルダーに賄賂を使ってコインを新しいアドレスに移動し、空のアドレスのキーを入手するだけです。(当初、誰がこのアイデアを考えていたのか分かりません)。私たちの主張は、PoSのプロトコルへのThe Bribing Attacksを容易に排除しました。

この賄賂による攻撃は、セキュリティデポジットをもつPoSにも挑戦しました。デポジットが元の所有者に戻された瞬間、賄賂を受けた敵対者は、保有する利害関係者のアドレスの鍵を最小限の費用で購入することができました。

これは、ロングレンジ攻撃(*2)と同じです。ブロックチェーンを制御するために古いキーを取得しています。 それは、攻撃者が自由に「偽の歴史」を作成できることを意味していました。しかし、それはすべてのデポジットが満了したブロック高で始まるだけです。

*2 ロングレンジ攻撃:攻撃者が古いブロックからブロックチェーンを分岐させ、そのチェーンをメインチェーンより速いペースで伸ばし続けることでメインチェーンを乗っ取ってしまう攻撃。

したがって、私たちはPoSプロトコルのインセンティブを設定する前に、ロングレンジ攻撃の問題に対処する必要がありました。ロングレンジ攻撃の問題に対処しなかった場合、クライアントのセキュリティデポジットの有無を確実に知ることは不可能です。

チェックポイントを設けることで、ロングレンジ攻撃の問題に対処できることがわかりました。しかし、これは集権化されすぎていると考えました。

イーサリアムで提案されている「Casper FFG」は、ハイブリッドコンセンサスアルゴリズムを採用しており、通常のブロック生成はPoWで行い、100ブロック毎にチェックポイントが存在しています。このチェックポイントでは、PoSが行われ、バリデータによるチェックポイントの承認作業が行われます。この承認作業で2/3以上の承認があれればチェツクポイントは正常と見なされます。

Stephan Tualの家に滞在していた時に、私はセキュリティデポジットに関するクライアントの動機づけに自然なルールがあることを発見しました。 取引の署名は、送付者が現在デポジットが完了している場合にのみ意味があります。つまり、デポジットが引き出された後、これらのノードからの署名はもはや意味がありません。あなたがデポジットを引き出した後、どうして私はあなたを信用できるのでしょうか?

クライアントは接続したノードのリストを保持し、これらのノードによって署名されていない場合、そこでブロックを停止することを意味していました。つまり、セキュリティデポジットを持たないノードからのコンセンサスメッセージを無視することで、ロングレンジ攻撃の問題を回避します。ジェネシスブロックに基づいて、デポジットを完了しているクライアントリストに基づいてブロックを認証します。

これはPoWとは根本的に異なります。

PoWでは、ジェネシスブロックから連鎖するブロックハッシュがディフィカルティー要件を満たしている場合、ブロックが有効となる。PoSのセキュリティデポジットモデルでは、ブロックは、現在存在するデポジットを有するステークホルダーによって作成された場合に有効です。 これは、ブロックチェーンを認証するために最新の情報が必要であることを意味していました。この見方は多くの人々に大きな懸念を引き起こしましたが、The Bribing Attackerに対して安全であることがデポジットベースのPoSには必要です。

この実現により、PoWのセキュリティモデルとPoSのセキュリティモデルは基本的に互換性がないことがわかりました。したがって、私はハイブリッド” PoW / PoSソリューションの使用を断念しました。

しかし、認証モデルを変更する以外にも、これらのセキュリティデポジットのノードリストを管理する方法を提供する必要がありました。接続されたノードのリストの変更を管理するには、接続されたノードからの署名を使用しなければなりませんでした。さもなければ、クライアントは接続されたバリデータの異なったリストを持っていて、彼らはEthereumのステートを合意することができません。

接続時間を長くする必要があったため、クライアントは新しく接続されたステークホルダーについて知る機会を得ました。クライアントがオンラインであれば、最新のステートを保つことができます。接続されたノードリストやハッシュを共有するためにTwitterを使用して、ユーザーがハッシュをUIに入力した後に新しいクライアントと休止状態のクライアントが同期できるようになると思っていました。

あなたが間違ったバリデータリストを持っていれば、man-in-the-middled攻撃を受けます。でもそれはそんなに悪いことではありません。この情報の外部ソースを一度信用するだけでよいという議論がありました(そして今も!)。 もしあなたが定期的にオンラインで引き出されたデポジットによる「ロングレンジ攻撃」を避けることができれば、それ以降は、自分でリストを更新することができます。

我々はセキュリティデポジットに頼るしかありません。Vitalikは最初にこの議論に不快だったので、ジェネシスブロックからの認証能力を保持しようとしましたが、最終的にはこのような主観性がPoSプロトコルに必要であると確信しました。Vitalik独立した主観的なスコアリングルールを独自に思いついた。それは基本的には「接続されたノードリストを更新するために、各N番目のブロックにすべてのデポジットしているノードが署名する」ことです。

Nothing at Stake問題とロングレンジ攻撃が完全に打ち砕かれたので、私たちはスラッシング条件を選ぶ準備が整いました。

次の章では、スラッシング条件を指定してコンセンサスプロトコルを定義する最初の苦労から学んだことを文書化する予定です。私たちの研究についてグループの素晴らしい人と話をすることで学んだことについてもお話します。 ここに提示されているゲーム理論と経済モデリングの話は、第4章で発展し続けるでしょう。

 

Reference

The History of Casper – Chapter 2

 

CoinPicks Lab内では以上のテーマでもう一歩踏み込んで解説しております。
もっと知識を深めたい方はLabでお待ちしています。
CoinPicks Labとは? | CoinPicks|仮想通貨の価値を伝える


関連記事

  1. The History of Casper – Chapter 1

  2. The History of Casper  – Chapter 4

  3. イーサリアムの耐シビルアタックとコンセンサス

  4. イーサリアムのトークン規格「ERC223」を深掘り

  5. イーサリアムのトークン設計

  6. The History of Casper – Chapter 3

  7. The History of Casper  – Chapter 5

今井 涼二

今井 涼二

2015年より暗号通貨を追及中。2018年からは大麻産業の動向も同時に追いかけています。CoinPicksでは「仮想通貨の価値」をテーマに一歩踏み込んだ情報を配信していきたいと思います。

プロフィールを表示 →

仮想通貨の質問箱 – LINE ver

新着記事

人気記事

PAGE TOP