이더리움 2.0, EVM과 eWASM의 차이점과 앞으로의 전망

이번 노트에서는 이더리움 2.0에서 EVM을 eWASM로 업그레이드할 예정인데 EVM과 eWASM에 대해서 작성해보겠습니다.
EVM은 엄청나게 복잡한 기술 개념 중 하나인데, 저희는 스마트 컨트랙트 개발 목적이 아닌 돈 버는 게 목적이니 투자자 입장에서 알기 쉽게 큰 흐름과 중요한 점을 설명하고 작성해보겠습니다.
만약 EVM에 대해서 더 깊게 알고 싶으시면 참고문헌을 살펴보시거나 댓글에 질문 부탁드립니다.
EVM이 무엇인가?
이더리움 가상 머신(EVM)은 가끔 "이더리움의 심장"에 묘사될 만큼 핵심 시스템 중 하나인데, 수백만 개의 프로젝트를 실행할 수 있는 탈중앙화 컴퓨팅 파워를 가지고 있는 엔진입니다.
이더리움 가상 머신은 개발자에게 Solidity 언어로 스마트 컨트랙트와 Dapp를 테스트하고 배포하는 데 사용하는 가상 컴퓨터로 이해하면 됩니다.
Solidity언어가 무엇인가?
솔리디티는 이더리움 등 블록체인 플랫폼에서 스마트 컨트랙트 작성과 개발에 사용되는 계약 지향 프로그래밍 언어입니다.
EVM 호환 블록체인은 무엇이 있는가?
대표적으로 바이낸스 스마트 체인, 아발란체, 폴리곤, 카르다노, 트론 등이 있습니다.
EVM의 기술적 원리를 이해하기보다는 이 모든 사이드체인이 EVM과 호환된다는 사실을 공부하는 것이 더 중요하다고 생각합니다.
이와 같은 사이드체인들은 이더리움 블록체인의 이점을 제공하지만 대부분 더 빠른 속도, 더 낮은 거래비용을 지원합니다.
기존 EVM의 문제점
- EVM은 맥가이버 칼 같이 다양한 작업을 처리해야 하므로 빠르고 정밀하지는 못합니다. 또한 이로 인해서 EVM은 다양한 작업을 수행해야 하므로 운영 병목 현상이 발생하곤 합니다. = 가스비 증가, 네트워크의 효율성 저하
- EVM은 초기 사양에서 크게 발전하지 않았습니다. 그래서 스마트 컨트랙트 작성에 필요한 도구와 언어 지원이 극히 제한된 이유입니다.
이더리움 2.0: 웹어셈블리(WASM)가 무엇인가?
WebAssembly(WASM)은 World Wide Web Consortium - 웹 개발 표준을 정의하는 커뮤니티에서 만든 웹 어셈블리는 최신 브라우저에서 효율적으로 동작할 수 있게 만든 새로운 유형의 코드입니다
웹 어셈블리의 장점
- 최신 브라우저에서 실행할 수 있는 여러 자바스크립트 엔진 및 런타임 환경에서 지원됩니다.
- 기계어 수준 아키텍처에 빠르게 적응하고 매우 높은 성능을 제공합니다.
- 대부분의 플랫폼에서 빠르게 동작합니다.
EVM vs eWASM 크게 어떤 차이가 있을까?
EVM은 효율성보다 실행의 정확성에 초점을 맞추고 있습니다. == 모든 노드는 완전한 정확도로 EVM을 실행해야 합니다.
eWASM은 빠른 로딩 시간과 효율성에 더 집중합니다 == 이론상 구현이 아닌 실용적인 현실에 최적화되어있습니다.
EVM -> eWASM으로의 변화는 어떻게 이해하는 게 좋을까?
이더리움 개발자인 Lane Rettig(레인 레티그)가 한번 EVM에 대해서 의견을 말한 적이 있는데, "It was kind of like a tool – a swiss army knife is the way I would describe it – it does a bunch of things but not incredibly well."
"EVM은 일종의 도구였습니다. 맥가이버칼은 제가 설명하는 방식인데, 많은 일을 해낼 수 있지만 정밀하게 해내지는 못합니다."라고 인터뷰 한적이 있습니다.
또한 Lane Rettig가 "Ethereum is at the point where it's transitioning from a clunky homebrew custom build job that we've been riding around our farm to a real racecar that we can take out on the highway and open up."라고 eWASM으로의 변경을 비유했는데, "이더리움은 우리가 시골에서나 탈법한 투박한 집에서 만든 밭갈이하던 도구였다면, 이제는 고속도로를 빠르게 달리는 스포츠카로 전환하는 지점에 있습니다."
또한 eWASM을 사용하면 기존 EVM에서 복잡하게 처리하던 대부분의 사전 컴파일 작업은 필요 없게 되고, eWASM 계약만으로 대체될 수 있어서 덕분에 연산 속도가 높아집니다.
모든 개발자가 eWASM을 혁신적으로 생각하는가?
반면에 이더리움 개발자인 Greg Colvin(그레그 콜빈)은 eWASM 스마트 컨트랙트에 대해서 약간 회의적입니다.
그레그 콜빈은 eWASM이 컴파일러에 지나치게 의존하면 단일 오류가 발생되는 지점을 만들 수 있다고 생각하고, eWASM이 대부분의 사전 컴파일을 제거할 수 있을 것이라고 생각하지 않습니다.
하지만 대부분의 이더리움 개발자들은 eWASM이 전체 성능과 처리량에 좋은 영향을 끼칠 것이라고 생각하고 있습니다.
어려가지 자료를 읽으면서 공부를 해본 결과 저는 eWASM은 EVM보다 속도가 빠르며, 솔리디티, 자바를 포함한 더 많은 프로그래밍 언어를 지원하므로 확장성이 더 크다고 생각합니다.
결국은 프로토콜의 처리 속도가 빨라지고 EVM과 비교해 더 많은 트랜잭션을 처리할 수 있겠죠.
긴 글 잃어주셔서 감사합니다. 질문은 언제나 댓글이나 텔레그램 채팅방에 부탁드립니다.

Ewasm: Where We Are and Where We Are Going
In 2015, Ethereum was launched, and since has grown into one of the most important blockchains today at the level of use case development…
medium.com