观点 | 不完全合约与区块链扩展
编者注:本文引述了合约经济学领域著名的 “不完全合约” 理论,虽然有生搬之嫌,但在论述自动化与扩展的关系时不乏洞见。另外,该文中的 “scale” 和 “scalability”(“可扩展性”)也没有明确的定义,但如果这种模糊性可以给我们带来更多见解,也许不妨维持这种模糊性。在分析不同的区块链项目时,我们可借助合约理论(contract theory)的视角。该法学领域有一句格言:“除了最简单的合约,所有合约都是不完全的(incomplete)。” 也就是说,合约安排不可能预见到所有可能发生的事态,因为合约所协调的人类事务总是复杂且瞬息万变的。
因为具体合约的不完整性,合约的运行必然依赖于意料之外的事态发生之时的重新谈判,这些意料之外的事项比如公司破产、监管变化甚至是细枝末节上的简单变化。一旦出现这些情况,缔约双方往往需要像法律系统这样的第三方来居中调解,虽然调解的结果仍是难以预料的。因此,合约总是与对未知事态的处理、合约双方激励以及治理权联系在一起。
但是,只要我们接受了 “合约即是决策逻辑,可类比为计算机程序” 这一观念,我们就可以像合约理论分析合约那样、思考不同类型的智能合约和区块链项目以及它们的可扩展性(包括治理议题)。
先做个思想实验:我们把区块链项目分成两类:一类致力于打造 “完全合约”,另一类则由于自身的复杂性,只能是 “不完全合约”。虽然这样区分显然过于简单了,但我们这样做的目的是凸显出这些项目如何可能实现扩展。
先来定义一下那些(几乎)是 “完全合约” 的项目。这类项目的目标是实现一个端到端的系统,尽可能减少对主观解释、重新谈判以及外部治理的需要。在编程技术中,这类系统的目标是 “自建立之始即妥当的(correct by construction)”。比特币的工作量证明挖矿就是这样一个系统。比特币的完全性来自于其可验证的计算过程:确定性的哈希算法,加上硬编码的博弈激励机制。这两者合作无间,让整个系统朝向一条符合形式的区块链而不断运动,同时也尽可能减少了对主观解释或者说外部治理的需要。
以太坊也符合这个条件,因为以太坊网络中的工作量证明也是相似的。在以太坊上开发的应用程序也连带地继承了这种 “完全性”,而且可以延伸这种完全性、创造出自动化的软件应用。其中一个例子是 Uniswap,这是一个设计巧妙的代币交易所,其逻辑和激励机制都完全编码为不可更改的智能合约。硬编码在合约中的激励机制,使得做市商自愿参与进来,在完全没有持续的中心化运营者的条件下打开了流动性的网络效应。
在上述所有例子中,完全性都是与自动化联系在一起的。一个设计完备的系统可以无需人为干预而自动运行。Nick Szabo 的著名观点是:这类自动化系统具备 “社会可扩展性”,因为它们的协作机制提供了一种保障,能维持参与者的数量乃至吸引他人参与。最小化外部的主观因素影响减少了协调活动的复杂性,并让整个系统能够随着成员增加而扩展。
存在于这个 “完全合约” 世界里的项目,其设计空间必然是受限的。因为,能够通过自动化来实现可扩展性的工作,仅限于那些可以用计算机确定性地验证的那些工作。如果说计算机程序即合约即决策逻辑,则这类程序一般都要求输入的决策是数字化的、可量化的,或者说是机器可读的。
我们先从那些几乎完整的计划入手。这些计划致力于打造端对端的系统,力求降低主观解释、再协商和外部管理的可能性。在软件术语中,这类系统所追求的目标被称为 “构建的正确性(correct by construction)”。比特币工作量证明式系统正是这类系统。比特币的完整性归功于其验证运算的函数,该函数具有确定性的哈希算法和硬编码博弈论激励。这些因素只为产出一条避免人为干预或受外部决定影响的链。
那什么是 “不完全合约” 项目呢?不完全合约项目就是那些需要动态、主观的输入来维持其运行、很难用计算来验证并自动化的项目。
MakerDAO 就是这样一个项目。虽然 Maker 的大部分逻辑都是确定性地运行在以太坊上的(即也可以说是高度 “完全” 的),但它在小部分关键领域保留了 “不完全” 的属性,即,它要求参与者动态地调整参数来维持稳定币 Dai 的价格锚定及其底层的抵押品率。今时今日,设定这些参数的工作过于复杂,因此很难自动化;相反,它是由社区投票来决定参数的。
类似地,MolochDAO 是一个致力于促进以太坊基础设施建设的协会,他们也是用投票来决策的,比如选择谁可以加入这个协会、哪个项目可以得到他们的资金支持。虽然投票结果是由智能合约得出来的,Moloch 的组织架构非常地 “不完全”,因为组织架构的输入包括复杂而不可量化的输入,比如荣誉、社会资本、项目可行性;这些输入都要经过人类的主观解读才有意义。
虽然这些项目可以适应变化,但它们无法通过自动化来实现扩展。而且,拿投票来作为协调机制,可能遭遇 “人越多越拖拉” 的风险。因此,“不完全合约” 项目需要别的方式来实现社会可扩展性。
概括一下:
“不完全合约” 项目: 治理和扩展
“不完全合约” 项目可行吗?
人们常常批评 “不完全” 的系统——这些系统没有充分利用底层计算平台的确定性或者 “免信任” 的优点。但我想主张:原生于区块链的属性仍将为不完全合约提供强大的新工具:
-
价值分发能力。因为区块链(通过代币)把价值分发变得像信息分发那样简单,区块链计算机让社区可以创立业务原生于网络的初创公司,并且股东的所有权和表达权可以默认是一致的。 -
用于组织经营的确定性流程,比如指定具有权威来做决策的代理人(流动性民主)、触发奖金、转移资金,等。 -
随时退出的能力。因为我们可以复制代码,这就降低了迁移到竞争产品上的成本
原文链接:
https://medium.com/dydxderivatives/getting-started-with-dydx-part-2-borrowing-d7d1236a572d
作者: Everett Hu
翻译&校对: ViolaH & 阿剑