首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

区块链里的 “Oracle”是什么?和甲骨文公司有关系吗?二

3、oracle 是一种机制

有文章把 oracle 说成是为区块链提供外部数据的信息平台或技术,这么理解当然没有错,但可能没有完全揭露实质。

比如共识机制解决了区块链各节点信息统一的问题,不完全靠的是技术,它也同样依靠利益平衡机制:

在 POW 机制中,作恶的节点记账结果会遭到拒绝承认而白白浪费电力;

在 POS 机制中,虽然存在 “富者恒富” 的弊端,但至少富者和全网络的利益是一体的,所以他们有动力维护系统的稳定;

在 DPOS 机制中,认真负责的节点会被赋予记账权并获得激励,反之则被撤销记账权。

为确保链外数据的可靠性,也需要引入各种机制“惩恶扬善”。目前,常见的机制包括“多数据源互相认证,通过投票和惩罚的机制来减弱撒谎的动机,通过事前投资获得验证权的方式减少‘僵尸粉(Sybil Attack)’的影响”等等。

听起来似乎我们已经把所有能想到的问题都解决了?

其实,尽管已经有很多尝试,但目前 oracle 设计仍有两大障碍:

一是 oracle 的安全性不够,被骗的可能比在现实世界中被骗的可能仍然大很多;

二是成本高,智能合约使用 oracle 的花费的时间和投入,比在现实世界中获取信息要高得多。

其中第一个障碍涉及到尚没有得到完全解决的博弈论问题:在一个系统之中,如果一半以上的成员都是坏人的情况下(好人占多数的情况下,好人的收益是有限制的),是否有一种机制限制坏人作恶,并保证这个系统产生的数据是真实可信的?

所以,基于以上原因,笔者认为,在可以不经允许即可加入网络的公有链上运行智能合约还会遇到较大困难。较为实用的智能合约可能会在相对去中心化的联盟链、私有链中首先落地,因为参与联盟链、私有链的节点已经有一定程度的信任基础,他们对进入区块链的外部数据的可信度也更容易达成共识。

为什么叫 oracle?

由上已经可以得知,oracle 就是为区块链智能合约提供可信链外数据以触发智能合约顺利执行的数据源。那么问题来了,为什么叫 oracle?

如果直接百度搜索 oracle,你多半会查到甲骨文公司,或者是甲骨文公司的 oracle 数据库技术和产品。

查专业词典就可以发现这个词的多种含义:Oracle 一词最初是来源于古希腊宗教,意为“神谕、神使、先知、预言”,很多提到区块链 oracle 的文章就直接取了 oracle 的本意。

这个词还有一些宗教色彩更淡的词义,如“圣贤、哲人、睿智的回答”等;再经过演化,oracle 就产生了“指示物,可靠的指导(如钟表等)”等含义,已经完全失去了宗教和神秘色彩,纯粹指可以信赖的人或物。比如我们可以说 “ my sister is the oracle on beauty matters——我妹妹是美容方面的大行家”。所以,笔者认为,区块链的 oracle 应该理解为“区块链可信数据源”。

那么,我们在讨论区块链时提到的 oracle,和甲骨文公司的 oracle 有没有关系呢?

甲骨文创始人 Ellison 和 Miner 给新公司起名确实是取的“神谕、先知”等宗教、神秘含义,装个X嘛,可以理解。这就是区块链 oracle 与甲骨文公司的一毛钱关系。

至于为啥美国的 oracle 公司到中国就注册成了“甲骨文”公司,那是因为中国殷商时代的“甲骨文” 被翻译为 oracle bone inscriptions。有中国独有文化特征的甲骨文又为啥被翻译成有希腊宗教色彩的 oracle 呢?因为“甲骨”也是占卜用的,和 oracle 的“神谕”含义接近。当然也有人认为这样的翻译并不妥当,那就是与本文更远的糊涂账了。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180111A0P9EN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券