我们在其中推广的许多概念 以太坊土地 有时看起来可能会令人难以置信的未来主义,甚至令人恐惧。我们谈论的是所谓的“智能合约”,它们不需要任何人工干预或参与就可以执行,而人们组成了天网式的“去中心化自治组织”,这些组织完全生活在云中,但却控制着强大的财务资源,可以激励人们在现实世界中做非常真实的事情,去中心化的“基于数学的法则”,以及似乎乌托邦式的追求,以建立某种完全无信任的社会。对于不了解情况的用户,尤其是对于甚至从未听说过普通旧比特币的用户而言,很难看到这些事情是如何可能发生的,如果它们是为什么它们可能是可取的。本系列文章的目的是详细剖析这些想法,并确切地表明我们对每个想法的含义,并讨论其特性,优点和局限性.

该系列的第一部分将讨论所谓的“智能合约”. 智能合约 这个想法已经存在了几十年,但是被赋予了它的现名,并且首先引起了(加密倾向)公众的注意。 尼克·萨博(Nick Szabo) 在2005年。实质上,智能合约的定义很简单:智能合约是强制执行的合约。也就是说,常规合同是一张纸(或更新的PDF文档),其中包含文本,该文本隐含地要求法官在特定条件下命令当事方向另一方汇款(或其他财产), contract是可以在自动执行这些条件的硬件上运行的计算机程序。 Nick Szabo以自动售货机为例:

卑微的自动售货机是一个典型的现实生活示例,我们可以认为它是智能合约的原始祖先。在有限的潜在损失(耕种中的损失应少于破坏机制的成本)内,机器通过简单的机制获取硬币,这在具有有限自动机的设计中造成了新生计算机科学的问题,根据显示的价格分配零钱和产品。自动售货机是与不记名者的合同:任何拥有硬币的人都可以参与与供应商的交换。密码箱和其他安全机制可保护存储的硬币和内容免受攻击者的攻击,足以使自动售货机在各种领域中获利部署.

智能合约就是这个概念在很多事情上的应用。我们可以拥有可以根据某些公式和条件自动洗钱的智能金融合同,可以将域名分配给任何首先发送200美元的人的智能域名销售订单,甚至可以是控制银行帐户并根据一些自动付款的智能保险合同提供有关真实事件的数据的可信来源(或来源组合).

智慧财产

但是,此时出现了一个明显的问题:这些合同将如何执行?就像传统合同一样,除非有实际的法官拥有执行合同的法律权力,否则传统合同不值得写这些文件,因此智能合同需要“插入”某些系统才能真正拥有执行任何操作的权力。最明显,最古老的解决方案是硬件,这种想法也被称为“智能财产”。尼克·萨博(Nick Szabo)的自动贩卖机就是典型的例子。在自动售货机内,有一种原始智能合约,其中包含一组看起来像这样的计算机代码:

如果button_pressed == "可口可乐" 和money_inserted >= 1.75:发布("可口可乐")return_change(money_inserted-1.75)else if button_pressed == "Aquafina水" 和money_inserted >= 1.25:释放("Aquafina水")return_change(money_inserted-1.25)else if…

该合同有四个进入外界的“钩子”:button_pressed和money_inserted变量作为输入,release和return_change命令作为输出。所有这四个因素都取决于硬件,尽管我们专注于后三个因素,因为通常认为人工输入是一个琐碎的问题。如果该合同从2007年开始在Android手机上运行,​​那将毫无用处。 Android手机无法得知向插槽中插入了多少钱,因此肯定无法释放可口可乐瓶或零钱。另一方面,在自动售货机上,合同带有一定的“力量”,由自动售货机内部的可口可乐持有人及其实体安全性提供支持,从而防止人们在不遵守合同规则的情况下仅服用可口可乐.

