이더리움 가상머신 evm의 단점이나 한계는 없나요?
EVM은 Ethereum Virtual Machine로 이더리움 블록체인 네트워크 노드들이 공유하는 하나의 가상 머신으로서 하나의 거대한 분산 컴퓨터입니다. EVM의 장점으로는 블록체인의 안정성을 높여주는 효과가 있다고 하는데 단점이나 한계는 무엇인지 궁금합니다.
EVM은 이더리움 블록체인 상에서 스마트 컨트랙트를 실행하고 트랜젝션을 처리하는 과정에서 연산을 담당하는, 수 많은 노드들이 연결되어 이루어진 가상의 머신(컴퓨터)이라고 할 수 있습니다.
이때 EVM은 사람이 이해할 수 있는 솔리디티 언어로 작성된 스마트 컨트랙트를 컴파일링하여 바이트코드로 변환한 후 실행하게 됩니다.
따라서 다양한 언어를 지원하지 않는다는 점과 솔리디티 자체가 기계어와 가깝지 않은 언어이기 때문에 컴파일링 과정을 거쳐야 하므로 연산에 필요한 시간이 증가된다는 점, 바이트코드로 변환된 스마트 컨트랙트를 실행할 때 가스비가 필요하므로 트랜젝션을 처리하기 위해서 가스비가 필요하지 않은 블록체인에 비해 수수료 부담이 있다는 점 등이 단점이 될 수 있습니다.
또한 EVM이라는 것은 처음부터 이더리움 개발팀이 자체적으로 설계하여 개발한 것이고, 지속해서 성능을 개선하고 있긴 하지만 기존의 설계 단계부터 먼 미래를 내다보거나 지속적인 개발 가능성을 염두에 두기 힘들었기 때문에 성능 개선의 한계가 존재하게 되며 기능이 추가될 수록 성능이 저하될 가능성이 높습니다.
예를 들면 일단 농사를 짓기 위해 기능이 전문화된 콤바인이나 트렉터 같은 것들이 필요한데 그런 것들을 당장 마련할 수 없어서 경운기(EVM)를 샀다고 하겠습니다. 그리고 경운기 엔진의 동력을 최대한 이용해서 여러가지 기능들을 추가시켜 농사를 짓고 있지만 경운기의 성능이 저하되는 것은 피할 수 없는 것과 비슷하다고 할 수 있습니다.
그렇기 때문에 이러한 EVM의 단점 또는 한계를 해결, 극복하기 위해 이더리움은 EVM을 eWASM으로 대체할 예정입니다. 이 eWASM이라는 것은 이더리움 웹 어셈블리라는 것으로 W3C에서 제공하는 기계어와 가까운, 성능이 빠른, 다양한 프로그래밍 언어를 지원하는 가상 머신이라고 볼 수 있습니다. 앞서 예로 든 경운기를 아예 트랙터나 콤바인과 같은 전문 대형 농기계로 바꾸는 것과 비슷한 것입니다.
답변이 도움이 되길 바랍니다.