
왜 병렬화가 차세대 블록체인 솔루션이 될 것인가?
저자: Paul Timofeev, Mike Jin, Gabe Tramble
번역: Chris, Techub News
블록체인은 가상 머신으로, 누구나 참여할 수 있지만 단일 실체가 제어하기는 극도로 어려운 분산형 물리 컴퓨터 네트워크 위에서 작동하는 소프트웨어 기반 컴퓨팅 모델이다. 블록체인 개념은 처음으로 중본이 2008년 발표한 비트코인 백서에서 소개되었으며, 암호화 보안 기반의 P2P 결제를 지원하는 핵심 인프라로서 제시되었다. 블록체인에서 거래란 소셜미디어 및 인터넷 회사의 로그와 유사하다. 특정 네트워크 활동을 기록하는 데 사용되지만, 중요한 차이점은 블록체인 상의 거래가 변조 불가능하며 일반적으로 공개 조회 가능하다는 점이다.
거래란 무엇인가
블록체인에서의 거래란 디지털 자산을 하나의 주소에서 분산 원장 상의 다른 주소로 이전하는 것을 의미하며, 이 과정은 공개키 암호화 기술로 보호된다. 이러한 거래는 탈중앙화된 P2P 송금 외에도 다양한 인증 및 검증 프로세스에 활용될 수 있다.

SeiTrace 같은 블록체인 브라우저에서 누구나 관찰 가능한 거래 예시
블록체인 거래의 작동 방식
Bob이 Alice에게 토큰을 전송하려 할 때, 그의 요청은 즉시 전체 블록체인 네트워크에 알림된다. 이 과정에서 네트워크 내 특정 노드(검증 노드)가 활성화되어 거래의 유효성을 검증한다. 충분한 수의 노드가 정확함을 확인하면 해당 거래는 새로운 블록에 기록되고 다른 사용자들의 거래들과 함께 패키징된다. 블록이 가득 차면 영구적으로 블록체인에 추가되며, 이것이 바로 이 기술의 이름 유래이다. 이렇게 하여 Bob과 Alice는 지속적이며 공개적인 장부에서 자신의 거래 내역을 확인할 수 있다.
블록체인에서 각 거래는 메타데이터를 포함하고 있으며, 이 정보는 네트워크 노드가 특정 명령 및 매개변수를 식별하고 실행하는 데 도움을 준다. 거래에는 일반적으로 송금 금액, 수신 주소, 거래 검증용 디지털 서명 등의 고급 데이터와 자동 생성되는 기타 저수준 데이터가 포함되며, 구체적인 내용은 네트워크 설계에 따라 달라진다.
비록 이러한 프로세스가 일반적으로 적용되지만, 구체적인 실행 세부사항은 사용하는 블록체인 아키텍처에 따라 다를 수 있다.
예를 들어, 이더리움과 같은 전통적 블록체인에서는 메모리풀(mempool)이라 불리는 메커니즘이 존재한다. 메모리풀은 본질적으로 캐시 공간 또는 '대기 구역'으로, 아직 블록에 포함되지 않은 거래들을 저장한다.
메모리풀을 사용하는 블록체인에서 거래의 일반적인 수명주기는 다음과 같다:
-
사용자가 거래를 시작하고 서명한다.
-
블록체인 네트워크의 검증 노드가 거래의 유효성을 확인하고 매개변수가 올바른지 검사한다.
-
검증을 통과하면 거래는 공개 메모리풀에 진입하여 다른 미처리 거래들과 함께 패키징될 때까지 대기한다.
-
거래가 지불한 가스 요금과 메모리풀 내 다른 거래들의 요금을 비교하여 다음 블록에 어떤 거래들이 포함될지를 결정한다. 패키징되면 거래 상태는 '성공'으로 변경된다.
-
일정 시간 경과 혹은 특정 블록 생성 임계치 도달 후 블록이 최종 확정되며, 거래는 블록체인에 영구 기록된다. 51% 공격과 같은 극단적 상황이 아닌 한 정보는 변경 불가능하다.
메모리풀 없음 (솔라나)
반대로, 솔라나(Solana)와 같은 일부 블록체인 플랫폼은 메모리풀을 사용하지 않고 거래를 직접 블록 생산자에게 전송한다. 이를 통해 연속적으로 블록을 생성함으로써 처리 속도와 처리량을 높이는 것을 목표로 한다.


