您现在的位置:新闻首页>数据

智能合约在当前应用场景有限

2018-07-06 23:56编辑:igtpro.com人气:


最近重新学习区块链,突然觉得智能合约并不是以前所想象的那样,感觉在实际业务中的使用场景极度匮乏,特写此文, pk10,作为抛砖之作,与诸位业内人士探讨。

智能合约的局限性

我对智能合约的理解,有一个渐进的过程。记得刚接触区块链的时候,有次聚会,我当面问VB(以太坊创始人Vitalik Buterin)本人,如果用智能合约来管理遗嘱执行,怎么做?实话实说,他的回复我并没有听懂。不过,当场有另一位仁兄回答说,如果把区块链当作数据库的话,智能合约就是Store Procedure(预储程序)或者Trigger(触发器)。最近多学了一点以后,深刻感觉到此言甚是。

在我看来,智能合约的使用,要么是因为区块链上的部分数据出现变化,驱动了操作的进行,要么是操作人进行操作,操作的结果仅是区块链上数据的变化。智能合约的操作结果仅体现为区块链上数据的变化,那么,独立使用智能合约的业务场景须满足一个条件,即所有影响智能合约运行结果的数据存在于区块链上,并且智能合约的结果也仅能存在于区块链上。换言之,操作智能合约的所有相关数据须在区块链上自适应,智能合约本身并不访问、操作任何外部数据。这样的应用场景在现实生活中很少,ICO(代币发行)就是这样一个应用场景,实话实说,这也是我现在能想到的唯一智能合约应用场景。

概念的悖论

区块链平台以太坊的设计是寄希望于Oracle(甲骨文软件)来进行外部数据的导入,或者有人提出了所谓TEE(Trustable Execution Environment,可信执行环境)的概念,就是在以太坊虚拟机EVM之外的一个可信任的运行环境。听上去这似乎是可以建立一个外部数据到智能合约的数据网关,但是客观上使用Oracle存在一个明显的悖论。Oracle的实现只能是中心化的应用,不可能以DAPP(去中心化应用)方式来运行,因此使用Oracle的假设前提是我们可以相信Oracle不会作恶,能够对智能合约提供正确的数据信息。矛盾之处在于,既然我们能够相信Oracle提供的数据,为什么不能够进一步相信Oracle来直接执行智能合约代码,得到计算结果后直接发送区块链上的交易,而不需要通过DAPP上的智能合约呢?换言之,可将智能合约的代码逻辑嵌入到Oracle所在的机器上执行。

而这一点在实际应用中也有相当的优势,主要体现为三方面。一是Oracle作为单机应用,如果用其直接执行智能合约的代码,性能要比在区块链上执行性能高很多,至少所有的应用都可以理解为一个独立的sharding(分片),能够被智能合约所执行的需要消耗Gas(以太坊交易费用单位)的逻辑计算,在这个环境上执行几乎不会有任何代价。二是如果智能合约出现问题,比如当年DAO(数据访问对象)的代码漏洞,如果是用部署在Oracle上的程序来进行操作,那么根本就不会是个问题。三是如果对于执行结果存在疑惑的话,所有相关方可以通过对于区块链上结果数据的审计来确认该程序是否按照约定的代码进行了转账操作。

落地环节问题多

智能合约在落地时,存在不少问题。比如,一个针对会议的智能合约,通过它参会者可以买票,组织者可以设置参会人数上限以及退款策略,这个使用场景使其看上去算是DAPP了,其潜在假设是组织者是诚实可靠的,当他收到了钱以后,会把票发出去;换个角度,它解决不了组织者不诚实可靠的风险,而在假设条件成立的前提下,由组织者管理的中心化应用可能更有价值,因为参与者如果担心组织者不可靠,完全可以要求组织者将数据保存到区块链上,由他人进行事后审计。又如,关于对冲美元涨跌风险的智能合约在实际使用中存在问题。该合约需要一个信息采集器,按照计划采集当前汇率,并更新到合约上,来驱动合约操作。风险在于,如果这个信息采集器在采集中出现一点问题,比如采集了一部分错误的汇率数据,那么这些错误的汇率数据直接驱动智能合约重新进行余额分配,从业务方案的角度看,这时候才发现采集出错,基本上无计可施。当然, pk10,如果最开始就在合约中定义了RollBack(数据库回滚机制)操作函数,那么用这个智能合约还有何必要?

最近被热议的跨链技术,可能是个智能合约的发展方向。如果所有客观现实的数据都能够在区块链上获取,那么智能合约也许可以通过跨链技术来访问其他链上的数据,从而驱动业务的发展。

假设所有的外汇兑换业务都通过一条区块链来完成,这条区块链上势必存在最新的汇率数据,那么通过跨链技术获得这些最新的汇率数据来驱动当前对冲美元智能合约的运行,可能会是个在现实中可落地的业务场景。

(来源:新浪体育网)

织梦二维码生成器
已推荐
0
  • 凡本网注明"来源:的所有作品,版权均属于中,转载请必须注明中,http://www.igtpro.com。违反者本网将追究相关法律责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。






图说新闻

更多>>