The biggest core innovation of blockchain is to solve the trust problem in a decentralized way, without the need to trust and rely on third-party institutions for value transfer. Among them, smart contracts play an important role. It is a set of contracts defined in digital form, which helps contract participants execute the agreement to complete the task, saving time and cumbersome steps.
Blockchain cannot actively obtain real-world data. However, smart contracts have external data interaction requirements. For example, some real-time price data such as stock or currency prices, weather forecasts, market forecasts and other data. Well, here it leads to the oracle ( the Oracle ) such a concept.
What is an oracle?
An oracle is a one-way digital agent that can find and verify real-world data, and submit the information to the smart contract in an encrypted manner. The oracle is like a third-party data agent in the blockchain world.
For example, suppose that the “data source” in the real world and the “data interface” in the blockchain are two countries that use different languages, and the oracle is the translator in the middle. Through the oracle smart contract, it is possible to communicate with off-chain data without barriers. In actual use of smart contracts, an oracle is required to verify the data. Because the blockchain is also a consensus-based system, the smart contracts that are run also require deterministic procedures. The step of data verification by the oracle is to conform to the consensus mechanism, so that the final data feedback to the smart contract is also “deterministic”.
The operating principle of the oracle: When a smart contract on the blockchain has a data interaction requirement, the oracle will help the smart contract collect external data outside the chain after receiving the demand, and then feedback the obtained data back to the chain after verification Smart contract on the Internet.
Why does the blockchain need an oracle?
Because smart contracts and decentralized applications ( Dapp ) on the blockchain have interaction requirements for external data.
The blockchain is a closed environment, and the real world data outside the chain cannot be actively obtained on the chain. Mainly because the blockchain cannot actively initiate a Network call (network call) and the smart contract on the chain passively receives data. Secondly, the smart contract is not actually “smart”, it only reaches the trigger state program when the corresponding conditions are met. At the same time, the final execution of the smart contract requires the signing of the private key of the contract participants, and the smart contract itself cannot be executed automatically.
When the triggering condition of the smart contract depends on the information outside the blockchain, the information needs to be written into the record in the blockchain first. At this time, an oracle is needed to provide information outside the blockchain.
Let’s take an easy-to-understand example. Suppose I’m locked in a small dark room. I know almost nothing about what’s happening in the outside world. I don’t know if anyone is outside. No one responds even if I call. People outside told me at the door so that I could learn about the changes outside.
The smart contract is like the “me” in this example. It can’t actively seek out information anytime and anywhere, but can only send messages or data to it from the outside. The oracle is the person who sends messages and data from outside after receiving my request at the door.
Why can’t I directly import and receive data on the chain? Mainly because of the consensus mechanism of the blockchain.
Blockchain is a consensus-based network, and the smart contract that it runs also requires a deterministic procedure . After each transaction and block is processed, each node must reach the same state. However, the data itself is complex and diverse, which is why the oracle, in order to fit the consensus mechanism of the blockchain, in addition to collecting data, there is a step of data verification before the final “certainty” information is fed back to the smart contract.
What are the application scenarios of the oracle?
At present, the application areas of the oracle machine in the blockchain include gambling, stablecoins, lending, financial derivatives, insurance, and prediction markets. Currently, the more popular application scenarios are gambling, stable currency and lending.
Which teams are developing oracles?
1 , Oraclize :
Oraclize is a project that provides centralized data transmission oracle services for Ethereum . It relies on Amazon AWS service and TLSNotary proof technology to provide oracle services. In the blockchain environment, Oraclize returns the acquired information to the chain and guarantees that the data is the same as the data source, and users can grab the data by themselves. Oraclize does not interfere with the selection of the information source and the accuracy of the information source itself.
2 , Chainlink :
Chainlink is the first decentralized oracle machine. Compared Oraclize centralized, Chainlink more in line with the guidelines to the center of the block chain. Chainlink mainly provides oracle services to help smart contracts access key off-chain resources, website APIs, and traditional bank account payments.
3 , the Oracle Network Protocol
Unlike Chainlink, which is a decentralized oracle built on the Ethereum public chain, which is limited by the performance limitations of the Ethereum public chain, Oracle Network Protocol (hereinafter referred to as ONP ) is an aggregated decentralized oracle network protocol based on CHAINLIK , BAND PROTOCOL theoretical basis, not only to achieve information data block chain and real-world safety, smoothly and efficiently exchange, Ethernet Square will be achieved through cross-link technology \ Boca \ HECO interoperability between other public chain intelligence contract , Provides unlimited verifiable decentralized data oracle and computing oracle services for mainstream blockchains, and provides unlimited verifiable computing power.
ONP adopts heterogeneous sharding technology, which can realize data and information intercommunication between different chains on the basis of ensuring scalability and efficient transactions; adopts TLS Notary proof technology, and uses it to provide cryptographic proof to indicate that they are provided to the smart The data of the contract is the data provided by the data source to the ONP oracle network at a specific time ; using a verifiable random number engine, smart contracts of different blockchains can verify the integrity of the data, which can prove that the data does come from the ONP oracle. And the data has not been tampered with; the use of threshold signature technology can bring security and privacy improvements in a variety of scenarios.
For the current oracle market, there is an urgent need for an oracle like ONP , which can provide data interaction for multiple chains while ensuring data security, integrity, reliability, and efficient transmission. Let us look forward to the brilliant performance of the ONP public chain. , I hope ONP can bring a powerful boost to the implementation of blockchain!