메모리풀 없는 블록체인에서의 거래 수명주기를 살펴보자:
-
사용자가 애플리케이션 사용 중 거래를 시작하고 서명한다.
-
애플리케이션이 거래 정보를 원격 프로시저 호출(RPC) 서버로 라우팅한다.
-
RPC 제공업체가 거래를 현재 지정된 블록 생산자와 이후 세 명의 생산자에게 전송한다. 이는 첫 번째 생산자가 거래를 적시에 수행하지 못할 경우를 대비한 예방 조치이다.
-
블록 생산자는 서명된 거래를 합의 노드에 보내 검증을 진행한다.
-
합의 노드가 거래 내용을 검증하고 투표하며, 완료되면 거래 상태가 RPC → 애플리케이션 → 사용자 순으로 돌아가 '성공' 또는 '실패'로 표시된다.
-
메모리풀 기반 블록체인과 마찬가지로, 블록 자체도 일정 시간 또는 블록 임계값 통과 후 최종 확정된다.
순차 실행
비트코인과 이더리움과 같은 오래된 블록체인은 순차 실행 메커니즘을 사용해 거래를 처리한다. 블록체인에 추가되는 각 거래는 네트워크 상태 변화를 초래하며, 보안 목적상 가상 머신 구조는 한 번에 하나의 상태 변화만 처리한다.

이는 블록에 추가 가능한 거래 수에 제한을 두어 지연 시간 증가, 거래 비용 급등, 때로는 네트워크 마비까지 초래하는 중요한 병목 현상을 유발한다. 또한 순차 실행 모델은 하드웨어 구성 요소를 매우 비효율적으로 활용하므로 멀티프로세서 코어와 같은 계산 기술의 획기적 발전 혜택을 받지 못한다.

