Foundational Oracle Patterns: Connecting Blockchain to the Off-chain World

Roman Mühlberger,Stefan Bachhofner,Eduardo Castelló Ferrer,Claudio Di Ciccio,Ingo Weber,Maximilian Wöhrer,Uwe Zdun
DOI: https://doi.org/10.1007/978-3-030-58779-6_3
2020-07-30
Abstract:Blockchain has evolved into a platform for decentralized applications, with beneficial properties like high integrity, transparency, and resilience against censorship and tampering. However, blockchains are closed-world systems which do not have access to external state. To overcome this limitation, oracles have been introduced in various forms and for different purposes. However so far common oracle best practices have not been dissected, classified, and studied in their fundamental aspects. In this paper, we address this gap by studying foundational blockchain oracle patterns in two foundational dimensions characterising the oracles: (i) the data flow direction, i.e., inbound and outbound data flow, from the viewpoint of the blockchain; and (ii) the initiator of the data flow, i.e., whether it is push or pull-based communication. We provide a structured description of the four patterns in detail, and discuss an implementation of these patterns based on use cases. On this basis we conduct a quantitative analysis, which results in the insight that the four different patterns are characterized by distinct performance and costs profiles.
Software Engineering,Cryptography and Security
What problem does this paper attempt to address?