智能合约

1994 by Nick Szabo

PART1

智能合约是执行合约条款的计算机化交易协议。智能合约设计的一般目标是满足常见的合约条件(如付款条款、留置权、保密性,甚至强制执行),最小化恶意和意外的异常,并最小化对可信中介的需求。相关的经济目标包括降低欺诈损失、仲裁和执行成本以及其他交易成本。
今天存在的一些技术可以看作是粗糙的智能合约,例如POS终端和卡、EDI和公共网络带宽的供需分配。

A smart contract is a computerized transaction protocol that executes the terms of a contract. The general objectives of smart contract design are to satisfy common contractual conditions (such as payment terms, liens, confidentiality, and even enforcement), minimize exceptions both malicious and accidental, and minimize the need for trusted intermediaries. Related economic goals include lowering fraud loss, arbitration and enforcement costs, and other transaction costs[1].
Some technologies that exist today can be considered as crude smart contracts, for example POS terminals and cards, EDI, and agoric allocation of public network bandwidth.

PART2

数字现金协议是智能合约的一个很好的例子。它们使在线支付成为可能,同时也体现了纸币的特性:不可伪造性、保密性和可分割性。当我们再看一看数字现金协议,在智能合约设计的更广泛的背景下考虑它们时,我们看到这些协议可以用于实现各种各样的电子无记名证券,而不仅仅是现金。我们还看到,要实现完全的客户-供应商交易,我们需要的不仅仅是数字现金协议;我们需要一个协议,它能够完全保证如果付款了,商品会被发送,或者商品寄出去了,就会收到钱。目前的商业系统使用各种各样的技术来完成这一任务,如认证邮件、面对面交换、依赖信用历史和托收机构来扩展信用等。智能合约有可能大大降低许多商业交易的欺诈和执行成本。数字现金协议使用了一些来自密码学和计算机科学领域的丰富的新构建模块。大多数这些组成部分尚未被广泛利用以促进合约安排,但潜力是巨大的。这些子协议包括拜占庭协议、对称和非对称加密、数字签名、盲签名、切割和选择、比特承诺、多方安全计算、秘密共享、不经意传输和多方安全计算。除了第一个,所有这些协议都在[3](此处指参考文献3)中有描述。

Digital cash protocols are fine examples of smart contracts. They enable online payment while honoring the characteristics desired of paper cash: unforgeability, confidentiality, and divisibility. When we take a second glance at digital cash protocols, considering them in the wider context of smart contract design, we see that these protocols can be used to implement a wide variety of electronic bearer securities, not just cash. We also see that to implement a full customer-vendor transaction, we need more than just the digital cash protocol; we need a protocol that guarantees that product will be delivered if payment is made, and vice versa. Current commercial systems use a wide variety of techniques to accomplish this, such as certified mail, face to face exchange, reliance on credit history and collection agencies to extend credit, etc. Smart contracts have the potential to greatly reduce the fraud and enforcement costs of many commercial transactions. Digital cash protocols use several of the rich new building blocks coming out of the fields of cryptography and computer science. Most of these components have not yet been widely exploited to facilitate contractual arrangements, but the potential is vast. These subprotocols include Byzantine agreement, symmetric and asymmetric encryption, digital signatures, blind signatures, cut & choose, bit commitment, multiparty secure computations,secret sharing,oblivious transfer, and multiparty secure computation. All of these except the first are described in.

PART3

智能合约设计对合同法和经济学的影响,以及对战略合约起草的影响,很少有人探究(反之亦然)。同时我怀疑,执行某些合约的交易成本大幅降低的可能性以及基于智能合约创建新型企业和社会机构的机会,虽然都是巨大的,但是也很少被研究过。“密码朋克”探索了一些新的协议构建模块的政治影响。在电子数据交换(EDI)领域,传统商业交易的元素(发票、收据等)是通过电子方式交换的,有时还包括加密和数字签名功能,这可以被视为智能合约的原始先驱。事实上,这些业务形式可以为智能合约设计人员提供了很好的出发点并且杀出了一条路。

The consequences of smart contract design on contract law and economics, and on strategic contract drafting, (and vice versa), have been little explored. As well, I suspect the possibilities for greatly reducing the transaction costs of executing some kinds of contracts, and the opportunities for creating new kinds of businesses and social institutions based on smart contracts, are vast but little explored. The “cypherpunks”[4] have explored the political impact of some of the new protocol building blocks. The field of Electronic Data Interchange (EDI), in which elements of traditional business transactions (invoices, receipts, etc.) are exchanged electronically, sometimes including encryption and digital signature capabilities, can be viewed as a primitive forerunner to smart contracts. Indeed those business forms can provide good starting points and channel markers for smart contract designers.

PART4

智能合约的一项重要任务是对参与方之间交易时的语义进行交流,这一任务在很大程度上被传统的电子数据交换(EDI)所忽视。智能合约中存在大量的“智能细则”机会:软件可以对交易的一方做手脚。例如,杂货店的POS机没有告诉顾客们他们的名字与他们的购买行为在数据库里是否是绑在一起的。职员甚至也不知道,在自己的眼皮底下他们处理了成千上万这样的交易。结果,通过隐藏的软件操作,顾客就这样把对他们有价值的和私密的资料给出去了。但是合同已经是起草好了的,交易本身也已经是设计好了的,通过这样的方法,对顾客隐藏了那些交易的重要部分。

