プールの混乱。ゲーム理論とビットコイン。カリフォルニア大学バークレー校 ビットコインと仮想通貨の無料講義超訳|Week5-1

前回までの記事はこちら

ーーーーーーーーーー

こんにちは!クレメア(@cremea_tw)です。

前回に引き続き、カリフォルニア大学バークレー校の無料講義、
「ビットコインと仮想通貨のオンライン講座」で学んだ内容をシェアしていきます。

講義そのものにおいて、

読者対象:ビットコインや仮想通貨について詳しく知りたい全ての人
前提知識:不要

という感じなので、
講義内容を読むだけでもかなり理解が深まるのではないかと思います。

 

文章のスタイルとしては、
翻訳ではなく、個人的解釈バリバリの超訳をしていきます。

荒削りですがスピード重視で、
クレメア的な解釈も交えてお伝えするので、
間違いや意見などあればコメントいただければと思います。

 

また、太字や文字色などの文章の装飾は極力していません。

学びの本質はそこではない、時間がもったいない、あとでできる、
ということで、今回は泣く泣くカットしました。

見辛いかもしれませんが、予めご了承ください。

 

ということで、
講義の内容に沿って進めます。

今回の記事は、
プールの混乱、ゲーム理論とビットコインについてお伝えします。

それでは、本題に入っていきましょう。

第5週目へようこそ

これまで講義で、
ビットコインの動機とデザインだけでなく、
仕組みについても十分に理解してきました。

今回の講義では、
ビットコインを破壊する方法について見ていきます。

ゲーム理論的観点から見て、
ビットコインを潜在的に破壊する可能性のある攻撃や、
その他の悪意ある行為のアイデアを出していきます。

 

これまではビットコインを中心に説明してきましたが、
ここからはビットコインだけでなく、
暗号通貨やブロックチェーンの一般的な理解を始めていきます。

このモジュールは、
「ビットコインを破壊する方法:ゲーム理論と攻撃」というタイトルですが、
ゲーム理論的アプローチと攻撃ベクトルの分析は、
ビットコインだけでなく、すべてのProof-of-Workブロックチェーンに適用されます。

 

イントロ:プール戦略

以前のモジュールで説明したように、
すべてが利益に牽引されています。

ビットコインも例外ではありません。

たとえば、特殊なハードウェアを多く持たない場合は、
ソロ・マイナーになることは有益ではないかもしれません。

したがって、ユーザーのコンピューティングリソースをまとめていて、
次のブロックを見つけられる可能性が高いマイニングプールに参加し、
ブロック報酬を受け取ることを期待するかもしれません。

このセクションで説明するように、
利益をさらに高めるために採用できる戦略がいくつかあります。

そして、それが最も利益を上げることになると、
まっすぐな戦略は、通常、最良の方法ではありません。

 

プール報酬スキームの復習

ペイ・パー・シェア

最後の講義では、
1回のペイ・パー・シェア・スキームが、
各シェアまたはほぼ有効なブロックごとに、
固定金額を支払うことを覚えておいてください。

プールの報酬額にかかわらず、
この支払いは保証され、一シェア当たり一定です。

1つの問題は、マイナーが実際に有効なブロックを、
プールに提出するインセンティブがないことです。

その理由は、そのシェアから収集された収入が他のシェアと等しいためです。

したがって、マイナーは、
ほぼ有効なブロック要件を満たすとすぐに、
現在のブロックで作業をやめることになります。

 

プロポーショナル

プロポーショナルは、
ブロックが見つかったときにのみ支払う他のカテゴリです。

各マイナーの報酬は、
ブロックが見つかる前に提出されたシェア数に比例します。

しかし、この方式は、マイナーがブロックを見つけられないとき、
報酬の変動を蒙るリスクを負わなければならないので、
マイナーにとって不利と言えます。

マイナーは、プールで有効なブロックが見つかった場合にのみ支払いを受けます。

同様の理由から、
有効なブロックが見つかったときにマイナーに支払うだけで済むので、
プロポーショナルスキームはプールにとって有益です。

ペイ・パー・シェアとプロポーショナル・プール・ペイ・アウト制度のインセンティブ構造を考えると、
プールはいくつかのインセンティブの不整合に対して脆弱である可能性はあるのでしょうか?

 

プール・ホッピング

マイナーは支払いを最大限にしたいと考えていることを、
覚えておいてください。

