모듈화 vs. 단일화 아키텍처는 죽었다

블록 유니콘
2024-05-05 21:37:32
수집
이 문서에서는 수평 확장과 수직 확장이 블록체인 확장성의 기본 프레임워크로 항상 존재해 왔음을 보여주고, 수평 확장과 수직 확장을 채택하는 것이 어떻게 더 나은 확장 솔루션을 가져오는지 설명할 것입니다.

저자:Avi Zurlo

편집:Block unicorn

롤업의 출현 이후, 블록체인의 확장은 모듈화와 단일화의 논쟁에 집중되어 왔습니다. 처음에 이러한 이분법은 블록체인의 확장성을 추론하는 데 유용한 사고 모델이었지만, 이제 두 진영 모두 이를 초월했습니다.

오늘날 모듈화와 단일화의 비교는 우리의 확장성 사고 모델에 불필요한 제한을 가져옵니다.

그렇다면 대안은 무엇일까요?

이 글에서는 수평 확장과 수직 확장이 블록체인 확장성의 기본 프레임워크로 작용해 왔음을 보여주고, 수평 확장과 수직 확장을 채택하는 것이 어떻게 더 나은 확장 솔루션을 가져오는지 설명하겠습니다.

모듈화 vs. 단일화 이해하기

먼저 몇 가지 정의를 살펴보겠습니다:

모듈화 체인은 블록체인의 핵심 기능을 서로 다른 계층으로 분리합니다.

단일화 체인은 모든 핵심 기능을 단일하고 상호 연결된 계층에 통합합니다.

우리는 "계층"을 "기계"로 볼 수 있습니다. 즉, 단일화 체인은 모든 작업을 수행하는 단일 검증자 노드를 가지고 있는 반면, 모듈화 체인은 서로 다른 작업을 수행하는 여러 개(2-3개)의 전체 노드를 가지고 있습니다.

예를 들어, 롤업은 일반적으로 두 개의 실행 노드를 가지고 있습니다: 하나는 실행을 위한 롤업 전체 노드이고, 다른 하나는 정산+데이터 가용성(DA)을 위한 이더리움 전체 노드입니다. 반면, 밸리디움은 세 개의 실행 노드를 활용할 수 있습니다: 하나는 실행을 위한 롤업 전체 노드, 하나는 정산을 위한 이더리움 전체 노드, 그리고 하나는 DA를 위한 백업 데이터 가용성 계층 전체 노드입니다.

모듈화는 블록체인의 작업을 최소 두 개의 전체 노드에 분배합니다. 이렇게 함으로써 모듈화 블록체인은 각 블록을 구축할 때 여러 대의 컴퓨터의 계산 능력을 활용할 수 있습니다.

이것은 수평 확장의 한 형태입니다.

모듈화는 블록체인 확장성을 생각할 때 유용합니다. 왜냐하면 그것이 수평 확장의 유형이기 때문입니다.

반면, 대부분의 단일화 진영은 소프트웨어 최적화, 병렬 가상 머신 구현, 데이터 파이프라인, 더 빠른 네트워크 프로토콜 및 (가장 주목할 만한) 더 강력한 하드웨어를 통해 확장하는 것을 선택합니다. 본질적으로 단일화 체인은 단일 전체 노드에서 가능한 한 많은 계산 능력을 끌어내려고 합니다.

이것은 수직 확장의 한 형태입니다.

비평가들은 이러한 접근 방식이 집중화 경향이 있다고 주장합니다: 단일 노드의 전력을 증가시키는 데 의존하면, 불가피하게 기본 하드웨어의 물리적 한계에 부딪히고, 추가 확장을 위해 하드웨어 요구 사항을 증가시켜야 합니다.

그러나 이러한 비판은 정확하지 않습니다. 왜냐하면 모든 단일화 체인이 수직 확장에만 의존하지 않기 때문입니다.

예를 들어, Near는 분할 네트워크 아키텍처를 기반으로 구축된 단일화 L1 블록체인입니다. 이는 Near의 전체 노드가 모든 작업(즉, 실행, 정산 및 데이터 가용성)을 담당하지만, Near의 전역 상태의 일부만을 책임진다는 것을 의미합니다. 따라서 Near는 상태에 따라 작업을 분배하여 여러 대의 컴퓨터의 계산 능력을 활용합니다(모듈화 체인과 마찬가지로).

우리는 단일화 체인과 모듈화 체인 모두 확장 기술을 구현하는 데 있어 제한이 없음을 알 수 있습니다. 두 체인 모두 수평 확장 및/또는 수직 확장을 수행할 수 있습니다.

또한, 모듈화와 단일화의 논쟁은 항상 수평과 수직 확장의 프레임워크에 뿌리를 두고 있습니다. 엄격한 기술적 관점에서 볼 때, 모듈화는 수평 확장을 선호하며, 이는 그 설계에 내재되어 있고, 단일화는 수직 확장을 선호합니다.

이제 우리는 모듈화 체인을 성공적으로 출시했으며, 추가 확장 이점은 더 이상 "더 모듈화"에 있지 않습니다. 현재의 초점은 체인이 수평 또는 수직 확장 기술을 어떻게 활용하는가입니다.

수평 vs. 수직의 사고 모델을 채택하면 각 체인이 이 과정에서 어떤 절충을 했는지 쉽게 추론할 수 있습니다.

대화 재정의: 수평 vs. 수직 확장

수평 vs. 수직 확장 프레임워크를 깊이 있게 연구하기 전에, 그 기원이 1970년대에 분산 컴퓨팅 연구로 거슬러 올라간다는 것을 인정하는 것이 중요합니다. 오늘날 모든 확장 기술은 수평 또는 수직 확장으로 분류될 수 있습니다.

