Author: Cathy Speakers: Dr. Greg Colvin, Martin Becze, Pawel Bylica, Dr. Christian Reitwiessner Greg Colvin is mainly responsible for the Ethereum C++ team. Martin Becze is responsible for Wasm Web Assembly Pawel Bylica is responsible for one of the EVM projects, converting EVM byte code into machine code Dr. Christian Reitwiessner focuses on solidity, the Ethereum virtual machine user side Alex is responsible for Wasm Web Assembly, hoping to improve the performance of the virtual machine The above experts held a group discussion on the following issues regarding the evolving Ethereum Virtual Machine. 1. Discussion on the specific progress and direction of the research In the past few months, the main research has been to attach EVM Wasm to Web Assembly. There are two main types of byte code, one is virtual machine byte code, which is expected to be transformed into a new type of code through transformation, and then add some new functions. Web Assembly is a new format. It is mainly committed to the upgraded version of EVM, which will greatly improve its speed and solve the efficiency problems left over from before. It is also very convenient to upload and download, and it is also easy to run in various environments. EVM is a virtual machine implementation method. Since joining the team, the problem I want to solve is how to put this implementation into other clients. What I am doing now is working on C language. If you know EVM, there is a term called EVMC, which is a simple interface that can be packaged and then integrated into other projects. Before the meeting, they had already added EVMC to a certain client and hoped to continue to implement it later, so what I did was not optimization, but project integration. We now have a plug-in interface to execute, this C++ client and another client have implemented this application. We want to have a common interface between clients and the EVM, and there are plans to rebuild the C++ implementation to use the decoder with different clients. We will introduce wasm later. This is a different code and must be compatible first. We also hope that this byte code can be used in other places, such as writing on solidity and wasm smart contracts. We hope to use it for EVMC. They think it is unnecessary to write smart contracts on C, but in reality, this situation always occurs. I hope the Ethereum team can write code more efficiently to achieve compatibility and universality. Some people think solidity is enough. In fact, C is already used to write contracts in cryptographic libraries. People complain that solidity is too difficult, but in fact many languages are written in C, and checks come from C. So we hope to help users achieve simpler and faster operations. The EVMC interface is very powerful, and it can bring together different tasks and provide the required language. The EVMC interface will not affect our work. Many implementations of our project can be based on some relatively complex structures. Through this EVMC, a unique code or randomly selected code can be used for implementation. For example, EVM can be integrated with other virtual machines. It can be upgraded, still using the EVMC interface, but the functions will be more complete. This interface can obtain data on the blockchain. Then it can be executed at different levels. In fact, it is running at the same level and then changing. 2. When will EVMC be released? This mainly depends on the work team. I have implemented it in many places. It is estimated that it can be finally realized in 2017, and then it can be expanded in other aspects. In fact, many aspects have been applied, and they will be tested on the test network later. It is also because of the advancement of EVM that it can be applied in other clients. Generally, the consumption of resources by EVM can be obtained through gas. The biggest security issue is that we want to minimize trust, which can be achieved through measurement, such as stack analysis on web assembly, and metering, and its memory is comparable to before. The gas model and memory are not much different from before, so they are in different concerns and designs. So we conceived two modules to build separately. So we created this reliable computing platform. In fact, we are also very concerned about security issues. 3. How will memory be paid for? Will it be linked to actual usage or the virtual machine? In fact, the memory is connected to the webassembly, and it will also be expanded and expand memory-related projects. For example, Alphamat will also expand the memory. Regarding the measurement part, you actually need to enter your own code. You don’t trust the compiler very much, so in the process, we will add some statements, which will call specific equations. Just like the application used before. It can save time, but the cost may be too high. Whether its performance can be considered separately, but how to improve it in the end is still unknown. Currently, an eight-byte prototype is used. |
<<: DEVCON2: Vitalik Burtin - 25 Minutes on Ethereum
>>: Viktor Tron, Dr. Aron Fischer: Swarm Incentive System for Exchange, Guarantee and Fraud
The House and Property Palace is located on the u...
According to the latest industry reports, the dig...
There are many possibilities in a person's li...
What kind of woman's face makes her husband m...
The so-called "husband-prospering face"...
Palmistry characteristics of marrying a poor boy ...
People with narrow foreheads are greedy In fact, ...
Windows 10 has been praised by users for its styl...
There are three main lines on everyone's palm...
You need to know these "little-known facts&q...
More and more institutional investors are attract...
It is inevitable to meet some people you don’t li...
People with double chins are destined to be eithe...
Speaking of rebellion, I believe everyone is famil...
The career line is an important line on the palm....