이더리움·스마트컨트랙트 · EVM

EVM이란 — 이더리움을 ‘월드 컴퓨터’로 만드는 가상머신

EVM(이더리움 가상머신)은 전 세계 수많은 이더리움 노드가 똑같이 돌리는 하나의 거대한 가상 컴퓨터입니다. 스마트 컨트랙트라는 프로그램이 실제로 실행되는 무대가 바로 여기예요. 모든 노드가 같은 코드를 같은 순서로 실행해 똑같은 결과에 이르기 때문에, 중앙 서버가 없어도 ‘누가 계산해도 답이 같은’ 신뢰가 만들어집니다. 이더리움을 단순한 화폐가 아니라 월드 컴퓨터라 부르는 까닭이 여기 있습니다.

해석 · 7분 읽기 · 이더리움·스마트컨트랙트 카테고리

1. EVM은 모두가 똑같이 돌리는 가상 컴퓨터

EVM은 Ethereum Virtual Machine, 곧 이더리움 가상머신의 줄임말입니다. ‘가상’이라는 말이 붙은 건 어느 특정 기계 한 대가 아니라, 약속된 규칙대로 동작하는 소프트웨어상의 컴퓨터이기 때문이에요. 이더리움 네트워크에 참여하는 노드들은 저마다 다른 하드웨어를 쓰지만, 그 위에서 똑같은 EVM을 돌립니다.

핵심은 결정성입니다. 같은 입력을 주면 모든 노드의 EVM이 한 치의 오차 없이 같은 결과를 내놓아요. 그래서 노드들은 ‘지금 장부 상태가 이렇다’는 데 자연스럽게 합의할 수 있습니다. 한 대의 중앙 서버가 정답을 정해 주는 게 아니라, 수만 대가 각자 계산해도 답이 같으니 믿을 수 있는 거죠. 이 공유된 장부 위에서 잔고와 데이터가 바뀌는 것을 ‘상태 전이’라고 부릅니다.

스마트 컨트랙트가 EVM에서 실행되기까지 Solidity 코드 사람이 작성 바이트코드 EVM이 읽는 형태 EVM 모든 노드 동일 실행 월드 상태 변경 잔고 · 데이터 갱신 같은 바이트코드를 모든 노드가 똑같이 실행 → 결과가 하나로 합의된다
그림 1 — 사람이 쓴 코드는 바이트코드로 바뀌어 EVM에서 실행되고, 그 결과로 이더리움의 ‘월드 상태’(잔고·데이터)가 갱신된다. 모든 노드가 동일하게 실행하므로 결과가 하나로 합의된다.

2. 스마트 컨트랙트는 EVM 위에서 실행된다

스마트 컨트랙트는 보통 Solidity라는 언어로 작성하지만, EVM이 직접 이해하는 건 사람이 읽기 어려운 ‘바이트코드’예요. 그래서 코드는 먼저 바이트코드로 변환된 뒤 블록체인에 올라가고, 누군가 그 컨트랙트를 호출하면 모든 노드의 EVM이 그 바이트코드를 한 단계씩 실행합니다.

그런데 무거운 연산을 공짜로 돌리게 두면 네트워크가 마비되겠죠. 그래서 EVM은 연산 한 동작마다 ‘가스’라는 비용을 매깁니다. 복잡한 작업일수록 가스를 많이 먹고, 그만큼 수수료도 올라가요. EVM의 실행과 가스가 어떻게 맞물리는지는 가스비 글에서 더 구체적으로 풀어 두었습니다.

3. ‘월드 컴퓨터’가 연 가능성과 한계

EVM 덕분에 이더리움 위에서는 토큰 발행, 탈중앙 거래소, 대출 같은 온갖 프로그램이 돌아갑니다. 한번 올린 컨트랙트는 특정 회사가 마음대로 멈추거나 바꿀 수 없고, 전 세계 누구나 같은 규칙으로 쓸 수 있어요. 이런 개방성이 DeFi를 비롯한 생태계가 폭발적으로 자란 토대가 됐습니다.

다만 모든 노드가 같은 계산을 중복해서 돌리는 구조라, 한 대의 고성능 서버보다 훨씬 느리고 비쌉니다. 이 한계를 풀려는 게 바로 Layer 2 같은 확장 기술이에요. 새로운 플랫폼이 열릴 때 늘 그렇듯, EVM 생태계도 진짜 혁신과 거품 섞인 기대가 함께 끓었습니다. 닷컴 시기 인터넷이 그랬던 것처럼요. 그 닮은꼴은 닷컴 버블 이야기와 나란히 두고 보면 더 또렷해집니다.

같은 일을 한 번 vs 모두가 — 신뢰와 속도의 맞바꿈 일반 클라우드 서버 서버 1대 빠르다 대신 회사를 믿어야 한다 EVM (이더리움) 모든 노드가 같은 계산을 중복 실행 느리다 / 대신 누구도 안 믿어도 된다
그림 2 — 일반 서버는 한 곳에서 한 번 계산하지만, EVM은 모든 노드가 같은 계산을 중복으로 돌린다. 그래서 느리고 비싼 대신, 특정 주체를 믿지 않아도 결과를 신뢰할 수 있다.

마무리 — EVM을 한 줄로

EVM은 전 세계 노드가 똑같이 돌리는 가상 컴퓨터이고, 스마트 컨트랙트가 실행되는 무대이며, 모든 노드가 같은 결과에 이르러 중앙 서버 없이 신뢰를 만들어 냅니다. 그 대가로 연산마다 가스 비용을 치르고, 중복 실행 탓에 속도와 비용의 숙제를 안고 있죠.

이 구조를 알고 나면 이더리움이 왜 ‘프로그래밍 가능한 블록체인’이자 ‘월드 컴퓨터’로 불리는지 자연스럽게 이해됩니다. 비트코인이 돈에 집중했다면, 이더리움은 EVM을 통해 그 위에 무엇이든 올릴 수 있는 공용 실행 환경을 연 셈이에요.

이어서 읽기
암호화폐 학습 · BASIC
스마트 컨트랙트란 — 자동 실행되는 코드
암호화폐 학습 · BASIC
이더리움이란 — 프로그래밍 가능한 블록체인
이더리움 · 전체
이더리움·스마트컨트랙트 카테고리 보기
연관 용어
이더리움 스마트 컨트랙트 가스 DeFi
주제가 비슷한 다른 글
암호화폐 · 관련
레이어2란 — 이더리움을 빠르고 싸게 만드는 확장 기술
암호화폐 · 관련
스테이블코인이란 — 1달러에 고정된 코인, 3가지 담보 방식과 위험
암호화폐 · 관련
DeFi란 — 은행 없이 스마트 컨트랙트가 굴리는 탈중앙 금융
이전 글 · 스마트 컨트랙트란 암호화폐 학습 목록