병렬 실행
병렬 컴퓨팅은 여러 개의 처리 장치가 동시에 작업하여 단일 문제를 해결하는 컴퓨터 아키텍처의 핵심 기술로, 그 발전 역사는 1950년대 말로 거슬러 올라가며, 이론적 기원은 1837년까지 추적된다. 이 기술은 큰 복잡한 작업을 작은 단위로 나누어 전통적인 직렬 처리보다 더 효율적인 작업 완수를 가능하게 한다.
초기에는 주로 고성능 컴퓨팅 시스템에 적용되었으나, 인터넷 시대의 도래와 함께 계산 수요가 기하급수적으로 증가했고, 최근 수십 년간 프로세서 속도 향상의 물리적 한계에 부딪히면서 병렬 컴퓨팅은 현대 컴퓨터 아키텍처의 주류가 되었다.
블록체인 기술에서도 이러한 병렬 처리 방식이 채택되어, 여러 거래를 동시에 처리하거나 한 스마트 계약에서 다른 스마트 계약으로의 가치 이동을 수행하며, 이를 '병렬 실행(parallel execution)'이라고 부른다.
병렬 실행 개념은 서로 충돌하지 않는 여러 거래를 동시에 처리할 수 있도록 해주며, 이는 네트워크 처리량을 크게 향상시키고 확장성을 강화하여 블록체인이 더 높은 활동량과 더 큰 블록 수요를 효과적으로 처리할 수 있게 한다.
간단한 비유로 설명하자면, 슈퍼마켓에 여러 개의 계산대가 있는 경우를 생각해볼 수 있다. 반면 하나의 계산대만 있다면 훨씬 낮은 효율을 보일 것이다. 이러한 병렬 처리 방식은 전체 처리 효율과 고객 만족도를 모두 향상시킨다.
왜 병렬 실행이 중요한가
블록체인 기술에서 병렬 실행을 도입하는 주요 목적은 특히 고트래픽과 많은 리소스 요청 상황에서 네트워크 처리 속도와 전반적 성능을 향상시키는 것이다. 예를 들어, 암호화폐 생태계에서 Bob이 가장 인기 있는 NFT 시리즈를 만들려 하고, Alice가 좋아하는 밈코인을 구매하려 할 때, 블록체인 네트워크는 두 작업을 동시에 처리하면서도 성능이나 사용자 경험을 희생하지 않는다.
이러한 능력은 단순히 사용자 경험을 개선하는 것으로 보일 수 있으나, 실질적으로 네트워크 효율성을 높여 창의적인 새로운 애플리케이션과 사용 사례 개발의 길을 열어준다. 이러한 애플리케이션들은 낮은 지연 시간과 높은 처리 능력을 활용할 수 있어 암호화폐 생태계로 더 많은 사용자층을 유입하는 기반이 되며, 암호 기술의 광범위한 적용 전환을 예고한다.
병렬 실행의 작동 방식
비록 병렬 실행의 기본 개념은 상대적으로 간단하지만, 블록체인 설계의 미묘한 차이가 병렬 실행 프로세스 자체의 동작에 영향을 미친다. 병렬 실행을 갖춘 블록체인 설계에서 가장 관련 깊은 기능은 거래가 계정 잔액, 저장소, 스마트 계약 등과 같은 기본 네트워크 상태에 접근할 수 있는 능력이다.
블록체인의 병렬 실행은 일반적으로 두 가지 유형으로 나뉜다: 결정론적 병렬 실행(deterministic parallel execution)과 낙관적 병렬 실행(optimistic parallel execution). Solana가 채택한 결정론적 병렬 실행은 거래가 실행 전 모든 메모리 종속성을 명시해야 하며, 즉 접근해야 하는 글로벌 상태의 특정 부분을 선언해야 한다. 이 방법은 개발자에게 부담을 줄 수 있지만, 네트워크가 충돌하지 않는 거래를 사전에 정렬하고 식별할 수 있게 하여 예측 가능하고 효율적인 시스템을 형성한다. 반면 낙관적 병렬 실행은 모든 거래가 충돌 없이 진행된다고 가정하며, 이 구조는 거래 처리 속도를 가속화할 수 있지만, 충돌 발생 시 재실행이 필요할 수 있다. 두 개의 충돌 거래(즉, 동일한 네트워크 상태에 접근하려는 거래)가 발견되면 시스템은 병렬 또는 순차적으로 다시 처리할 수 있다.
이러한 설계의 영향을 더 깊이 이해하기 위해 현재 병렬 실행의 최전선을 이끄는 팀들의 관점을 분석하는 것이 도움이 될 수 있다.
현재 병렬 실행 시장의 구도

솔라나 가상머신(SVM)
솔라나는 병렬 실행을 중심으로 설계된 최초의 블록체인 네트워크이며, 그 영감은 창립자 Anatoly Yakovenko가 통신 산업에서의 경험에서 비롯되었다. 솔라나는 가능한 한 빠르게 작동하는 개발 플랫폼을 제공하는 것을 목표로 하며, 따라서 병렬 컴퓨팅의 속도와 효율성은 직관적인 설계 선택이었다.

