Abstract
A blockchain is a form of distributed ledger technology where transactions as data state changes are permanently recorded securely and transparently without the need for third parties. Besides, introducing smart contracts to the blockchain has added programmability, revolutionizing the software ecosystem toward decentralized applications. Although promising, the usability of smart contracts is primarily limited to on-chain data without access to the external systems (i.e., off-chain) where real-world data and events reside. This connectability to off-chain data for smart contracts and blockchain is an open practical problem referred to as the "oracle problem"and is defined as how real-world data can be transferred into/from the blockchain. Hence, Blockchain oracles are introduced and implemented in the form of application programming interfaces connecting the real world to the blockchain for mitigating such a limitation. This article studies and analyzes how blockchain oracles provide final feedback (i.e., outcome) to smart contracts and survey blockchain oracle technologies and mechanisms regarding data integrity and correctness. Since the existing solutions are extensive in terms of characteristics and usage, we investigate their structure and principles by classifying the blockchain oracle implementation techniques into two major groups voting-based strategies and reputation-based ones. The former mainly relies on participants' stakes for outcome finalization, while the latter considers reputation and performance metrics in conjunction with authenticity-proof mechanisms for data correctness and integrity. We present the result of this classification with a thorough discussion of the state of the art and provide the remaining challenges and future research directions in the end.
Original language | English |
---|---|
Article number | 208 |
Pages (from-to) | 1-39 |
Number of pages | 39 |
Journal | ACM Computing Surveys |
Volume | 55 |
Issue number | 10 |
DOIs | |
Publication status | Published - Oct 2023 |
Keywords
- Blockchain
- decentralized oracle
- blockchain oracle
- smart contracts