
블록체인 확장성 신규 프레임워크: 수평적 및 수직적 확장
글: Avi Zurlo
번역: Block unicorn
Rollup의 등장 이후 블록체인 확장성은 모듈화와 단일체 구조(monolithic) 간의 논쟁에 집중되어 왔습니다. 처음에는 이진 대립 구도가 블록체인 확장성을 이해하는 데 유용한 사고 모델이었지만, 이제 두 진영 모두 이를 넘어서고 있습니다.
오늘날 모듈화와 단일체 구조의 비교는 우리의 확장성 사고 체계에 불필요한 제약을 가하고 있습니다.
그렇다면 다른 대안은 무엇이 있을까요?
본 글에서는 수평적 확장(horizontal scaling)과 수직적 확장(vertical scaling)이 항상 블록체인 확장성의 기본 틀이었음을 보여주며, 수평 및 수직 확장을 채택함으로써 더 나은 확장 솔루션을 얻을 수 있음을 설명하겠습니다.
모듈화 vs. 단일체 구조 이해하기
먼저 정의부터 살펴보겠습니다:
모듈화된 체인은 블록체인의 핵심 기능을 별개의 계층(layer)으로 분리합니다.
단일체 구조 체인은 모든 핵심 기능을 단일하고 상호 연결된 계층 안에 통합합니다.
우리는 '계층'을 '머신(machine)'으로 간주할 수 있습니다. 즉, 단일체 체인은 모든 작업을 수행하는 하나의 검증 노드만을 가지는 반면, 모듈화된 체인은 서로 다른 작업을 수행하는 2~3개의 전체 노드(full node)를 갖습니다.

예를 들어, Rollup은 일반적으로 두 개의 노드를 운영합니다. 하나는 실행(execution)을 위한 Rollup 전체 노드이고, 다른 하나는 결제(settlement)와 데이터 가용성(DA)을 위한 이더리움 전체 노드입니다. Validium은 세 개의 노드를 활용할 수도 있습니다. 하나는 실행을 위한 Rollup 전체 노드, 하나는 결제를 위한 이더리움 전체 노드, 그리고 DA를 위한 별도의 데이터 가용성 계층 전체 노드입니다.
모듈화는 블록체인의 작업을 최소한 두 개 이상의 전체 노드에 분배합니다. 이를 통해 모듈화된 블록체인은 각 블록 생성 시 여러 대의 컴퓨터의 컴퓨팅 능력을 활용할 수 있습니다.
이는 수평적 확장의 한 형태입니다.
모듈화는 그것이 일종의 수평적 확장 방식이기 때문에 블록체인 확장성을 생각할 때 유용합니다.

반면, 대부분의 단일체 구조 진영은 소프트웨어 최적화, 병렬 가상 머신(parallel VM), 데이터 파이프라이닝, 더 빠른 네트워크 프로토콜, 그리고 특히 더 강력한 하드웨어를 통해 확장하려고 합니다. 본질적으로 단일체 체인은 단일 전체 노드로부터 가능한 한 많은 컴퓨팅 성능을 추출하려고 시도합니다.
이는 수직적 확장의 한 형태입니다.
비판론자들은 이러한 접근 방식이 중앙집중화로 귀결된다고 주장합니다. 만약 단일 노드의 처리 능력을 증가시키는 것에 의존하여 확장한다면, 언젠가는 하드웨어의 물리적 한계에 부딪히게 되며, 추가적인 확장을 위해 하드웨어 요구 사항을 계속 높일 수밖에 없기 때문입니다.
그러나 이러한 비판은 옳지 않습니다. 왜냐하면 모든 단일체 체인이 수직적 확장에만 의존하는 것은 아니기 때문입니다.
예를 들어, Near는 샤딩 네트워크 아키텍처 위에 구축된 단일체 L1 블록체인입니다. 즉, Near의 전체 노드는 실행, 결제, 데이터 가용성 등 모든 작업을 담당하지만, Near의 전역 상태(global state)의 일부분만을 관리합니다. 따라서 Near는 작업이 아닌 상태에 따라 작업을 분배함으로써 여러 대의 컴퓨터의 컴퓨팅 능력을 활용합니다(마치 모듈화된 체인처럼 말입니다).

우리는 단일체 체인이든 모듈화된 체인이든 그들이 사용하는 확장 기술 면에서 제한을 받지 않는다는 것을 알 수 있습니다. 두 경우 모두 수평적 또는 수직적 확장을 할 수 있습니다.
또한 모듈화와 단일체 구조의 논쟁은 항상 수평적 확장과 수직적 확장이라는 프레임워크 안에서 이루어져 왔습니다. 엄격한 기술적 관점에서 보면, 모듈화는 설계상 본질적으로 수평적 확장을 선호하며, 단일체 구조는 수직적 확장을 선호합니다.
이제 우리는 모듈화된 체인을 성공적으로 출시했으며, 추가적인 확장 이점은 더 '모듈화'하는 데 있지 않습니다. 현재 초점은 체인이 수평적 또는 수직적 확장 기술을 어떻게 활용하는지에 있습니다.
수평적 확장 vs. 수직적 확장이라는 사고 체계를 채택하면 각 체인이 확장 과정에서 어떤 트레이드오프(trade-off)를 선택했는지를 쉽게 이해할 수 있게 됩니다.
대화 재정의하기: 수평적 확장 vs. 수직적 확장
수평적 vs. 수직적 확장 프레임워크를 깊이 탐구하기 전에, 이 개념이 1970년대 분산 컴퓨팅 연구에서 시작된 역사적 배경을 인식하는 것이 중요합니다. 오늘날 모든 확장 기술은 수평적 확장 또는 수직적 확장으로 분류될 수 있습니다.
수직적 확장
수직적 확장은 각 노드의 하드웨어 활용도 또는 하드웨어 요구 사항을 증가시키는 것입니다. 블록체인에서는 주로 병렬 가상 머신(다중 스레드 처리) 등의 소프트웨어 최적화를 통해 이루어집니다.
흔한 예로 EVM과 SVM을 들 수 있습니다.
EVM은 트랜잭션을 순차적으로 실행하지만, SVM은 트랜잭션을 병렬로 실행합니다. SVM은 더 많은 CPU 코어를 활용함으로써 이를 가능하게 하며, 결과적으로 SVM은 EVM보다 초당 더 많은 트랜잭션을 처리할 수 있습니다. 참고: 이러한 수직적 확장 유형은 Eclipse L2의 기반이 됩니다.
트레이드오프 측면에서, 수직적 확장은 이용 가능한 하드웨어에 의해 제한되며, 하드웨어 요구량 증가로 인해 중앙집중화되는 경향이 있고, 수평적 확장에 비해 확장성이 낮습니다.

