这篇文章大概是我看过的对「智能合约」这一概念最好的入门综述了。

不同于智能合约创造者 Nick Szabo 天马行空的比喻与思考,这篇文章涉及智能合约的历史、发展现状、与法律合约的不同与对抗、未来的落地场景,等等方面。尽管作者可能因为本身是 TezosCommons 的董事成员,因此在文中少部分地方特意以 Tezos 为例,但整篇文章对我的启发性还是挺大的。推荐那些不了解智能合约的朋友都读一读这篇文章。

本文作者为 Kate Sills,翻译 Retric。Orangefans 由一群真正对区块链感兴趣的小伙伴组成,如果你也想加入这个社区、与我们一起翻译学习国外优质文章,可以在文章下面评论、或者在微信后台联系我们。

他们说,「智能合约不是法律合约」。

这是对的,但他们错过了真正值得关注的重点。

14 世纪的壁画,作者 Ambrogio Lorenzetti 把它取名为「不良治理对城市生活的影响」。

智能合约从未打算成为法律合约。Nick Szabo 希望创造一种新的数字化机构:通过代码执行合约条款,而不是通过法院。很显然,现实世界里的物理法庭(纸质驱动的低效率的裁决中介)跟不上互联网发展的脚步。一个快速高效、跨越地理管辖权的交易平台最终将会取代物理法庭。

中本聪对「让比特币的 script 支持人们提交大规模的承诺与约定」这个想法也很感兴趣。今天,许多类似 Tezos 的智能合约平台延续了 Szabo 的工作成果,让我们可以在互联网上对陌生人作出承诺与约定——在代码里。

音乐家和舞蹈家在合理的治理下愉快地进行合作

为什么我们需要合约

在一个没有货币或者合约的世界里,我们会被限制在「同步交易」的困境里。

你有一个苹果,我有一片面包,我可以拿面包交换你的苹果。但如果我们不断地交换更多的东西,就会出现经济学里称之为 double coincidence of wants (双重需求偶合)的问题:为了让我们双方进行交易,我想要你的苹果的同时,你也必须很想要我手里的面包。但这种情况并不很经常出现。

货币一定程度上解决了这个问题。我可以先把面包卖出去换来钱,然后过一段时间再用钱去买苹果。通过钱,我们把原本交易必须具备的「双重需求」减少到了「单重需求」——我不需要拥有你想要的东西,但我稍后仍然可以获得我想要的东西。「同步交易」借助货币这一媒介转换成了「异步交易」,交易本身的限制被减少了。

合约与货币运作的原理类似。但它减少了更多的交易限制,让更多潜在交易的实现成为了可能。我们甚至不需要同步的价值交换媒介,哪怕是钱。我现在可以把一片面包卖出去,只要有人承诺我下个月他会把面包的钱付给我就可以。这种能力,一下子为我们释放了大量的、更多类型的潜在交易。交易也变得更加「异步」了。

但这里还有一个问题:你怎么确定别人遵守自己的诺言?怎么确定自己得到的承诺会如期实现?

强制履约

Thomas Hobbes 说出了强制履约的问题:

bonds of words are too weak to bridle men’s ambition, avarice, anger, and other passions, without the fear of some coercive power (Leviathan, p. 69).

他指出,政府的主要功能就是确保合约的强制执行。也就是说,我们总是在强制暴力的威胁下,为他人许下自己的承诺。

「正义」在良好的治理下被分配出去

耶鲁法律学教授 Anthony Kronman 也指出,国家可以被看作是一个强制执行机器。而且这台机器是被私人占有的,合约的双方会为使用这台机器进行付费。

在 90 年代中期,Nick Szabo 几乎是完全照着「强制执行机器」的字面意思创造出了「智能合约」的概念——一种在安全设备和硬件上运行的合约,不需要依赖法庭就会强制执行自己合约里的内容。

智能合约,还是区块链代码?

然而,在 2013 年,加密经济的爆发把智能合约的概念推广扩大了。比如,在以太坊的白皮书里,「合约」这个词被用来形容所有通用功能的在区块链上运行的代码。

这种新的定义,转换了智能合约原本关注的焦点。不同于强制履约的目的,新的智能合约的目标并不清晰。但这种新定义背后其实也有很多历史:跟随着 Nick Szabo 在 90 年代的研究成果,Mark Miller 在 2003 年写了关于「分割合约」(split contracts)的概念。在互联网出现之前,甚至就已经有了智能合约平台,比如 AMIX, the American Information Exchange,世界上第一个专业信息的在线市场,创建于 80 s 年代和 90 s 年代。AMIX 在当时的时代背景下表现得非常杰出,它可以让用户把自己的专业知识与经验安全地出售给他人,以顾问的形式。

中本聪认为履约将成为比特币未来的一大方向。在 2010 年,中本聪说:「比特币最初的设计支持了多种类型交易的可能性,比如履约交易、担保合同、第三方仲裁、多方签名等等。如果比特币在未来真的发展起来,这些都是未来我们希望能够探索的方向。」