さて、プロポーショナル・ペイアウト・スキームを、
利用できる方法はあるでしょうか?

このグラフは、ペイ・パー・シェア・ペイアウトと、
プロポーショナル・ペイアウト・スキームの違いの一般的な表現です。

プロポーショナル・ペイアウト・スキームは高水準で開始されますが、
ペイパー・シップ・スキームは一定のままであるので、
これらの2つの間に交わりが存在することが分かります。

 

赤い曲線の下の領域は、
1シェア当たりの報酬総額にシェア数を掛けたものです。

私たちがちょうどプロポーショナル・ペイアウト・スキームの下でマイニングすると、
このブロックに向けてより多くのシェアが提出されるにつれて、
1シェア当たりの報酬は減少します。

これは、限界報酬がゼロに近づくことを意味します。

 

次に、青い直線のグラフですが、
これは1回のペイ・パー・シェアの報酬を表しています。

それは私がマイニングするすべてのシェアにおいて、
少量の報酬が約束されています。

これは以前の方式とは異なり、
ゼロに近づくことはありません。

代わりに、各シェアの値は一定のままです。

 

巧妙なマイナーは、両配当スキームを活用して、
曲線下の総面積を増やし、その総利益をシェアから増やす方法を探します。

そして、彼らがそれをどうやってできるのかがここにあります。

 

プロポーショナル・ペイアウト・スキームで、
マイナーがマイニングを開始したとしましょう。

つまり、各シェアは最初は非常に貴重です。

マイニングを開始してブロックをすばやく見つけると、
1シェアあたりの利益が大きくなります。

しかし、このプールでかなりの時間ブロックが見つからなければ、
マイナーのシェアはより収益性が低下し始めます。

 

最大の利益を得るために、
マイニングパワーをどこに置くか再考することができます。

プロポーショナル・ペイアウト・スキームでマイニングを続ける代わりに、
ペイパー・シップ・スキームに切り替えることができます。

それはなぜかというと、
追加のシェアごとの報酬はプロポーショナル・ペイアウトよりも高く、
より多くの利益をもたらすからです。

 

この攻撃を完全に理解するには、
2つの曲線が交差する点を確認する必要があります。

それは、プロポーショナル・ペイアウト・スキームの1シェア当たりの価値が、
1回のペイパーシップ制度の1シェア当たりの価値を下回るときです。

 

これが、
この攻撃がプールホッピングと呼ばれる理由です。

マイナーは、
最も価値のあるプールへとホップします。

一般化すると、
マイナーが合理的にプールの中でマイニングを行い、
1シェアあたりの報酬が最も多くなるということです。

このため、正直で忠実なマイナーは、
合理的なマイナーによって利益を吸い取られ、
グループ全体より個人的利益を選択ようになります。

 

このため、
プロポーショナル・プールは実際には実現可能ではありません。

これまで、インセンティブを完全に整列させ、
プールホッピングに対して脆弱ではない、
マイニングプール報奨制度を設計することは、
未解決の問題となっています。

完全に調整されたインセンティブを持つプールは、
有効なブロックヘッダーを生成するナンスをプールに提出し、
プールに忠実に留まることを目指しています。

プロポーショナル・ペイアウト・スキームは、
マイナーにそのような臨時拠出金を提出するよう促しますが、
マイナーの忠誠心を奨励しません。

ペイ・パー・シェアプールは前述のように逆です。

この1ペイ・パー・シェア・モデルにおける、
インセンティブのミスアライメントが、
さらなる攻撃につながる可能性があることがわかります。

 

Quick Check 1

プールホッピングアタックはどのように機能しますか?

  • A miner splits his mining power between proportional and pay-per-share pools to reduce his variance as much as possible.
  • A miner convinces a large group of people to mine in a proportional pool for a small period of time in order to quickly reduce the value of shares, destroying the pool’s reputation.
  • A miner starts mining in a proportional pool until the expected return per share falls beneath the return per share of a pay-per-share pool; the miner then goes to the pay-per-share pool.
  • A miner starts mining in a pay-per-share pool until the expected return per share falls beneath the return per share of a proportional pool; the miner then goes to the proportional pool.

 

プール・カニバリゼーション

ペイ・パー・シェア・モデルでは、
マイナーにマイニングプールに有効なブロックを与えるよう、
インセンティブを与えていないことに注意してください。