수직 확장

수직 확장은 각 노드의 하드웨어 활용도 또는 하드웨어 요구 사항을 증가시킵니다. 블록체인에서는 일반적으로 병렬 가상 머신(즉, 멀티스레드 프로세스)과 같은 소프트웨어 최적화를 통해 이루어집니다.

일반적인 예는 EVMSVM입니다.

EVM은 트랜잭션을 순차적으로 실행하는 반면, SVM은 트랜잭션을 병렬로 실행합니다. SVM은 더 많은 CPU 코어를 활용하여 이를 달성하므로 SVM은 EVM보다 초당 더 많은 트랜잭션을 처리할 수 있습니다. 주의: 이러한 수직 확장 유형은 Eclipse L2의 기초입니다.

절충 측면에서, 수직 확장은 사용 가능한 하드웨어의 제한을 받으며, 하드웨어 요구 사항의 증가로 인해 집중화 경향이 있으며, 수평 확장에 비해 확장성이 떨어집니다.

수평 확장

반면에, 수평 확장은 작업 부하를 여러 노드에 분산시켜 시스템이 접근할 수 있는 기계의 수를 증가시킵니다. 앞서 언급했듯이, 모듈화 체인은 본질적으로 작업을 여러 대의 기계에 분배합니다. 그러나 체인은 일반적으로 분할을 통해 더 큰 수준의 수평 확장을 달성할 수 있습니다.

=nil; 여기에서 유용한 예를 제공합니다.

작년 11월, =nil; 재단은 zkSharding이라는 검증 가능한 분할 아키텍처를 출시했으며, 이는 새로운 이더리움 L2의 기초입니다. =nil; 설계의 핵심은 전체 전역 상태를 여러 분할로 나누는 것입니다. 각 분할은 =nil;의 분산 위원회에 의해 운영되며, 그들은 블록을 구축하고 분할 간 거래를 관리합니다. 또한 각 분할은 유효성 증명을 생성하며, 이는 주 분할로 전송되어 집계된 후 이더리움에 게시되고 검증됩니다. =nil;은 두 가지 방법으로 수평 확장의 능력을 활용합니다:

  • 첫째, =nil;은 이더리움의 강력한 합의 및 데이터 가용성을 보장으로 활용하여 여러 전체 노드에 작업을 분배하는 모듈화 블록체인입니다.

  • 둘째, =nil;은 분할 블록체인이므로 일부 상태를 여러 전체 노드에 분산시킵니다.

이 두 가지 기술은 어떤 단일 기계가 감당해야 할 부하를 줄이고 네트워크의 전반적인 확장성을 높입니다.

그렇다면 수평 확장의 절충점은 무엇일까요? 이는 두 가지로 요약될 수 있습니다: 네트워크 및 합의의 복잡성과 기계 또는 분할 간의 비동기 통신입니다.

이더리움 확장성의 최종 전투

수평 확장과 수직 확장은 모듈화 또는 단일화 아키텍처에 국한되지 않습니다. 이것이 수평 vs. 수직 확장 프레임워크가 새로운 솔루션을 탐색할 수 있는 더 많은 공간을 제공하여 모듈화 블록체인을 더 확장 가능하게 만드는 이유입니다.

예를 들어, 한 가지 옵션은 모듈화 스택의 한 층을 수직 확장하는 것입니다. 일반적인 방법은 병렬 가상 머신을 구현하여 실행 처리량을 높이는 것입니다. 위에서 언급했듯이, Eclipse는 SVM과 다른 롤업을 활용하여 BlockSTM을 구현하여 병렬화를 달성하고 있습니다.

하지만 수직 확장은 항상 단일 기계의 한계에 의해 제한되며, 우리는 물리 법칙을 깨뜨릴 수 없습니다.

한 가지 해결책은 분할을 통해 수평 확장을 구현하는 것입니다.

현재의 모듈화 설계는 수평 확장의 모든 잠재력에 막 도달하기 시작했습니다. 분할을 통해 우리는 임의의 수의 기계의 계산 능력을 활용할 수 있습니다(단지 2-3대의 기계가 작업을 분담하는 것이 아닙니다).

다시 말해, 여러 대의 기계가 동일한 유형의 작업을 병렬로 실행할 수 있습니다. 이것이 이더리움과 Celestia가 각각 Danksharding과 데이터 분할을 통해 달성하고자 하는 목표입니다. 그러나 분할은 본질적으로 데이터 가용성 계층에 국한되지 않습니다. ------ 실행과 결합될 수 있습니다(예: =nil; L2의 경우).

모듈화 스택을 통해 구현된 수평 확장과 분할이 제공하는 수평 확장을 결합하면 사용 가능한 계산 능력이 크게 증가합니다.

하지만 우리는 더 나은 방법을 찾을 수 있습니다…

블록체인 확장성의 궁극적인 목표는 수평과 수직 확장을 융합하여 병렬 가상 머신을 갖춘 분할 블록체인을 생성하는 것입니다.

=nil; 재단에서는 이 궁극적인 상태를 향해 체계적으로 설계를 진행하고 있습니다. =nil;의 L2는 모듈화된 수평 확장 아키텍처(zkSharding)와 수직 확장의 검증자 구현(분할 내 병렬화)을 활용하여 적극적인 확장 로드맵을 채택하고 있습니다.

따라서 =nil;의 설계는 상태, 유동성 또는 사용자 단편화를 희생하지 않고도 글로벌 규모를 달성할 수 있습니다.

수평 확장과 zkSharding에 대해 궁금하다면 =nil; 재단의 Discord와 X에 참여하여 대화에 참여하세요.

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
체인캐처 혁신가들과 함께하는 Web3 세상 구축