Abstract
1- Introduction
2- Background
3- Related work
4- Review of blockchain oracles
5- Reliability analysis framework
6- Results
7- Discussion
8- Conclusion
References
Abstract
Blockchain is an emerging technology that is increasingly supporting economic-ally-critical systems. The execution environment of blockchain is isolated from the external world and thus requires “blockchain oracles”: agents that fetch information from the external world. Blockchain is known to be highly reliable, but oracles are off-chain components that could be points of failure in whole blockchain-based systems. The reliability of blockchain oracles has yet to be investigated. In this paper, we propose a framework to compare and characterize existing blockchain oracles mechanisms from industry. Our approach for reliability modelling and architecture analysis of blockchain oracle systems uses Fault Tree Analysis. By calculating the reliability of oracles mechanisms, we can identify weak links that affect the overall reliability of a blockchain-based system.
Introduction
A blockchain is a decentralized, immutable digital ledger that keeps transaction data across a large network of nodes. Blockchain has the capability to disrupt existing business models and infrastructure in many sectors [1–3] by providing a platform for decentralizing trust for data. Blockchains can also provide decentralized trust for general computation, with so-called smart contracts, most notably in Ethereum1. With their increasing criticality, blockchain exchanges and platforms have also been increasingly attacked [4]. Attacks often target the weakest link of a system, as this requires the least effort [5]. These attacks have led to losses of hundreds of millions of dollars in total. As blockchain achieves wider adoption, we expect it to be used not just in economically-critical contexts, but also in safety-critical contexts such as pharmaceutical supply chains and IoT system. Blockchain-based systems must be reliable. A blockchain oracle is a mechanism that fetches data from the external world to include it in the isolated execution environment of a blockchain. Blockchain oracles are generally off-chain components, so the reliability properties of blockchains do not apply to them. Blockchain oracles are needed to bridge blockchains and the external world because of unique characteristics of blockchain. Some kinds of data in the external world are inherently unable to be independently validated by multiple distributed parties, for example because the data has restricted access, or is transient sensor data.