作者 | 易妙萍
出品|白话区块链(ID:hellobtc)
在电影《黑客帝国》中有一位先知,名叫Oracle,看似不起眼,其实她才是最关键策划者,把三大势力都放到她的局中。
而在Web3的世界中,也有Oracle,同样扮演了非常重要的角色,能够将区块链连接至真实世界中的数据和系统,但在这里,中文翻译不叫先知,而是叫预言机。
那什么是区块链预言机呢?白话区块链今天就给大家带来科普。
01
什么是预言机?
与这个有点“不觉明厉”的名字不太相符的是,区块链预言机是第三方信息源,其唯一功能是向区块链提供数据,从而使创建智能合约成为可能。
从根本上讲,智能合约只是一个自我执行的代码。智能合约会评估来自预言机的传入数据,并根据收到的信息启动执行流程。
让我们举一个例子,比如说张三和李四对这个星期六的比特币价格进行下注。张三认为比特币的价格将在 8500 美元或更高,相反,小黑认为在 8000 美元或更低。于是,他们设计了一个智能合约(双方都会向其发送资金),谁预测的价格更靠近实际价格,谁就赢得了资金。
为了使智能合约确定比特币的价格,从而向赢家付款,它必须通过预言机来查询这个星期六比特币的价格。当查询到比特币价格数据后,比如返回的值是周六比特币价格为 8600 美元,然后,智能合约将根据其条件执行并将所有资金发送给张三。
02
预言机的类型
预言机通过为智能合约提供了一种在去中心化区块链网络之外进行通信的方式,为智能合约提供了附加功能。
区块链预言机可以采用多种形式,包括但不限于:
1、软件预言机
这种形式的预言机通常包括易于访问的在线信息源,例如网站和公共数据库。它们通常提供以下信息:温度读数,公共交通信息以及各种金融资产的当前价格。
软件预言机可能是目前最强大的预言机类型,因为它们与互联网具有固有的互连性。这种连接允许软件预言机向智能合约提供最新信息。
2、硬件预言机
这种形式的预言机通常负责物理世界中发生的事件,并将数据发送到智能合约上。例如,在供应链管理中,如果带有 RFID 标签的物体要到达特定的仓库,则可以将该数据发送到智能合约,硬件预言机系统可以在整个供应链中进行货物跟踪。
3、输入式预言机
这种形式的预告机具有简单地向智能合约提供数据的功能。所提供的数据在智能合约的外部,并且在接收信息后开始执行。上面示例中提供比特币价格的新闻网站,可以被归入为输入式预言机。
4、输出式预言机
这些预言机将智能合约数据传送到外部源。就上面的例子而言,一旦张三被确定为赢家,智能合约便可以将此信息传达给钱包提供商,以便自动更新其余额以反映资金的增加。
在这种情况下,智能合约本身就可以作为输出式预言机运作。
5、基于共识的预言机
这种预言机的功能是查询多个信息源,并根据它们的共识得出结果。例如,上面的例子也可以使用 4 个网站来查询比特币的价格。如果所有预言源(网站)返回的值都相同,则智能合约可以成功执行。
03
预言机需要信任
虽然预言机的优势非常明显,但它存在一个缺点:预言机需要信任。
预言机用来获取信息并将信息传输到智能合约的数据源,必须被视为可信的。还是上文的例子,如果张三能够以某种方式控制那个比特币价格网站,那么就可以轻而易举地让返回的比特币价格为 8600 美元,从而使自己赢得比赛。
所以,如果由预言机提供给智能合约的数据被证明是错误的,则存在安全问题。针对此问题,一种可能的补救方法是从多个预言机数据库请求数据,而不是单个预言机数据库。
比如说,如果一个预言机返回的比特币价格为 8600 美元,而其他 4 个预言机返回的价格是 8000 美元,则可以将其他条件编程到智能合约中以解决冲突。智能合约可以选择仅接受多数值,在这种情况下,李四成为胜利者。
你觉得在哪些情境下,需要用到预言机?欢迎在评论区留言分享。
END
『声明:本文为作者独立观点,不代表白话区块链立场,本内容仅供广大加密爱好者科普学习和交流,不构成投资意见或建议,请理性看待,树立正确的理念,提高风险意识。文章版权和最终解释权归白话区块链所有。』
欢迎长按二维码
阅读白话区块链入门连载
↓↓↓
喜欢请点「在看」👇