솔라나의 빠르고 높은 처리량을 실현하는 핵심 구성 요소는 Sealevel로, 네트워크의 병렬 스마트 계약 런타임 환경이다. EVM 및 WASM 기반 환경과 달리, Sealevel은 멀티스레드 아키텍처를 채택하여 검증자의 코어 용량 내에서 여러 거래를 동시에 처리할 수 있다.
솔라나 병렬 실행의 핵심은 거래가 활성화될 때 네트워크가 해당 거래에 대해 실행할 일련의 명령을 할당한다는 점이다. 즉, 어떤 계정과 상태에 접근하고 어떤 변경을 수행할 것인지 명시하는 것이다. 이를 통해 충돌하지 않는 거래를 식별하고 동시에 실행할 수 있을 뿐 아니라, 동일한 상태에 접근하려는 거래도 동시에 처리할 수 있다.
솔라나는 또한 Cloudbreak라는 자체 제작 accountsDB를 활용하여 상태 데이터의 저장과 관리를 하며, 이를 통해 거래의 동시 읽기/쓰기를 지원한다. Cloudbreak는 병렬 실행에 최적화되어 있으며, 여러 노드에 걸쳐 상태 데이터를 분산하고 관리하도록 수평 확장 가능하다.
병렬 아키텍처 덕분에 솔라나는 대량의 거래를 신속하게 처리하며 거의 즉각적인 최종성을 제공한다. 현재 솔라나는 초당 평균 2,000~10,000건의 거래(TPS)를 처리한다. 또한 Eclipse와 같은 팀들이 SVM을 실행 환경으로 활용하는 레이어2 인프라를 출시함에 따라 SVM의 사용 사례가 느리지만 꾸준히 확장되고 있다.
병렬 EVM
병렬 EVM은 솔라나와 이더리움의 장점을 결합하려는 새로운 블록체인 실행 환경으로, 솔라나의 속도와 성능, 이더리움의 보안성과 유동성을 동시에 갖추는 것을 목표로 한다. 전통적인 EVM 설계처럼 순차적으로 처리하는 대신 거래를 병렬로 처리함으로써, 개발자들은 고성능 네트워크에서 애플리케이션을 구축하면서도 EVM의 유동성과 개발 도구 생태계를 활용할 수 있게 된다.
Sei Network
Sei Network는 EVM과 호환되는 오픈소스 레이어1 블록체인으로, 고성능 기반의 다양한 탈중앙화 애플리케이션을 지원한다. Sei는 사용자와 개발자에게 빠른 속도와 낮은 비용을 제공하는 것을 목표로 하며, 병렬 실행은 이러한 성능과 사용자 경험을 실현하는 핵심 요소이다. 현재 Sei는 390밀리초의 블록 확인 시간을 제공하며, Pacific 메인넷에서 19억 건 이상의 거래를 처리했다.
초기 Sei는 결정론적 병렬 실행 모델을 채택하여 스마트 계약이 사전에 필요한 상태 접근을 선언함으로써 시스템이 충돌하지 않는 거래를 동시에 실행할 수 있도록 했다. V2 업그레이드와 함께 Sei는 낙관적 병렬 모델로 전환하고 있으며, 이는 모든 거래가 네트워크에 제출될 때 병렬로 처리되며(실행 단계), 이후 검증 단계에서 이전 거래와의 충돌 여부를 확인한다. 두 개 이상의 충돌 거래(즉, 동일한 네트워크 상태에 접근하려는 거래)가 발견되면 Sei는 충돌 지점을 식별하고, 충돌 성격에 따라 병렬 또는 순차적으로 재실행한다.

거래 데이터의 저장과 유지 관리를 위해 Sei는 또한 SeiDB를 도입할 예정인데, 이는 v1 버전의 한계를 개선하기 위해 병렬 실행을 최적화한 맞춤형 데이터베이스이다. SeiDB는 중복 데이터 저장의 오버헤드를 줄이고 효율적인 디스크 사용률을 유지해 네트워크 성능을 향상시키는 것을 목표로 한다. V2는 추적 및 저장에 필요한 메타데이터 양을 줄였으며, 충돌 시 데이터 복구를 돕기 위해 사전 기록 로그(pre-writes log)를 활성화했다.

마지막으로, Sei는 최근 Parallel Stack을 발표했는데, 이는 롤업(rollups)과 같은 레이어2 확장 솔루션이 병렬 실행을 활용하고 그 혜택을 받을 수 있도록 하는 오픈소스 프레임워크이다.

