저자: 알렉 첸
출처: 볼트 캐피털
"모듈형 블록체인"이라는 아이디어는 확장성과 블록체인 인프라에 대한 카테고리 정의 내러티브가 되고 있습니다.
이론은 간단합니다. 레이어 1 블록체인의 핵심 구성 요소를 분해하여 단일 레이어에서 100배 개선을 달성하여 확장 가능하고 구성 가능하며 분산된 시스템을 만들 수 있습니다. 모듈식 블록체인에 대해 자세히 논의하기 전에 기존 블록체인 아키텍처와 현재 블록체인 응용 프로그램이 직면한 한계를 이해해야 합니다.
출처: 이더리움 재단
블록체인이란 무엇입니까?
블록체인의 기본 사항에 대해 간단히 살펴보겠습니다. 블록체인의 블록은 블록 헤더와 이와 관련된 트랜잭션 데이터의 두 가지 구성 요소로 구성됩니다. 블록은 전체 블록 데이터를 구문 분석하고 계산하여 트랜잭션이 유효하고 사용자가 계정 잔액보다 더 많은 코인을 보내지 않도록 하는 "전체 노드"에 의해 유효성이 검사됩니다.
블록체인을 구성하는 기능적 "계층"에 대해 간략하게 설명하겠습니다.
트랜잭션 및 상태 변경은 처음에 여기에서 처리됩니다. 사용자는 일반적으로 트랜잭션 서명, 스마트 계약 배포 및 자산 전송을 포함하여 이 계층을 통해 블록체인과 상호 작용합니다.
해결 계층은 롤업 실행이 확인되고 분쟁이 해결되는 곳입니다. 이 레이어는 전체 체인에 존재하지 않으며 모듈식 스택의 선택적 부분입니다. 미국 법원 시스템과 유사하게 해결 계층은 분쟁에 대한 최종 중재를 제공하는 미국 대법원으로 생각할 수 있습니다.
블록체인의 합의 계층은 블록 콘텐츠를 다운로드 및 실행하고 상태 전환의 유효성에 대한 합의에 도달하는 전체 노드 네트워크를 통해 순서 및 최종성을 제공합니다.
상태 전환이 유효한지 확인하는 데 필요한 데이터를 게시하고 이 계층에 저장해야 합니다. 악의적인 블록 생성자가 트랜잭션 데이터를 보류하는 공격이 발생할 경우 쉽게 확인할 수 있습니다. 데이터 가용성 계층은 블록체인 확장성 트릴레마의 주요 병목 현상이며 나중에 그 이유를 살펴보겠습니다.
예를 들어, 이더리움은 모놀리식 블록체인입니다. 즉, 기본 계층이 위에서 언급한 모든 구성 요소를 처리합니다.
출처: ResearchGate
블록체인은 현재 "블록체인 확장성 트릴레마"로 알려진 문제에 직면해 있습니다. 분산 시스템에 대한 Brewer의 정리와 유사하게 블록체인 아키텍처는 종종 다른 두 가지에 대한 강력한 보장을 제공하기 위해 분산, 보안 또는 확장성을 타협합니다.
보안은 네트워크가 공격을 받고 있을 때 작동할 수 있는 기능을 의미합니다. 이 원칙은 블록체인의 핵심 원칙이며 절대 타협해서는 안 되므로 실제 트레이드오프는 일반적으로 확장성과 분산화 사이에 있습니다.
블록체인 시스템의 맥락에서 분산화를 정의해 보겠습니다. 블록체인이 분산되기 위해서는 하드웨어 요구 사항이 참여에 대한 제약이 될 수 없으며 검증 네트워크의 리소스 요구 사항이 낮아야 합니다.
확장성은 블록체인의 처리량을 확인 비용으로 나눈 값입니다. 즉, 낮은 확인 리소스 요구 사항을 유지하면서 증가하는 거래량을 처리할 수 있는 블록체인의 능력입니다. 처리량을 늘리는 두 가지 주요 방법이 있습니다. 첫째, 블록의 크기를 증가시켜 블록에 담을 수 있는 트랜잭션의 용량을 늘릴 수 있다. 불행하게도 더 큰 블록 크기는 전체 노드를 실행하기 위한 하드웨어 요구 사항이 더 높은 계산 출력 요구에 따라 증가함에 따라 네트워크 중앙 집중화로 이어집니다. 특히 모놀리식 블록체인은 체인 유효성 검사 비용 증가와 관련된 처리량 증가로 인해 이 문제로 인해 분산화가 줄어듭니다. 둘째, 실행을 오프체인으로 이동하여 메인 네트워크의 노드에서 계산 부담을 옮기는 동시에 온체인 계산을 검증할 수 있는 증명을 활용할 수 있습니다.
모듈식 아키텍처를 통해 블록체인은 관심사 분리 원칙을 통해 블록체인 확장성 트릴레마를 해결할 가능성이 있습니다. 블록체인은 모듈식 실행 및 데이터 가용성 계층을 통해 처리량을 확장하는 동시에 계산과 검증 비용 간의 상관 관계를 깨뜨림으로써 네트워크를 신뢰할 수 없고 분산화하는 속성을 유지할 수 있습니다. 결함 증명, 낙관적 롤업을 도입하여 이를 달성할 수 있는 방법과 이들이 데이터 가용성 문제와 어떻게 관련되는지 살펴보겠습니다.
허위 증명 및 낙관적 롤업
V God은 기사 "엔드게임"에서 중앙화와 분산화 사이의 가능한 절충안은 확장성 목적을 위해 블록 생산의 미래가 풀과 전용 생산자에 집중되는 반면 중요한 것, 블록 유효성 검사(생산자를 정직하게 유지하기 위해)가 유지된다는 것이라고 말했습니다. 탈중앙화. 이는 블록체인 노드를 풀 노드와 라이트 클라이언트로 분할하여 달성할 수 있습니다. 이 모델과 관련된 두 가지 문제가 있습니다: 블록 유효성 검사(계산이 올바른지 확인) 및 블록 가용성(모든 데이터가 게시되었는지 확인). 먼저 블록 유효성 검사에 대한 응용 프로그램을 살펴보겠습니다.
풀 노드는 블록의 각 트랜잭션을 다운로드, 계산 및 확인하는 반면 라이트 클라이언트는 블록 헤더만 다운로드하고 트랜잭션이 유효하다고 가정합니다. 그런 다음 라이트 클라이언트는 트랜잭션 유효성 검사를 위해 전체 노드에서 생성된 오류 증명에 의존합니다. 이를 통해 라이트 클라이언트는 유효하지 않은 트랜잭션을 자율적으로 식별할 수 있으므로 전체 노드와 거의 동일한 보안 보장으로 작동할 수 있습니다. 기본적으로 라이트 클라이언트는 상태 전환이 유효하다고 가정하고 무효 증명을 수신하여 상태의 유효성에 이의를 제기할 수 있습니다. 노드의 상태가 오류 증명으로 인해 문제가 발생하면 완전한 노드가 관련 트랜잭션을 다시 실행하여 합의에 도달함으로써 부정직한 노드의 이익을 줄입니다.
출처: https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/
라이트 클라이언트와 오류 증명 모델은 하나 이상의 정직한 전체 노드가 존재하고 오류 증명을 제출하는 체인이 완전한 상태라는 정직한 소수 가정 하에서 안전합니다. 이 모델은 검증자가 모든 샤드에서 N을 유지하면서 하나의 샤드에서 풀 노드를 실행하고 다른 샤드에서 라이트 클라이언트를 실행하도록 선택할 수 있기 때문에 샤드 블록체인(예: 병합된 이더리움 아키텍처)에 특히 적합합니다.
낙관적 롤업은 이 모델을 활용하여 블록체인 실행 계층을 시퀀서로 안전하게 추상화합니다. 이 시퀀서는 여러 트랜잭션을 묶어서 실행하고 압축된 데이터를 상위 체인으로 주기적으로 다시 보내는 강력한 컴퓨터입니다. 이 계산을 오프체인(부모 체인에 비해)으로 이동하면 트랜잭션 처리량이 10-100배 증가할 수 있습니다. 이러한 오프체인 시퀀서가 의도가 좋다고 어떻게 믿을 수 있습니까? 운영자가 시퀀서를 실행하기 위해 보유해야 하는 채권과 토큰을 도입했습니다. 시퀀서가 트랜잭션 데이터를 상위 체인으로 다시 보내므로 유효성 검사기(상위 체인과 롤업 간의 상태 불일치를 확인하는 노드)를 사용하여 오류 증명을 발행하고 이후 악의적인 시퀀서의 지분을 줄일 수 있습니다. 낙관적 롤업은 오류 증명을 활용하기 때문에 네트워크에 신뢰할 수 있는 검증자가 있다는 가정하에 안전합니다. 잘못된 증명의 사용은 낙관적 롤업이 들어오는 곳입니다. 해결 계층에서 처리하는 분쟁 중에 유효한 것으로 입증될 때까지 상태 전환이 유효하다고 가정합니다.
이것이 우리가 신뢰를 최소화하면서 확장하는 방법입니다. 계산 검증을 분산된 상태로 유지하면서 계산을 중앙 집중화할 수 있습니다.
데이터 가용성 문제
거짓 증명은 분산된 블록 유효성 검사를 처리하는 효과적인 도구인 반면 전체 노드는 거짓 증명을 생성하기 위해 블록 가용성에 의존합니다. 악의적인 블록 생성자는 해당 데이터의 일부 또는 전부를 유지하면서 블록 헤더만 게시하도록 선택할 수 있으므로 전체 노드가 유효하지 않은 트랜잭션을 확인하고 식별하지 못하도록 하여 거짓 증명을 생성할 수 있습니다. 이러한 유형의 공격은 전체 블록을 쉽게 다운로드할 수 있고 불일치를 발견하거나 데이터를 유지할 때 유효하지 않은 체인을 남길 수 있기 때문에 전체 노드에 대해 사소합니다. 그러나 라이트 클라이언트는 전체 노드에서 분기된 잠재적으로 유효하지 않은 체인의 블록 헤더를 계속 추적합니다. (라이트 클라이언트는 전체 블록을 다운로드하지 않으며 기본적으로 상태 전환이 유효하다고 가정합니다.)
이것이 오류 증명과 관련된 데이터 가용성 문제의 본질입니다. 라이트 클라이언트는 유효성 검사 전에 모든 트랜잭션 데이터가 블록에 게시되도록 해야 하므로 전체 노드와 라이트 클라이언트는 자동으로 블록 헤더에 동의해야 합니다.
해결책
원점으로 돌아온 것 같습니다. 라이트 클라이언트는 라이트 클라이언트의 원래 의도를 위반하지 않고 중앙 집중식 하드웨어가 필요하지 않고 전체 블록을 다운로드하지 않고 블록의 모든 트랜잭션 데이터를 어떻게 릴리스합니까?
이를 달성하는 한 가지 방법은 삭제 코딩이라는 수학적 프리미티브를 사용하는 것입니다. 삭제 코드는 블록의 바이트를 복제함으로써 특정 비율의 데이터가 손실되더라도 전체 블록을 재구성할 수 있습니다. 이 기술은 데이터 가용성 샘플링을 수행하는 데 사용되며 라이트 클라이언트는 블록의 일부를 무작위로 샘플링하여 전체 블록이 게시되었음을 확률적으로 결정할 수 있습니다. 이를 통해 라이트 클라이언트는 특정 블록을 유효한 것으로 받아들이고 해당 블록 헤더를 따르기 전에 모든 트랜잭션 데이터가 특정 블록에 포함되도록 할 수 있습니다. 그러나 이 기술에는 몇 가지 주의 사항이 있습니다. 데이터 가용성 샘플링은 대기 시간이 길고 정직한 소수 가정과 유사하게 안전 보장은 블록 가용성을 확률적으로 결정할 수 있도록 샘플링을 수행하는 라이트 클라이언트가 충분한지에 달려 있습니다.
데이터 가용성 샘플링의 간소화된 모델
유효성 증명 및 영지식 롤업
분산된 블록 유효성 검사에 대한 또 다른 솔루션은 트랜잭션 데이터가 상태 전환에 필요하지 않다는 것입니다. 대조적으로, 타당성 증명은 거짓 증명보다 더 비관적입니다. 분쟁 프로세스를 제거함으로써 유효성 증명은 모든 상태 전환의 원자성을 보장할 수 있지만 각 상태 전환을 증명해야 합니다. 이것은 새로운 영지식 기술 SNARK 및 STARK를 활용하여 수행됩니다. 오류 증명과 비교할 때 유효성 증명은 더 강력한 상태 보장 대신 더 많은 계산 강도가 필요하므로 확장성에 영향을 미칩니다.
영지식 증명은 거짓 증명 대신 유효성 증명을 사용하는 상태 증명 증명입니다. 시퀀서가 계산을 처리하고 검증자가 해당 증명을 생성하는 시퀀서/유효성 검사기 모델을 통해 Optimistic Rollup과 유사한 계산 및 검증 모델을 따릅니다(스키마는 오류 증명이 아닌 유효성 증명임). 예를 들어 Starknet은 출시 당시 중앙 집중식 시퀀서를 사용했으며 로드맵에서 오픈 시퀀서와 유효성 검사기를 점차 분산화했습니다. 영지식 롤업(ZK 롤업)의 계산 자체는 시퀀서의 오프체인 실행으로 인해 제어되지 않습니다. 그러나 이러한 계산의 증명은 온체인에서 검증되어야 하므로 완결성은 증명 생성의 병목 현상으로 남아 있습니다.
라이트 클라이언트를 사용한 상태 확인 기술은 거짓 증명 아키텍처에만 적용할 수 있다는 점에 유의해야 합니다. 유효성 증명을 통해 상태 전이가 유효함을 보장하므로 노드가 블록을 검증하는 데 트랜잭션 데이터가 더 이상 필요하지 않습니다. 그러나 유효성 증명을 위한 데이터 가용성 문제는 여전히 남아 있으며 더 미묘합니다. 상태가 보장되더라도 노드가 최종 사용자에게 상태 전환을 업데이트하고 제공할 수 있도록 유효성 증명을 위한 트랜잭션 데이터가 여전히 필요합니다. 따라서 유효성 증명을 활용하는 롤업에는 여전히 데이터 가용성 문제가 있습니다.
우리는 어디에서 자랐습니까?
V 신의 주장: 모든 길은 중앙 집중식 블록 생성과 분산형 블록 검증으로 이어집니다. 블록 생성기 하드웨어의 발전을 통해 롤업 처리량을 기하급수적으로 늘릴 수 있지만 실제 확장성 병목 현상은 블록 유효성이 아닌 블록 가용성입니다. 이는 중요한 통찰력으로 이어집니다. 실행 계층을 얼마나 강력하게 만들든, 어떤 증명 모델을 사용하든 처리량은 결국 데이터 가용성에 따라 제한됩니다.
현재 데이터 가용성을 보장하는 한 가지 방법은 블록체인 데이터를 온체인에 게시하는 것입니다. 롤업 구현은 이더리움 메인넷을 데이터 가용성 계층으로 활용하고 이더리움에 모든 롤업 블록을 정기적으로 게시합니다. 이 임시 솔루션의 주요 문제는 Ethereum의 현재 아키텍처가 데이터 가용성 샘플링을 수행하는 라이트 클라이언트가 아닌 전체 블록을 다운로드하여 데이터 가용성을 보장하는 전체 노드에 의존한다는 것입니다. 추가 처리량을 얻기 위해 블록 크기를 늘리면 필연적으로 전체 노드 유효성 검사 데이터 가용성, 중앙 집중식 네트워크에 대한 하드웨어 요구 사항이 증가합니다.
향후 이더리움은 풀 노드와 라이트 클라이언트로 구성된 데이터 가용성 샘플링을 활용하는 샤딩 아키텍처로 전환하여 네트워크 보안을 보장할 계획입니다. (참고: 이더리움 샤딩은 기술적으로 오류 증명이 아닌 KZG 약속을 사용하지만 데이터 가용성 문제는 관련이 있습니다.) 그러나 이것은 문제의 일부만 해결합니다. 롤업 아키텍처가 직면한 또 다른 근본적인 문제는 롤업 블록이 덤프된 콜 데이터로 사용된다는 것입니다. 이더리움 메인넷. 콜데이터는 대규모로 사용하는 데 비용이 많이 들고 롤업 트랜잭션 배치 크기에 관계없이 바이트당 16가스의 비용으로 L2 사용자를 방해하므로 후속 문제가 발생합니다.
Validium은 데이터 가용성 보장을 유지하면서 확장성과 처리량을 개선하는 또 다른 방법입니다. 세분화된 트랜잭션 데이터(원시 데이터와 관련됨)를 데이터 가용성 위원회, PoS 가디언 또는 데이터 가용성 계층으로 보낼 수 있습니다. Validium은 이더리움 콜데이터에서 오프체인 솔루션으로 데이터 가용성을 이동함으로써 증가하는 롤업 사용과 관련된 고정 바이트 가스 비용을 우회합니다.
또한 롤업 아키텍처는 블록체인 자체가 실행이나 계산을 제공할 필요가 없고 블록을 주문하고 해당 블록에 대한 데이터 가용성을 보장하는 기능만 제공한다는 고유한 통찰력을 제공합니다. 이것이 최초의 모듈식 블록체인 네트워크인 Celestia의 설계 원칙입니다. 이전에 LazyLedger로 알려졌던 Celestia는 실행 및 유효성 검사를 다른 모듈 계층에 맡기고 트랜잭션 주문을 위한 데이터 가용성 계층을 제공하고 데이터 가용성 샘플링을 통해 데이터 가용성을 보장하는 데에만 집중하는 "게으른 블록체인"으로 시작했습니다. 중앙 집중식 블록 생성 및 분산형 블록 유효성 검사기는 Celestia 설계의 핵심 전제입니다. 휴대폰도 라이트 클라이언트로 참여하여 네트워크 보안을 보장할 수 있습니다. 데이터 가용성 샘플링의 특성으로 인해 데이터 가용성 계층으로 롤업을 Celestia에 삽입하면 동일한 확률 보장을 유지하면서 Celestia 라이트 노드의 수가 증가함에 따라 더 높은 블록 크기(일명 처리량)를 지원할 수 있습니다.
이제 다른 솔루션에는 StarkEx, zkPorter 및 Polygon Avail이 포함됩니다. StarkEx는 현재 생산에 사용되는 유일한 Validium입니다. 그럼에도 불구하고 대부분의 유효성에는 신뢰할 수 있는 위원회, 보호자 또는 일반 데이터 가용성 계층을 통해 관리되는지 여부에 관계없이 데이터 가용성 소스에 대한 암묵적인 신뢰 가정이 포함됩니다. 이 신뢰는 또한 악의적인 운영자가 사용자 자금이 인출되는 것을 막을 수 있음을 보여줍니다.
현재 진행 상황
셀레스티움 아키텍처
모듈식 블록체인 아키텍처는 현재 암호화 공간에서 뜨거운 논쟁거리입니다. 모듈식 블록체인 아키텍처에 대한 Celestium의 비전은 단편화 솔루션 및 데이터 가용성 계층과 관련된 보안 문제 및 추가 신뢰 가정으로 인해 큰 차질을 겪었습니다.
한편, 블록체인 스택의 모든 측면에서 상당한 진전이 이루어졌습니다. Fuel Labs는 실행 계층에서 병렬화된 가상 머신을 개발하고 있으며 Optimism 팀은 샤딩, 인센티브 검증 및 분산 시퀀서에 대해 작업하고 있습니다. Hybrid Optimistic 및 영지식 솔루션도 개발 중입니다.
이더리움의 합병 후 개발 로드맵에는 솔루션과 데이터 가용성 계층을 통합할 계획이 포함되어 있습니다. 구체적으로 Danksharding은 이더리움 L1 데이터 샤드와 블록 공간을 "데이터 가용성 엔진"으로 변환하고 최적화하여 L2 롤업이 저비용 고처리량 트랜잭션을 달성할 수 있도록 하는 이더리움 로드맵의 유망한 개발입니다.
Celestia의 오피니언 프리 아키텍처는 또한 광범위한 실행 계층 구현이 이를 데이터 가용성 계층으로 사용하도록 허용하여 WASM, Starknet 및 FuelVM과 같은 대체 비 EVM 가상 머신의 기반을 마련합니다. 다양한 실행 솔루션에 대한 이 공유 데이터 가용성을 통해 개발자는 Celestia 클러스터 간에 신뢰 최소화 브리지를 생성하여 이더리움에서와 마찬가지로 롤업 간에 가능한 한 교차 체인 및 교차 생태계 구성 가능성과 상호 운용성을 잠금 해제할 수 있습니다.
Starkware가 개척한 Volitions는 온체인 및 오프체인 데이터 가용성 딜레마에 대한 혁신적인 솔루션을 소개합니다. 사용자와 개발자는 Validium을 사용하여 트랜잭션 데이터를 오프체인으로 보내거나 트랜잭션 데이터를 온체인에 유지할 수 있습니다. 고유한 장점과 단점이 있습니다.
또한 Layer 2 솔루션의 사용과 인기로 인해 Layer 2: 프랙탈 스케일링이 열립니다. 프랙탈 확장을 통해 애플리케이션별 롤업을 레이어 2에 배포할 수 있습니다. 이제 개발자는 데이터 가용성에서 개인 정보 보호에 이르기까지 인프라를 완전히 제어하면서 애플리케이션을 배포할 수 있습니다. 레이어 3에 배포하면 Cosmos와 같은 애플리케이션별 주권 체인과 같은 값비싼 기본 체인 대신 모든 레이어 3 애플리케이션에 대한 레이어 2 상호 운용성이 잠금 해제됩니다.
온프레미스 서버에서 클라우드 서버로 웹 인프라가 진화한 것과 유사하게 분산형 웹은 모놀리식 블록체인 및 사일로 합의 계층에서 공유 합의 계층의 모듈식 응용 프로그램별 체인으로 진화하고 있습니다. 어떤 솔루션과 애플리케이션이 궁극적으로 인기를 얻든 상관없이 한 가지는 분명합니다. 모듈식 미래에서는 최종 사용자가 승자가 될 것입니다.