Abstract
It is widely accepted that blockchain and other distributed ledgers cannot initiate requests for input from external systems and are reliant on oracles to provide such inputs. This belief is founded on the fact that each node has to reach a deterministic state. In this paper we show that this belief is a preconceived one by demonstrating a method that supports calls to external systems initiated from the blockchain itself.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
We use \(\oplus \) to represent function overloading.
- 3.
- 4.
Indeed, this means that in the prototype it is not possible to make use of a PUSH32 instruction for data that starts with the string “http”, however this does not impact the prototype’s purpose to evaluate the proposed technique.
- 5.
Code from https://solidity-by-example.org/signature/ to verify an ECDSA signature was executed in order to retrieve gas costs. The cost of the verification only was calculated by first executing a function call and then adding in a call to verify a signature, and the difference between the two was used to calculate the signature verification gas cost.
References
Adler, J., Berryhill, R., Veneris, A., Poulos, Z., Veira, N., Kastania, A.: Astraea: a decentralized blockchain oracle. In: 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), pp. 1145–1152. IEEE (2018)
Caldarelli, G.: Real-world blockchain applications under the lens of the oracle problem. a systematic literature review. In: 2020 IEEE International Conference on Technology Management, Operations and Decisions (ICTMOD), pp. 1–6 (2020). https://doi.org/10.1109/ICTMOD49425.2020.9380598
Ellis, S., Juels, A., Nazarov, S.: Chainlink: a decentralized oracle network (2017). White paper (2017)
Ellul, J., Pace, G.J.: Towards external calls for blockchain and distributed ledger technology. arXiv preprint arXiv:2105.10399 (2021)
Gatteschi, V., Lamberti, F., Demartini, C., Pranteda, C., Santamaría, V.: To blockchain or not to blockchain: that is the question. IT Prof. 20(2), 62–74 (2018). https://doi.org/10.1109/MITP.2018.021921652
Lin, S.Y., Zhang, L., Li, J., Ji, L.l., Sun, Y.: A survey of application research based on blockchain smart contract. Wireless Netw. 28(2), 635–690 (2022)
Liu, X., Muhammad, K., Lloret, J., Chen, Y.W., Yuan, S.M.: Elastic and cost-effective data carrier architecture for smart contract in blockchain. Future Gener. Comput. Syst. 100, 590–599 (2019). https://doi.org/10.1016/j.future.2019.05.042, https://www.sciencedirect.com/science/article/pii/S0167739X18328334
Marchesi, L., Marchesi, M., Tonelli, R.: ABCDE-agile block chain DApp engineering. Blockchain: Res. Appl. 1(1), 100002 (2020). https://doi.org/10.1016/j.bcra.2020.100002. https://www.sciencedirect.com/science/article/pii/S2096720920300026
Marchesi, M., Marchesi, L., Tonelli, R.: An agile software engineering method to design blockchain applications. In: Proceedings of the 14th Central and Eastern European Software Engineering Conference Russia, pp. 1–8 (2018)
Mekouar, L., Iraqi, Y., Damaj, I., Naous, T.: A survey on blockchain-based recommender systems: integration architecture and taxonomy. Comput. Commun. 187, 1–19 (2022)
Merkle, R.C.: A certified digital signature. In: Brassard, G. (ed.) CRYPTO 1989. LNCS, vol. 435, pp. 218–238. Springer, New York (1990). https://doi.org/10.1007/0-387-34805-0_21
Rimba, P., Tran, A.B., Weber, I., Staples, M., Ponomarev, A., Xu, X.: Comparing blockchain and cloud services for business process execution. In: 2017 IEEE International Conference on Software Architecture, ICSA 2017, Gothenburg, Sweden, 3–7 April 2017, pp. 257–260. IEEE Computer Society (2017). https://doi.org/10.1109/ICSA.2017.44
Sankar, L.S., Sindhu, M., Sethumadhavan, M.: Survey of consensus protocols on blockchain applications. In: 2017 4th International Conference on Advanced Computing and Communication Systems (ICACCS), pp. 1–5. IEEE (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
Xu, X., Pautasso, C., Zhu, L., Lu, Q., Weber, I.: A pattern collection for blockchain-based applications. In: Proceedings of the 23rd European Conference on Pattern Languages of Programs, EuroPLoP 2018, Irsee, Germany, 04–08 July 2018, pp. 3:1–3:20. ACM (2018). https://doi.org/10.1145/3282308.3282312
Xu, X., et al.: A taxonomy of blockchain-based systems for architecture design. In: 2017 IEEE International Conference on Software Architecture, ICSA 2017, Gothenburg, Sweden, 3–7 April 2017, pp. 243–252. IEEE Computer Society (2017). https://doi.org/10.1109/ICSA.2017.33
Zhao, Y., Kang, X., Li, T., Chu, C.K., Wang, H.: Towards trustworthy DeFi oracles: Past, present and future. IEEE Access (2022)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Ellul, J., Pace, G.J. (2023). Verifiable External Blockchain Calls: Towards Removing Oracle Input Intermediaries. In: Garcia-Alfaro, J., Navarro-Arribas, G., Dragoni, N. (eds) Data Privacy Management, Cryptocurrencies and Blockchain Technology. DPM CBT 2022 2022. Lecture Notes in Computer Science, vol 13619. Springer, Cham. https://doi.org/10.1007/978-3-031-25734-6_20
Download citation
DOI: https://doi.org/10.1007/978-3-031-25734-6_20
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-25733-9
Online ISBN: 978-3-031-25734-6
eBook Packages: Computer ScienceComputer Science (R0)