主页 > imtoken下载 > 关于智能合约的真相

关于智能合约的真相

imtoken下载 2023-04-02 07:50:57

像“区块链”一样,“人工智能”、“云”和“智能合约”等概念都得到了大肆宣传。

封面2

毕竟,顺其自然不是比按照司法程序来管理更容易吗? 智能合约承诺:

1. 自动、去信任、公平地执行合约内容;

2. 在合同的签订、执行和履行过程中,解除对第三方的依赖;

3.(据说可以)取代律师。

我仍然支持炒作中的一些信息。 毕竟,一旦去掉对可信第三方的依赖,效率会提高很多。

那么,智能合约到底是什么? 它是以太坊独有的吗? 这不是未来的必然趋势吗? 你为什么要阻碍这个进步?

以太坊智能合约代码_以太坊智能合约编写_什么是以太坊智能合约

在这篇文章中,我将谈谈什么是智能合约以及它有哪些应用场景。

什么是智能合约?

一般合同是两个(两个以上)当事人之间的协议,协议的内容将约束他们对他们即将要做的事情。 例如,Alice 可以付钱给 Bob,以换取 Bob 的房子的使用权(即租金)。 Denise 可能会每月付钱给 Charlie 以帮助他修理汽车(也称为汽车保险)。

与智能合约的不同之处在于它是由计算机代码评估和执行的。 如果爱丽丝同意付给鲍勃 500 美元,而鲍勃需要在 3 个月内交付一张沙发。 该代码确定条件是否为真(Alice 是否向 Bob 支付了 500 美元?付款后是否已经过了 3 个月?)。 并执行(从托管到交割沙发),该过程不允许任何一方退出合同或拒绝履行。

智能合约的关键点在于它支持无信任执行。 也就是说,不需要依赖任何第三方进行信任背书。 因为,与其等待第三方兑现承诺,或者依靠律师和法律体系进行补救,不如让智能合约去做。 智能合约可以及时、客观地执行合约中记载的所有条款。

智能合约其实挺“傻”的

“智能”一词意味着合约具有某种与生俱来的智能。 事实上,它在实际执行时并没有那么聪明。 合约的聪明之处在于它只需要将约定写入算法,然后强制双方履行约定,无需双方的配合。 就好像房东会把不交钱的房客踢出去,智能合约会直接把他们拒之门外。

一个真正“智能”的智能合约,会考虑到所有“情有可原”的情况,审视合约精神,做出最公正的裁决。 换句话说,一个真正的智能合约会表现得像一个好的法官。 现实情况是,“智能合约”一点也不聪明,因为它是基于规则的,总是遵循规则,不考虑现实或人道主义。

以太坊智能合约代码_以太坊智能合约编写_什么是以太坊智能合约

换句话说,一旦使用智能合约,就没有歧义的余地,这就引出了下一个问题。

智能合约真的很难实现

由于以太坊的影响,人们误以为智能合约是以太坊独有的。 事实上,这是不正确的。 智能合约从1995年就出现了,2009年比特币问世时什么是以太坊智能合约,也采用了一种智能合约语言——脚本。 比特币的智能合约语言与以太坊的相比,最大的区别在于以太坊是图灵完备的。 也就是说,Solidity(以太坊智能合约语言)可以运行更复杂的合约,代价是它也更难分析。

复杂性会带来一些严重的后果。 虽然复杂的合约可以允许更复杂的情况,但复杂的合约也很难维护。 日常生活中也存在着合同越复杂越难执行的现象。 因为复杂的因素增加了不确定性和解释空间。 要想保证智能合约的绝对安全,就必须在合约执行过程中测试每一种可能性,确保合约能够充分实现起草人的意愿。

2

保证图灵完备的智能合约等同于证明计算机程序没有错误。 我们知道这非常困难,因为今天几乎所有的计算机程序都不是完美的。

起草一份普通合同需要多年的学习并通过律师资格考试。 编写智能合约的难度不亚于此。 但目前大部分智能合约都是新手编写的,对事物的考虑不可能尽善尽美。 因此,可以发现很多智能合约存在安全漏洞。

为了解决这个问题,比特币放弃了图灵完备性。 这使得合约更易于分析,程序更易于枚举和检查。

以太坊智能合约编写_什么是以太坊智能合约_以太坊智能合约代码

以太坊的解决方案是将责任转移给合约作者。 即为了保证操作的安全性,合同的起草者应该保证自己所写的合同尽可能的完善。

智能合约不是真正的合约(至少在以太坊上)

将维护合约安全的责任交给合约起草者,听起来不错,但在实践中,会产生权力中心化的问题。

以太坊基于“代码即法律”的理念。 也就是说,以太坊合约是最终的权威什么是以太坊智能合约,没有人可以推翻这个合约。 这个想法是为了让智能合约的编写者清楚地知道合约本身是独立的。 如果起草者没有发现他们智能合约的安全漏洞,那么一旦出事,起草者就是“罪有应得”。 DAO事件一出,一切戛然而止。

