二十多年,但智能合约只在过去五年中成为一个重大的谈话点,释放了以外统计学及其坚固的规划语言。
在2017年的大部分时间内,您无法为ICOS提供有希望使用智能合同来彻底改变我们的交易和做生意的方式,并且密码圈仍然用文章唤醒了解释即将到来的智能合同革命,智能合同如何扰乱一切从物流到房地产,将把律师放在任何地方的工作,并在人类合同法中造成数千年的发展。
但现在它是2019年,智能合约有什么?无尽的ERC20令牌和假猫养殖......
这对ICO和加密会有点苛刻,这是不可否认的重要性,至少作为概念证明。但还有什么样的?十亿美元,市场扰乱了人们所承诺的企业?改变生活的DAPP在哪里?在到目前为止所写的所有Ethereum DAPP的中,只有10%的人在任何一天使用。 EOS DAPPS票价更好,但少于5%有2000多名每日活跃用户。
事实是,智能合同无用,可将继续为可预见的未来毫无用处。它们没有任何智能的智慧 - 它们是具有有限功能的愚蠢程序,只能访问存储在区块链上的数据,无法与外部世界交谈。声称的令人闷吸的加密密码,所有合同只是嵌套if-then语句的花哨链,所以显然他们可以在机器语言中复制,没有掌握关于合同有用的第一件事,他们如何以及为什么出现问题和纠纷。
我们如何结束这只盲人巷子,我们应该做些什么呢?
首先,让我们来看看智能合同如何工作,然后我会解释为什么他们强调不以任何有意义的方式工作。
智能合约是小型计算机程序,每个区块链节点都需要定期运行。节点无法控制智能合约的执行指令,因此不应完全访问运行该节点的机器资源来信任它。
由于缺乏控制,区块链项目附带了虚拟机(VM),这些虚拟机专注于确保智能合约的执行安全。 VM充当沙箱,可防止智能合约对主机造成破坏。每个VM运行一组非常有限的指令(也称为字节码),该指令组成每个智能合约(例如算术运算符,区块链交易等)。自然,这意味着与本地运行的机器代码相比,智能合约功能是超级受限的。
智能合约也不能永远运行,从而无限期占用其主机的资源。智能合约是别人家中的客人,必须最终离开。不幸的是,计算理论最著名的结果之一就是无法知道您的平均智能合约是否会停止运行,因此VM不得不计算字节码并强制智能合约在某个时刻停止。这是确保智能合约停止而又不进一步限制功能的唯一方法,但这使它们在实际使用中极为令人讨厌。
您是智能合约所有者吗?您是否支付了足够的钱来部署智能合约?不?这样,您的合同将停止执行。即使您小心点,汽油价格始终会波动,因此无法正确地估算合同执行成本。
问题不仅仅局限于所有者。区块赢家使用智能合约执行的结果更新区块链,并获得区块奖励和交易费用补偿。但是网络的其余部分必须运行相同的智能合约,以检查这些执行结果是否没有报酬。您是没有赢得对该区块进行签名的权利的节点运营商吗?祝您好运-您仍然必须浪费执行智能合约的计算周期。不,您将不会因此获得报酬!
人们通常认为,许多或大多数现实世界的合同都可以表示为IF-THEN语句的集合。如果满足某些条件,则处理合同的适当条款。如果我收到100BTC,则转让房屋所有权。如果客户未在约定的日期归还您的租车,则应处以罚款。 IF-THEN语句是计算机的基础,而区块链让我们可以在不信任的环境中运行这些程序,那么为什么我们应该为律师收取每小时200美元的费用?
这听起来很引人注目,但手脚有些狡猾。律师和公证人以及数千年的法律文书不只是笨拙的输入/输出处理系统。验证是否满足现实世界条件,然后就该验证达成协议的问题非常困难,而智能合约使我们无法解决它。
想象一下:说出你的合同如何解决是在执行时的时间。这似乎合理,对吗?但区块链没有客观的时间来源。因此,您的智能合同需要访问外部时间服务。调用时间服务将当前时间返回到毫秒,然后用于执行合同。然后将此合同执行的结果添加到区块链中。
但由于结果被添加到区块链中,所以所有节点都必须达成一致。这是维持区块链共识的一部分和包裹。但请记住,每个节点都在自己的VM中独立运行这些合同。因此,它们都在略微不同的时间内访问时间服务,并接收略微不同的时间戳。因此,当验证下一个块时,每个节点都会对智能合同执行的结果不同。
(并且没有任何好处,我们不关心毫秒的准确性,让我们绕到最接近的第二个,分钟,小时,时刻,随时随地都有一些节点,所有节点都在不同时间访问相同的服务,舍入决策之间的差异是不可避免地将下来到毫秒,而且你回来了同样的问题。)
无论如何摆动它,节点都不会互相一致,区块链永远不会达成共识。
由于智能合同无法访问外部世界,因此必须将外部世界带到智能合同。有些实体可以将来自外部世界的数据放在区块链中,使其可用于所有在网络上运行的未来智能合同。这些实体称为oracles。
但这并没有真正帮助我们。在我们使用它之前,数据需要在链中,但我们如何知道我们需要的数据?我们不能将生命的每个事实都留到区块链上。所有现代的碉堡已经遭受了膨胀。
因此,奥克斯仅限于真实世界的狭隘观点。但问题没有结束那里。即使我们同意少数数据源以具有oracles,即,该数据也会随着时间的推移而发展。每次都这样做,Oracle必须将更多数据添加到区块链。旧数据经常变得过时,但它留在链上。想想上面提到的时间服务以及如何在阻止所有交易历史的区块链中包含时间戳。
oracles需要在区块链上放置数据的激励 - 他们想要获得报酬。但魔兽峰不像区块链验证器,他们接收维护区块链的持续奖励:一旦Oracle将数据放在区块链上,那么任何人都可以访问该数据。 Oracle Developer无法控制将访问多次数据,潜在地传播千万或数百万智能合同调用的单一支付,并减少对MinusCule金额的每次访问付款。这减少了魔术师的激励措施,以提供真正有价值的信息。
智能合同应该是无信任的,但这只适用于他们被认为是区块链共识的无数本质。一旦他们离开区块沙盒,就会引入信任的元素。智能合同开发人员和用户必须信任Oracle提供真实和精确的信息。缺乏适当的Oracle奖励鼓励提供提供垃圾数据的诈骗畸形的激增。这样的甲骨文希望在智能合同开发人员实现数据之前至少收集一个人,以便使用甲骨文停止并停止。
BlockChain开发人员可以试图通过将声誉系统建立到其平台中来防止Oracle诈骗困扰。但是,在切换到提供陈旧或垃圾数据并免费收集付款之前,没有任何有价值的答案,可以阻止综艺oracle开发人员建立声望。社交耻辱不会转化为机器代码!
您也不能通过从多个oracles和交叉检查或平均它们的答案来解决这个问题。依靠多个oracelles进行答案增加安全性,并在单个Oracle答案中降低对信任的需求,但快速地延伸到自己的区块链达成问题。将其视为oracle共识问题。此外,Oracle奖励的仍然毫无解决的问题刚刚令人垂涎的更糟糕!
奥卡克斯需要敏感,以便提供正确的答案并惩罚提供虚假信息。需要达成共识,以达到不同的奥克斯提供的那些真正的答案,并且这种机制需要廉价用于智能合同开发人员,或者它不会被使用。没有引入信任元素,如果你准备这样做,那么这些东西都没有一个可能的,那么你为什么要弄乱块线?我们拥有丰富的基于信赖的基于信任的系统,远远不便于和更简单。
但也许你对智能合同的抱负不那么高。已经提出了BlockChain和Smart合同作为简化物流的方式,通过跟踪货物和沿着供应链一直以后的原材料和产品。
自动跟踪,说,橘子从农场到我们的水果碗似乎看起来像电脑擅长的繁琐忙碌。但是,在货物到达时,使用智能合同自动发布付款刚刚运行到相同的信任问题。我们仍然需要信任一个人来确保橙子状况良好,并将正确的数据输入到将数据放在区块链上的系统中。我们还需要相信一些外部系统来正确验证橙子到达。这里肯定有一些审计福利,但它距离自动化天堂的距离人们还在ICO热潮中窒息。
所以这是我们的if-then语句的一部分。那时候呢?好吧,事实证明它也没有更好的事情。智能合约没有权力统治外界;他们只能裁定数字资产。当然,你可以授予你的房子,在区块链上销售它,并尝试通过智能合同收取抵押贷款,但智能合同如果不付款,智能合同将无法在您的代表中收回房屋。智能合同将无法进入政府注册处,以更新房屋的所有权。因此,您仍然需要律师和公证人以及政府和扣押,以及我们一直在使用的全部凌乱信赖的仪器。
这只是理论问题。实用性也是一个噩梦。尽管智能合同被称为简单的纸张合同的替代品,但人们在写作并确保它们时绝对可怕。由于智能合同中的漏洞和错误,数十亿美元已经丢失和偷来。
简而言之,智能合同正试图解决错误的问题。他们正在寻找if-then和决定重要的部分是短暂的。
真正的智能合同现在是我们几个世纪以来几个世纪的法律合同。我们不需要计算机来运行这些合同 - 我们有最好的计算机在我们的耳朵之间解释它们!我们可以利用法院裁定这些合同和政府的权力来执行它们。
但足够抱怨。希望我确信你智能合同只不过是一个令人兴奋的盲人胡同。但是我们应该做些什么?
智能合同是无用的,但区块链仍然是一个令人难以置信的创新。分散的分类赛者促进了三进入会计,在过去500年中被称为最重要的发明,每个人都错过了。将区块链视为主分类帐,输入所有事务的所有事务以及从中更新其他内部系统。
而不是试图让区块链接进入外部世界,让我们专注于做对面。与可以直接访问区块链的应用程序相比,智能合约的功能苍白。分布式分类帐和共识是实现Web,Mobile和其他类型的应用程序的巨大机制,这些应用程序现在正在编写和部署年龄。
我们非常善于利用可用的全部硬件功能来构建计算机应用程序。 缺少的链接是如何允许应用程序以各方都可以信任的方式进行私密和安全的通信,而所有人都无需支付一些集中的权限来管理(毫无疑问地监视)程序。 我们真正需要的是这些应用程序可以用来通信的分散消息总线。 我们正在Stegos上构建这种消息总线,它是构建隐私应用程序平台的一部分。 Stegos将创造一个未来,使智能自治代理可以使用区块链进行私密和保密的通信。 在以后的文章中,我将解释它如何工作以及为何如此重要。 在此期间,请加入Telegram,跟随我们的前进!