이더리움 가상 머신(EVM) 소개: 모든 스마트 계약을 실행하는 엔진
처음으로 가스 수수료 때문에 거래 금액의 절반을 날렸던 기억이 납니다. 2021년이었는데, OpenSea에서 코인을 발행하려고 하니 네트워크에서 처리 비용으로 87달러를 요구하더군요. 그때 저는 네트워크 작동 원리를 전혀 이해하지 못하고 있다는 사실을 깨달았습니다. 왜 그렇게 비싼 걸까요? 그 돈은 어디로 가는 걸까요? 실제로 제 거래를 실행하는 건 무엇일까요? 이 세 가지 질문에 대한 답은 모두 같았습니다. 바로 이더리움 가상 머신(EVM)이었죠.
대부분의 암호화폐 사용자들은 "EVM"이라는 용어를 들어봤을 것입니다. 하지만 EVM이 정확히 무엇을 하는지 아는 사람은 훨씬 적습니다. 이는 매우 중요한데, EVM은 이더리움 네트워크와 그 설계를 차용한 390개 이상의 블록체인에서 거의 모든 것을 좌우하기 때문입니다. 현재 1,900억 달러 이상의 DeFi 자산 가치가 EVM 네트워크에 존재합니다. MetaMask를 사용하거나, 토큰을 교환하거나, dApp(탈중앙화 애플리케이션)에서 버튼을 클릭한 적이 있다면, 그 모든 과정에서 EVM이 보이지 않는 곳에서 작동하고 있었던 것입니다. 노드는 이러한 모든 블록체인에서 스마트 계약을 실행하며, EVM은 이러한 모든 호출이 실제로 실행되도록 하는 핵심 요소입니다.
자, 그럼 제대로 파헤쳐 봅시다. 교과서적인 설명이 아니라, 진짜 설명을 말이죠.
이더리움 가상 머신이란 무엇이며 왜 중요한가?
자, 가장 간단한 버전부터 설명해 드릴게요. 계산기 앱 아시죠? 2 + 2를 입력하면 4가 나옵니다. 지루하죠. 이제 그 계산기가 1만 대의 휴대폰에서 동시에 작동한다고 상상해 보세요. 모든 휴대폰이 같은 답을 보여줍니다. 만약 한 대가 "2 + 2 = 5"라고 주장하면, 나머지 9,999대는 즉시 반박합니다. 누구도 계산기를 제어할 수 없고, 끌 수도 없고, 조작할 수도 없습니다. EVM(전자투표기)도 기본적으로 이와 같은 원리로 작동합니다. 다만 수학 숙제 대신 실제 돈을 움직이는 스마트 계약을 실행한다는 점이 다릅니다.
컴퓨터 전문가들은 이를 상태 기계(State Machine, EVM)라고 부릅니다. 이더리움은 방대한 양의 데이터를 추적합니다. 누가 어떤 코인을 소유하고 있는지, 어떤 스마트 계약이 존재하는지, 각 주소에 얼마나 많은 이더가 있는지, 각 계약이 어떤 정보를 저장하는지 등 모든 것이 "상태"입니다. 사용자가 거래를 보내면 EVM은 현재 상태와 비교하여 처리합니다. 그러면 새로운 상태가 생성됩니다. 이전 상태에 거래를 더하면 새로운 상태가 됩니다. 공식으로 표현하면 Y(S, T) = S'입니다. 간단하죠.
놀라운 점은 바로 중복성입니다. 여러분의 거래는 버지니아에 있는 단 하나의 서버에만 도달하는 것이 아닙니다. 이더리움 네트워크 전체에 흩어져 있는 수천 개의 노드를 거치게 됩니다. 각 노드는 자체적으로 계산을 수행하고 결과를 비교합니다. 일치하면 새로운 상태가 블록체인에 기록되고, 불일치하면 잘못된 버전은 폐기됩니다. 저는 이런 상황을 떠올리곤 합니다. 수천 명의 회계사가 같은 세금 신고서를 작성하는 상황에서, 한 회계사가 다른 숫자를 적으면 모두 작업을 멈추고 오류를 찾아내는 것이죠.
그리고 이것이 일반 소프트웨어와 다른 점입니다. EVM은 특정 주체가 운영하지 않습니다. 배후에 있는 회사도 없고, 지원 데스크도 없으며, 새벽 2시에 조용히 계약을 롤백할 수 있는 관리자도 없습니다. 코드는 오픈 소스이며 모든 노드에서 동일하게 실행되고, 신뢰는 권위 있는 누군가가 "나를 믿어"라고 말하는 것이 아니라 이러한 합의의 총체에서 비롯됩니다.

