Plans of developing another form of Ethereum Virtual Machine (EVM) look good as developers work to replace the original model. The new version allows use of scripts on the ETH Blockchain and built on the WASM or Web Assembly programming language. WASM was introduced in 2015. It is supported by a team from Google and Microsoft.
The eWASM Program
Martin Becze, JavaScript client developer of the Ethereum Foundation, summarized the subsequent stages of this eWASM program. It includes the unveiling of a test network within the year. He explained the testnet will function as hub for continuing experiments including work on a programmed shift to proof-of-stake compromise algorithm. This will be known as Casper. Said network will facilitate work with eWASM to reach a broader audience.
The eWASM implementation has multiple benefits. Language change facilitates script implementation at “near-native speed” by maximizing hardware capabilities. This will, in turn, lead to several uses that generally entail high performance and throughput (amount of data transmitted successfully from one point to the other within a specific duration) capacity. This eWASM team is creating tools to support the integration of WebAssembly with Solidity smart contract programming language. This is in preparation of a future hackathon or people engaged in joint computer programming.
One objective of eWASM is to conduct research on and replace EVM with Web Assembly. Another target is to put into practice a client for the existing system that can be trans-compiled effectively to Web Assembly. The eWASM track focuses on R&D while client integration concentrates on network development. Two major components of eWASM are Kernel Layer for Inter-Process Communications or IPC that manages the state and Core Virtual Machine (VM). It facilitates use of the same structure for multiple VM executions.
These are the tasks to consider:
- Create eWASM network for testing.
- Develop reusable module for Kernel.
- Overhaul Ethereum Java Script-VM.
- Utilize Kernel – eWASM to transmit messages.
- Implement latest Enterprise Information Portal or EIP.
- Solidity eWASM integration.
Networking Implementation
Ethereum networking implementation in Java Script is essential since it enables operation of full as well as light Ethereum JS node. Light clients run in browsers and node Java Script environments. Bridge nodes are requirements for the in-browser light client and signal servers for the Web Real Time Communications network. Browser light clients use these to transmit messages from the RLPx to the Web RTC networks.
IPLD or IPFS is the generic system that describes and distributes hash-linked data. The Ethereum Blockchain and on-chain state is a graph of said data. Henceforth, Ethereum can be described as the application layer above the platform of hash-linked data. Kumavis (Git Hub) implements IPLD for Ethereum data formats that identify where hash-link encoding takes place within Ethereum formats. This process facilitates production of nominal Ethereum clients. These, in turn, concentrate on consensus protocol as well as mechanism for state transition. The networking layer is known to be “transport agnostic” and utilized for environments without access to browsers which typical Ethereum clients’ need. Said project is still in the research stage.
Web 3 JavaScript (JS) 1.0
This new Web 3 version is being developed. It is the largest refractor (process of streamlining current computer codes) of the code base since the introduction of Ethereum Library. There are many convenience features such as confirmation and receipt of transactions, Application Programming Interface (API) subscription, and checks for address inputs. The API has not been finalized. Web 3 JavaScript (JS) 1.0 will have drastic updates which are needed to have the proper API and eliminate obsolete methods.
ETH JavaScript
ETH JavaScript is fully optimized. It is a lightweight JavaScript Utility designed for Ethereum and meant to be compatible with the remote procedure protocol that is encoded in JSON. This RPC is very similar to the Web 3 version but lighter and uses BigNum in pure JavaScript. The existing activity includes:
- Adding of Application Binary Interface (ABI) techniques to decode logs in Ethereum JavaScript ABI.
- Fix minor decoding bug in Ethereum JavaScript ABI.
- Merge new plan for personal recovery and sign Ethereum JavaScript scheme.
- Document updates.
- Fix bug in ETH JS contract.
- Await release of ETH JS version 0.2.7
The 4.0 release includes the following:
- Database determination.
- Clean up data stored in memory.
- Browser bundling for providers.
- Easy installation in Windows along with other platforms.
ETH JavaScript Community
The ETH JavaScript Community is simply exciting with numerous projects taking place. Ethereum can be programmed and provides users with pre-defined functions like Bitcoin transactions. At the same time, ETH permits users to build their own operations with any level of difficulty. It is an ideal platform for various kinds of decentralized Blockchain apps which include but are not limited to virtual currencies.
This suite of procedures characterizes a platform for decentralized operations. The core is called the EVM or Ethereum Virtual Machine capable of executing codes of random algorithmic complexity. In Computer Science, ETH is considered “Turing Complete”. Developers create apps running on EVM making use of programming-friendly languages based on current languages which include Python and JavaScript.
ETH has Peer to Peer Network Protocol. The Blockchain database is preserved and updated by multiple nodes linked to the network. Each node operates the EVM and implements the same directions. Computing across the whole ETH network does not make computation more cost-effective. On the contrary, it runs the Ethereum Virtual Machine to sustain consensus. Decentralized agreement provides Ethereum with maximum levels of fault tolerance, ascertains zero downtime, and ensures data on the Blockchain cannot be changed and resist censorship.