不完全合约与区块链扩展

编者注:本文引述了合约经济学领域著名的 “不完全合约” 理论,虽然有生搬之嫌,但在论述自动化与扩展的关系时不乏洞见。另外,该文中的 “scale” 和 “scalability”(”可扩展性”)也没有明确的定义,但如果这种模糊性可以给我们带…

编者注:本文引述了合约经济学领域著名的 “不完全合约” 理论,虽然有生搬之嫌,但在论述自动化与扩展的关系时不乏洞见。另外,该文中的 “scale” 和 “scalability”(”可扩展性”)也没有明确的定义,但如果这种模糊性可以给我们带来更多见解,也许不妨维持这种模糊性。

在分析不同的区块链项目时,我们可借助合约理论(contract theory)的视角。该法学领域有一句格言:”除了最简单的合约,所有合约都是不完全的(incomplete)。” 也就是说,合约安排不可能预见到所有可能发生的事态,因为合约所协调的人类事务总是复杂且瞬息万变的。

因为具体合约的不完整性,合约的运行必然依赖于意料之外的事态发生之时的重新谈判,这些意料之外的事项比如公司破产、监管变化甚至是细枝末节上的简单变化。一旦出现这些情况,缔约双方往往需要像法律系统这样的第三方来居中调解,虽然调解的结果仍是难以预料的。因此,合约总是与对未知事态的处理、合约双方激励以及治理权联系在一起。

但是,只要我们接受了 “合约即是决策逻辑,可类比为计算机程序” 这一观念,我们就可以像合约理论分析合约那样、思考不同类型的智能合约和区块链项目以及它们的可扩展性(包括治理议题)。

先做个思想实验:我们把区块链项目分成两类:一类致力于打造 “完全合约”,另一类则由于自身的复杂性,只能是 “不完全合约”。虽然这样区分显然过于简单了,但我们这样做的目的是凸显出这些项目如何可能实现扩展。

先来定义一下那些(几乎)是 “完全合约” 的项目。这类项目的目标是实现一个端到端的系统,尽可能减少对主观解释、重新谈判以及外部治理的需要。在编程技术中,这类系统的目标是 “自建立之始即妥当的(correct by construction)”。比特币的工作量证明挖矿就是这样一个系统。比特币的完全性来自于其可验证的计算过程:确定性的哈希算法,加上硬编码的博弈激励机制。这两者合作无间,让整个系统朝向一条符合形式的区块链而不断运动,同时也尽可能减少了对主观解释或者说外部治理的需要。

以太坊也符合这个条件,因为以太坊网络中的工作量证明也是相似的。在以太坊上开发的应用程序也连带地继承了这种 “完全性”,而且可以延伸这种完全性、创造出自动化的软件应用。其中一个例子是 Uniswap,这是一个设计巧妙的代币交易所,其逻辑和激励机制都完全编码为不可更改的智能合约。硬编码在合约中的激励机制,使得做市商自愿参与进来,在完全没有持续的中心化运营者的条件下打开了流动性的网络效应。

在上述所有例子中,完全性都是与自动化联系在一起的。一个设计完备的系统可以无需人为干预而自动运行。Nick Szabo 的著名观点是:这类自动化系统具备 “社会可扩展性”,因为它们的协作机制提供了一种保障,能维持参与者的数量乃至吸引他人参与。最小化外部的主观因素影响减少了协调活动的复杂性,并让整个系统能够随着成员增加而扩展。

存在于这个 “完全合约” 世界里的项目,其设计空间必然是受限的。因为,能够通过自动化来实现可扩展性的工作,仅限于那些可以用计算机确定性地验证的那些工作。如果说计算机程序即合约即决策逻辑,则这类程序一般都要求输入的决策是数字化的、可量化的,或者说是机器可读的。

我们先从那些几乎完整的计划入手。这些计划致力于打造端对端的系统,力求降低主观解释、再协商和外部管理的可能性。在软件术语中,这类系统所追求的目标被称为 “构建的正确性(correct by construction)”。比特币工作量证明式系统正是这类系统。比特币的完整性归功于其验证运算的函数,该函数具有确定性的哈希算法和硬编码博弈论激励。这些因素只为产出一条避免人为干预或受外部决定影响的链。

