一文读懂预言机Oracle是什么?
“预言机”这个词从上年DeFi大爆发,就开始火了起来,特别是该板块的龙头LINK,价格已经从上年3月的低点到现在已经涨了好几十倍。
在爆发力这么大的预言机板块背后,“预言机”究竟意味着什么呢?今天小编就和大家解读一下。
大家第一次听这个名词,肯定心想,难道它是什么神器,能够预言未来吗?
其实这个词最早翻译自英文“Oracle”。但是这个翻译并不能准确描述它的功能,我认为,翻译为“可信数据提供商”比较恰当。
大家知道区块链其中一个重要特征,是数据不能篡改,这使得区块链技术成为我们跟踪链上行为的利器。
然而,区块链作为一个封闭的环境,在链上是无法主动获取链外真实世界的数据的。
因为现在我们的区块链技术,无法发起网络调用功能,所以链上的智能合约是被动接收数据的。
但是我们区块链的智能合约和DAPP的应用,很多时候是要读取外界数据才能实现功能的。
例如我们要让区块链知道某个TOKEN的价格,或者今天的天气数据,或者昨天湖人是否赢球了等。
像这种情况下,区块链就需要一个可靠的信息来源,即预言机。
预言机作为区块链的中间件,能帮助智能合约来链接外部链下数据和系统,实现现实世界与区块链世界间的数据交互。
你可能会问,区块链知道这些外部数据有什么作用呢?
其实很简单,大家平时玩DeFi例如借贷协议,你会通过抵押一些资产,去获取另外一些资产。
如果智能合约不知道这些代币的价格,就无法根据最新代币的价格来处理你的可贷额度。因为像“代币价格”这类数据,不是在链上天然存在的。
又比如你玩足球类菠菜APP,你总得知道真实的比分,才能判断你的投注是否赢了对吧?
这类数据同样不是在智能合约中生成的,必须要通过预言机获取链外的数据。
要提示的是,这些链外数据并不是大家想象那样直接“输入”到智能合约的。因为智能合约只有在读取到自己能够“理解”的数据,才会变得智能。
举个例子,计算机有计算机的语言,你不可能用中文的语法来写代码。
同样地,这些链外数据必须要满足一定的格式模板,才会触发智能合约的程序运行。而智能合约的最终执行也必须合约参与方的签名。
你可能会问,我们能保证这些数据,符合智能合约的格式来执行。但是,怎么确定这些外部数据是否真实准确?
这确实是个好问题,因为如果数据源是来自中心化信息提供者,那么中心化就可能意味着单点风险。
我们都知道保持中心化信息源长期不作恶和稳定可靠,不是一件容易的事情。
因此现在市场上,对此有不同的解决方案。例如Augur预言机的方案,是通过投票的方法确定一个结果的真实性。
如果有人持不同观点,就会进入争议解决流程,一步步得出最后结论。
而在文章开头提到的link,它的做法是通过其网络调用功能,允许智能合约访问链外资源。而且这个资源是基于区块链的数据源,或者API这种标准数据库。
因为这些数据在录入的过程中不是通过中心化网络而是基于区块链的,所以可信性大大增强。
即便如此,技术还是有百密一疏的情况。小编记得Synthtix的预言机就有一次出现报价错误,被人利用牟利60w刀。
所以现实中预言机的事故,其实也是屡见不鲜的事情,但是咱们也要对它的发展保希望。
毕竟预言机还非常年轻,出现在大众视野的时间还是很短的。它的技术在快速更新迭代中,未来的它的样子或许和现在有很大的不同。
Scan QR code with WeChat