Site iconSite icon ForkLog

Vitalik Buterin Proposes Enhancements for EVM Efficiency

Vitalik Buterin Proposes Enhancements for EVM Efficiency

Specialisation and parallelisation of computations enhance efficiency and security, according to Ethereum co-founder Vitalik Buterin in a recent essay.

The cryptographer believes this opens up possibilities for increased decentralisation and simplified code auditing.

Buterin suggests that any resource-intensive computations can be divided into two parts:

  1. A relatively small amount of complex business logic that is not resource-intensive.
  2. A large amount of intensive but highly structured “expensive work.”

In the first case, processing with an architecture that may be less efficient but must have very high generality is preferable, while in the second, an architecture with opposite properties is more suitable.

In the EVM, these two forms of execution are handled differently. Complex business logic is written in a higher-level language like Solidity, which is compiled in the virtual machine.

“Expensive work” is executed by EVM opcodes (SLOAD, etc.), but over 99% of actual computations are performed in specialised modules directly within the client code (or even libraries).

Buterin notes an increasing prevalence of an architecture he terms “glue and coprocessor.” In this setup, a central component—the “glue”—has high generality but low efficiency and is responsible for data transfer between one or more coprocessor components. The latter has low generality but high efficiency.

Source: vitalik.eth.limo.

The Ethereum co-founder explained that the above scheme is simplified, as in practice, for example in ZKP architecture, there are more than two levels on the curve of compromise between efficiency and generality. However, for simplicity, it is sufficient to think of two levels. Parallels to this exist in many areas of computing.

Source: vitalik.eth.limo.

According to Buterin, computations have only recently become fast enough that the costs of business logic have become truly negligible. This has created conditions for optimising the VM, where business logic is executed, for purposes other than efficiency—such as developer convenience, familiarity, and security.

Meanwhile, specialised “coprocessor” modules can continue to be developed with efficiency in mind and derive their security and developer convenience properties from the relatively simple “interface” they have with the “glue,” he added.

It is becoming increasingly clear which operations are the most important and costly. This is most noticeable in cryptography but is also relevant for AI and other fields.

Continuing his narrative, Buterin concludes that the “glue” should be optimised to improve its properties, as should the coprocessors.

The Ethereum co-founder is convinced that EVMs do not necessarily need to be efficient; they just need to be familiar. Computations in an inefficient VM can be improved by adding the necessary coprocessors (“precompilers”).

He notes that teams optimising the EVM sometimes conclude that the lack of parallelisation is often not the primary obstacle to scalability.

Buterin considers the best ways to improve the virtual machine to be:

In conclusion, the Ethereum co-founder noted that these trends allow for:

  1. Increasing the efficiency of client-side specialisation—this enhances the ability to perform sensitive and performance-demanding computations locally on user hardware.
  1. Creating broad opportunities for the pursuit of efficiency without compromising other values, primarily security, openness, and simplicity. This benefits cryptography, as it embodies “expensive structured computations” that are accelerated by such trends. This creates conditions for enhanced security and a greater focus on optimising precompilations and other functions that “live” alongside the VM.
  1. Opening up opportunities for small and new players. As computations become less monolithic and more modular, the barrier to entry is significantly lowered. Even with an ASIC for one type of computation, success can be achieved. The same will occur in the fields of ZKP and EVM optimisation. Writing code with efficiency close to “borderline” becomes much easier and more accessible. This facilitates its audit and formal verification.

In August, Starknet developers introduced a mechanism for simultaneous execution of multiple transactions in a second-layer solution.

Earlier, ForkLog supplemented educational cards with material on parallelisation and its impact on blockchain scaling.

Exit mobile version