另一个更未来的智能财产应用是租车:想象一个世界,每个人在智能手机上都有自己的私钥,并且有一辆车,当您向某个地址支付100美元时,该车会自动开始响应由签名的命令您的私钥一天。同样的原理也可以应用于房屋。如果这听起来有些牵强,请记住办公楼已经基本上是智能财产:出入由门禁卡控制,每张卡对哪扇门(如果有的话)有效的问题由链接到的一段代码确定。数据库。而且,如果公司拥有可自动处理雇佣合同并激活新员工访问卡的HR系统,那么该雇佣合同在某种程度上就是智能合同.

聪明的钱和事实社会

但是,物理性能在其功能方面非常有限。物理财产的安全性有限,因此,使用智能财产设置花费几万美元,您几乎无法做任何有趣的事情。最终,最有趣的合同涉及转账。但是,我们如何才能真正做到这一点呢?现在,我们基本上不能。从理论上讲,我们可以将合同的登录详细信息提供给我们的银行帐户,然后让合同在某些条件下汇款,但是问题在于这种合同并不是真正的“自我执行”。签订合同的一方总是可以在付款到期之前简单地将合同关闭,或者耗尽他们的银行帐户,甚至只是更改帐户密码。最终,无论合同如何集成到系统中,有人都可以将其关闭.

我们该如何解决这个问题?最终,答案是在我们更广泛的社会背景下是一个激进的答案,但在比特币世界中已经是很多老新闻了:我们需要一种新的资金。到目前为止,货币的发展经历了三个阶段:商品货币,商品支持货币和法定货币。商品货币很简单:它是有价值的货币,因为它同时也是具有“内在”使用价值的商品。银和金是完美的例子,在更传统的社会中,我们也有茶,盐(词源:这是“工资”一词的来源),贝壳等。接下来是大宗商品支持的货币–银行发行有价值的证书,因为可以兑换黄金。最后,我们有法定货币。 “法定货币”中的“法定货币”就像“菲亚特勒克斯”,除了上帝没有说“让我们有光”,而是联邦政府说“让我们有钱”。这些钱之所以有价值,主要是因为发行它的政府接受这笔钱,并且仅接受那笔钱作为税金和其他法律特权。.

但是,有了比特币,我们有了一种新的资金: 事实钱. 法定货币与事实货币之间的区别是:法定货币是由生产该法定货币的政府(或理论上是其他某种代理机构)建立并维持的,而事实货币则是事实货币。 Factum货币只是资产负债表,其中有一些有关如何更新资产负债表的规则,并且该货币在决定接受该货币的那一组用户中有效。比特币是第一个例子,但还有更多。例如,可以有一条替代规则,该规则规定只有来自某个“创始交易”的比特币才算作资产负债表的一部分。这被称为“有色硬币”,也是一种事实货币(除非这些有色硬币是法定货币或有商品支持的).

实际上,事实货币的主要承诺恰恰是它与智能合约紧密结合的事实。智能合约的主要问题是强制执行:如果一个合约说如果X发生而X发生了向Bob寄出200美元,而X的确发生了,我们如何确保200美元实际上被寄给了Bob。使用事实货币的解决方案非常优雅:货币的定义,或更确切地说,当前资产负债表的定义,是执行所有合同的结果。因此,如果确实发生X,那么每个人都会同意鲍勃拥有额外的$ 200,如果没有发生X,那么每个人都会同意鲍勃拥有鲍勃以前拥有的一切.

实际上,这是一个革命性的发展,比起初您想的要多。借助实际的资金,我们创造了一种合同,甚至一般的法律,都可以发挥作用和有效发挥作用的方式,而无需依靠任何形式的机制来执行它。想要乱扔垃圾罚款100美元吗?然后定义一种货币,这样,如果您乱丢垃圾,则少100个单位,并说服人们接受它。现在,该特定示例非常牵强,如果没有一些主要警告,我们将在下面进行讨论,这是不切实际的,但是它显示了一般原理,并且有许多更适度的此类示例可以明确地应用于工作.

智能合约到底有多聪明?

