阅读笔记 | 《什么是区块链预言机(BlockChain Oracle)》

原文:https://zhuanlan.zhihu.com/p/52369816

区块链是确定性的环境,智能合约的运行结果必须是一致的,虚拟机不能让智能合约有网络调用(Network Call),否则结果会不一致。

也就是说智能合约不能进行 IO 输入输出,所以它无法主动获取外部数据,只能通过预言机喂饭。智能合约写好了条件和结果,给它条件,触发结果。

一切需要与链下进行数据交互的 DApp 都需要预言机,金融衍生品交易平台、借贷平台、快递追踪/IoT、稳定币、博彩游戏、保险、预测市场。

很多 DApp 应用使用自己搭建的预言机服务,容易遭受单点故障、易受攻击。Synthetix 其实一直采用的就是自架的中心化预言机,所以之前被攻击也不出人意料。

目前预言机解决方案:

  • Oraclize:为以太坊提供中心化预言机服务,只能在以太坊网络使用,gas 费高,目前没有比它更好的选择

  • Chainlink:以太坊上第一个去中心化预言机解决方案

  • DOS Network:支持多条主流公链的去中心化预言机服务网络,Layer2的方式,链上部署一个轻量级智能合约,链下是一个 p2p 网络

感想:

  • 如果没有了预言机服务,绝大多数 Dapp 都会瘫痪

  • 区块链的很多应用在技术上离实现真正的去中心化还非常遥远

  • 去中心化预言机是一个非常值得关注的基础设施赛道,中心化预言机的弊病太多,容易被单点攻击