Monad
Monad는 이더리움 애플리케이션 및 인프라에 완전한 바이트코드 및 RPC 호환성을 제공하는 차세대 병렬 EVM 레이어1 블록체인이다. 일부 혁신적인 기술을 통해 Monad는 낮은 거래 비용을 유지하면서 성능과 이식성을 최적화하여 기존 블록체인보다 더 상호작용이 뛰어난 경험을 제공하며, 1초의 블록 시간과 최대 10,000 TPS의 최종성을 목표로 한다.
Monad는 병렬 실행과 초스칼라 파이프라이닝(super-scalar pipelining) 기술을 구현하여 거래 속도와 처리량을 최적화한다. Sei v2와 유사하게, Monad는 낙관적 실행 모델을 채택하여 네트워크가 모든 들어오는 거래를 동시에 실행하기 시작한 후 충돌을 분석하고 검증하여 필요시 재실행하며, 궁극적으로는 거래가 순차적으로 실행된 것과 동일한 결과를 도출하는 것을 목표로 한다.

주의할 점은 이더리움과 동기화를 유지하면서도, Monad는 블록 내 거래를 선형 순서로 정렬하고 각 거래를 순차적으로 업데이트한다는 것이다.
현재 이더리움 클라이언트가 제공하는 상태보다 더 효율적으로 블록체인 데이터를 유지하고 접근하기 위해, Monad는 자체 제작한 맞춤형 MonadDB를 개발하였다. 이는 블록체인 특화로 설계된 데이터베이스로, 최첨단 리눅스 커널 기능을 활용해 효율적인 비동기 디스크 작업을 구현하며, 동기 I/O 접근의 제한을 제거한다. MonadDB는 비동기 입력/출력(async I/O) 접근을 제공하는데, 이는 병렬 실행을 실현하는 핵심 기능으로, 시스템이 이전 거래의 상태를 기다리는 동시에 다음 거래 처리를 시작할 수 있다.
간단한 비유를 들면, 다단계 요리(예: 미트볼 스파게티)를 준비한다고 하자. 필요한 단계는 1) 소스 준비, 2) 미트볼 조리, 3) 국수 삶기이다. 효율적인 요리사는 각 단계를 순차적으로 끝내는 대신, 먼저 국수 삶는 물을 끓기 시작하고, 그 사이에 소스 재료를 준비한 후 끓는 물에 국수를 넣고, 소스를 조리하고 마지막으로 미트볼을 조리한다.
Move
Move는 2019년 페이스북 팀이 이미 폐기된 Diem 프로젝트를 위해 개발한 프로그래밍 언어이다. Move는 스마트 계약과 거래 데이터를 안전하게 처리하는 것을 목표로 하며, 재진입 공격(reentrancy attack)과 같은 다른 언어의 고유한 취약점을 제거한다.
MoveVM은 Move 기반 블록체인의 네이티브 실행 환경으로, 병렬화를 활용해 더 빠른 거래 실행 속도와 높은 전반적 효율성을 제공한다.
Aptos
Aptos는 전 Diem 프로젝트 멤버들이 개발한 Move 기반 레이어1 블록체인으로, 병렬 실행을 통해 애플리케이션 개발자에게 고성능 환경을 제공한다. Aptos는 Block-STM을 활용하는데, 이는 소프트웨어 트랜잭션 메모리(STM) 동시 제어 메커니즘의 수정된 구현이다.

Block-STM은 다중 스레드 병렬 실행 엔진으로, 낙관적 병렬 실행을 가능하게 한다. 거래는 블록 내에서 사전 정렬 및 전략적 정렬이 이루어지며, 이는 충돌 해결과 재실행에 매우 중요하다. Aptos의 연구에 따르면 Block-STM 기반 병렬화는 이론적으로 최대 160,000 TPS를 지원할 수 있다.
Sui
Aptos와 유사하게, Sui 역시 전 Diem 프로젝트 멤버들이 개발한 레이어1 블록체인으로 Move 언어를 사용한다. 그러나 Sui는 원래 Diem 설계에서 저장 모델과 자산 권한을 변경한 맞춤형 Move 구현을 채택했다. 특히 이를 통해 Sui는 상태 저장 모델을 사용해 독립적인 거래를 객체로 표현할 수 있다. 각 객체는 Sui 실행 환경에서 고유 ID를 가지며, 시스템이 쉽게 충돌하지 않는 거래를 식별하고 병렬 처리할 수 있게 한다.

