Tech Talk 6 — MAP-VM in Depth
Last week we talked about the MAP Smart System, one of the crucial parts of the SMART system is MAP-VM. This week, we will have a more in-depth look at what MAP-VM is and do a simple comparison with Ethereum VM and other execution engines.
MAP-VM is a high-performance virtual machine based on WebAssembly. WebAssembly is a new generation code format that can be run directly in the browser. Compared with the EVM used by Ethereum, MAP-VM can run code at a speed close to the native computer hardware speed, while also providing a more flexible contract interface. Compared with V8, Chakra, Spidermonkey, and other execution engines, MAP-VM is designed for consensus execution, and enhances various features to adapt to contract code execution.
Since the WebAssembly open standard is still developing, many new features are being added to the standard, and MAP-VM uses a subset of WebAssembly. In addition to implementing the WebAssembly standard specification, MAP-VM provides the following enhanced features:
- For soft floating-point arithmetic, the operation of the contract depends on the execution environment of a deterministic operation. MAP-VM uses soft floating-point arithmetic. Compared with the floating-point arithmetic of the local CPU instruction set, it can provide absolute consistency.
- Deterministic execution, the contract code has a definite and consistent running result in different environments, and all abnormal call and operation errors are accurately handled. Compared with v8, MAP-VM, Spidermonkey’s highly optimized JIT engine can guarantee the absolute consistency of the calculation process and calculation results.
- Efficient measurement. In MarcoPolo’s consensus, both computing and storage are scarce resources. MAP-VM uses the gas mechanism similar to Ethereum. It can accurately calculate the computing resource consumption of the code while the wasm is executed, without affecting the overall performance.
In summary, MAP-VM embraces the latest WebAssembly standard specifications and adds some enhanced features to meet the future peer to peer electronic cash smart contract requirements, which sets a profound foundation for the MAP protocol. For developers out there who are interested in the implementation of the MAP-VM, please visit MAP team’s GitHub repo for more info. https://github.com/marcopoloprotocol
· MarcoPolo Protocol Medium (For the latest articles)
· MarcoPolo Protocol GitHub (For the complete codes)
For more information, visit marcopolo.link