# The Blockchain Oracle Problem in Decentralized Finance--A Multivocal Approach
## 2 Literature Background  
As blockchain is traditionally blind to the real world and thought not to be able to fetch data from the outside directly, the range of applications for smart contracts and apps was very limited [13; 22]. The idea of an oracle was then introduced in order to overcome this limitation [23]. Oracles are usually centralized and trusted third parties that provide blockchain with data from the real world. Their role is, in fact, to connect those two realms making it possible for blockchain to be implemented in almost any sector [24]. While a detailed explanation of the oracle's characteristics is beyond the scope of this research, a distinction between centralized and consensus oracles is imperative to grasp all of the research content better:  
_Centralized oracles_, regardless of their nature, are entities controlled by a single authority (or group thereof). A web API or a sensor-controlled by a company/provider is an example of a centralized oracle [25]. What a centralized oracle does is it creates a direct channel between the data source and the smart contract. Oraclize, for example, is a trusted centralized oracle provider [26] whose objective is to prove that the fetched data have not been altered after being gathered [19]. In their official documents, they specify that they are not trustless but \"provably\" honest. As a matter of fact, being centralized authorities, those oracles cannot operate in a trustless way. It is therefore indispensable to put trust in the centralized entity managing the data. On the other hand, it is easier to perform auditing procedures on a centralized entity. Although centralized oracles may provide any sort of data, they are more suitable for information that is not publicly available. Supply chain and product traceability are typical examples of data fetched by a centralized oracle [27].  
_Consensus oracles_ are groups of oracles that determine the data to be uploaded on the blockchain by following a predetermined set of rules [28]. The consensus between multiple oracles can be reached based on the majority of votes/thresholds or any other agreed-upon protocol [29]. The Band Protocol, for example, is a recent consensus oracle project which exploits multiple data sources and applies a mediatization of value to mitigate the effect of outliers [30]. The idea behind the introduction of a consensus mechanism in the oracle activity is to replicate the trustless nature of the blockchain. However, if the oracles and data sources belong to the same entity or group, they still require a certain degree of trust to be implemented. Consensus oracles can better replicate the blockchain trustless environment if oracles belong to different entities, i.e., if they are not centralized. Decentralized consensus, however, is feasible only when multiple devices, entities, and trusted data sources are available. The most common decentralized consensus oracle type is based on the \"wisdom of the crowd\", of which Augur and Pythia are known examples [31]. The principle of those oracles is that, for some events or knowledge, there are people or entities who are probably aware of their outcome and are willing to bet their reputation or their wealth to prove they are right [32]. Their proposed truth is then put under public scrutiny so that any other entity participating in the platform can confirm or deny the provided data's truthfulness [14]. Ideally, for those types of oracles, publicly available data, would be used to ensure trustworthiness [33]. Therefore, they are suitable to retrieve information that is easy to verify, such as prediction market events and exchange rates [33; 34]. Given the aim of this study and targeting a broader audience, we rather not go into the details of oracle implementation and mathematics, which are, on the other hand, widely explained in other articles [35; 36].