智能合约被忽视的一面

他们说,“智能合约不具有法律效力”。

他们说得对,但是忽略了重点。

-14 世纪的壁画,由 Ambrogio Lorenzetti 创作,名为“好政府对城市生活的影响”-

Nick Szabo 创建智能合约的初衷就是要将它与法律合约区别开来。 他希望创建新的数字机构:通过代码执行合约条款,而不是通过法院。 显然,实体法院(靠纸质公文运转的效率低下的裁决中介)无法跟互联网同步。 虽然法律体制已经竭力为许多人提供服务,但迅速涌入的跨辖区交易平台将越发凸显其优势。

甚至中本聪也表示有兴趣通过比特币脚本实现各种约定。 如今,像 Tezos 这样的智能合约平台进一步发展了 Szabo 的研究成果,允许我们在互联网上与陌生人作出约定——通过代码的方式。

-在 Ambrogio Lorenzetti 壁画中,舞者与乐师在善政下得以相互协调-

为什么我们需要合约?

在一个没有合约或货币的世界里,我们只能局限于同步的易货交易——你有一个苹果,我有一条面包,我可以当场用面包换你的苹果。 然而,我们交易的越多,就越有可能陷入经济学家所谓的需求的双重偶合(double coincidence of wants)问题:我们之间达成交易的前提必须是我们同时想要对方手里的东西,而这种情况不常出现。

货币是解决这个问题的一种方法。 我可以卖了面包换到钱,然后用钱换苹果或其他物品。通过钱,我们可以把双重需求减少成单一需求:我无需持有你想交易的东西;我可以通过后续交易获得苹果。这样时间限制就被削弱了。

合约的工作原理与货币类似,但它们能促进更多潜在的交易。 合约不要求同步交换价值,甚至不需要以货币作为中介。 我现在可以把一条面包卖出去,买方可以答应下个月付款给我。 这种能力从根本上扩展了我们可以进行的交易类型。

但仍有一个问题。 你怎么确定我会履行承诺付款给你? 我们如何建立可信的约定?

履行约定

-《善政下正义得到彰显》(作者:Ambrogio Lorenzetti)-

早期现代思想家托马斯·霍布斯(Thomas Hobbes)认识到了执行承诺的问题:

“言语的约束力太弱,无法抑制人们的野心、贪婪、愤怒等热烈的情绪,因为言语不具有强制力,无法威慑人们”(利维坦,第 69 页)。

此外,他认为政府的主要职能之一确保合约的强制执行。 也就是说,只有武力才能胁迫我们履行承诺。

耶鲁大学法学院教授兼前院长 Anthony Kronman 指出,国家可以被视为强制执行机器。 他还表示,如果这台机器被私有化,那么缔约方需要付费才能使用。

在 20 世纪 90 年代中期,Nick Szabo 几乎照搬强制执行机器的概念创造出了智能合约,一种可以在安全硬件上运行的合约,无需依赖法院就能强制执行合约内容。

智能合约仅仅是区块链上运行的代码吗?

然而,大约在 2013 年,加密货币领域扩展了智能合约的概念。 例如,以太坊白皮书使用“合约”泛指区块链上运行的代码。

这一新定义转移了智能合约的重点。 这些“合约”的目的尚不清晰,绝不只是简单地执行约定。 新的定义也掩盖了智能合约丰富的发展史:继 20 世纪 90 年代 Szabo 的研究成果之后,Agoric 的 Mark Miller 在 2003 年写了一篇关于拆分合约(split contracts)的论文(即由两个或以上部分组成的智能合约,其中有一些部分是依靠代码自动执行的,另一些部分——如指令仲裁——则不是)。 有的智能合约平台甚至早于互联网,例如 AMIX,美国信息交易中心,“世界上第一个针对信息和专业知识的在线市场”。AMIX 创建于 80 年代和 90 年代,堪称时代的翘楚,能让用户以顾问的角色安全地出售自己的经验。

中本聪认为履约将是比特币未来的一个重点发展方向。 中本聪在 2010 年表示:“它支持我多年前设计的各种可能实现的交易类型,例如托管交易、保税合同、第三方仲裁、多方签名等等。如果比特币得到广泛的认同”,ta 进一步解释道,“这些都会是我们未来想要探索的方向。”

Tezos 根据智能合约的原义创建了一个平台:智能合约不作为世界计算机的代码,而是一种交易的实现方式。 于此同时,Tezos 使用的区块链语言是 Michelson,这种图灵完备并指定形式的语言能支持各种不同的用例。

-《坏政府的影响》(作者:Ambrogio Lorenzetti)-

“智能合约”能否取代法律合约?

智能合约真的可以取代法律合约实现某些用途吗? 答案是肯定的,但目前这些用途很有限。

假设我想在网上销售一件商品,但不是通过 ebay ,而是点对点的交易市场。 如果是在网上向陌生人出售物品,很多情况下还需要跨越法律管辖区,会产生英国政治哲学家霍布斯指出的交易风险问题。 在交易过程中,无论谁先履行合约都要承担对方违背合约的风险。 如果卖方先发货,买方可能不会付款;如果买方先付款,卖方可能不会发货。