Tezos 创造了一个原汁原味的智能合约平台:不是为了成为一台可以运行代码的世界计算机,而是为了成为可以允许多种类型交易的一种新方式。Tezos 的编程语言,Michelson,是图灵完备同时在形式上明确指定用途的,可以支持一系列大范围的、不同类型的交易。

不良治理的影响

智能合约会取代合约吗?

智能合约真的能取代法律合约吗?答案是可以,但现阶段使用场景非常有限。

比如说我想要在网上卖一件东西,但我想要在点对点的交易市场上卖,而不是淘宝。在网上买东西给陌生人,很可能跨地区、跨国界,将会产生很多潜在的信任问题。在这种交易里,第一方作出行动的人总是要承担对方不遵守承诺的风险。如果我先把东西发货出去,你收到了可能不付钱;如果你先付钱了,我收到后可能不发货。

解决这个问题的方法是使用多重签名的智能合约。比如这个例子(作者 Milo Davis)。或者这个更高级别的用 Liquidity 编写的例子(作者 OCamlPro)。在一个针对线上交易的多重签名的智能合约里,三方(买家、卖家、第三方)至少需要其中的两方进行签名。这个第三方可以是任何人,或者任何事物,买卖双方如果交易起了争端将通过这个第三方进行协调。这里面非常重要的一点是,这个第三方作为仲裁拥有的权力非常小——它只能决定把钱转给买方还是卖方,当其中的另一方不遵守承诺的时候。第三方不能把钱自己收走,或者转给非卖家和非买家的其他人。

细心的读者应该注意到了,为了让这套机制运作起来,交易的钱必须被托管到第三方里暂时保管。目前,智能合约还不能把钱从账上转走,或者把未来的收入扣押下来。因此在设计的时候你应该优先考虑使用非托管类型的支付方式。这样才能获得更多人使用,扩大范围。

不良治理的寓言

法律合约与自约束履约

法律合约依赖于国家无可匹敌的强制暴力,但国家的暴力是一个有限资源,缺少定价机制,只能定量供应。因此,法庭必须谨慎地判断每一个约定是不是值得进行暴力制裁。这样一来,就会产生一些理论,比如美国法律里的约因理论(doctrine of consideration)。

在某些场景中应用可靠的智能合约,还需要更多的研究调查结果支持。但是,目前已经有一些类型的智能合约能够被应用在传统的法律合约不能应用的地方了。比如,这里有一个 Michelson 智能合约的例子,它的作者是 Milo Davis。这个合约会在你向合约地址发送 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 itUNIT;
Put the contract’s argument type on top of the stack
TRANSFER_TOKENS; # Make the transfer
PAIR} # Pair up to meet the calling convention

你可能在想,谁会使用这样的合约?谁会想要在某一段时间里锁定自己使用账上代币的权限?其实主要是因为,我们短期的行动往往跟我们长期的目标是相违背的,而自约束的智能合约可以帮助我们克服短期的短视,解决时间贴现的问题。

Jon Elster 曾经描述过类似的问题。在信用卡出现之前,父母借助圣诞储蓄(Christmas clubs,为圣诞节购物而设置的零存整取的存款形式)的方式来确保有足够的钱可以用来给孩子买圣诞礼物。他们会把每个月的工资拿出一小部分存到这个圣诞储蓄里,然后圣诞储蓄的形式规定了家长们暂时没有获取这部分钱的权力,一直到 12 月。

1954 年一则圣诞存蓄的广告

法律没有办法识别这种单方的合约——事实上,单方合约这个词在现代法律的框架下根本就说不通。但智能合约现在就可以很轻易地应用到这种类型的场景里。自约束履约可以在交易中发挥很多的用处(诺贝尔经济学家 Thomas Schelling 的提议),同时也是一种很有争议的宪政主义机构(当然这一部分还需要更多的研究调查)。

互联网时代的履约

比特币让我们看到了经济领域新革命的开始,但我们还在等待智能合约成为现实。不可否认,智能合约还需要更多显著的有意义的新功能才能和法律合约进行对抗。但是,我们不能忘记一点:大部分人并没有渠道可以接触到法律,分歧与争议有时需要花费高额的代价才能在法庭上解决。

2008 年,联合国委员会估算,全球大概有 40 亿人无法接入使用法律。即使智能合约还处于婴儿期,它也有可能会先满足全球贫困人口的法律需求,然后才会再去考虑颠覆现有法律机构。智能合约强迫我们去解决现有的纷争与分歧,让法律通道更具可扩展性、降低裁决前后的成本。同时,作为一种开源的软件,智能合约允许人们尝试更多关于强制履约的实验与探索,它可以提高公共机构的职能效率,以一种无法预测的速度。

来源链接:mp.weixin.qq.com