6 Answers
6

First to get an idea on EVM you may refer this question on what is EVM. And then,

What would happen if the EVM didn't exist?

As I understand,

Since ethereum should provide a platform independent (Otherwise you need to deploy different contracts at different addresses for different platforms?) running environment to execute smart contracts (providing a Turing Complete language to write smart contracts is a main specialty in Ethereum ) , A VM is highly needed. But why not an existing VM is not used? Ethereum has it's on requirements other than just executing a code. This answer requirements needed for the EVM will give a good idea on that. And this comparison with JVM will give a more insight to that.

Highlighting the security aspect Ethereum Virtual machine(EVM) provides the secured run-time environment for the smart contracts in the network. Smart Contracts are open to everyone in the network and anyone in the network is allowed to deploy smart contracts. When a node need execute a smart contract function, the code is run with in the particular node.

These reasons open up a security vulnerability, unless the run-time environment is not controlled. In a worst case scenario, it may lead nodes to be unavailable and ultimately the network to be unavailable. These vulnerabilities are prevented by controlling the run-time environment by the EVM.

Thanks for the answer. Yes, by reading all the answers it's getting clearer to me. But I'm not sure why you brought up "security vulnerabilities."
– Ay.Sep 30 '17 at 15:59

because, smart contracts can be sent by anyone, hence untrusted. So the nodes need a security mechanism and evm provides while doing its main task of processing smart contracts.
– Achala DissanayakeSep 30 '17 at 16:04

So if ithe EVM didnt eist, smart contract are needed to provide with a existing VM to provide the run-time environment and that may not specifically catered for the security requirements in the ethereum blockchain and may be unnecessary a large one with other irrelevant features that may not be useful with ethereum
– Achala DissanayakeSep 30 '17 at 16:09

1

I would leave out the arguments about the security aspect of it, it requires more accurate analysis, e.g. when user's machine is corrupted by an adversary then there's no guarantee VM executes correctly. But the rest of your answer is nice and supported with some references which is cool!
– Ay.Oct 17 '17 at 18:28

Ethereum provides two main services : Money transfer and Smart contracts processing.
The first doesn't need a VM but the second does while a smart contract is a piece of code which needs a VM or a compiler to run it. So no VM no ability to write smart contract or advanced programs handling assets or money.

The virtual machine is just fancy talk for scripting language. If you've studied Bitcoin, you could say that the Script language built in Bitcoin's code is the "Bitcoin Virtual Machine". It just happens that it is not Turing complete, as the Ethereum scripting language is Turing complete and has higher capabilities (albeit at the cost of more complexity).