Data oracles

A service for delivering real-world data to the blockchain — from exchange rates to weather forecasts and flight schedules.

Specifics of smart contract use

img

To execute smart contracts in distributed systems, we need consistency of data supplied from the real world, meaning that everyone who calls a smart contract, has to receive the same data. Otherwise, the transaction won’t be added to the blockchain due to a lack of consensus between the network’s nodes.

img

The Waves Enterprise’s oracle service enables the implementation of reliable and secure delivery of data from outside sources for the use in smart contracts and business processes.

Service components

img
Oracle app
Oracle app is a software component responsible for processing data delivery requests, as well as receiving and writing data to the blockchain as a transaction signed by the oracle
img
Oracle contract
Oracle contract is a program code of a reference contract that implements the main business logic for verification and recording of data from various sources at the blockchain level. Data is only recorded if conditions stated in the request are met. Based on the reference contract, copies of the contract for specific types of data are created.

Service configurations

Single data feed model
img A request for regular delivery of a specific type of data is received by a smart contract. The oracle app processes the request and adds a regular task for data delivery to its schedule. Once in a specified time period, the oracle app receives data from a source, using an integration adapter. The received data is added to a transaction and sent to the oracle contract’s address on the blockchain. The oracle contract verifies the sender’s role and changes its state. The data becomes available for use by other smart contracts and apps.
Multiple data feed model
img Unlike the single data feed model, the oracle app connects to several sources providing data of the same type. Requirements for normalizing, averaging and anomaly processing are added to the oracle app’s functions.
Hybrid model
Waves Enterprise’s data oracle service facilitates implementation of oracle clusters. This approach can be called “hybrid”, as it supports data collection from multiple sources, which is checked to ensure higher data reliability. This is achieved thanks to the use of a consensus algorithm, implemented in the smart contract. img The hybrid model enables the implementation of a more complex logic in smart contracts.