プールにブロックを与えるシェアを見つけるための、
個人への特別な報酬はありません。

このインセンティブの不一致を、
悪用できる方法はあるでしょうか?

 

あなたは今までに、
攻撃を予測し始めていたかもしれません。

私たちが有効に近いシェアを探すために払い戻された場合、
正当なブロックを提出しないで、その仕事から支払いを受けるだけではどうですか?

そして、
これはプール・カニバリゼーションと呼ばれています。

 

プールはプールの混乱を介して、
他のプールの一部を「消費」することができます。

私たちが他のプールを「消費する」方法は、
適切な量のマイニングパワーがあれば、
他のペイ・パー・シェア・スキームに電力の一部を分配することができますが、
これらのプールでは有効なブロックを提出しません。

こうすることで、他のプールの収入を増やすことなく、
他のプールから支払いを受けることができます。

プール・カニバリゼーションにより、
私たちは他のプールを犠牲にして自分自身の利益を増やします。

この攻撃の利点は、少量で検出することは非常に難しいことです。
なぜこれが当てはまるのかを見てみましょう。

 

具体例

最初にいくつかの仮定を立てましょう。

プールに毎秒30ハッシュのパワーがあり、
全ネットワークでは毎秒100ハッシュのパワーがあるとします。

簡単に言うと、私たちは、
ネットワークハッシュレートの30%を持っていることがわかります。

その上に、1ブロック当たり1ビットコインの、
現在のブロック報酬があります。

 

これらの数字は、
プールの混乱の舞台をセットアップするための単純化のためです

実際の世界の状況を代表するものではありません。

基本的な統計では、
ブロックあたりの利益の期待値を計算できます。

これはブロックごとに行われる平均利益です。
これは実際のブロックと混同しないでください

 

ネットワークハッシュレートの30%がある場合、
これは最長チェーンのブロックの30%を得ることも期待されます。

暗黙のうちに、我々はまた、
総マイニング報酬の30%を得ることを期待し、
それが平均して、1ブロックあたり0.3ビットコインであるとしましょう。

 

このシナリオを確立したので、
何かを考えてみましょう。

ネットワークハッシュレートの1%に相当するハードウェアです。

私たちがこの余分なマイニングパワーで、
何ができるのかを考えてみましょう。

この余分なマイニングパワーで行う標準的でシンプルなことは、
あなた自身のリソースに追加することです。

 

つまり、毎秒31ハッシュがあり、
ネットワーク全体では毎秒101ハッシュがあります。

現在、ハッシュレートの30.69%を占めています。

つまり、私たちの利益の増加は、
追加したハードウェアからの0.0069ビットコインです。

しかし、どのようにして、
ペイ・パー・シェア・プールに関する以前の知識を、
活用することができるでしょうか?

 

さて、1つの単位のマイニングパワーを、
ネットワークのハッシュパワーが70%の、
他のすべてのプールに分散させてみます。

しかしここで私たちは、
彼らの収入を増やさないようにしています。

私たちは他の人がすべてのシェアを提出している間も、
有効なブロックを保留することにします。

その結果、
私たちは有効なブロックを提出せず、
プールは私たちに支払いを行うことになります。

私たちはまだシェアを提出していますが、
そのプールは私たちのハッシュ・パワーから、
何の利益を得ることもできないのです。

 

この特定のシナリオでは、
このように見えます。

私たち以外のプールの残りの部分は、
70人の正直な人と、1人の不誠実な人です。

正直な手段では、私たちは、
有効なブロックを採掘して提出することになります。

不正直な手段では、この意図に反し、
有効なブロックを保留しています。

これが今、私たちがやっていることです。

 

つまり、他のプールの有効なハッシュレートは、
変更されておらず、それはまだ70%です。

しかし、マイニングプールはまだ私たちに支払っています。

そしてこれは、
この1%のハッシュパワーを持つマイニングの期待値が、
0.0098ビットコインになることを意味します。

 

怖い結論に気付くでしょう。

汚職は正直よりも利益が多いのです。

私たちは、私たち自身のプールを通して直接マイニングするよりも、
他のプールを食いつぶすほうがより有益であることを示しました。

これは私たちが作った恐ろしい仮定ですが、
ここでは止まらないのです。

 

プールがこれを行うのがより有益な場合、
それはネットワーク全体でどのように見えるのでしょうか?

