⚙️ 솔라나 가상 머신 (SVM) Solana Virtual Machine
솔라나 블록체인에서 스마트 컨트랙트와 앱을 실행하는 엔진이에요. 핵심은 트랜잭션을 한 건씩 순서대로 처리하는 대신, 충돌하지 않는 것들을 동시에 병렬로 돌린다는 점이에요.
🏬 쉽게 풀면 — 계산대 여러 줄
계산대가 하나뿐인 마트를 상상해 보세요. 서로 전혀 다른 물건을 샀어도 앞 사람이 끝날 때까지 기다려야 하죠. 이더리움 EVM이 딱 그래요. 트랜잭션을 한 건씩 순서대로 처리해요. SVM은 계산대를 여러 개 열어 두는 방식이에요. 두 손님이 서로 다른 물건을 고르는 한, 동시에 계산할 수 있어요. 충돌하지 않는 트랜잭션을 병렬로 처리하는 것, 그게 SVM의 전부예요. 솔라나가 초당 수천 건의 트랜잭션을 아주 낮은 수수료로 처리할 수 있는 것도 이 덕분이에요.
🅿️ 왜 모든 트랜잭션이 '어떤 선반을 건드리는지' 미리 말해야 하나요?
병렬 처리가 공짜로 이루어지는 건 아니에요. 두 트랜잭션이 같은 데이터를 두고 싸우지 않는다는 걸 시스템이 확신해야만 동시에 실행할 수 있거든요. 그래서 솔라나에서는 모든 트랜잭션이 처음부터 어떤 계정을 읽고 어떤 계정에 쓸지를 선언해야 해요. 마트에서 점원에게 어떤 선반을 건드렸는지 미리 알려주는 것과 같아요. 이 선언을 읽고 충돌 없는 작업을 각 레인에 배분하는 런타임이 바로 Sealevel이에요. 원칙을 정리하면 이래요: 같은 계정을 읽기만 하는 트랜잭션들은 동시에 실행할 수 있지만, 하나라도 쓰기를 한다면 그것들은 순서를 기다려야 해요.
🧩 프로그램과 계정 — 코드와 데이터를 따로 두는 이유
솔라나에서 스마트 컨트랙트는 프로그램이라고 불러요. 프로그램은 상태 없음(stateless): 코드와 데이터가 분리돼 있어요. 프로그램에는 실행 논리만 있고, 실제 상태는 별도의 계정이라는 슬롯에 저장돼요. EVM은 반대로 컨트랙트 코드와 스토리지를 한 묶음으로 관리해요. 이 분리 덕분에 병렬 접근이 가능해지는 거예요. 어떤 계정을 건드리는지 알면, 같은 레인을 써도 되는지 알 수 있으니까요.
| 구성 요소 | 설명 |
|---|---|
| ⚙️ 프로그램 | 스마트 컨트랙트의 코드 — 상태를 갖지 않는 실행 논리. 주로 Rust로 작성하고 sBPF 바이트코드로 컴파일해요 |
| 📦 계정 | 프로그램이 읽고 쓰는 데이터·상태가 담기는 별도 슬롯 |
| 🛤️ Sealevel | 충돌 없는 트랜잭션들을 여러 CPU 코어에서 동시에 실행하는 런타임 |
🌐 SVM은 솔라나만의 것이 아니에요
SVM은 재사용 가능한 런타임이라 다른 체인도 도입하고 있어요. Eclipse는 SVM으로 실행하되 이더리움에 정산하는 Layer 2이고, Sonic SVM은 게임에 특화된 SVM Layer 2예요. EVM이 이더리움 생태계의 표준이 됐던 것처럼, 'SVM'도 더 넓은 기술 표준으로 자리 잡아 가고 있어요.
🚦 입문자가 실제로 SVM을 만나는 순간
- 🔄 솔라나 DEX에서 스왑 — 그 스왑이 SVM 위에서 실행되는 프로그램이에요
- 🖼️ 솔라나에서 NFT 발행 — 마찬가지로 같은 엔진이 처리하는 프로그램 호출이에요
- 👛 솔라나 지갑 사용 — 서명하는 모든 행동이 SVM에서 실행돼요
- 💸 낮은 수수료, 빠른 확정 — 병렬 설계 덕분에 빠르고 저렴하게 느껴지는 거예요
📊 '초당 수천 TPS'라는 수치가 자주 인용되지만, 출처와 네트워크 상황에 따라 달라져요. 어떤 단일 숫자든 정확한 사실이 아니라 추정치로 받아들이는 게 맞아요.
❓ 자주 묻는 질문
- SVM은 그냥 솔라나판 EVM 아닌가요?
- 아니요. EVM은 트랜잭션을 한 건씩 순서대로 처리해요. SVM은 같은 데이터를 건드리지 않는 트랜잭션들을 여러 CPU 코어에서 동시에 실행해요. 이름만 바꾼 게 아니라 설계 자체가 다르다는 점이 핵심이에요.
- SVM은 솔라나에서만 쓰나요?
- 아니요. SVM은 재사용할 수 있는 런타임이라 다른 체인도 도입하고 있어요. 이더리움에 정산하는 Layer 2인 Eclipse, 게임 특화 Layer 2인 Sonic SVM 등이 대표적이에요. EVM이 그랬던 것처럼 SVM도 점점 더 넓은 표준으로 자리 잡고 있어요.
- 솔라나 앱을 쓰려면 SVM을 알아야 하나요?
- 아니요. SVM은 눈에 보이지 않게 작동해요. 솔라나에서 토큰을 스왑하거나 NFT를 발행하거나 지갑으로 서명하는 모든 행동이 SVM 위에서 돌아가는 프로그램이에요. 빠르고 수수료가 저렴한 이유가 바로 이 병렬 엔진 덕분이에요.