Blockchain oracle
A blockchain oracle is a third-party service for smart contracts. Oracles provide trusted information based on the outside-world sources to the on-blockchain smart contracts. An oracle typically encapsulates the real-world complexity outside of the blockchain. This provides different engineering advantages, chiefly that critical errors and potential points of failure are easier to mitigate off-chain than on-chain.[1]
For example, in a contract to automatically purchase bitcoins at a predetermined price, the fulfillment condition is based on the current exchange rate for the bitcoin; an off-chain oracle can constantly monitor the price to provide the triggering condition to the contract.[2]
Examples
Kustov and Selanteva list the following types of oracles:[2]
- a program, external to the blockchain that can provide, for example, sports results for betting or traffic camera information for ticketing the offenders;
- a unit oracle that is built-in into a physical sensor (for example, the same traffic camera);
- an entry oracle executes the code that is actually stored on-chain and provides the result (say, the bitcoin price matching the condition) as an input to the contract;
- an exit oracle handles the results of the smart contract (for example, paying a fee) by manipulating a real-world device (say, opening a door). Its code can also be stored on-chain;
- an oracle agreement is an aggregator of many oracles to determine the condition when the real-world oracles disagree.
Concerns
If an oracle relies on a single source of truth (centralized), that can lead to issues: the data source can be hacked in a man-in-the-middle attack, or altered by its owner, in order to sway smart contracts. Decentralized oracles (consensus oracles) increase the reliability of the information provided to smart contracts by querying multiple data sources, thus distributing trust between participants. However, this does not achieve trustlessness, since oracles are not part of the main blockchain consensus, and thus not part of the security mechanisms of public blockchains.[3]
References
- ^ Kustov & Selanteva 2022, p. 86.
- ^ a b Kustov & Selanteva 2022, p. 87.
- ^ Casino, Fran; Dasaklis, Thomas K.; Patsakis, Constantinos (March 2019). "A systematic literature review of blockchain-based applications: Current status, classification and open issues". Telematics and Informatics. 36: 55–81. doi:10.1016/j.tele.2018.11.006.
Sources
- Kustov, Vladimir Nikolaevich; Selanteva, Ekaterina Sergeevna (2022). "Mutual Recognition Mechanism Based on DVCS Oracle in the Blockchain Platform". Utilizing Blockchain Technologies in Manufacturing and Logistics Management. Advances in Business Information Systems and Analytics. pp. 81–103. doi:10.4018/978-1-7998-8697-6.ch005. ISBN 978-1-7998-8697-6.[predatory publication]
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.