智能合约存在于区块链上,并且只能访问链上可用的数据。他们依靠所谓的oracle与现实世界或链下数据进行交互。oracle是被馈送到智能合约的数据源。例如,甲骨文提供诸如股票价格之类的数据,诸如温度之类的天气数据,甚至是体育赛事的结果。

Oracle分为两类:软件和硬件。

软件甲骨文将信息中继到以太坊区块链之外的数字世界中的智能合约。这些信息来自在线资源,例如网站,后端API,甚至其他智能合约。天气数据,股票价格,航班时刻表,体育赛事结果等都是Oracle可以提供的信息软件的常见示例。

硬件预言家使用设备来通知智能合约物理世界中正在发生的事情。硬件预言家经常利用物联网或物联网设备。这些设备在将实际数据发送到智能合约之前会对其进行跟踪和验证。常见示例包括温度计,供应链RFID标签,GPS数据等。

甲骨文有起有落

甲骨文为智能合约提供了新的可能性,但同时也带来了潜在的风险。智能合约信任Oracle提供给他们的信息。而且,这些数据通常对于智能合约的功能至关重要。如果攻击者劫持数据源会发生什么或者,如果信息源只是发生故障怎么办因此,开发人员在设计Oracle时必须考虑这些风险。将Oracle分散到多个数据源中有助于减轻其中的某些风险。