博弈论与智能合约

博弈均衡（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）

通过严密的数学证明来确保合约代码所表达的逻辑符合意图。此方法逻辑严密，但难度较大，一般需要委托第三方专业机构进行审计。

智能合约加密

智能合约不能被第三方明文读取，以此减少智能合约因逻辑上的安全漏洞而被攻击。此法成本较低，但无法用于开源应用。

严格规范合约语言的语法格式

总结智能合约优秀模式，开发标准智能合约模板，以一定标准规范智能合约的编写可以提高智能合约质量，提高智能合约安全性。