为什么许多智能合约的案例无法实现?

生活小百事通 2022年07月06日 阅读 (67)

1、联合外部服务智能合约的第一个应用案例通常是,根据一些外部事件,改变自己的行为。例如,按照某个月降雨量向投保人支付一定金额的农业保单。这个想象的过程是这样的:智能合约会一直等到预定的时间,从外部服务获取天气报告,然后按照获取的数据采取恰当的行动。听起来很简单,但却不可能实现。为什么呢?因为区块链是基于共识的系统;就是说只有在每个交易和区块处理过后,每个节点达到相同状态,智能合约才会开始运行。区块链上发生的所有事情必须是确定的,这样才不会出现分歧。两个有信誉的节点对区块链状态有歧义的时候,整个系统就变得完全没有价值了。然后就是智能合约由链上的每个节点独立执行,因此如果智能合约从外部服务获取数据的话,这个数据获取过程是由各节点重复和独立完成的。但是因为这个数据来源于区块链外部,不能保证每个节点都收到同样的答案。也许这些数据源收到不同节点要求时,会给出不同的应答;或者干脆暂时不可用。不管怎样,共识都被打破了,整个区块链也就崩溃了。那么解决方法是什么呢?事实上很简单。不需要智能合约发出外部数据获取指令,而是由一个或多个受信任方预报者进行交易,而这些交易会将需要的数据嵌入区块链。每个节点都有该数据的相同备份,因此可以用于智能合约的计算中。也就是说,由预报者将数据推送进区块链,而不是由智能合约将数据拉取进去。并且如果是智能合约引起外部世界事件的情况,同样会出现类似的问题。例如,很多人都喜欢利用银行api进行资金转移的想法,但是如果每个节点都独立执行区块链代码,那么由谁去获取这个银行api呢?也许你会说,可以选择一个节点去做这个;但是如果该节点发生故障了,无论是不是故意的,我们又该怎么办呢?那么选择全部节点去完成api获取的话,是否每个节点都可信,怎么保证api密码的安全呢?况且我们又是否愿意一个api被多次频繁使用呢?更糟糕的是,如果智能合约想要知道api获取是否成功,就会发现我们又到过分依赖外部数据的尴尬境地中。同样的,可以用一个简单的解决办法。智能合约不需要获取外部api,我们用受信任的服务监控区块链状态,然后做出相应的反馈。例如,一个银行可以积极地监控区块链,然后进行链上交易对应的资金转移。这样就不会对区块链共识产生威胁,因为它完全处于被动状态。这两个解决方法可以总结出以下结论。第一,区块链和外部世界之间的互动都需要受信任的服务。但是尽管技术上说是可行的,却可能歪曲去中心化系统的目标。第二,这些解决方案用到的机制都是数据库读写的简单直接的例子;提供外部信息的预报者只是简单地把相关信息写进区块链中。而现实世界中反映区块链状态的服务也只是读取区块链的数据。也就是说,区块链和外部世界的互动被限制于常规的数据库操作。

为什么许多智能合约的案例无法实现?

2、执行链上支付这个提议是我们常常听到的:用智能合约自动执行所谓“智能债券”的优惠券支付。就是在恰当的时候,用智能合约代码自动发起支付,避开手动程序的复杂性,保证发行者的执行。当然,为了实现以上功能,支付必须用区块链上的资金;否则智能合约就不能保证完成支付。要注意,这个包含债券和现金的金融账本用例中,区块链只是数据库。所以在优惠券的支付中,我们谈论的是在规定时间内自动执行的数据库运行。尽管自动化运行在技术上是可行的,却有金融难度。如果债券的智能合约控制了用于债券支付的资金,这些支付就有了保障。同时意味着发行者或其他任何人都不能使用这些债券。但是如果这些资金不受智能合约控制,就不能保障系统进行支付。也就是说,智能债券要么对发行者无用,要么对投资者无效。只要随意想想就知道这是很明显的结果。从投资者角度看,债券的全部意义在于其吸引人的报率,当然有一定的故障风险。对于发行者来说,债券目的是为有报、同样有风险的活动进行融资,例如建造厂房。发行者没办法保证实现融资,同时投资者还会收到报。区块链没办法解决风险和报之间的关联,这并没什么值得惊讶的。

3、隐藏机密数据 部署区块链的最大挑战是其高透明度。例如假如10家公司共同建立一个区块链,其中两家公司进行了双边贸易,另外八家公司马上就可以看到相关信息。尽管有很多解决问题的方法,中心化数据库的简单性和高效性是独一无二的。其中受信任的管理者完全控制信息查看渠道。有些人认为智能合约可以解决这个问题,因为首先每个智能合约都包含一个完全自己可以控制的小型数据库。这个数据库的所有读写都由合约代码决定,使合约之间数据的直接互相读取变得不可能这个数据和代码之间紧密的联系被称为封装,是流行的面向对象编程范式的基础。所以,如果一个智能合约不能获取另一个的数据,还能说解决了区块链保密性问题吗?讨论智能合约的信息隐藏还有任何意义吗?不幸的是,答案是否定的。因为即使一个智能合约不能读取另一个的数据,相关数据还是存储在区块链的每个节点上。对每个区块链参与者来说,他们完全控制的是信息是存储在系统磁盘或存储器里的。没有任何东西可以阻挡其读取自己系统里的数据,除非他们自己选择不读取。在智能合约中隐藏数据与在网页的html代码中隐藏一样安全。当然一般用户是无法看到数据的,因为它不是显示在他们浏览器窗口的。他们需要做的就是网页浏览器添加“浏览源代码”选项浏览器都有该功能,然后相关信息就普遍可见了。同样的,想要查看智能合约中隐藏的数据的用户需要修改其区块链软件,显示合约的完整状态,然后所有秘密性特征都会消失。随便一个稍微像样点的程序员都可以在一个小时内完成以上操作。