수평적 확장
반대로 수평적 확장은 작업 부하를 여러 노드에 분산시켜 시스템이 접근할 수 있는 머신 수를 늘리는 것입니다. 앞서 언급했듯이, 모듈화된 체인은 본질적으로 작업을 여러 대의 머신에 분배합니다. 그러나 체인은 일반적으로 샤딩(sharding)을 통해 더욱 큰 수준의 수평적 확장을 달성할 수 있습니다.

=nil;이 여기서 유용한 사례를 제공합니다.
지난해 11월, =nil; 재단은 zkSharding이라 불리는 검증 가능한 샤딩 아키텍처를 발표했으며, 이는 새로운 이더리움 L2의 기반이 됩니다. =nil; 설계의 핵심은 전역 상태를 여러 샤드(shard)로 나누는 것입니다. 각 샤드는 =nil;의 탈중앙화된 위원회에 의해 운영되며, 이들은 블록을 생성하고 샤드 간 거래를 관리합니다. 또한 각 샤드는 유효성 증명(validity proof)을 생성하여 메인 샤드로 보내 집계한 후, 이더리움 상에 게시하고 검증합니다. =nil;은 두 가지 방식으로 수평적 확장의 장점을 활용합니다:
-
첫째, =nil;은 모듈화된 블록체인으로, 이더리움의 강력한 합의와 데이터 가용성을 보장 수단으로 활용하여 작업을 여러 전체 노드에 분배합니다.
-
둘째, =nil;은 샤딩된 블록체인으로, 일부 상태를 다수의 전체 노드에 분산합니다.
이 두 기술 모두 단일 머신이 감당해야 할 부담을 줄이며 네트워크의 전체적인 확장성을 향상시킵니다.
그렇다면 수평적 확장의 트레이드오프는 무엇일까요? 크게 두 가지로 요약할 수 있습니다: 네트워크 및 합의의 복잡성, 그리고 머신 또는 샤드 사이의 비동기적 통신 문제입니다.
이더리움 확장성의 궁극적 종착점
수평적 확장과 수직적 확장은 모듈화나 단일체 구조 아키텍처에 국한되지 않습니다. 이것이 바로 수평적 vs. 수직적 확장 프레임워크가 모듈화된 블록체인의 확장성을 높일 수 있는 새로운 해결책을 탐색하는 데 더 많은 여지를 제공하는 이유입니다.
예를 들어, 모듈화된 스택의 특정 계층을 수직적으로 확장하는 방법이 있습니다. 병렬 가상 머신을 도입하여 실행 처리량을 높이는 것이 일반적인 방법입니다. 앞서 언급했듯이, Eclipse는 SVM을 활용하고 있으며 Starknet 같은 다른 롤업들도 BlockSTM을 구현하여 병렬화를 이루고 있습니다.
그러나 수직적 확장은 언제나 단일 머신의 한계에 의해 제약되며, 우리는 물리 법칙을 깰 수 없습니다.
이에 대한 해결책으로 수평적 확장을 위한 샤딩을 선택할 수 있습니다.
현재의 모듈화된 설계는 수평적 확장의 잠재력을 겨우 시작한 수준에 불과합니다. 샤딩을 통해 우리는 단지 2~3대의 머신이 작업을 분담하는 것을 넘어서, 원하는 만큼 많은 머신의 컴퓨팅 능력을 활용할 수 있습니다.
즉, 수많은 머신이 동일한 유형의 작업을 병렬로 수행할 수 있다는 의미입니다. 이는 이더리움과 Celestia가 각각 Danksharding과 데이터 샤딩을 통해 달성하고자 하는 목표입니다. 하지만 샤딩은 데이터 가용성 계층에만 국한되는 것이 아니라, 실행 계층과도 결합될 수 있습니다(=nil; L2의 사례처럼 말입니다).

모듈화된 스택을 통한 수평적 확장과 샤딩이 제공하는 수평적 확장을 결합하면, 가용한 컴퓨팅 능력이 크게 증가할 것입니다.
하지만 우리는 더 나아갈 수 있습니다...
블록체인 확장성의 궁극적 목표는 수평적 확장과 수직적 확장을 통합하여, 병렬 가상 머신을 갖춘 샤딩된 블록체인을 만드는 것입니다.

=nil; 재단에서는 이러한 궁극적 상태를 향해 체계적으로 설계를 진행하고 있습니다. =nil;의 L2는 모듈화되고 수평적으로 확장 가능한 아키텍처(zkSharding)와 수직적 확장을 실현한 검증기(샤드 내 병렬화)를 활용함으로써 공격적인 확장 로드맵을 따르고 있습니다.
따라서 =nil;의 설계는 상태, 유동성, 사용자 분열을 희생하지 않고도 글로벌 규모를 달성할 수 있습니다.

TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News