DAO代表“分布式自治组织”,他们在以太坊上建立了基础。 用户可以将钱存入 DAO 并获得与他们在 DAO 中的投资成比例的回报。 当 ETH 的交易价格约为 20 美元时,DAO 筹集了 1.5 亿美元。 理论上,这一切都是可能的。 但是,由于代码的安全性得不到保证,有人发现了漏洞,可以顺利从DAO中取钱。

从 The DAO 拿钱的人被认为是“黑客”。 从某种意义上说,“黑客”确实找到了合同的漏洞,这是合同起草人始料未及的,但事实也是如此。 从广义上讲,这根本不是黑客,而是利用智能合约安全漏洞牟利的用户。 这与注册会计师寻找税收漏洞以节省客户资金没有什么不同。

接下来发生的事情是,以太坊决定根本不将代码视为法律,并收回所有投入 DAO 的资金。 它的真正意思是合约作者和投资者做了一些愚蠢的事情,而以太坊开发者决定救助他们。

事件被记录下来。 后来诞生了“以太坊经典”,将“DAO”保留为一种书面形式,保留了“代码即法律”的原则。 此外,开发人员开始回避使用图灵完备语言,因为它们太难维护了。 ERC 20 和 ERC 721 标准是以太坊中最常用的智能合约模板,需要注意的是,这两种合约都可以在没有任何图灵完备性的情况下编写。

以太坊智能合约编写_什么是以太坊智能合约_以太坊智能合约代码

智能合约仅适用于数字不记名工具

即使没有图灵完备性,智能合约听起来仍然不错。 毕竟,没有人愿意去真正的法庭,使用智能合约不是比普通合约容易得多吗?

难道智能合约不能也应用到房地产上吗? 爱丽丝可以证明房子是她的。 鲍勃可以付钱买房子。 不存在所有权问题,依靠计算机程序在不需要信任、法官、中间人或保险机构的环境中执行合同。 听起来不错,对吧?

这里有两个问题。 首先,中央机构执行的智能合约无法得到真正的信任。 最起码,你还是得依赖这个中央机关。 可信执行是智能合约的一个关键特征,因此通过中央机构执行它并不是最佳选择。 要让智能合约真正可信,需要的是一个去中心化的平台。

这就引出了第二个问题。 在分布式环境中,只有数字世界与现实世界直接建立连接,智能合约才能真正运行起来。 也就是说,一旦数字世界的房屋所有权发生变化,那么现实生活中的房屋所有权也必然发生变化。 数字世界需要与现实世界“对应”。 这被称为“甲骨文问题”。

当 Alice 把房子转让给 Bob 时,智能合约需要知道的是她在现实生活中确实把房子转让给了 Bob。 有几种方法可以做到这一点,但它们都有相同的基本问题。 必须有一些值得信赖的第三方来检查现实世界中发生的事情。

3

例如,Alice将房子兑换成数字货币,通过转账数字货币将房子转给Bob。 问题是:Bob 需要相信这些数字货币真的代表真实的房子。 一定有某种神谕来保证,当代表房子的数字货币转给他的时候,房子所有权的合法转移也就完成了。

以太坊智能合约代码_什么是以太坊智能合约_以太坊智能合约编写

此外,即使政府部门明确证明数字货币确实代表房子,也有疑问:如果数字货币被盗,房子现在是不是小偷的? 如果数字货币丢了,房子是不是已经卖不动了? 房子的数字货币可以补发吗? 如果是,由谁负责?

在去中心化系统中,将数字资产与实物资产(无论是水果、汽车还是房屋)联系起来是一个棘手的问题。 在司法管辖区,除了智能合约之外,有形资产还需要遵循其他司法规则。 这也意味着智能合约中的所有权不一定等同于现实世界中的所有权。 而且,与普通合同一样,仍然存在信任问题。 如果智能合约最终依赖于第三方,那么其可信执行特性将无从谈起。

电子书、医疗记录或电影等数字资产面临同样的问题。 这些数字资产的“归属”最终由其他权威机构决定,同样依赖于预言机。

从这个角度来看,神谕只是一个被削弱的法官。 你真正得到的不再只是机械的、简化的实现,而是经过所有风险计算后编码的复杂性。 换句话说,你使用了一个“智能”合约,但仍然依赖第三方,合约的编写变得更加复杂。

在没有神谕的情况下,唯一可行的是数字承载。 从本质上讲,交易双方不仅需要将信息数字化,还需要数字化承载设备。 也就是说,数字货币的所有权不能依赖于智能合约以外的存在。 只有拥有了数字承载设备,智能合约才能真正应用于去信任环境。

综上所述

我希望智能合约可以更实用一些。 然而,传统合同中有许多约定俗成或不可言说的部分。 智能合约只能执行明确的指令,而这些无法明确表述的隐形条款根本无法通过智能合约来表达。

此外,图灵完备性相对容易受到攻击,这可能导致各种意外行为。 我们应该将智能合约标记为图灵易受攻击的,而不是图灵完备的。 “DAO”事件也证明了合约中的“精神”是隐性可信的,比我们想象的更有助于解决纠纷。

智能合约易受攻击,安全难,在无信任环境下应用难度大,外部依赖性强,无法大规模应用。 智能合约的真正作用是在比特币等去中心化平台上使用数字承载。