ElrondNetwork launches the new Virtual Machine, or better said VMs - as Elrond now support 3 more engines.
Facilitating software portability. Thread below
1/The basic architecture of Elrond is made of modular components which connect / communicate with each other through well defined interfaces. Plug and play. We can run as many VMs as we want.
2/One VM for Elrond is a high level component, which gets read-only access to the protocol through hooks, executes the SC and saves all the results in a special format output. The protocol validates the basic correctness of the output and operates the changes in the state trie.
3/WebAssembly - WASM in short is a widely supported, high-performance standard, with great professional tooling support. It is the go-to deploying language for web apps. It is a language which cannot be ignored.
4/As of 2019 a lot of blockchain protocols are working on integrating WASM in one way or another.
5/So what did we do: searched for the fastest and most reliable engines which can run WASM code and integrated them through an adapter into the protocol.
6/Hera VM created by the eWASM team was a great starting point, integrating it and supporting the Ethereum Environment Interface meant that we became COMPATIBLE with Ethereum Smart Contracts.
7/Already written ETH contracts can be deployed on Elrond, the only thing you as a developer need to change is the verification of addresses from 20 bytes to 32 in the smart contract.
8/We pushed the existing limits, by creating a super fast layer between the blockchain and the actual SC engine. Reading and writing is from / to a cache. Commit into the state of the blockchain happens only at the end of the SC run.
9/There is no overhead when running the code, the WASM contracts are running at the speed of the underlying engine, which is pretty close to native speed.
10/If we take a look into fibonacci 32 as a benchmark, a simple C code compiled to WASM is running in 16ms using the WAVM engine. Which means that running eWASM as part of the Elrond Node might give us the fastest platform to run SmartContracts on, of any blockchain.
11/Next step: SDK and scripts for C/C++ language. After that JavaScript, TypeScript, Rust and so forth. Read our detailed blog-post here:
https://medium.com/elrondnetwork/improving-the-performance-of-smart-contract-execution-5e62808679ac
Website: https://elrond.com/
Elrond Github: https://github.com/elrondnetwork
Whitepaper: https://elrond.com/files/Elrond_Whitepaper_EN.pdf
Twitter: https://twitter.com/ElrondNetwork