# 阅读笔记 | 《什么是区块链预言机（BlockChain Oracle）》

By [Echoic](https://paragraph.com/@echoic) · 2022-05-19

---

> 原文：[https://zhuanlan.zhihu.com/p/52369816](https://zhuanlan.zhihu.com/p/52369816)

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

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

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

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

目前预言机解决方案：

*   Oraclize：为以太坊提供中心化预言机服务，只能在以太坊网络使用，gas 费高，目前没有比它更好的选择
    
*   Chainlink：以太坊上第一个去中心化预言机解决方案
    
*   DOS Network：支持多条主流公链的去中心化预言机服务网络，Layer2的方式，链上部署一个轻量级智能合约，链下是一个 p2p 网络
    

感想：

*   如果没有了预言机服务，绝大多数 Dapp 都会瘫痪
    
*   区块链的很多应用在技术上离实现真正的去中心化还非常遥远
    
*   去中心化预言机是一个非常值得关注的基础设施赛道，中心化预言机的弊病太多，容易被单点攻击

---

*Originally published on [Echoic](https://paragraph.com/@echoic/blockchain-oracle)*