这个问题的解决方案是使用多重签名的智能合约,如 Milo Davis 提供的这个例子或是 OCamlPro 提供的用 Liquidity 编写的更高级别的例子。 在针对在线交易的多重签名合约中,可以要求至少获得三方(买方,卖方和中立的第三方)中任意两方的签名。 第三方可以是任何人(或任何事物!),只要能让我们相信 ta 能公正地解决争议即可。 特别要注意的是,第三方仲裁员的权力非常有限,ta 们只能在买卖双方出现争议的情况下,决定将钱汇给其中一方。 仲裁员不能私吞这笔钱或是将它汇给买卖双方以外的其他人。[1]

细心的读者可能会注意到,为了让这套机制运作起来,交易金额必须交给第三方托管。 目前,智能合约不能从账户中取钱或预先扣押未来收入。未来的研究应优先考虑如何实现非托管付款的机制,这样才能让更多类型的使用者与协议参与进来。

-《坏政府的寓言》(作者:Ambrogio Lorenzetti)-

法律合同和自我约束型约定

另一方面,正如 Kronman 所说的,法律合约可以依赖于国家“无可匹敌的强制力”。 但是,国家权力是一种有限资源,在缺乏价格机制的情况下必须实行定量配给。 因此,法院需要分辨哪些约定值得花时间去强制执行,哪些不值得,从而衍生了一些学说,例如美国法律中的约因学说(doctrine of consideration)。

要以智能合约的形式执行某些可信约定仍需进行大量的研究。 但是,目前也有一些智能合约可以执行法律合约无法履行的约定。 例如,下图是 Milo Davis 用 Michelson 写的智能合约,它会在某个时间段内锁定一定量的 tez 币,之后它会将 tez 币发送到记录在档的合约中。

parameter unit;
storage (pair timestamp (pair tez (contract unit unit)));
return unit;
code { CDR;          # Ignore the parameter
       DUP;          # Duplicate the storage
       CAR;          # Get the timestamp
       NOW;          # Push the current timestamp
       CMPLT;        # Compare to the current time
       IF {FAIL} {}; # Fail if it is too soon
       DUP;          # Duplicate the storage value
       # this must be on the bottom of the stack for us to call   
       transfer tokens
       CDR;          # Ignore the timestamp, focusing in on the 
                       transfer data
       DUP;          # Duplicate the transfer information
       CAR;          # Get the amount of the transfer on top of 
                       the stack
       DIP{CDR};     # Put the contract underneath it
       UNIT;         # Put the contract’s argument type on top of 
                          the stack
       TRANSFER_TOKENS; # Make the transfer
       PAIR}         # Pair up to meet the calling convention

你可能会疑惑,怎么会有人会使用这样的合同。 为什么会有人想要在特定时间段内封锁自己使用代币的权限? 因为我们的短期行动往往与我们的长期目标对立,而自我约束型约定可以帮助我们解决时间贴现 (temporal discounting)造成的问题(Elster,“Ulysses Unbound”,第 25 页)。 [2]

Jon Elster(以及后来的 Cass Sunstein 与 Richard Thaler 在其著作《助推( Nudge)》 中)描述了这样一个案例。 在信用卡出现之前,家长们通过圣诞储蓄来确保他们有足够的钱购买礼物。 他们会从每笔薪水中取出一部分存到圣诞储蓄,直到 12 月才能取出。

-1954 年左右的一则圣诞储蓄广告-

法律是不承认这种单方合约的。事实上,这一概念在现代法律框架中甚至没有意义。 但是,智能合约很容易就能应用到这种自我约束型约定中,并免去了第三方之需。 自我约束型约定在交易中非常有用(正如诺贝尔奖得主经济学家 Thomas Schelling 提出的)并且可以说是宪政主义的基础(不过这一领域仍然需要大量研究)。

互联网时代的约定

随着比特币的出现,一场经济学革命已初现端倪,但我们仍在等待智能合约成为现实。 诚然,智能合约需要更多功能才能与法律合约相媲美。但是,请别忘记,大多数人无法订立法律合约,而且通过法律诉讼解决争议的成本通常会很高。 2008 年,据联合国委员会估计,全球有 40 亿人得不到法律的庇护。 尽管智能合约仍处于起步阶段,但它们或许能比传统机构更快地满足全球贫困人口的需求。 智能合约强制要求我们预先解决歧义,扩宽法律通道,且成本低于法律裁决。 作为开源软件,智能合约允许人们对强制履约进行快速实验,并以前所未有的速度提高法制能力。

延伸阅读

论文和文章

  • Milo Davis’ website on Michelson
  • “Contract Law and the State of Nature” by Anthony T. Kronman
  • “An Essay on Bargaining” by Thomas Schelling

书籍

  • Contract as Promise by Charles Fried
  • Ulysses Unbound by Jon Elster

[1]: 他们在决定把钱汇给卖方还是买方时依然存在受贿的可能性
[2]: 合约把 tez 币锁定起来也有利于防盗

阿剑按:作者的想法跟时下流行观点可谓针尖对麦芒:智能合约做不到法律合约能做的所有事情,但智能合约也有法律合约做不到的事情。重点是她提醒了我们,Nick Szabo 之后,有人发展了智能合约的理念,而其中可能蕴藏着启发。

原文链接: https://medium.com/tezos/the-forgotten-contracts-68a0c1d2f3de
作者: Kate Sills
翻译&校对: 哲妹 & 闵敏

本文由作者授权 EthFans 翻译及再出版。

你可能还会喜欢:

干货 | 温和的加密货币大师:尼克·萨博,Part-1
观点 | 不完全合约与区块链
干货 | 金融合约与智能合约

评论