Data Sources of Blockchain Oracles
In theory, there is no limit to where data can come from. Possible data sources are:
- websites
- APIs
- humans
- IPFS
- sensors
- algorithms
- hardware (secured hardware like Intel’s SGX)
- etc.
Possible data are:
- weather data
- stock exchange data (token prices)
- access data of smart locks
- fitness data
- mathematical calculations (like WolframAlpha)
- traffic data
- public government data
- random numbers
- etc.
You see, data sources and types of data are vast.
Generally, oracles are distinguished in several categories:
Hardware oracles: Oracles can retrieve data from hardware components directly. These could be temperature sensors, tachometers, rain sensors, RFID chips and so on. Then we call them hardware oracles.
Software oracles: If the oracle relies on software, they are called software oracles. These could be websites, APIs, or algorithms. However, the data provided on the website or API needs to come from somewhere. These could be sensors or humans. The result of a football match is submitted by a human for example. In contrast, the amount of rainfall is provided by a sensor.
Human oracles: Another data source could be humans who enter data directly into the oracle. They are good at answering specific questions which are not publicly available.
Availability: Another way to distinguish the data source is, whether it is public or private. However, there are many nuances in the publicity of a data source.
Data from a website are usually available to everyone who has internet access. Stock market data, however, are more private. If you want to access them, you need to register with the stock exchange and probably pay a fee, particularly if you want to receive them in real-time.
If you own a fitness tracker linked to a smart contract, your fitness data is only accessible to you and the fitness tracker producer. Third parties have no access to these data (unless someone sells them).
Automatization: The third way of differentiating between data sources is whether the data are collected and entered by humans or automatically. Human oracles can collect unstructured data or data which occur only rarely. These could be the outcome of a government election or the result of a football match. But if it comes to repeatedly created data that are well structured, automated Oracles are more efficient. They collect data continuously and send them to the blockchain either on-demand or constantly
Centralization: Data sources can be centralized or decentralized.