プールはすべて互いを共食いを始めるのでしょうか?

誰もが利益のために不正直になることを始めるのでしょうか?

プールはこの攻撃によって互いに戦争を起こすのでしょか?

 

プール戦争

人生ゲーム

他のすべてのリソース競争と同様に、
この問題をゲームとしてモデル化し、
経済的なゲーム理論で分析することができます。

我々は、個々の利益を最大限にしようとする、
いくつかのプレイヤーを抱えており、
彼らはそれぞれ片付けをするかどうかについて選択肢があります。

分析のために反復的なゲームとして見ることができます。

つまり、明確なラウンドがあり、
ラウンドごとに選択する必要があります。

 

ビットコインネットワークには、
いくつかの異なるマイニングプールがありますが、
プール1とプール2という2つの理論プールに注目しましょう。

各ラウンド、または反復は、囚人のジレンマのケースです。

囚人のジレンマとは、協力の問題を指します。

プール1とプール2はどちらも、
お互いを攻撃して、自分の個人的利益を増やしたいと考えています。

しかし、
両者がお互いを攻撃している場合、
両者が協力することを選択し、
まったく攻撃しない場合よりも利益が悪化します。

 

ナッシュ均衡

プール1がプール2を攻撃することを選択したとしましょう。

プール1は、前のセクションで示したように、
自身の個人的利益を増加させますが、プール2は苦しんでいます。

プール2の収益を増やすために、
報復を止めるにはどうすればよいでしょうか?

 

なんと、答えはないのです。

 

プール2はプール1を攻撃しない理由がありません。

このため、攻撃を選択することは、
両方のプールにとって魅力的です。

実際には、お互いを攻撃する両方のプールが、
ナッシュ均衡であると公式に言うことができます。

 

簡単に言えば、ナッシュ均衡とは、
他者の決定が変わらない限り、
最も有益なものとしてプレイヤーが見る選択を指します。

プール1とプール2の両方が、
攻撃を止めることはありません。

たとえ攻撃を止めたとしても、
お互いにとって利益があまりないからです。

 

ただし、プール1とプール2の両方が互いに攻撃すると、
残りのネットワークと比較してマイニングパワーが失われます。

これは、攻撃からの利益が、
お互いを攻撃しないことを選択した場合よりも実際には少ないことを意味します。

なぜ彼らはお互いを攻撃せず、
このナッシュ平衡よりももっと利益を上げることはできないのでしょうか?

 

コモンズの悲劇

プール攻撃無しシナリオは、
ナッシュ均衡ではありません。

言い換えれば、
両方のプールが互いに攻撃しないことを選択した場合、
彼らは、彼らができる分だけ多くの利益を上げていません。

そこには、より有益な選択肢があります。

攻撃することで、彼らは利益を増やすことができ、
それがすべてのプレイヤーが望んでいることを確立しました。

このため、利益を追求している場合、
合理的なプレイヤーが最終的にナッシュ平衡を選択する、
この問題に陥ることになります。

だから、彼らは利益を得ることを願って、
絶えずお互いを攻撃しています。

 

確かに、プールが人種差別化によって、
互いに攻撃しないことに同意する文化を守れば、
誰もが長期的に利益を得ることができます。

しかし、それはすべてのプールが、
これに従うという保証ではありません。

匿名でもなくても、
社会的な構成以外の時点では何も止めていません。

攻撃を受ける恐れを除いて、
利益のために他のプールを攻撃する大きなインセンティブがあります。

プールは将来これらの攻撃を検出する可能性があり、
これらの攻撃の検出は長期的な解決策を可能にしますが、
現在のところ、検出することはまだ非常に困難です。

 

私たちは常にマイニングパワーの原点を伝えることはできません。

つまり、私たちが攻撃されていないと信じているか、
この問題の解決策がないということです。

このため、問題はコモンズの悲劇として見ることができます。

この悲劇では、すべてのプールが全体として、
グループ全体の幸福を改善しない方法で行動するように、
個別にインセンティブを与えられます。

個人的なインセンティブと、
グループのインセンティブを調和させるというこの問題にすべてが戻ってきます。

 

補足:ゲーム理論

ゲーム理論分析を活用して、与えられた状況に対して、
ビットコインネットワーク内の異なるアクターの行動を、
モデル化することができます。

我々の最初の仮定は、
合理性がその効用を最大にする行動を取ると定義される、
合理的な方法でアクターが行動することです。