那什么是 “不完全合约” 项目呢?不完全合约项目就是那些需要动态、主观的输入来维持其运行、很难用计算来验证并自动化的项目。

MakerDAO 就是这样一个项目。虽然 Maker 的大部分逻辑都是确定性地运行在以太坊上的(即也可以说是高度 “完全” 的),但它在小部分关键领域保留了 “不完全” 的属性,即,它要求参与者动态地调整参数来维持稳定币 Dai 的价格锚定及其底层的抵押品率。今时今日,设定这些参数的工作过于复杂,因此很难自动化;相反,它是由社区投票来决定参数的。

类似地,MolochDAO 是一个致力于促进以太坊基础设施建设的协会,他们也是用投票来决策的,比如选择谁可以加入这个协会、哪个项目可以得到他们的资金支持。虽然投票结果是由智能合约得出来的,Moloch 的组织架构非常地 “不完全”,因为组织架构的输入包括复杂而不可量化的输入,比如荣誉、社会资本、项目可行性;这些输入都要经过人类的主观解读才有意义。

虽然这些项目可以适应变化,但它们无法通过自动化来实现扩展。而且,拿投票来作为协调机制,可能遭遇 “人越多越拖拉” 的风险。因此,”不完全合约” 项目需要别的方式来实现社会可扩展性。

概括一下:

完全合约项目 不完全合约项目

信任最小化(无需人为的干扰)
不会详尽列出所有不同的结果并写明应对方法

难以更改
接受持续的干预

抗干预
需要人类决策(治理)

通过可检验、具有确定性的程序实现可扩展性
需要其它的解决方案来实现可扩展性

例子:比特币、以太坊、Uniswap、自动化的套利智能合约

例子:MolochDAO、MakerDAO、Nexus Mutual,以及 这一列表中的其它项目

“不完全合约” 项目:治理和扩展


如果 “不完全” 的合约依赖于人为决策,那么它们会怎样复制比特币和以太坊的成功呢?又怎么在规模上超过这些先行者呢?有人认为可像在相互合作的企业中那样,通过代理人来治理,并用所有权来保证决策者的激励相容。从历史上看,随着时间推移,最成功的合作组织已经融入了与公司类似的层级决策模式:股东专门指派一支管理团队来代表他们的利益并作出日常决策。这比事事都要全体投票更具扩展上的优势。其它像维基百科这样的社区支持的项目也发展出了基于社区信誉的结构性治理模型(尽管起初的时候还没出现这种情况)。虽然层级式治理体系与弥漫在圈子中的去中心化文化格格不入,但对于多数复杂的、正在开发的 “不完全” 合约项目来说,这可能是更可行的一条路。

“不完全合约” 项目可行吗?


人们常常批评 “不完全” 的系统——这些系统没有充分利用底层计算平台的确定性或者 “免信任” 的优点。但我想主张:原生于区块链的属性仍将为不完全合约提供强大的新工具:

价值分发能力。因为区块链(通过代币)把价值分发变得像信息分发那样简单,区块链计算机让社区可以创立业务原生于网络的初创公司,并且股东的所有权和表达权可以默认是一致的。
用于组织经营的确定性流程,比如指定具有权威来做决策的代理人(流动性民主)、触发奖金、转移资金,等。
随时退出的能力。因为我们可以复制代码,这就降低了迁移到竞争产品上的成本

一般而言,有趣的项目适应能力强、能演变,会给人带来惊喜。我总预感着,在区块链上构建的最有趣的项目会是 “不完全的”。也许我们最终会证明,”不完全合约” 是不是充分利用了底层平台来执行其商业逻辑,并不那么重要;更重要的是,这些基于区块链的组织是否充分利用了高效的组织可扩展性模型。软件不可能一步到位地解决所有合约的完全性问题,但可以有所帮补——而且,通过代币来实现所有权,社区就可以克服启动问题、促进创新。

来源: 以太坊爱好者