Introduction
Say network oracle service provides results from URL based queries to next generation of Dapps — on Aeternity Blockchain.
Say Network
Say Network is an independent organization that provides oracle services for modern dapps serving on top of Aeternity Blockchain.
The default Aeternity oracle system already provides full fledge functionality of a complete oracle system. However Say Network (Using the functionality of default Aeternity oracles) uses out of the box technologies and methods that provide particular oracle tools to users for their Dapps.
Say API
Say API is a standalone library called Say.aes
that provides functionality in the smart contracts to use oracle services from Say network.
It should be included in your smart contract to use it’s methods or to make a query for your Dapp. It also provides other methods that helps to complete a use case of an oracle service.
Background
In the blockchain space, Oracle is party that provides data that cannot be accessed directly from inside the ecosystem of a blockchain. For e.g. you can get the timestamp of the last confirmed block using as simple as Chain.timestamp
but to get the current weather of City A, You need a party somewhere to trust on which can send you weather of City A. You will need to have a trusted oracle service that can provide price feeds for assets & other financial applications or random number generations for different types of applications.
But isn’t relying on a new intermediary (oracles in our case) would betry the security and reduce trust model of blockchain applications ?
Yes but we need solutions to use these sevices:
One solution is to access data inputs from multiple untrusted or partially trusted parties and then run data-dependent actions after receiving number of those responses with same answer or answer within some constraints. This type of system can be considered as decentralized oracle system. It has it’s own limitation which makes restricts it from being the first option of use.
Decentralized oracle system is inefficient:
- All the parties that participating will require a fee for every request.
- You will have to wait till all the parties have responded with correct or near to correct answer.
- Without any genuine way to maintain authenticity of data, these methods can be prone to data manipulation attacks.
The solution used by Say network is to demonstrate that the data fetched from the original data-source is untampered & genuine. This is accomplished by accompanying the returned data together with a document called authenticity proof. The authenticity proofs can build upon different technologies such as auditable virtual machines and Trusted Execution Environments.
These solutions elegantly solves the Oracle Problem:
- Using single party as trustless operator increases the reliability of the ecosystem.
- Smart contracts can directly access data from Website data or API’s directly.
- Dapps developers and the users don’t have to trust Say network, So the security model is maintained.
Say network engine can be easily integrated with Aeternity blockchain with the use of Say API.