显然,智能合约对于任何种类的金融应用都非常有效,或更普遍地讲,两种不同的事实资产之间的任何种类的互换。一个例子是域名出售。像google.com这样的域名是一种事实资产,因为它由服务器上的数据库支持,该数据库仅承受任何重量,因为我们接受它,金钱显然也可以是事实。目前,出售域名是一个复杂的过程,通常需要专门的服务。将来,您可能能够将销售报价打包成智能合约,并将其放在区块链上,并且如果有人接受,交易的双方将自动发生–不会涉及欺诈。回到货币世界,去中心化交易是另一个例子,我们也可以做金融合约,例如对冲和杠杆交易.

但是,在有些地方智能合约不是那么好。例如,考虑一个劳动合同的情况:A同意为B履行某项任务,以换取X单位货币C的支付。支付部分易于智能合约化。但是,有一个部分并不那么容易:验证工作是否实际进行。如果工作是在物理世界中,那么这几乎是不可能的,因为区块链无法访问物理世界。即使是网站,仍然存在评估质量的问题,尽管计算机程序可以在某些情况下使用机器学习算法来非常有效地判断此类特征,但要在没有公开合同的情况下以公共合同进行这项工作非常困难员工“游戏系统”。有时候,一个由算法统治的社会还不够好.

幸运的是,有一个适度的解决方案可以兼顾法官和法官两个方面的优点。普通法院的法官基本上有无限的权力去做自己想做的事,而且审判过程没有一个特别好的接口。人们需要提起诉讼,等待相当长的时间才能进行审判,法官最终做出的决定是法律制度所强制执行的-本身并不是闪电般快捷的典范。私人仲裁往往比法院便宜和快捷,但是即使在那儿,问题仍然是一样的。另一方面,事实世界中的法官则有很大的不同。一份明智的雇佣合同可能看起来像这样:

如果说(B,"一个做了工作")或说(J,"一个做了工作"):发送(200,A)否则如果说(A,"一个没有做这份工作")或说(J,"一个没有做这份工作"):发送(200,B)

表示签名验证算法; said(P,T)基本上检查是否有人提交了带有文本T和使用P的公钥验证的数字签名的消息。那么,这份合同如何运作?首先,雇主将200个货币单位发送到合同中,由他们代管。在大多数情况下,雇主和雇员是诚实的,因此A签署了一条消息“ A没有完成工作”或A进行了工作,退出了B并向B释放了资金,B验证了A进行了工作,并且合同将资金释放给了A。但是,如果A完成了工作,而B却不同意,则应由J来判断是A完成了工作还是A没有完成工作.

请注意,J的幂是非常仔细地描绘的; J有权做的所有事情就是说A做了这项工作或A没完成这项工作。更复杂的合同也可能赋予J在两个极端之间的范围内作出判决的权利。 J无权说A实际上应得到600个货币单位,或者说整个关系是非法的,J有权得到200个单位,或者没有明确定义的范围之内的任何其他东西。而且J的权力是由事实执行的-合同包含J的公钥,因此资金会根据边界自动转到A或B。合同甚至可以要求三分之二的法官来信,也可以由独立的法官来评判作品的各个方面,并让合同根据这些评分自动为B的作品分配质量得分。任何合同都可以按照自己想要的方式简单地插入任何法官,无论是判断某个特定事实的真假,提供某些变量的计量结果,还是成为促成安排的当事方之一.

这将比当前系统更好吗?简而言之,这就是“法官即服务”。现在,要成为一名“法官”,您需要在一家私人仲裁公司或政府法院聘用,或者自己创办一家。在具有密码功能的事实法系统中,要成为法官,只需要拥有一个公共密钥和一台可以访问互联网的计算机即可。尽管听起来有些违反直觉,但并非所有法官都需要精通法律。一些法官可以专门研究例如确定产品是否正确运输(理想情况下,邮政系统会这样做)。其他法官可以核实雇佣合同的完成情况。其他人将评估保险合同的损失。合同撰写者应将每种类型的法官插入合同中的适当位置,而合同中只能由计算机代码定义的部分将由合同撰写人决定。.

这就是全部.

本系列的下一部分将讨论信任的概念,以及密码学家和比特币倡导者在谈论建立“无信任”社会时的真正含义。.