Open Heart Surgery: Inside Ethereum’s Crucial Replacement of the EVM
At the heart of ethereum is a virtual machine.
The ethereum virtual machine or EVM, which is stored across tens of thousands of nodes that make up the platform, runs a myriad of tokens, dapps, DAOs, and digital kittens with block chains.
It is the engine that the whole of ETERRY works, and it can be said in the language "EVM bytecode". You can provide any equation you can imagine as a raw 256-bit information string (included in the platform's own limit). , gas).
Does it sound powerful and important? Is not it too confusing?
But a key part of the eternity infrastructure is preparing for a complete rewrite.
"In the early stages, we created a case where there was not a huge amount of design accidents." Ethereum developer Lane Rettig talked to CoinDesk about EVM. The Swiss army knife is a way I can describe. There is a crowd, but it is incredibly wonderful. "
Therefore, EVM will be replaced by a new virtual system called eWASM.
EWASM is the ethereum version of the WASM (abbreviation for WebAssembly) code created by the World Wide Web Consortium (W3C), the Web maintenance and standardization director.
"Compared to EVM, there were a lot of high-wage, experienced engineers, and thousands of professional engineers, compared to EVM," said Rettig, who contributed to eWASM development.
In fact, eWASM allows developers to write code in multiple programming languages. It is said that it offers a variety of performance enhancements, not solely ethernet language Solinity.
Ethereum, whose decision is in dispute, will participate in a number of competitors, including EOS, Tron, and Cardano, who have deployed (or plan to deploy) project-specific virtual machines to handle distributed computing using WASM code.
For ethereum, the switch is set to run in the next few years with several other updates, including scaling solution shaling and mining reverse shipper. And although the exact timing of the switch has not been set, eWASM development is progressing rapidly, and a test network will begin in Devcon 4, the ethereum developer conference in Prague in October.
Rettig decided to replace the old machine and summarized as follows:
"Ethereum is moving from a rugged, home-built custom build on the farm to a real car that can be opened off the highway."
& # 39; Wart & # 39; way
The foundation of the switch is that EVM is an innovative technology and at the same time provides distributed computing for attacks. This is not as clean as possible.
The most important dapps developers program Solidity in ethereum, a high-level programming language that is automatically compiled into the EVM bytecode compatible format.
Because EVM relies on "a very wide and wide range of instructions", Rettig needs EVM to transform even the smallest types of operations such as basic arithmetic into 256-bit strings, a complex process for simple math.
This is just one of many tasks built into system code that Rettig should not claim. Another example is the popular hash function SHA-3.
Because of this, Rettig describes the EVM as "warty".
Nick Johnson, the core developer of Ethereum, immediately noticed that when he joined Ethereum in CoinDesk, EVM had a deep understanding of computer science and developed by the developer, but had little experience in building widely available products.
Johnson emphasized that EVM as a tool is "optimized for theoretical purity rather than actual use."
"We have a huge number of registers, but they are all the same and internally consistent," he said.
Metal closer to & # 39;
WASM code, on the other hand, was created with production in mind.
Rettig is built "closer to the metal," reducing the effort required to translate different coding logic because the actual code is closer to the actual hardware instructions.
"Instructions mimic physical hardware instructions very closely," Rettig continued. "This guideline can be directly mapped on a one-to-one basis to the instructions that the actual device runs, so theoretically, you can get a very interesting performance improvement."
For example, developers based on ethereum can write code in multiple languages in the most comfortable language, including developers with additional security benefits.
Rettig says that some developers mention "eWASM's key motivator," and another key benefit is that they can eliminate what is called "precompilation."
Because EVM is made up of tricky code, certain tasks must be built into the system. Otherwise, the operation will exceed the gas cost associated with the operation. You must invoke precompilation to enable these operations on the network, system-wide upgrade, or hard fork. Such upgrades have proven to promote dangerous and complex tasks.
However, developers can use eWASM to create and distribute their work simply as a smart contract, and skip hard fork scenarios.
"With eWASM, we can replace most precompiled compilations with eWASM contracts and perform efficient calculations instead," Johnson said.
A broken heart
Nonetheless, critics of EVM, like real changes in decentralized ecosystems, are not critics.
Greg Colvin, a core developer of ethereum, who has been devoted to the maintenance of EVM for years, is reluctant to use the old code.
Colvin was designing EVM 1.5, a new and improved version of the EVM code. EVM 1.5 was supposed to be the future of the original virtual machine. However, without warning, his funds were cut by the non – profit Ethereum Foundation.
According to CoinDesk, Colvin, who helped establish the Council of Ethereum Magicians, a discussion group focused on improving the technical proficiency of the etherium after the experience, said, "I am angry. It was like waiting, and you would not pay $ 8.40 per hour when you have already reduced the time from 35 to 20. So I am doing this. And then I could not pay anymore for the rest of the time. Volunteer time. "
But Colvin's objection to aWASM is not just pride.
According to him, eWASM also has a technical problem. For example, because eWASM allows multi-language support, the code relies heavily on what is known as a "compiler". What Colvin maintains can be a single point of failure for the attacker.
He also was not sure that the eWASM smart contract could replace the need for precompilation.
"I think there is a pattern of technology and computer science, and the ones that are designed to be the best not only win but also do not do well," he said.
According to Colvin, the code is still relatively untested for all development work in WASM.
Colvin told CoinDesk:
"We did not understand why we wanted to make the experiment an early adapter.
eWASM is struggling with many ether developers.
In fact, the plan is to deploy to testnet prior to the ethereum developer conference Devcon4.
But that does not mean that a new virtual machine will soon be deployed.
The release of eWASM is closely tied to the Shasper upgrade because eWASM brings it to the shard or side chain before the EVM itself is replaced. And from a timing perspective, developers need to participate in research that supports these changes before moving to eWASM.
Unfortunately, the progress of such research is unpredictable.
In fact, the ambiguity associated with upgrading this kind of code has been a source of confusion for a variety of platform-based developers.
"If you are in the process of creating a new client, should you build eWASM, build EVM, build both, and build something else?" Rettig told CoinDesk.
The lack of clarity was Colvin's core frustration. There are some performance issues that are easy to improve with respect to EVM today, but it was one of Colvin's core frustrations because of the sudden change in the roadmap that hinders the side.
EVM 1.5 was almost on the horizon, but now it is still viable, but it has been pushed out and wasted all year long. "EMASM was embarrassed," Colvin told CoinDesk.
Still, Rettig and Colvin acknowledge that this uncertainty is part of an open-source project that lacks centralized leadership.
"The community is very important," Colvin told CoinDesk.
Rettig also argued that there is no waste of ethereum improvements.
In fact, he was able to continue to support multiple virtual machines in the end because of the nature of the sharding upgrade, which divided the etherium into smaller, more manageable chunks.
Rettig does not believe that the future is just one chain because there is no ethereum, no single roadmap, no single privilege, no community, and no techs in the updated ethereum.
As a result, eWASM will achieve a new level of interoperability. One is written in a standardized language for the World Wide Web, so adding in-browser support to ethereum light clients is not an easy task.
It also opens the way for undiscovered interoperability between different block chains.
"Perhaps there is a two-dimensional sharding here, Plasma is here, and maybe there is a duplicate, maybe a Dfinity chain talking to an ethereum chain talking to Bitcoin via Cosmos and Polkadot," Rettig said. We proposed the following.
"We do not know, so do not be so immersed in the official road map."
Paper heart image through Shutterstock
CoinDesk, a leader in block-chain news, is a media outlet that pursues the highest standards of journalism and adheres to strict editorial policies. CoinDesk is an independent operating subsidiary of the Digital Currency Group, which invests in cryptocurrencies and block-chain startups.
(f.fbq) return; n = f.fbq = function () n.callMethod?
n.callMethod.apply (n, arguments): n.queue.push (arguments); if (! f._fbq) f._fbq = n;
n.push = n; n.loaded =! 0; n.version = & # 39; 2.0 & # 39 ;; n.queue = ; t = b.createElement (e); t.async =! 0;
t.src = v; s = b.getElementsByTagName (e) ; s.parentNode.insertBefore (t, s)} (window,
Document, & # 39; script & # 39 ;, & # 39; // connect.facebook.net/en_US/fbevents.js');
fbq (& # 39; init & # 39 ;, & # 39; 472218139648482 & # 39;);
fbq (& # 39; init & # 39 ;, & # 39; 239547076708948 & # 39;);
fbq (& # 39; track & # 39 ;, & # 39; PageView & # 39;);
You must log in to post a comment.