我々のシナリオでは、
効用は行動から生じる金銭的利得によって定義されます。

ビットコインの誰もが金銭的利益によって、
純粋に動機付けられているわけではありませんが、
これはまだ強力な一般化です。

 

純粋な戦略ナッシュ均衡は、
他のすべてのアクターの反応を考慮して、
各アクターの効用を最大化する一連のアクションです。

各プレーヤーが受け取るユーティリティは、
プレーヤーの決定と他のすべてのアクターの決定に依存することに注意してください。

マイナーがマイニングプールから得る報酬は、
マイナー自身が決定した攻撃または協力の決定、
およびプールの決定の残りの部分に攻撃または協力することに依存します。

ビットコインネットワークまたはマイニングプールのプレイヤーは、
すべてが合理的であると仮定して、
特定のシナリオで純粋戦略ナッシュ均衡に従って行動します。

 

簡単なシナリオを見てみましょう。

ビットコインネットワークに2つのマイニングプール、
プールAとプールBのみがあると仮定します。

それらのユーティリティを以下に示します。

効用の数値は経済学においては任意である。

関連する単位を持たず、
エコノミストによって定義された他のパラメータの効用関数を使用して計算されます。

私たちは、行動の効用が、
他のものより高いか低いかにかかわらず、
行動の効用の比較価値にのみ関心があります。

私たちはその絶対値には興味がありません。

この例では、それぞれのユーティリティは、
各プレイヤーが与えられた攻撃のシナリオから受け取り、
または他のプレイヤーと協力する金銭的利得から導かれます。

 

この例のユーティリティの具体的な数値は、
プレイヤーが不正に行動するように誘因を与えられるシナリオを、
反映するために任意に選択されました。

どちらのプレイヤーも正当な場合よりも、
どちらのプレイヤーも不誠実な場合の方が全体の効用は悪い結果となります。

 

プレーヤーAの視点を考えてみましょう。

正直なところ、プレイヤーBが正当な行動をとる場合、
プレーヤーAは不誠実な行動を取ることから最も効用を得ます。

不誠実な行動から得られる3の効用は、
正当に行動することによって受け取る2の効用よりも大きいからです。

 

プレイヤーBが不当に行動した場合、
プレイヤーAは1 > 0の効用のために不当に行動することを好むでしょう。

 

両プレイヤーが不正に行動するシナリオは、
純粋戦略ナッシュ均衡であることがわかります。

このポジションでは、
両方のプレイヤーが他のプレイヤーの行動を考慮して、
利益を最大化しているからです。

したがって、
両方のプレイヤーが正当に行動すれば、
より高いリターンを受け取れるにもかかわらず、
プレイヤーAとプレイヤーBの両方が不正に行動します。

 

入門ゲーム理論についてもっと知りたい場合は、
次の読書をお勧めします。

 A Brief Introduction to Basics of Game Theory
by Matthew O. Jackson, Stanford University.

 

あとがき

ということで、
いかがでしたでしょうか?

 

今回は経済学的な話が多かったですね。

昔経済を学んでいたので、
懐かしい気持ちになりました。

 

個人が合理的に行動すると、
全体の効用がさがる問題がここで出てくるのはなかなか面白いですね。

こういう具体的事例とつながってくると、
勉強していて良かったーという気分になります。

点と点が知らぬ間につながる!
ジョブズが言ってたやつや!って感じです。

 

引き続き頑張っていきましょー。

 

ってことで、
今回はこの辺で失礼します。

このブログを書く僕の目的は、
「ファンを作ること・仲間を増やすこと」です。

趣味が合う、気が合う、考え方が合う。
なんかええなーと思ったら、気軽にメッセージください。喜びます。

終わり。

 

次の記事
二重支払い攻撃、51%攻撃、ゴールドフィンガーアタック。カリフォルニア大学バークレー校 ビットコインと仮想通貨の無料講義超訳|Week5-2

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

ABOUTこの記事をかいた人

物語の引き金を引く男 / 「てめえの人生に火をつける」 / プロ火付け役 / 腐れニートからの再始動 / 見知らぬ人にMacBook Proを買った人 / 32日で100記事達成 / ただの足跡を伝説に変えていく男 / Youtubeで #クレメアラジオ 不定期配信 / サロン「裏世界」オーナー 参加希望者はDMまで