Skip to main content

Three different types of Oracle:Chainlink, NEST, and MakerDAO

· 9 min read
NEST Protocol

Trust problem in oracle

Blockchain is known as the machine of trust. The biggest innovation of blockchain is the decentralized solution to the trust problem, we no longer 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 that helps contract participants execute agreements to complete tasks, saving time and tedious steps.

People often need to use information from the off-chain world in the process of interacting with blockchain smart contracts for value. So, there is a problem: we live in the real world, and many empirical laws and conclusions are obtained through off-chain information. Although we are interacting with the on-chain world, we still need to use the off-chain information for reference and decision making. In this process, we inevitably face the problem of de-trusting the information on the chain, and there is an inevitable break in the chain of information (real data) on the chain, which we call the oracle machine problem. Vitalik highlights the oracle machine problem in his article "Reviewing the last 5 years of blockchain economics and emerging issues", focusing on the "access to real data".

The function of the oracle machine is to synchronize the data facts of the off-chain world and upload them to the blockchain, completing the data synchronization between the blockchain and the real world. It allows deterministic smart contracts to react to the uncertain off-chain world, and is the only way for smart contracts to interact with data from the real world, as well as the interface between the blockchain world and the real world for data interaction.

Through the above introduction, we have understood the origin of the oracle machine problem and the important impact of oracle machine on the development and application of blockchain technology.

There are 3 different types of oracle machine solutions.

The first type: the "Alliance" oracle machine represented by MakerDAO

MakerDAO oracle machine uses 14 miners to feed the price. These 14 anonymous miners, representing different entities, get the price from a centralized exchange, calculate the average, and upload it to the oracle machine's smart contract, after which the oracle machine calculates the median. So far, these 14 fed miners have been kept private for security reasons, as there is a risk of blackmail to change the price if someone knows half of them; therefore, MakerDAO's oracle machine system has a high risk of centralization, and we call this type of oracle machine a centralized oracle machine.

MakerDAO, as an old DeFi project on Ethereum, did not have a mature available oracle machine network in the market when its product was launched in 2017, and had to adopt this simple centralized oracle machine scheme; at the same time, MakerDAO made some special security restrictions on its price admission mechanism in order to prevent oracle machine price attacks from happening; in regards to In the V2 version of the MakerDAO oracle machine, its oracle machine scheme will gradually evolve into a "federated" oracle machine, which will include certain DeFi projects as members of the federation.

In addition to MakerDAO, some smaller DeFi projects are also using this highly centralized oracle machine solution at the beginning of their development, sacrificing the security of the product itself to reduce the development cost and cycle time; what's more, some DeFi developer teams are not aware of the security issues involved.

Chainlink oracle machines collaborate on work order distribution between on-chain contracts and off-chain distributed nodes, and request and feed data through a reward and punishment mechanism (reputation contracts to help select the most matching oracle machines) and an aggregation model (aggregation of data from multiple data sources); compared to the centralization of MakerDAO oracle machines, Chainlink is clearly more in line with the guidelines of blockchain decentralization than the centralized MakerDAO oracle machine. Currently, the Chainlink oracle machine mainly provides smart contract developers with some simple off-chain data, such as price information, website API data, and so on. In simple terms, the Chainlink oracle machine uses the method of "feeding data" to the on-chain contract to upload offline data (prices) to the chain and then feed it back to the data caller, so we call this type of oracle machine solution "indirect" oracle machine.

There is a fundamental problem with the indirect oracle machine in that the validation of the data is not direct, but indirect by way of validating the uploader to ensure that the data is genuine and valid. Another problem with the indirect propagator is that the credit risk of the node uploading the data determines the cost of attacking that propagator's data. If a $1 trillion asset is derived based on the price provided by the oracle machine, the credit of the oracle machine nodes should also match it, which is obviously impossible in reality and cannot be guaranteed regardless of the randomness of the nodes used, which is an essential problem, not a technical one, so indirect oracle machines can only be used in small-scale, non-financial scenarios.

The third category: "price fact" oracle machine represented by NEST

NEST is a distributed “price fact” oracle machine network, which defines and implements a new mechanism for generating on-chain facts on the blockchain, synchronizing the off-chain market price facts on the chain by means of bilateral asset quotes from miners, and combining with the NEST quote mining mechanism to incentivize miners, making it a logical closed-loop distributed quote system, perfectly generating off-chain price facts on the chain. We call this type of NEST oracle machine a "price fact" oracle machine.


The NEST oracle machine solution uses a new idea of reverse verification, where the quoting miners have to take real money to participate in quoting, not just uploading price data to the on-chain contract. For an example of how the NEST oracle machine works, let's take the ETH/USDT price as an example.

Any participant can pass their approved price into the offer contract, for example, 1 ETH = 200 USDT, and then punch the two assets into the offer contract in proportion to the price, generally in the scale of 10 - 100 ETH, and charge 1% of the ETH scale as a fee to mine and get NEST incentives.

After punching in, wait for T0 time (currently 25 blocks, 5 minutes or so), during this time period anyone can use the offeror’s price to buy away ETH or USDT, if no one deals within T0, the offer is accepted by the system, and if someone deals, the price is invalid. After this time, the asset can be retrieved.

If someone is willing to deal with the offeror, then he closes the deal and also quotes a new price in accordance with the above criteria, thus forming a chain of p1, p2 ... prices behind the initial offer P0.

The size of the offer of the deal maker is an integer multiple of the beta of his deal size, where beta > 1, which means that the price chain must eventually terminate (shut down) as the size increases and the cost of the evil doer increases geometrically, thus countering the attack.

NEST value: mining fees and the use of oracle machines need to pay a certain ETH fee, unified to the dividend contract, distributed to all circulating NEST.

Such a NEST distributed price fact oracle machine solution is characterized by concrete results: its data has accuracy, sensitivity, resistance to attack, and the ability to directly verify the data, and the verifier can be any third party without threshold restrictions; in addition, the NEST oracle machine network system is highly distributed, and anyone can become an offer miner, participate in offer mining, and freely enter or exit.


Finally, we make a small summary of the current state and development trend of oracle machines.

  • The centralized oracle machine scheme inevitably has the risk of centralized system, and it is impossible to get rid of it.
  • The essence of price data on the chain is not to "upload" data information to the chain, but to form (generate) price facts on the chain; whether it is a centralized upload of price information or in a decentralized way, it means that the price facts under the chain are generated before the chain. A real oracle machine system, on the other hand, should have to achieve simultaneous generation of off-chain price facts on the chain.
  • NEST distributed price fact oracle machine gives a groundbreaking oracle machine solution, which is unique in that it forms a price fact directly on the chain, while other indirect oracle machine systems just upload a price fact to the chain, which is the essential difference!
  • In addition, the cost and credit scale of the oracle machine price formation, to be able to support far more than that scale of DeFi, is the right oracle machine; NEST distributed price fact oracle machine generated by each piece of data is verified by miners with real money, and its chain structure has high resistance to attack.

Regarding the overall oracle machine market development trend, as Vitalik emphasized in his article "Reviewing the Progress of Blockchain Economics in the Last 5 Years, and the Emerging Issues", the focus of the oracle machine problem should be on the element of "getting real data", and the NEST distributed price fact oracle machine solution has indeed done this, which represents a new trend in the development of the oracle machine industry. We hope that oracle fans will pay more attention to the NEST oracle machine solution and its development.