One important task of smart contracts, that has been largely overlooked by traditional EDI, is communicating the semantics of the transaction to the parties involved. There is ample opportunity in smart contracts for “smart fine print”: actions taken by the software hidden from a party to the transaction. For example, grocery store POS machines don’t tell customers whether or not their names are being linked to their purchases in a database. The clerks don’t even know, and they’ve processed thousands of such transactions under their noses. Thus, via hidden action of the software, the customer is giving away information they might consider valuable or confidential, but the contract has been drafted, and transaction has been designed, in such a way as to hide those important parts of that transaction from the customer.

PART5

为了使交易语义交流得更好,我们需要一些通俗的可视化比喻对合约元素作出解释。这些措施将导致隐藏了协议的细节方面,但是没有失去对合约条款的认知和执行的控制。发生在早期却是一个很好的例子是商业网 (CommerceNet,B2B非赢利性组织)开发的SecureMosiac软件所提供的功能。把文档放进信封里,往文档或信封上盖上印章进行数字签名,这样就加密了。另一方面,Mosaic服务器在没有警醒用户的情况下记录着这些联系,有时甚至是交易本身 — 典型的隐藏行为。

To communicate transaction semantics well, we need good visual metaphors for the elements of the contract. These would hide the details of the protocol without surrendering control over the knowledge and execution of contract terms. A primitive but good example is provided by the SecureMosiac software from CommerceNet. Encryption is shown by putting the document in an envelope, and a digital signature by affixing a seal onto the document or envelope. On the other hand, Mosaic servers log connections, and sometimes even transactions, without warning users — classic hidden actions.

PART6

智能合约条款中可能考虑的另一个领域是合成资产[5]。这些新证券是由证券(如债券)和衍生品(期权和期货)以各种各样的方式组合而成的。由于计算机对这些复杂期限结构的分析,非常复杂的付款期限结构(即,何时支付,利率等)现在可以构建到标准化合同中,并以低交易成本进行交易。
合成资产让我们可以对不同客户所希望的不同期限结构进行套利,它们让我们进行合约设计时模仿其他合约,减少某些责任。在后者的例子中,合成型资产被模仿构造为德国公司股票的收益率,而不必满足境外投资者在德国股票市场上的资本收益必须给德国政府支付税收的规定。要注意很重要的一点是这些合成型资产不必像原来的所做的那样需要协商投票权。当然了,这些协议在承受来自第三方管辖权的攻击时可能必须要非常安全,这些在第三方管辖区进行交易的成本(税收)通过合成型资产被套利掉了。

Another area that might be considered in smart contract terms is synthetic assets[5]. These new securities are formed by combining securities (such as bonds) and derivatives (options and futures) in a wide variety of ways. Very complex term structures for payments (ie, what payments get made when, the rate of interest, etc.) can now be built into standardized contracts and traded with low transaction costs, due to computerized analysis of these complex term structures.
Synthetic assets allow us to arbitrage the different term structures desired by different customers, and they allow us to construct contracts that mimic other contracts, minus certain liabilities. As an example of the latter, synthetic assets have been constructed that mimic the returns of stocks in German companies, without requiring payment of the tax foreigners must pay to the German government for capital gains in German stocks. It’s important to note that these synthetics do not confer voting rights as do the originals. It might be possible to add smart contract protocols to transfer voting rights to the synthetic. Of course, these protocols might have to be quite secure to withstand attacks from the third party jurisdiction, whose transaction cost (the tax) is being arbitraged away by the synthetic asset.

PART7

最后,我们可以将智能合约的概念扩展到财产。智能财产的建立可以通过将智能合约嵌入到有形的实物里。根据合同条款,这些嵌入式协议将自动将操作该财产的密钥控制权交给合法拥有该财产的代理。例如,一部车为了防止被偷窃,除非确定拥有者完成正确的“挑战响应协议”(challenge-response protocol),否则车是不会启动激活的。如果贷款购买汽车,而车主未能付款,智能合约可以自动调用留置权,将汽车钥匙的控制权交还给银行。这种聪明的留置权可能比回购人更便宜、更有效。同样需要的是一项协议,以证明在贷款已被偿还时消除留置权,以及困难和操作例外。例如,当汽车在高速公路上行驶到75英里时,取消它的运行是不礼貌的。

Finally, we can extend the concept of smart contracts to property. Smart property might be created by embedding smart contracts in physical objects. These embedded protocols would automatically give control of the keys for operating the property to the agent who rightfully owns that property, based on the terms of the contract. For example, a car might be rendered inoperable unless the proper challenge-response protocol is completed with its rightful owner, preventing theft. If a loan was taken out to buy that car, and the owner failed to make payments, the smart contract could automatically invoke a lien, which returns control of the car keys to the bank. This smart lien might be much cheaper and more effective than a repo man. Also needed is a protocol to provably remove the lien when the loan has been paid off, as well as hardship and operational exceptions. For example, it would be rude to revoke operation of the car while it’s doing 75 down the freeway.

PART8

智能资产可能还很遥远,但数字现金和合成资产已经出现,更多智能合约机制正在设计中。目前为止,对来自截然不同领域如经济学和密码学的自动化合约执行来说,设计准则是很重要的,缺少交叉沟通(cross-communication):一边是对技术缺乏意识,另一边对最好的商业用途缺乏意识。智能合约的理念是要认识到为共同目标而作出的努力,将在智能合约的概念上进行交汇。

Smart property may be a ways off, but digital cash and synthetic assets are here today, and more smart contract mechanisms are being designed. So far the design criteria important for automating contract execution have come from disparate fields like economics and cryptography, with little cross-communication: little awareness of the technology on the one hand, and little awareness of its best business uses other. The idea of smart contracts is to recognize that these efforts are striving after common objectives, which converge on the concept of smart contracts.