Abstract
Virtualization in the context of blockchain systems represents an essential phase in the development and migration of services from public chains to enterprise logic. Most of the ongoing blockchain uses-cases are using the existing public ledgers, but for business products and services, there is a need for custom tailored solutions to ensure flexibility and security. The Ethereum Virtual Machine has opened new ways to solve problems that require a public proof by executing logic on a decentralized ecosystem. In a natural evolutive process, virtualization logic was shaped by numerous architectures and business requirements. Beside performance and scalability, enterprise virtual machines are starting to focus on features like: formal verification, execution of business logic, cross-domain rules, upgradable smart contracts, data privacy politics and audit tools. The current paper presents an introduction, an architectural walkthrough of the most relevant virtual machines that currently exist in the enterprise blockchain ecosystem and an analytical perspective on the future of industry ready VM’s.
Keywords
- Blockchain
- Virtualization
- Architecture
This is a preview of subscription content, access via your institution.
Buying options






References
Wood, G.: Ethereum: A Secure Decentralised Generalised Transaction Ledger. https://ethereum.github.io/yellowpaper/paper.pdf. Accessed 15 Nov 2018
NEO White Paper - A distributed network for the Smart Economy. http://docs.neo.org/en-us/whitepaper.html. Accessed 15 Dec 2018
Lattner, C., Adve, V.: LLVM: a compilation framework for lifelong program analysis & transformation. In: Proceeding of the 2004 International Symposium on Code Generation and Optimization, p. 75. ACM, Palo Alto-California (2004)
Paulin-Mohring, C.: Introduction to the Coq proof-assistant for practical software verification. In: Meyer, B., Nordio, M. (eds.) Tools for Practical Software Verification LASER 2011. Lecture Notes in Computer Science, vol. 7682, pp. 45–95. Springer, Heidelberg (2011)
Neo Contract White Paper. http://docs.neo.org/en-us/basic/neocontract.html. Accessed 15 Dec 2018
Rad, B., Bhatti, H., Ahmadi, M.: An introduction to docker and analysis of its performance. IJCSNS Int. J. Comput. Sci. Netw. Secur. 17(3), 228–235 (2017)
Ray, J.: A Next-Generation Smart Contract and Decentralized Application Platform. https://github.com/ethereum/wiki/wiki/White-Paper. Accessed 15 Dec 2018
Working with Big Numbers Using x86 Instructions. http://x86asm.net/articles/working-with-big-numbers-using-x86-instructions/. Accessed 15 Dec 2018
Grigg, I.: EOS - An Introduction. https://eos.io/documents/EOS_An_Introduction.pdf. Accessed 15 Dec 2018
McFadden, B., Lukasiewicz, T., Dileo, J., Engler, J.: Security Chasms of WASM. https://i.blackhat.com/us-18/Thu-August-9/us-18-Lukasiewicz-WebAssembly-A-New-World-of-Native_Exploits-On-The-Web-wp.pdf. Accessed 15 Dec 2018
Haas, A., Rossberg, A., Schu, D., Titzer, B., Holman, M, Gohman, D., Wagner, L., Zakai, A., Bastien, J.F.: Bringing the web up to speed with webAssembly. In: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 185–200. ACM, Barcelona-Spain (2017)
WebAssembly Virtual Machine. https://github.com/WAVM/WAVM. Accessed 15 Dec 2018
Johnstone, A., Scott, E.: Generalised recursive descent parsing and follow-determinism. In: Koskimies K. (eds.) Compiler Construction, CC 1998. Lecture Notes in Computer Science, vol. 1383, pp. 16–30. Springer, Heidelberg (1998)
Singh, T.: The Hotspot Java virtual machine: memory and architecture. Int. J. Allied Pract. Res. Rev. 60–64 (2014)
Kennedy, A., Syme, D.: Design and implementation of generics for the .NET Common Language Runtime. In: Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation. ACM, New York (2001)
NEO Smart Contract Introduction. http://docs.neo.org/en-us/sc/introduction.html. Accessed 15 Dec 2018
Kokoris-Kogias, E., Jovanovic, P., Gasser, L., Gailly, N., Syta, E., Ford, B.: OmniLedger: a secure, scale-out, decentralized ledger via sharding. In: IEEE Symposium on Security and Privacy. IEEE Xplore, San Francisco (2018)
The ZILLIQA Technical Whitepaper. https://docs.zilliqa.com/whitepaper.pdf. Accessed 15 Dec 2018
Al-Bassam, M., Sonnino, A., Bano, S., Hrycyszyn, D., Danezis, G.: Chainspace: A Sharded Smart Contracts Platform. https://arxiv.org/pdf/1708.03778.pdf. Accessed 15 Dec 2018
Sergey, I., Kumar, A., Hobor, A.: Scilla: a Smart Contract Intermediate-Level LAnguage. https://arxiv.org/pdf/1801.00687.pdf. Accessed 15 Dec 2018
The Not-So-Short ZILLIQA Technical FAQ. https://docs.zilliqa.com/techfaq.pdf. Accessed 15 Dec 2018
Scilla: Syntax and Semantics. https://github.com/Zilliqa/scilla/blob/master/docs/scilla-spec.pdf. Accessed 15 Dec 2018
Hyperledger Architecture, Volume 1. https://www.hyperledger.org/wp-content/uploads/2017/08/Hyperledger_Arch_WG_Paper_1_Consensus.pdf. Accessed 15 Dec 2018
Androulaki, E., Barger, A., Bortnikov, V., Cachin, C., Christidis, K., De Caro, A., Enyeart, D., Ferris, C., Laventman, G., Manevic, Y.: Hyperledger fabric: a distributed operating system for permissioned blockchains. In: EuroSys 2018 Proceedings of the Thirteenth EuroSys Conference, Article No. 30, Porto, Portugal (2018)
Benhamouda, F.; Halevi, S.; Halevi, T.: Supporting private data on Hyperledger fabric with secure multiparty computation. In: IEEE International Conference on Cloud Engineering (IC2E), pp. 357–363. IEEE Xplore, Florida (2018)
Ivkushkin, K.: Insolar Blockchain Platform, unpublished material (2019)
Go Plugin System over RPC. https://github.com/hashicorp/go-plugin. Accessed 15 Dec 2018
Zīle, K., Strazdiņa, R.: Blockchain use cases and their feasibility. Appl. Comput. Syst. 23(1), 12–20 (2018)
International Organization for Standardization: ISO/TC 307 - Blockchain and distributed ledger technologies. https://www.iso.org/committee/6266604.html. Accessed 15 Dec 2018
Chatterjee, K., Goharshady, A.K., Velner, Y.: Quantitative analysis of smart contracts. In: Ahmed A. (eds.) Programming Languages and Systems. ESOP Lecture Notes in Computer Science, vol. 10801, pp. 739–767. Springer, Heidelberg (2018)
Hanada, Y., Hsiao, L., Levis, P.: Smart Contracts for Machine-to-Machine Communication: Possibilities and Limitations. https://arxiv.org/abs/1806.00555. Accessed 8 Jan 2018
Dinh, T.N., Thai, M.T.: AI and blockchain: a disruptive integration. Computer 51(9), 48–53 (2018)
Michelin, R.A., Dorri, A., Lunardi, R.C., Steger, M., Kanhere, S.S., Jurdak, R., Zorzo, A.F.: SpeedyChain: a framework for decoupling data from blockchain for smart cities. In: MobiQuitous 2018 Proceedings of the 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services, pp. 145–154. ACM, New York (2018)
Acknowledgements
This work is supported by the York University, Toronto, Canada through the Blockchain Lab at http://blockchain.lab.yorku.ca/.
This work is supported through the DiFiCIL project (contract no. 69/08.09.2016, ID P_37_771, web: http://dificil.grants.ulbsibiu.ro), co-funded by ERDF through the Competitiveness Operational Programme 2014–2020.
This work was possible thanks to the open source communities of Ethereum, Insolar, NEO, EOS, Hyperledger and Zilliqa that offered the code, technical papers and explanations for all required details.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Tara, A., Ivkushkin, K., Butean, A., Turesson, H. (2019). The Evolution of Blockchain Virtual Machine Architecture Towards an Enterprise Usage Perspective. In: Silhavy, R. (eds) Software Engineering Methods in Intelligent Algorithms. CSOC 2019. Advances in Intelligent Systems and Computing, vol 984. Springer, Cham. https://doi.org/10.1007/978-3-030-19807-7_36
Download citation
DOI: https://doi.org/10.1007/978-3-030-19807-7_36
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-19806-0
Online ISBN: 978-3-030-19807-7
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)