EVM은 어떻게 작동할까요? Solidity 코드부터 실행까지 모든 과정을 살펴보겠습니다.
스마트 계약의 전체 수명 주기를 설명해 드리겠습니다. 전체적인 과정을 이해하시면 EVM이 훨씬 더 잘 이해될 것입니다.
첫 번째 단계: 코드를 작성합니다. EVM 개발자의 약 90%가 선택하는 프로그래밍 언어는 Solidity입니다. JavaScript의 구문을 차용하여 중괄호, 함수, 변수 등 일반적인 문법을 사용합니다. Vyper도 있지만(Python에 가깝고 의도적으로 더 간단하게 설계됨), Solidity가 주를 이룹니다. 초보자들이 어려워하는 함정은 바로 모든 코드 한 줄 한 줄을 실행하는 데 비용이 든다는 점입니다. 샌드박스도 없고, 되돌릴 수도 없습니다. 버그가 있는 계약을 배포하면, 사전에 업그레이드 메커니즘을 구축하지 않는 한 그 버그는 영구적으로 남게 됩니다. 저는 개발자 친구가 소수점 위치 오류 때문에 잠 못 이루는 모습을 보면서 이 사실을 뼈저리게 깨달았습니다.
두 번째 단계: 작성한 Solidity 코드가 바이트코드로 컴파일됩니다. 바이트코드는 EVM(Electronic Virtual Machine)의 기계어라고 생각하면 됩니다. 사람이 읽을 수 있는 코드를 작성하면 컴파일러가 이를 EVM이 이해할 수 있는 16진수 코드로 변환합니다. 이 16진수 코드 안에는 약 150개의 오퍼코드가 들어 있습니다. ADD는 덧셈 연산을 수행하고, SSTORE는 데이터를 영구 저장하며, CALL은 한 컨트랙트가 다른 컨트랙트와 통신할 수 있도록 합니다. 각 오퍼코드는 하나의 작은 작업을 나타냅니다. 여러분의 컨트랙트는 이러한 작은 작업들을 수천 개 연결하여 실행합니다.
세 번째 단계부터 흥미로워집니다. 누군가 여러분의 컨트랙트를 호출하면 네트워크의 모든 노드가 해당 트랜잭션을 수신하고 바이트코드를 로드한 후 순차적으로 오퍼코드를 처리하기 시작합니다. 프로세서는 스택 기반입니다. 마치 맨 위 접시만 만질 수 있는 접시 더미를 생각해보세요. 숫자를 하나 넣고, 또 다른 숫자를 넣습니다. 덧셈 연산을 실행하면 두 숫자가 맨 위에서 꺼내져 합산되고, 그 결과가 다시 스택에 저장됩니다. 최대 1024개의 항목을 저장할 수 있으며, 각 항목은 256비트 너비입니다.
모든 노드는 이 작업을 자체적으로 수행합니다. 동일한 바이트코드, 동일한 입력, 동일한 초기 상태를 사용하므로 매번 동일한 결과를 얻습니다. 이러한 예측 가능성이 바로 블록체인 합의 메커니즘이 작동하는 근본적인 이유입니다. 만약 EVM이 서로 다른 머신에서 다른 결과를 도출한다면, 블록체인 전체 시스템이 무너질 것입니다.
EVM 아키텍처: 스택, 메모리 및 스토리지
EVM은 데이터를 세 가지 계층으로 처리합니다. 이 부분은 거래 비용에 직접적인 영향을 미치기 때문에 중요합니다.
스택 은 핵심적인 역할을 합니다. 모든 연산이 이곳에서 이루어집니다. 스택에 데이터를 추가하고, 팝하고, 연산을 수행하고, 이 과정을 반복합니다. 스택 연산은 빠르고 비용도 저렴하며(연산당 약 3가스), 실행이 완료되면 사라집니다. 대부분의 연산 코드는 스택을 직접 사용합니다.
메모리 는 마치 메모장과 같습니다. 메모리 내 어느 위치에든 읽고 쓸 수 있기 때문에 문자열이나 대규모 배열과 같은 것을 저장할 때 스택보다 훨씬 유연합니다. 하지만 메모리는 트랜잭션이 완료되면 사라집니다. 비용 측면에서 보면, 메모리는 스택보다는 비싸지만 스토리지보다는 훨씬 저렴합니다. 필요에 따라 메모리 용량이 늘어나며, 할당하는 메모리 양이 많아질수록 가스 비용은 제곱으로 증가합니다.
다음으로 스토리지가 있습니다. 이것이 가장 비용이 많이 드는 부분인데, 그럴 만한 이유가 있습니다. 스토리지는 영구적입니다. 스마트 컨트랙트가 앨리스가 500개의 토큰을 소유하고 있다고 기록하면, 해당 데이터는 이더리움 상태 트라이에 기록되고 그대로 유지됩니다. 네트워크의 모든 노드가 이 데이터를 저장합니다. 영원히 말이죠. 스토리지에 새로 쓰는 작업에는 20,000 가스가 소모됩니다. 업데이트에는 5,000 가스가 소모됩니다. 참고로, 간단한 이더 전송에는 총 21,000 가스가 소모됩니다. 따라서 스토리지에 한 번 쓰는 비용이 기본 트랜잭션 전체 비용과 거의 맞먹는 수준입니다.
| 데이터 계층 | 얼마나 오래 지속되나요? | 가스 비용 | 용도는 무엇인가요? |
|---|---|---|---|
| 스택 | 사형 집행 후 사라짐 | ~작업당 가스 3개 | 수학, 논리, 비교 |
| 메모리 | 거래 후 사라짐 | 3 가스 + 확장 비용 | 임시 데이터, 함수 인자 |
| 저장 | 영구적인 | 쓰기당 5,000~20,000 가스 | 토큰 잔액, 소유권 기록, 설정 |
스마트 계약 배포 비용이 왜 그렇게 많이 드는지 궁금하셨다면, 바로 이 때문입니다. 배포 과정에서 계약의 바이트코드와 초기 데이터가 모두 스토리지에 기록되는데, 이 과정에 20,000 가스(gas)에 해당하는 작업이 여러 번 누적되기 때문입니다.
이 설명이 낯익게 들린다면 당연합니다. 일반 컴퓨터도 같은 방식으로 작동합니다. CPU 레지스터는 스택처럼 빠르지만 크기가 작습니다. RAM은 메모리처럼 크기는 크지만 속도가 느립니다. 하드 드라이브는 모든 데이터를 저장하지만 쓰기 작업당 가장 많은 시간이 소요됩니다. 저장 장치와 같습니다. 이더리움 개발자들은 의도적으로 이렇게 설계했습니다. 영구적으로 온체인에 데이터를 저장하는 데 따르는 재정적 부담을 느끼게 하여, 정말 필요한 데이터만 저장하도록 유도하려는 것입니다.
EVM에서의 가스 수수료: 이더리움이 연산 비용을 책정하는 방식
가스에 대해 이야기해야겠습니다. 왜냐하면 가스는 전자투표기의 가장 영리한 부분이면서 동시에 가장 골치 아픈 부분이기 때문입니다.
EVM은 튜링 완전성을 갖습니다. 쉽게 말해, 어떤 연산이든 실행할 수 있다는 뜻입니다. 무한 루프도 포함해서 말이죠. 예를 들어, 실행 비용이 없는 while(true) 루프를 사용하는 컨트랙트를 배포했다고 가정해 보세요. 모든 노드가 멈추고 블록체인이 정지됩니다. 그러면 모든 게 끝나는 겁니다.
가스는 그런 일이 발생하는 것을 막아줍니다. 모든 오퍼레이션 코드에는 비용이 발생합니다. ADD는 3 가스를 소모하고, SSTORE는 5,000 또는 20,000 가스를 소모합니다. 트랜잭션을 전송할 때 가스 예산을 설정합니다. 계산이 예산보다 적게 완료되면 사용하지 않은 부분에 대해 환불을 받습니다. 예산 한도에 도달하면 모든 것이 롤백되지만, 소모한 가스 비용은 지불해야 합니다. 무한 루프는 예산을 소진하고 결국 시스템을 종료시킵니다.
지갑에서 나가는 금액은 사용한 가스량에 가스 가격을 곱한 값입니다. 사용한 가스량은 거래 내용에 따라 달라집니다. 가스 가격은 네트워크 사용량에 따라 변동하며, 이는 궜(gwei, 이더리움의 10억분의 1) 단위로 측정됩니다. 거래량이 많으면 가스 가격이 오르고, 거래가 적은 일요일에는 가스 가격이 내려갑니다.
자, 여기서부터 이야기가 흥미로워집니다. 2021년에 제가 87달러어치를 발행했던 거 기억하시나요? 당시 가스 비용은 보통 100~200 gwei 정도였습니다. 디파이 열풍과 NFT 열풍 덕분에 네트워크가 최대 용량으로 가동됐었죠. 그런데 2026년 초, 평균 가스 비용은 3 gwei 정도로 떨어졌습니다. 기본적인 이더리움 전송 비용은 대략 0.30달러에서 0.67달러 정도입니다. 2021년 대비 96%나 하락한 거죠.
| 년도 | 평균 거래 수수료 | 가스 가격 범위 | 원인이 무엇이었습니까? |
|---|---|---|---|
| 2021 | 약 24달러 | 100-200 gwei | NFT 열풍, DeFi 수익률 농업 |
| 2022 | 5~15달러 | 30-80gwei | 시장 폭락, 활동 감소 |
| 2023 | 2~8달러 | 15-40gwei | 약세장 정착 |
| 2024 | 0.50달러-2달러 | 5-15gwei | 덴쿤 업그레이드, EIP-4844 |
| 2026년 1분기 | 0.30~0.67달러 | ~3 gwei | L2 마이그레이션, 블롭 트랜잭션 |
무엇이 바뀌었을까요? 두 가지가 있습니다. 첫째, 2024년 3월 Dencun 업그레이드에서 EIP-4844가 도입되어 롤업을 위한 "블롭" 스토리지가 생성되었습니다. 블롭이 도입되기 전에는 레이어 2 네트워크가 데이터를 이더리움 메인넷에 콜데이터로 게시해야 했는데, 이는 비용이 많이 들었습니다. 블롭은 임시 데이터이기 때문에 훨씬 저렴하며, 레이어 2 게시 비용을 약 95% 절감했습니다. 둘째, 대부분의 활동이 레이어 2 네트워크로 이동했습니다. 유니스왑 스왑이 메인넷 대신 아비트럼에서 실행되면 기본 레이어가 혼잡해지지 않습니다.
레이어 2 네트워크에서는 스왑 비용이 1센트도 안 될 수 있습니다. Arbitrum, Base, Optimism은 모두 EVM을 실행하므로 Solidity 코드는 동일하게 작동합니다. 다만 가스 비용만 훨씬 적게 지불하면 됩니다.