솔라나와 유사하게, Sui는 결정론적 병렬 실행을 채택하여 거래가 사전에 접근해야 할 계정을 선언해야 한다.
Movement Labs
Movement는 개발자가 Move 기반의 이점을 쉽게 활용할 수 있도록 개발자 도구 및 블록체인 인프라 서비스를 구축하고 있다. Move 개발자를 위한 AWS 스타일의 실행 우선 플랫폼인 Movement는 높은 처리량과 전반적인 네트워크 효율성을 위해 병렬화를 핵심 설계 특성으로 삼는다. MoveVM은 모듈화된 실행 환경으로, 블록체인 네트워크가 필요에 따라 거래 처리 능력을 확장하고 조정할 수 있어 증가하는 거래량을 지원하며 병렬 처리 및 실행 능력을 강화한다.

Movement는 또한 M2를 출시할 예정인데, 이는 EVM 및 Move 클라이언트와 상호 운용 가능한 ZK-롤업이다. M2는 Block-STM 병렬화 엔진을 계승하며, 이를 통해 수만 TPS를 달성할 것으로 기대된다.
병렬 시스템의 도전 과제
병렬 블록체인 기술의 발전에 대해 우리는 몇 가지 핵심 질문과 관련된 트레이드오프를 고려해야 한다:
-
네트워크는 병렬 실행을 통해 더 나은 성능을 얻기 위해 어떤 트레이드오프를 감수하는가?
-
검증자 수를 줄이면 검증과 실행 속도가 빨라지지만, 이로 인해 블록체인의 보안성이 훼손되어 검증자 공격에 더 취약해지는가?
-
검증자들이 특정 데이터센터에 집중되어 있나? 지연 시간을 최소화하기 위한 암호화 및 비암호화 시스템에서 흔히 볼 수 있는 전략이지만, 특정 데이터센터가 공격받으면 네트워크는 어떻게 되는가?
-
낙관적 병렬 시스템에서 무효 거래를 재실행하는 과정은 네트워크 확장과 함께 병목이 되는가? 이러한 효율성은 어떻게 테스트되고 평가되는가?
거시적으로 보면, 병렬 블록체인은 원장 불일치 위험, 즉 이중 지불 및 거래 순서 변경에 직면한다(사실 이것이 순차 실행의 주요 장점이다). 결정론적 병렬화는 블록체인 상의 거래에 대한 내부 레이블 시스템을 만들어 이를 해결한다. 낙관적 처리를 채택한 블록체인은 거래 검증 및 재실행 메커니즘이 안전하고 효과적이며 성능에 대한 타당한 트레이드오프를 실현할 수 있도록 해야 한다.
미래 전망
컴퓨터의 역사가 말해주듯, 시간이 지남에 따라 병렬 시스템은 순차 시스템보다 일반적으로 더 효율적이고 확장성이 뛰어났다. 솔라나 이후 병렬 블록체인의 부상은 이러한 개념이 암호화 인프라에도 적용됨을 강조한다. 비탈릭(Vitalik)조차 병렬화를 EVM 롤업의 확장성을 높이는 잠재적 핵심 해결책 중 하나로 언급했다. 일반적으로 암호화/블록체인의 채택 증가는 오늘날 이용 가능한 시스템보다 우월한 시스템, 즉 병렬 블록체인을 필요로 한다. 솔라나의 최근 네트워크 문제는 병렬 블록체인 개발에 여전히 큰 개선 여지가 있음을 드러냈다. 더 많은 팀들이 체인상의 최전선을 확장하고 다음 세대 대규모 사용자층과 채택을 블록체인 네이티브 애플리케이션 및 생태계로 유도하려는 가운데, 병렬 실행 모델은 웹2 기업 수준과 쉽게 견줄 수 있는 규모의 네트워크 활동을 효율적으로 처리할 수 있는 직관적인 프레임워크를 제공한다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News










