About oracles for blockchains and a bit about Web3

At the moment, blockchains are highly isolated from external sources of information - both centralized resources and other blockchains. To make different block chains compatible and easily exchange data with each other (and with external resources), you can use oracles.

About oracles for blockchains and a bit about Web3

What are oracles

An oracle is a system that receives and verifies events from outside the blockchain and passes that data to the blockchain for use in smart contracts (or vice versa). Oracles are critical to smart contracts because smart contracts are highly deterministic. Information must enter the smart contract through a specific channel that can confirm its authenticity.

There are several types of oracles that provide one or another type of communication:

  • software - receive data from the Internet or from other blockchains;
  • hardware - receive data from various sensors (RFID tags, smart home, the application in logistics and IoT immediately comes to my mind);

    Example: you need to transfer data on air temperature to a smart contract. You can take data from the internet through a software oracle, or from an IoT sensor through a hardware oracle. *IoT- Internet of Things.

  • incoming - from outside the blockchain to the smart contract;
  • outgoing - from a smart contract for some resource;

Sometimes consensus oracles are used. Several oracles independently receive data, and then determine the output data using some algorithm.

An example of what this is for: 3 oracles receive the BTC / USD rate from Binance, BitMex and Coinbase, and pass the average value to the output. This smooths out minor discrepancies between exchanges.

Web3

Talking about oracles and their implementations, one cannot pass by Web3, the concept for which they were invented. Initially, Web3 was the idea of ​​the Semantic Web, where each site is marked up with metadata to improve interaction with search engines. However, the modern idea behind Web3 is a network of dApps. And decentralized applications need oracles.

About oracles for blockchains and a bit about Web3

It is possible (and, in some cases, necessary) to create an oracle yourself, but there are some commonly used oracles (for example, a random number generator), so it is cost-effective to use oracle projects. The two main (at the moment) projects developing oracles are βˆ’ Band ΠΈ chainlink.

Band protocol

The Band Protocol runs on the dPoS consensus algorithm (what is it?) and data providers are responsible for authenticity with money, not just reputation.

There are three types of users in the project ecosystem:

  • Data providers who independently work to securely transfer data from outside the blockchain to the blockchain. Token holders rely on data providers to grant them the right to push data into the protocol.
  • dApp developers who pay small fees to use oracle.
  • Band token holders who vote for data providers. By voting with their tokens for the provider, they are rewarded from the money paid out by dApps.

About oracles for blockchains and a bit about Web3

Among the oracles offered by Band out of the box: takeoff / landing times, weather map, cryptocurrency rates, gold and stock rates, information about bitcoin blocks, average gas price, volumes on crypto exchanges, random number generator, Yahoo Finance, HTTP Status Code .

By the way, among the investors of Band is the legendary venture fund Sequoia ΠΈ Binance.

chainlink

In general, Chainlink and Band are very similar - both in default solutions and in development opportunities. Chainlink is easier to work with, there is no voting for information providers, and Band is more flexible because it uses Cosmos SDK and is 100% open source.

Currently, Chainlink is much more popular, in the list of partners of the Google Cloud project, Binance, Matic Network and Polkadot. Chainlink also focused on oracles for the sphere DeFiwhich is now growing rapidly.

About oracles for blockchains and a bit about Web3
Resources whose data can be obtained through the oracle from Chainlink.

Conclusion

Oracles are a good idea for getting data from centralized resources to the blockchain, and I will keep a close eye on its development. However, if we talk about the interoperability of different blockchains, there are other solutions, including parachains (an even more promising technology and the topic of my next post).

For those who want to dig deeper: Band Docs, Chainlink Docs.

Source: habr.com

Add a comment