EVM 호환성: 390개 이상의 블록체인이 이더리움의 설계도를 모방한 이유
바로 이 지점에서 EVM 이야기는 흥미로운 것을 넘어 업계 전체에 진정으로 중요한 의미를 갖게 됩니다.
BNB 체인이 출시되었을 때, 바이낸스는 새로운 가상 머신을 만든 것이 아닙니다. 기존 EVM을 수정했을 뿐입니다. 폴리곤도 마찬가지였습니다. 애벌랜치, 팬텀, 크로노스, 하모니, 그노시스 체인도 같은 맥락입니다. 아비트럼이나 옵티미즘처럼 EVM을 기반으로 설계된 레이어 2 롤업조차도 EVM을 네이티브로 사용합니다. 그 결과 390개 이상의 EVM 호환 체인이 존재하지만, 실제로 의미 있는 일일 활동을 하는 체인은 40~50개 정도에 불과합니다.
이더리움을 모방하는 대신 완전히 새로운 것을 개발하는 이유는 무엇일까요? 실용적인 세 가지 이유가 있습니다.
첫째, 개발자들을 생각해 보세요. 전 세계에는 2만 명이 넘는 솔리디티 개발자가 있습니다. EVM 체인을 구축하면 이들 모두가 새로운 언어를 배우지 않고도 첫날부터 코드를 배포할 수 있습니다. 솔라나는 러스트를 사용하고, 앱토스와 수이는 무브를 사용합니다. 이러한 체인들은 개발자 풀을 처음부터 구축해야 했습니다. 하지만 EVM 체인은 이러한 문제를 완전히 해결해 줍니다.
둘째, 무료 도구들입니다. MetaMask, Hardhat, Foundry, Ethers.js, OpenZeppelin, Etherscan 등이 있죠. 이더리움 툴킷 전체가 어떤 EVM 체인에서도 아무런 수정 없이 작동합니다. 같은 지갑, 같은 테스트 프레임워크, 같은 블록 탐색기를 사용할 수 있죠. 덕분에 수년간의 작업 시간을 절약할 수 있습니다.
셋째, DeFi는 EVM과 함께 발전합니다. Uniswap, Aave, Curve, SushiSwap 모두 5개 이상의 EVM 체인에서 운영되고 있습니다. 계약 코드는 이더리움에서 폴리곤, 아비트럼, BNB 체인으로 그대로 복사해서 붙여넣기 방식으로 공유됩니다. 동일한 코드, 동일한 감사, 동일한 보안 모델을 사용합니다. 브리지가 유동성을 연결하고, EVM이 그 연결 고리 역할을 합니다.
하지만 EVM을 복사한다는 것은 그 문제점까지 복사한다는 의미입니다. 한 번에 하나의 트랜잭션만 처리하고, 64비트 프로세서에서 256비트 워드를 사용해야 하므로 오버헤드가 발생합니다. 가스 시스템은 작동은 하지만 최신 VM에서는 생략되는 복잡성을 더합니다. Solana의 SVM은 트랜잭션을 병렬로 실행하고, MoveVM은 버그 유형을 완전히 없애는 리소스 모델을 가지고 있으며, FuelVM은 최신 CPU 설계에서 아이디어를 차용했습니다.
EVM만큼 채택률이 높은 기술이 있을까요? 없습니다. 전혀 근접하지도 못했죠. 이론상으로 더 뛰어난 기술도 현실 세계의 네트워크 효과를 이길 수는 없습니다. EVM은 가장 많은 개발자, 가장 많은 실제 프로토콜, 가장 많은 코드 패턴 검증을 거쳤으며, 해킹 공격에서 살아남은 수많은 경험을 가지고 있습니다. 암호화폐 업계에서는 버그 하나로 수억 달러의 손실이 발생할 수 있기 때문에, 이러한 경험은 벤치마크 점수보다 훨씬 더 중요합니다.
이더리움 상태와 EVM이 합의를 유지하는 방식
이 부분은 좀 더 기술적인 내용이지만 중요합니다. 이더리움 노드에 실제 하드웨어가 필요한 이유와 온체인에 데이터를 저장하는 데 막대한 비용이 드는 이유를 설명해 줍니다.
이더리움은 방대한 조회 테이블을 유지합니다. 어떤 주소든 입력하면 이더 잔액, 논스(거래 횟수), 그리고 컨트랙트 주소의 경우 전체 바이트코드와 저장된 모든 데이터를 반환합니다. 수백만 개의 주소, 수백 기가바이트의 용량. 이것이 바로 이더리움의 상태입니다.
이 모든 정보는 머클 패트리샤 트라이(Merkle Patricia trie)라는 구조 안에 존재합니다. 간단히 설명하면, 각 가지마다 고유한 해시값이 생성되고, 이 모든 해시값이 최상위의 루트 해시값으로 합쳐지는 트리 구조입니다. 이 루트 해시값은 각 블록 헤더에 저장됩니다. 두 지갑 간에 0.001 ETH만 이동해도 루트 해시값이 완전히 바뀝니다. 검증자는 모든 거래를 실행하고, 결과로 생성되는 루트 해시값을 계산하여 비교합니다. 해시값이 같으면 블록이 유효하고, 다르면 블록이 거부됩니다.
노드를 운영한다는 것은 모든 블록이 생성될 때마다 전체 트리를 최신 상태로 유지해야 한다는 것을 의미합니다. 이것이 바로 이더리움이 가진 가장 큰 확장성 문제입니다. 가상 머신 자체는 충분히 빠르지만, 상태 데이터는 계속해서 증가합니다. 모든 SSTORE는 트라이에 새로운 리프 노드를 추가하고, 새로운 컨트랙트는 더 많은 데이터를 쌓아 올립니다. 버클 트리(Verkle tree)가 이 문제를 해결할 수 있을지도 모릅니다. 이더리움 팀은 몇 년 동안 버클 트리를 개발해 왔습니다. 버클 트리를 사용하면 노드는 전체 상태를 저장하지 않고도 블록을 확인할 수 있습니다. 버클 트리가 출시되면 노드 운영 비용이 훨씬 저렴해지고 더 많은 사람들이 검증자 세트에 참여할 수 있게 될 것입니다.
EVM 구현: 하나의 사양, 다양한 클라이언트
대부분의 사람들은 이것을 잘 모릅니다. "EVM"은 프로그램이 아니라 사양서입니다. EVM은 "이러한 입력이 주어지면 이러한 출력을 생성하라"고 명시된 문서입니다. 누구나 사양서를 준수하는 한 원하는 언어로 자신만의 버전을 만들 수 있습니다.
Geth는 가장 유명한 배포판입니다. Go 언어로 작성되었으며 대부분의 이더리움 노드에서 실행됩니다. 하지만 다른 배포판도 있습니다. Nethermind(C#), Besu(Java, 기업용), Erigon(Go, 디스크 최적화), Reth(Rust, Paradigm 개발) 등이 있습니다. 핵심 개발자들은 이러한 다양성을 의도적으로 추구합니다. 왜냐하면, 만약 노드의 95%가 Geth를 사용하고 있는데 Geth에 치명적인 버그가 발생하면 전체 네트워크가 혼란에 빠지기 때문입니다. 하지만 다섯 가지 클라이언트에 걸쳐 버그가 분산되면 전체 노드의 20%에만 영향을 미치고 나머지 노드는 계속 정상적으로 작동하게 됩니다.
레이어 2 네트워크는 저마다 독특한 방식을 더합니다. Arbitrum은 Arbitrum VM이라는 수정 버전을 만들었습니다. Optimism은 "EVM 동등성", 즉 바이트 단위로 동일한 동작을 목표로 합니다. zkSync Era는 한 걸음 더 나아가 EVM 바이트코드를 영지식 증명과 호환되는 형식으로 컴파일합니다. 내부적으로 완전히 다른 실행 경로를 거치는 것이죠. 하지만 Solidity 개발자에게는 여전히 똑같아 보입니다. 근본적으로 다른 아키텍처들이 모두 개발자에게 동일한 모습을 보여준다는 사실은 EVM의 가장 과소평가된 장점 중 하나라고 할 수 있습니다.
개발자로서 여러분은 대부분 어떤 클라이언트가 여러분의 계약을 처리하는지 신경 쓰지 않습니다. 솔리디티 코드를 작성하고, 바이트코드로 컴파일하고, 배포하면 됩니다. 사양서에 따라 어디에서든 동일한 결과가 보장되기 때문입니다.
EVM에서의 스마트 계약 개발: 개발자들이 실제로 다루는 사항들
EVM용 웹 개발을 시도하는 개발자들은 씁쓸한 현실에 직면하게 됩니다. 버그는 실제 금전적 손실을 초래합니다. 프로덕션 환경에서는 패치가 불가능합니다. 사전에 계획하지 않았다면, 결함 있는 계약을 배포하면 영원히 결함 있는 상태로 남게 됩니다.
Solidity는 EVM 컨트랙트의 90% 이상을 차지합니다. 툴링도 상당히 좋아졌습니다. Hardhat은 플러그인을 통해 JavaScript/TypeScript를 사용할 수 있게 해주고, Foundry는 Rust를 사용하며 실행 속도가 더 빠르고 Solidity 자체로 테스트를 작성할 수 있게 해줍니다. 두 툴 모두 로컬 EVM을 실행하여 가스 비용 없이 테스트할 수 있도록 지원합니다. 새로운 프로젝트라면 Foundry를 추천합니다. 하지만 테스트 스위트가 100개를 넘어가면 속도 차이가 확연히 드러납니다.
토큰 표준은 생태계를 체계적으로 유지하는 데 도움이 됩니다. ERC-20은 USDT, LINK, UNI와 같은 대체 가능 토큰(FFT)을 지원합니다. ERC-721은 NFT용입니다. ERC-1155는 멀티 토큰 계약을 처리합니다. ERC-4626은 수익률 볼트(Yield Vault)를 지원합니다. 이 모든 표준은 모든 EVM 체인에서 동일하게 작동합니다. 계약 코드를 한 번 작성하고 이더리움, 아비트럼, 베이스, 폴리곤 등 어떤 체인에든 배포할 수 있습니다. 동일한 코드로 동일한 동작을 구현합니다.
보안이요? 험난합니다. 재진입 공격으로 수억 달러가 유출됐습니다. 2016년 DAO 해킹 사건은 재진입 버그 때문에 이더리움 네트워크가 두 개로 나뉘는 사태를 초래했는데, 공격자가 인출을 무한 루프에 빠뜨려 6천만 달러를 빼돌렸습니다. 정수 오버플로는 2021년 솔리디티 0.8 버전에서 기본 검사 기능이 추가되기 전까지 골칫거리였습니다. 전문 개발팀이 작성한 감사 코드에서도 접근 제어 오류가 여전히 발견됩니다. Slither, Mythril, Certora 같은 도구가 일부 버그를 잡아내긴 하지만, 제대로 된 코드 감사를 대체할 수는 없습니다. 그리고 감사조차도 모든 것을 놓치지는 않습니다. 현실이 그렇습니다.
오늘날 배포 시 기본 ERC-20 토큰 가격은 메인넷에서 5~20달러입니다. 완전한 DeFi 프로토콜이라면 몇백 달러 정도겠죠. 하지만 레이어 2 네트워크에서는 몇 센트면 충분합니다. 2025년 신규 계약의 65%가 레이어 2에서 실행될 것이라는 예측은 놀라운 일이 아닙니다.
2026년 EVM 생태계: 레이어 2의 지배력과 그 이후의 전망
3년 전 레이어 2 네트워크의 TVL(총 예치 자산)은 40억 달러였습니다. 지금은 500억 달러를 넘어섰습니다. 아비트럼(Arbitrum)만 해도 166억 달러에 달합니다. 기본 규모는 100억 달러, 낙관론은 60억 달러입니다. 이러한 변화는 레이어 2 수수료가 거의 제로에 가까워졌기 때문입니다. 대부분의 롤업 거래에서 스왑 수수료가 1센트 미만으로 떨어졌습니다. 메인넷 수수료조차 1달러 미만으로 하락했습니다. 예전에는 이더리움 가격이 너무 비싸서 모두 솔라나를 사용해야 한다는 의견이 많았지만, 이제는 그런 주장이 예전만큼 설득력이 없습니다.
계정 추상화(ERC-4337)는 2025년과 2026년에 조용히 판도를 바꿔놓았습니다. 스마트 지갑을 사용하면 스테이블코인으로 가스비를 지불하고, 여러 작업을 하나의 거래로 묶고, 시드 구문 없이도 계정을 복구할 수 있습니다. 메타마스크에서 스왑 한 번에 팝업창 두 개를 승인하라는 요구를 받고 분노에 차 암호화폐를 접는 친구를 본 적이 있다면, 왜 이것이 중요한지 이해할 수 있을 것입니다. 암호화폐 지갑과 일반 은행 앱 사이의 격차가 줄어들고 있습니다.
다음은 무엇일까요? 몇 가지를 주시하고 있습니다. EOF(EVM 객체 포맷)는 바이트코드를 정리하여 유효성 검사 비용을 절감하고 도구의 성능을 향상시킵니다. 병렬 실행 연구를 통해 EVM이 독립적인 트랜잭션을 하나씩 처리하는 대신 동시에 처리할 수 있게 될 가능성이 있습니다. 아직 초기 단계이지만, 만약 성공한다면 개발자 입장에서는 아무것도 변경하지 않고도 처리량이 크게 향상될 것입니다. 그리고 Verkle 트리는 출시가 점점 가까워지고 있습니다.
물론 경쟁은 현실입니다. Solana의 SVM은 더 높은 처리량을 제공하고, MoveVM은 버그 발생을 방지하는 패턴을 도입했습니다. 하지만 수치를 살펴보세요. EVM 생태계는 1,900억 달러 이상의 DeFi TVL을 보유하고 있으며, 월간 DEX 거래량은 4,000억 달러를 넘어섭니다. 2만 명이 넘는 개발자들이 EVM을 기반으로 개발에 참여하고 있으며, 거의 11년 동안 치열한 경쟁을 거쳐 검증되었습니다. 최신 VM들이 벤치마크에서 우위를 점하고 있지만, 실제 자금이 걸린 중요한 모든 측면에서 EVM이 승리합니다.