I know what EVM is and to some extent how it works, but it occurred to me that I can't really answer WHY we need to have a brand new separate Virtual Machine to be able to run Ethereum.

Can anyone help me understand WHY? Why wasn't it possible to use another VM (e.g. JVM), or even why we need new programming languages like Solidity etc. and can't use the existing ones?


1 Answer 1


The question kind of makes sense, and I think everyone has their own explanation, I'm going to tell you my point of view.

The way Ethereum works differs from other programming languages, I will give examples:

  • address variable
  • gas fees and gas cost
  • payable functionality

Of course, you can make the virtual machine fit with any programming language such as Solana which is compatible with Rust, but I think there will challenges in doing this, as you should keep performance and other things in consideration.

The easy way is to make a new virtual machine, and we can build it as we want to fit our needs, it's easier to do than trying to match our needs and already existing virtual machine.

This is my opinion about why they made their own virtual machine.

  • Those three are important differentiating points. Thank you.
    – kuzdogan
    Commented Aug 14, 2023 at 11:34
  • You are welcome
    – Al-Qa'qa'
    Commented Aug 15, 2023 at 6:45

Not the answer you're looking for? Browse other questions tagged or ask your own question.