为什么许多智能合约的案例无法实现?

4、智能合约的用途智能合约既然能做这么多事,也许就会有人问它真正的目的是什么。为了答这个问题,就需要到区块链本身的基本原理了。总结来说,区块链使数据库可以直接安全地被无需互信的团体共享,也无需中心管理者。区块链支持数据的脱媒,能显著减少复杂性和成本。交易可以修改任何数据库,其中包括必须整体性成功或失败的数据库的变化。比如说金融账本中,验证a是否资金充足的交易代表a给b的付款,然后从a账户中拿出的资金会添加到b的账户中。常规数据库中的这些交易是由单一受信任机构创建的;相反在区块链驱动的共享数据库中,任何区块链用户都可以创建交易。并且因为用户不是完全互信,所以其数据库必须包含限制交易的规范。比如说在点对点金融账本中,每笔交易必须保存全额资金;否则参与者就可以随心所欲的分配资金。表达这些规则的方式很多,但是目前主要有两个范本,分别是比特币和以太坊。比特币的方法可以称为“交易限制”,其评估交易的依据有:交易删除的数据库条目以及被创建的条目。金融账本规则规定被删除条目的总资金额必须等于被创建的条目的资金额假设现有条目的修改与条目的删除和新建条目对等。然后到开头智能合约用途的问题:智能合约是用于区块链中受交易限制而无法执行的应用案例的。按照智能合约应用的标准,可以预测许可型区块链将有很多应用案例。无论答案是什么,最重要的是记住智能合约只是限制数据库中交易的一种方式而已。显然这是很有用的,也是安全的数据库共享必须的;但是智能合约做不了其他任何事,也肯定脱离不了它们所在的数据库范围。

精彩内容尽在问答鸭,如果您觉得这篇内容不错,别忘了分享给好友哦!

相关文章

  • 给女神送口红会发生什么不可描述的事情?.

    给女神送口红会发生什么不可描述的事情?

    1、可是到底这是个什么样的颜色呢?我在合拍上搜索了几个跟口红相关的话题,一点进去,我的老个天啊,话题里清一色的都是姑娘。

    2022-07-27 阅读 (125)
  • 学习为什么要到学校 人为什么要上学.

    学习为什么要到学校 人为什么要上学

    1、比如说学校的操场,可以打球也可以跑操,你在家里就很难弄出这么个功能齐全的体育场所。有的人说我家有钱我可以,但这毕竟是极少数,而且打球什么的,哪那么容易凑够人数呢?2、学校里环境优雅是育人的场所,是一方净土。

    2022-07-19 阅读 (124)
  • 网络营销主要做什么.

    网络营销主要做什么

    1、一、什么是网络营销网络营销是企业整体营销战略的一个组成部分,是为实现企业总体经营目标所进行的,以互联网为基本手段营造网上经营环境的各种活动。

    2022-07-27 阅读 (113)
  • 从什么时候,你开始认识到职场关系也是竞争力?.

    从什么时候,你开始认识到职场关系也是竞争力?

    1、没有工作热情,可能是人际关系问题小a前阵子向我求助,她说自己不想上班,并且对工作一点兴趣也没有。经过一番咨询才发现,原来让小a感到痛苦的,是觉得自己的能力得不到领导的认可,更窝心的是,同事之间也难交心,自己有困惑都不知道和谁说。

    2022-06-29 阅读 (107)
  • 什么时候背单词效率最高.

    什么时候背单词效率最高

    1、有这样一种现象,许多人背单词非常刻苦,上课背,下课背,走路也背,连骑自行车的时候都在念叨,就像中了邪一样,但成绩还是上不去,总是背了就忘。

    2022-07-19 阅读 (101)
  • 什么时候喝蜂蜜水最好.

    什么时候喝蜂蜜水最好

    1、蜂蜜的营养价值:蜂蜜富含的葡萄糖和果糖都属于单糖,可以不经消化吸收而直接进入血液中,从而可以快速为人体补充能量。

    2022-07-16 阅读 (93)
  • 什么床垫比较好 床垫什么牌子好.

    什么床垫比较好 床垫什么牌子好

    什么床垫比较好1、适合自己的床垫虽然有弹簧床垫、乳胶床垫、椰棕床垫、水床垫、充气床垫、保健床垫这六种常见的床垫类型,但是适合自己的床垫才是最好的选择。

    2022-07-12 阅读 (74)
  • 你,为什么还找不到对象?(值得深思!).

    你,为什么还找不到对象?(值得深思!)

    为什么找不到对象呢?1、高不成,低不就。你总看不上身边的人。你各方面条件都不错,给你介绍对象的人很多,追你的人也很多,其他条件不谈,就是不要身边的人。

    2022-07-06 阅读 (70)
  • 为什么你相亲都脱不了单?你距离成功还差这8步.

    为什么你相亲都脱不了单?你距离成功还差这8步

    1、必须打扮得干净整洁你可以长得不好看,可以不高大,可以身材不好,但是,只要是去相亲,必须把自己修饰一番,刮胡子,擦擦眼镜,洗洗头发和脸,把耳朵,鼻子,脖子上的灰都洗干净;不管你平常什么工作,平时如何脏,相亲时前必须整理一下。

    2022-07-27 阅读 (69)
  • 男朋友生日送什么礼物好.

    男朋友生日送什么礼物好

    1、送礼的话,说实话这主要看你平时都送过些什么!比如好好想想他最近缺什么,没准也没用这个当成是一份礼物的。

    2022-07-15 阅读 (56)