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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The source code can be found at https://github.com/MacOS/blockchain-oracles-data-collection.
- 2.
Orisi: https://orisi.org/. Provable Things: https://provable.xyz. TinyOracle: https://github.com/axic/tinyoracle. ChainLink: https://chain.link/. All links accessed on June 7, 2020.
- 3.
Web3: https://github.com/ethereum/web3.py. Python: https://www.python.org/. QR-Code-Scanner: https://github.com/code-kotis/qr-code-scanner. All links accessed on June 7, 2020.
References
Abou El Houda, Z., Hafid, A., Khoukhi, L.: Co-IoT: a collaborative DDoS mitigation scheme in IoT environment based on blockchain using SDN. In: IEEE GLOBECOM, pp. 1–6 (2019)
Adler, J., Berryhill, R., Veneris, A.G., Poulos, Z., Veira, N., Kastania, A.: Astraea: a decentralized blockchain oracle. In: iThings/GreenCom/CPSCom/SmartData, pp. 1145–1152. IEEE (2018)
Ahmed, S., ten Broek, N.: Blockchain could boost food security. Nature 550(7674), 43 (2017)
Beniiche, A.: A study of blockchain oracles. arXiv preprint arXiv:2004.07140 (2020)
Chen, J., Micali, S.: Algorand: a secure and efficient distributed ledger. Theor. Comput. Sci. 777, 155–183 (2019)
Delgado-Mohatar, O., Sierra-Cámara, J.M., Anguiano, E.: Blockchain-based semi-autonomous ransomware. Futur. Gener. Comput. Syst. 112, 589–603 (2020)
Dhillon, V., Metcalf, D., Hooper, M.: The hyperledger project. In: Dhillon, V., Metcalf, D., Hooper, M. (eds.) Blockchain Enabled Applications, pp. 139–149. Apress, Berkeley (2017). https://doi.org/10.1007/978-1-4842-3081-7_10
Di Ciccio, C., Cecconi, A., Dumas, M., García-Bañuelos, L., et al.: Blockchain support for collaborative business processes. Informatik Spektrum 42, 182–190 (2019)
Di Ciccio, C., Meroni, G., Plebani, P.: Business process monitoring on blockchains: potentials and challenges. In: Nurcan, S., Reinhartz-Berger, I., Soffer, P., Zdravkovic, J. (eds.) BPMDS/EMMSAD -2020. LNBIP, vol. 387, pp. 36–51. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-49418-6_3
Eberhardt, J., Tai, S.: On or off the blockchain? Insights on off-chaining computation and data. In: De Paoli, F., Schulte, S., Broch Johnsen, E. (eds.) ESOCC 2017. LNCS, vol. 10465, pp. 3–15. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67262-5_1
García-Bañuelos, L., Ponomarev, A., Dumas, M., Weber, I.: Optimized execution of business processes on blockchain. In: Carmona, J., Engels, G., Kumar, A. (eds.) BPM 2017. LNCS, vol. 10445, pp. 130–146. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-65000-5_8
Glicksberg, B.S., et al.: Blockchain-authenticated sharing of genomic and clinical outcomes data of patients with cancer: a prospective cohort study. J. Med. Internet Res. 22(3), e16810 (2020)
Heiss, J., Eberhardt, J., Tai, S.: From oracles to trustworthy data on-chaining systems. In: 2019 IEEE International Conference on Blockchain (2019)
ISO/TC 307: ISO/TR 2345 blockchain and distributed ledger technologies - overview of and interactions between smart contracts in blockchain and distributed ledger technology systems. Technical report, ISO (2019)
Krejci, S., Sigwart, M., Schulte, S.: Blockchain- and IPFS-based data distribution for the Internet of Things. In: Brogi, A., Zimmermann, W., Kritikos, K. (eds.) ESOCC 2020. LNCS, vol. 12054, pp. 177–191. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-44769-4_14
Mendling, J., Weber, I., van der Aalst, W.M.P., et al.: Blockchains for business process management - challenges and opportunities. ACM Trans. Manag. Inf. Syst. 9(1), 4:1–4:16 (2018)
Neidhardt, N., Köhler, C., Nüttgens, M.: Cloud service billing and service level agreement monitoring based on blockchain. In: EMISA. CEUR Workshop Proceedings, vol. 2097, pp. 65–69 (2018)
de Pedro Crespo, A.S., Levi, D., García, L.I.C.: Witnet: a decentralized oracle network protocol. CoRR abs/1711.09756 (2017)
Strobel, V., Castelló Ferrer, E., Dorigo, M.: Blockchain technology secures robot swarms: a comparison of consensus protocols and their resilience to byzantine robots. Front. Robot. AI 7, 54 (2020)
Weber, I., Gramoli, V., Staples, M., Ponomarev, A., Holz, R., Tran, A., Rimba, P.: On availability for blockchain-based systems. In: IEEE International Symposium on Reliable Distributed Systems (SRDS) (2017)
Weber, I., Xu, X., Riveret, R., Governatori, G., Ponomarev, A., Mendling, J.: Untrusted business process monitoring and execution using blockchain. In: La Rosa, M., Loos, P., Pastor, O. (eds.) BPM 2016. LNCS, vol. 9850, pp. 329–347. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-45348-4_19
Wong, D.R., Bhattacharya, S., Butte, A.J.: Prototype of running clinical trials in an untrustworthy environment using blockchain. Nat. Commun. 10(1), 1–8 (2019)
Wood, G.: Ethereum: a secure decentralised generalised transaction ledger (2014)
Xu, X., et al.: The blockchain as a software connector. In: WICSA, pp. 182–191. IEEE Computer Society (2016)
Xu, X., Pautasso, C., Zhu, L., Lu, Q., Weber, I.: A pattern collection for blockchain-based applications. In: EuroPLoP, pp. 3:1–3:20. ACM (2018)
Xu, X., Weber, I., Staples, M.: Architecture for Blockchain Applications. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-03035-3
Zhang, F., Cecchetti, E., Croman, K., Juels, A., Shi, E.: Town crier: an authenticated data feed for smart contracts. In: ACM Conference on Computer and Communications Security, pp. 270–282 (2016)
Acknowledgements
The authors want to thank the Research Institute for Computational Methods at WU Vienna for supplying computational resources. E. Castelló Ferrer acknowledges support from the Marie Skłodowska-Curie actions (EU project BROS–DLV-751615). The work of C. Di Ciccio was partly supported by MIUR under grant “Dipartimenti di eccellenza 2018-2022” of the Department of Computer Science at Sapienza University of Rome.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Mühlberger, R. et al. (2020). Foundational Oracle Patterns: Connecting Blockchain to the Off-Chain World. In: Asatiani, A., et al. Business Process Management: Blockchain and Robotic Process Automation Forum. BPM 2020. Lecture Notes in Business Information Processing, vol 393. Springer, Cham. https://doi.org/10.1007/978-3-030-58779-6_3
Download citation
DOI: https://doi.org/10.1007/978-3-030-58779-6_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-58778-9
Online ISBN: 978-3-030-58779-6
eBook Packages: Computer ScienceComputer Science (R0)