为了账号安全,请及时绑定邮箱和手机立即绑定

『学概念找员外』神奇的预言机(Oracle)?

话说员外在2020年,有一天想带着自己的两房老婆去法国走走,结果飞机延误,耽误了半天时间。正在恼羞成怒的时候,员外的钱包里突然收到一笔转账,定睛一看,10个EOS,不仅火气全无,反而欣喜若狂,因为2020年的时候,EOS已经高达500美元了。员外细心一想,不对呀,这EOS哪来的?谁给我转的?

原来员外乘坐的这趟航班,是有一个智能合约协议的,只要航班延误超过半天,乘客就可获得 10 个EOS的补偿。

可是这个智能合约是怎么知道这趟航班延误了多久呢?这就是我们今天要说的 预言机(Oracle)


背景

我们之前已经讲过了智能合约,但是没有说到的是智能合约是在区块链提供的沙盒环境中运行的,而这个沙盒是一个封闭的环境,在这个环境中,智能合约是无法获取到链外数据,也就是区块链之外的信息。这使得区块链与外界之间仿佛隔了一道高墙,大大减弱了区块链与智能合约的实用性。

区块链上的数据都是标准化的,但是现实世界的数据则杂乱无章,最主要的是信息的可信度难以判断。但区块链是去中心化的,没有一个节点可以具有筛选和验证信息真伪的功能,这也是智能合约发展的一大阻碍。

为了能让区块链与真实世界产生关联,当现实世界的某些数据发生变化时,就能自动触发智能合约执行某些提前写好的功能,所以就需要一种能能监测到现实世界的数据、还可以把监测到的数据真实的发送给智能合约的这么一种机制,这种机制就叫 预言机

如何解决

有一句话流传的很广:我们不生产数据,只是数据的搬运工,但是我凭什么相信预言机提供的数据就真实有效呢?

我们都知道在 POW 机制中,如果矿工想作恶,那么它提供的数据会遭到其他节点的拒绝,而浪费掉自己的电力和时间。在 POS 机制中,因为需要交纳保证金,所以如果想作恶,也是要付出成本的。在DPOS 机制中,如果一个节点想作恶,不仅会被没收保证金,还会被取消记账的权利。

所以在预言机中,也有一些保证数据真实有效的机制,目前最常见的机制包括 多数据源互相认证通过投票和奖惩的机制来减弱作假的动机,通过事先投资获得验证权的方式减少僵尸粉的影响。

仍存在的问题

尽管现在有很多尝试,但是预言机还是有一些问题的:

  • 安全性仍然不够,被骗的可能性还是会比较高;假如存在这么一种情况,如果在一条链上,有一半以上的坏人,那么如何限制坏人作恶,保证这个系统的数据都真实可靠?

  • 智能合约使用预言机来收集数据的成本,比在现实世界中直接获取还要高,如果激励不足会有人去做吗?





点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
8381
获赞与收藏
109

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消