博弈均衡(Game Equilibrium)#
博弈均衡は、博弈の各参加者がそれぞれの最大の効用を実現した状態を指し、つまりすべての参加者が自分の現在の選択がわずかに最適であり、変更を望まない相対的に静止した状態です。
もちろん、各参加者が博弈の結果に満足している均衡状態において、各参加者が実際に得る効用や満足度は異なります。
博弈均衡は、博弈の各参加者の利益競争関係だけでなく、各参加者の協力関係も反映しています。例えば、企業間での買収や合併などを通じて資産再編成を行い、ウィンウィン戦略を実現することは、博弈均衡の現実的な表れです。
博弈は本質的に、動的競争(交渉)から相対的静的な協力(合意形成)へのプロセスであるため、博弈均衡は市場競争の必要性だけでなく、企業の発展の内的要求でもあります。
ナッシュ均衡(Nash Equilibrium)#
ナッシュ均衡(別名非協力博弈均衡)は、博弈論の重要な用語で、ジョン・ナッシュにちなんで名付けられました。
博弈の過程において、相手の戦略選択がどうであれ、当事者の一方は特定の戦略を選択する場合、その戦略は支配的戦略と呼ばれます。
もし任意の参加者が他のすべての参加者の戦略が決まった状況下で、その選択した戦略が最適であれば、その組み合わせはナッシュ平衡と定義されます。
戦略の組み合わせがナッシュ平衡と呼ばれるのは、各博弈者の平衡戦略が自分の期待収益の最大値を達成するためのものであり、同時に他のすべての博弈者もそのような戦略に従っている場合です。
一般的に、厳密に優越する戦略均衡、繰り返し排除された優越戦略均衡、純粋戦略ナッシュ均衡、混合戦略ナッシュ均衡はすべてナッシュ均衡と総称されます。
厳密に優越する戦略均衡は繰り返し排除された優越戦略均衡の特例であり、繰り返し排除された優越戦略均衡は純粋戦略ナッシュ均衡の特例であり、純粋戦略ナッシュ均衡は混合戦略ナッシュ均衡の特例です。
经典案例#
囚徒困境(Prisoners' Dilemma)#
1950 年、アメリカのランド社のメリアル・フレッドとメルビン・ドレイシャーが関連する困難の理論を提案し、その後、アドバイザーのアルバート・タッカーが囚徒の形で説明し、「囚徒困境」と名付けました。
囚徒困境は博弈論モデルの一つであり、博弈論の非ゼロ和博弈の代表的な例です。これは、優越戦略均衡を含み、個人の最適な選択が必ずしも集団の最適な選択ではない、または集団の中で個人が合理的な選択をしても、しばしば集団の非合理的な結果をもたらすことを反映しています。現実の価格競争や環境保護などの分野でも、類似のモデルが頻繁に見られます。クラシックな囚徒困境は以下の通りです。
警察は甲と乙の二人の容疑者を逮捕しましたが、二人を有罪にするための十分な証拠はありませんでした。そこで警察は容疑者を別々に監禁し、それぞれと面会し、以下の 3 つの選択肢を提供しました。
- 第 1 種
二人がともに沈黙を守るか、否認する(互いに協力する)場合、二人とも 1 年の懲役を受けます。
- 第 2 種
二人が互いに告発するか、両方が自白する(互いに裏切る)場合、二人とも 8 年の懲役を受けます。
- 第 3 種
一人が罪を認めて相手を告発し(片方の裏切り)、相手が沈黙を守るか否認する場合、その人は即座に釈放され、相手は 10 年の懲役を受けます。
囚徒困境の支払い行列:
乙否認 | 乙自白 | |
---|---|---|
甲否認 | 1,1 | 10,0 |
甲自白 | 0,10 | 8,8 |
もし二人が第 1 種の選択をした場合、二人全体にとって最適な選択であり、つまり集団の利益を考慮したパレート最適な解決策です。しかし、合理的な個体にとっては、相手が何を選ぶか分からないため、自分の利益から出発して「自白」を選ぶことが最も合理的で安全であり、最適な戦略です。したがって、最終的に甲と乙は「自白」を選ぶことになります。
このように、「自白」を選ぶことは甲乙のいずれかの優越戦略であり、両方が「自白」を選ぶことは一組の優越戦略均衡です。
この例は、非ゼロ和博弈において、パレート最適とナッシュ均衡が相反することを証明しており、ナッシュ均衡はより一般的に発生することを示しています。
実際に両者が自己利益を追求して「自白」を選んだ結果、全体にとっては最良の結果ではありません。
囚徒困境は現実社会において広範かつ深い意味を持ちます:個人の合理性と集団の合理性の間に対立が存在する。個人が自己利益を追求する行動が最終的にナッシュ均衡をもたらし、集団にとって不利な結果を生むことが多いのです。これは明らかにアダム・スミスが『国富論』で述べた「(個人の)自己利益を追求することで、彼はしばしば実際にやりたいことよりも社会の利益をより効果的に促進することがある」という見解に反しています。
囚徒困境はまた、人々に一つの啓示を与えます:ナッシュ均衡に従うなら、全体にとって有利な結果を実現するためには、つまり協力が有利な「利己的戦略」であるためには、以下の黄金律を満たす必要があります。すなわち、自分が他人に対して望むように他人を扱い、同時にすべての参加者がそれに従うこと、これは「自分が望まないことを他人に施すな」に似ています。
智猪博弈(Pigs' Payoffs)#
智猪博弈は、ジョン・ナッシュが 1950 年に提案した有名な「ナッシュ均衡」の例です。
仮に豚小屋に大きな豚と小さな豚がいるとします。豚小屋の一方には餌箱があり、もう一方には豚の餌供給を制御するボタンが設置されています。ボタンを押すと 10 分の餌が供給されますが、ボタンを押すには 2 分の餌に相当する体力を消耗しなければなりません。ボタンと餌箱は反対の位置にあるため、ボタンを押す豚は体力を消耗するだけでなく、餌箱に先に到達する機会を失います。大豚と小豚の間には以下のような選択肢があります。
- 小豚がボタンを操作し、大豚が餌箱のそばで待っている場合、大豚は優先的に 9 分の餌を食べ、小豚には 1 分の餌しか残りません。
- 大豚がボタンを操作し、小豚が餌箱のそばで待っている場合、小豚は優先的に 4 分の餌を食べ、大豚には 6 分の餌が残ります。
- 大豚と小豚が一緒にボタンを操作する場合、大豚は 7 分の餌を食べ、小豚は 3 分の餌を食べます。
智猪博弈の問題は、もしこの二匹の豚が十分な知恵を持ち、できるだけ少ない消耗で多くの餌を食べたいと望むなら、どのような行動を取るでしょうか?
智猪博弈の支払い行列:
小豚待機 | 小豚行動 | |
---|---|---|
大豚待機 | 0,0 | 9,1(-1) |
大豚行動 | 6(4),4 | 7(5),3(1) |
もし大豚が待機を選んだ場合、小豚はどうするでしょうか?この時、小豚が待機を選ぶと、利益は 0 です;行動を選ぶと、利益は - 1 です。どちらを選んでも、小豚は飢え死にするしかないため、大豚が待機している時、小豚の最適戦略は待機し、皆で飢え死にすることです。
大豚も小豚の選択をよく理解しているため、大豚は飢え死にしないためには行動を選ぶしかありません。
大豚がどんな場合でも行動を選ばざるを得ないなら、小豚は行動する必要があるのでしょうか?小豚が待機すれば利益は 4;行動すれば利益は 1 です。明らかに、小豚の最適な戦略は待機し続けることです。こうして、大豚が行動し、小豚が待機するのが智猪博弈の必然的な結果であり、ナッシュ均衡です。
智猪博弈は現実の企業市場競争にも当てはまります。例えば、大企業は市場を開拓したり、資本を技術革新に投入したりすることが多い一方で、小企業は大企業の後を追って短期間で利益を得ることを好むのです。これは小企業が革新精神を欠いているからではなく、単にこのケースの博弈の観点から分析すると、小企業には革新する必要がないのです。小企業と大企業の関係は、小豚と大豚の関係に似ています。
もしある小企業が革新に多くのコストを投入すると、それは小豚が自らボタンを操作するようなものであり、この時大企業は自身の規模の優位性を利用して模倣し、大部分の利益を得ることができる一方で、小企業は損失を被り、最終的には「飢え死に」する小豚となります。したがって、合理的な決定から、大企業は革新を選択し、小企業は一般的に追随するしかありません。
「小豚が寝ている間に大豚が走る」という現象は、ケースのゲームルールによって引き起こされるものであり、ルールの核心指標の変更は必然的に結果の変更をもたらします。社会の法則においては、「小豚」が競争に参加できないことによるタダ乗り行為が資源の最適配置に影響を与えます。したがって、社会資源の効果的な配置を実現するためには、まず関連するルールの核心指標の合理的な設定が必要です。
博弈论与区块链#
ブロックチェーンは多くの学問を融合させたもので、既存の成熟した技術の巧妙な組み合わせです。博弈論はブロックチェーン技術を構成する八大支柱の一つであり、ブロックチェーン思考の駆動力です。ブロックチェーンの誕生は、博弈論により深い技術的保障と低い機会コストを提供しました。
マクロ的に見ると、さまざまな博弈が達成する理想的な状態はナッシュ均衡であり、さらに極端なものはパレート最適を実現することです。ブロックチェーン技術の非中央集権、自律、集団維持などの基本的な特性は、多層的かつ多次元的な博弈の展開を強力に支えています。博弈 - 妥協 - 博弈の不断の循環進化を通じて、最終的に合意形成メカニズムが発展し、スマートコントラクトが生まれます。
ミクロ的に見ると、博弈論はデータベースの暗号化システムを内部からの破壊から守り、ブロックチェーンは分散型オープンソースの合意と暗号学を使用して博弈論のナッシュ均衡を実現するのに役立ちます。これら二つの興味深い概念の組み合わせが、博弈論をブロックチェーンにおいて特別な存在にしています。博弈から形成された合意メカニズムが制度化され、標準化されてスマートコントラクトに至るこの革新的な設計は、デジタル通貨の中で永遠に存在し続けるでしょう。
スマートコントラクト技術#
スマートコントラクトは 20 世紀末に初めて提案されましたが、近年のブロックチェーン技術の発展に伴い、徐々に一般に知られるようになりました。スマートコントラクトの概念は、約束、合意、デジタル形式の三つの要素を持っているため、ブロックチェーンの適用範囲を金融業界の取引、支払い、決済、清算の各段階に拡張することができます。
スマートコントラクトとは、事前にプログラムされた条件がトリガーされると、スマートコントラクトが即座に対応する契約条項を実行することを指し、その動作原理はコンピュータプログラムの if-then 文に似ています。
スマートコントラクトの分類#
スマートコントラクトの分類は、主にチューリング完全性の有無に基づいており、チューリング完全と非チューリング完全の二つに分かれます。
チューリング完全性を実現する上での一般的な原因には、ループや再帰の制限、配列やより複雑なデータ構造の実現ができないことなどがあります。
チューリング完全なスマートコントラクトは適応性が高く、論理的に複雑なビジネス操作をプログラミングできますが、無限ループに陥る可能性があります。
対照的に、チューリング非完全なスマートコントラクトは複雑な論理操作を行うことはできませんが、よりシンプルで効率的かつ安全です。
ブロックチェーンプラットフォーム | チューリング完全性 | 開発言語 |
---|---|---|
BTC | 非完全 | BTC Script |
ETH | 完全 | Solidity |
EOS | 完全 | C++ |
Hyperledger Fabric | 完全 | Go |
Hyperledger Sawtooth | 完全 | Python |
R3 Corda | 完全 | Kolin/Java |
スマートコントラクト技術の応用#
スマートコントラクトは、契約の締結、実行、監視に関するコストを削減するのに役立ちます。したがって、多くの低価値取引に関連する契約には明らかな経済的価値があります。スマートコントラクト技術はまた、いくつかの機会をもたらします。例えば、公共の監視の影響力は法律と技術コードを混合して実現でき、現在のように法律規則を通じてのみ実現するのではありません。本質的に、技術コードは法律規則の遵守を確保するために使用でき、コンプライアンスに関するコストを削減することができます。これは、規制を強化するための技術の応用事例(RegTech、英国政府のテクノロジーオフィスの FinTech レポートに記載)として考えられます。
ブロックチェーンの分野では、スマートコントラクトはブロックチェーンシステム内のさまざまなスクリプトコードを封装するために使用されます。これらのスクリプトコードは、契約内の取引の実行方法と具体的な内容を規定しています。スマートコントラクトは、ブロックチェーンをプログラム可能な通貨にし、従来の通貨取引よりも柔軟で効率的にします。通常、契約内では契約の実行時間や契約のトリガー条件などを設定できます。スマートコントラクトは、ETH などのブロックチェーン取引システムが実現を目指す機能です。
ブロックチェーンに基づくスマートコントラクトの構築と実行は、通常以下の 3 つのステップを含みます。
- 契約の生成。契約参加者のニーズに基づいて、スクリプトコードを設計して契約の内容を実現します。
- 契約の保存。契約のスクリプトコードは、ブロックチェーンのブロックに保存する必要があります。
- 契約の実行。契約のスクリプトコードは自動的に実行され、人為的な介入や操作を必要としません。スマートコントラクト層は、ブロックチェーンシステムのビジネスロジックをコードの形式で実現、コンパイル、展開し、定められたルールの条件をトリガーし、自動実行を行い、人為的介入を最小限に抑えます。
スマートコントラクトの応用リスク#
スマートコントラクトの操作対象は主にデジタル資産であり、データがブロックチェーンに上がった後は修正が難しく、トリガー条件が厳しいなどの特性から、スマートコントラクトの使用は高い価値と高いリスクを同時に持ちます。リスクを回避し、価値を発揮する方法が、現在のスマートコントラクトの大規模な応用の難点です。スマートコントラクトの応用はまだ初期段階にあり、これはブロックチェーンの安全性の「重災区」です。過去のスマートコントラクトの脆弱性によって引き起こされた安全事件から見ると、契約の記述には多くの安全上の脆弱性があり、その安全性に大きな挑戦をもたらしています。
現在、スマートコントラクトの安全性を向上させるための一般的な考え方は以下の通りです。
- 形式的検証(Formal Verification)
厳密な数学的証明を通じて、契約コードが意図した論理に合致していることを確認します。この方法は論理的に厳密ですが、難易度が高く、一般的には第三者の専門機関に監査を委託する必要があります。
- スマートコントラクトの暗号化
スマートコントラクトは第三者に明文で読み取られないようにし、論理上の安全脆弱性による攻撃を減少させます。この方法はコストが低いですが、オープンソースアプリケーションには使用できません。
- 契約言語の文法形式を厳格に規定する
優れたスマートコントラクトのモデルをまとめ、標準的なスマートコントラクトテンプレートを開発することで、一定の基準に従ってスマートコントラクトの記述を規定することで、スマートコントラクトの質を向上させ、安全性を高めることができます。