원문: " 사이드체인 vs. 롤업: dapp 개발의 차이점 분석 " - Emmanuel Awosika 작성
편집자: Deep Wave TechFlow
사이드체인과 롤업은 블록체인 확장성 문제에 대한 두 가지 솔루션입니다. 두 솔루션의 핵심 아이디어는 컴퓨팅을 이더리움과 같이 리소스가 제한된 블록체인에서 규모에 최적화된 독립형 블록체인으로 옮기는 것입니다. 이 접근 방식은 트랜잭션당 비용 절감, 대기 시간 감소, 전체 처리량 향상 등 여러 가지 이점을 제공합니다. 그러나 유사점은 거기서 끝납니다.
사이드체인과 롤업은 확장 방법이 근본적으로 다르며 디자인 결정과 장단점도 다릅니다. 두 솔루션을 모두 사용하여 확장 가능한 dapp을 구축하려는 개발자의 경우 차이점을 이해하는 것이 중요합니다.
이 문서에서는 롤업과 사이드체인에 대한 개요를 제공하고 아키텍처, 보안 보장, 성능 확장 등의 차이점을 살펴봅니다.
사이드 체인이란 무엇입니까?
사이드체인은 다른 블록체인(“메인체인”이라고 함)과 병렬로 실행되는 블록체인 네트워크입니다. 일반적으로 사이드체인은 양방향 크로스 체인 브리지를 통해 메인 체인에 연결되어 두 네트워크 간에 자산을 전송할 수 있을 뿐만 아니라 계약 상태, 머클 증명, 특정 거래 결과와 같은 잠재적으로 임의적인 데이터도 전송할 수 있습니다.
대부분의 사이드체인에는 메인 체인과 별도로 자체 합의 메커니즘과 검증자가 있습니다. 이를 통해 사이드체인은 다른 블록체인에 의존하지 않고도 거래를 결제하고 완료할 수 있습니다. 그러나 이는 사이드체인에 연결된 자금의 보안이 검증자 간의 악의적인 행동을 방지하기 위한 강력한 암호화폐 경제적 인센티브의 존재에 달려 있음을 의미하기도 합니다.
사이드체인의 종류
EVM 호환 및 비EVM 사이드체인: EVM 호환 사이드체인은 Ethereum에 스마트 계약을 배포하기 위한 실행 환경인 Ethereum Virtual Machine의 사용자 지정 구현을 사용합니다. 실제로 이러한 블록체인의 대부분은 원래 go-ethereum(Ethereum 프로토콜의 가장 널리 사용되는 구현인 Geth라고도 함)에서 분기되었습니다.
EVM 호환 사이드체인은 Ethereum 설계의 대부분의 기능(예: 스마트 계약 지원)을 유지하면서 다른 측면, 특히 합의 메커니즘에서 최적화되어 실행 효율성과 처리량을 향상시킵니다. 오늘날 EVM 호환 사이드체인은 Solidity와 같은 EVM 언어로 작성된 대부분의 스마트 계약을 실행하는 동시에 분산 애플리케이션 사용자의 비용과 대기 시간을 줄입니다.
EVM이 아닌 사이드체인은 다른 가상 머신 아키텍처를 구현하며 광범위한 코드 리팩토링 없이는 이더리움 기반 dapp을 실행할 수 없습니다. EVM이 아닌 체인을 기반으로 구축하는 개발자는 익숙한 EVM 개발 환경 및 도구(예: Truffle, Remix, Hardhat)를 사용할 수 없으며 dapp을 생성하려면 다른 언어(예: Rust 또는 Golang)를 배워야 할 수도 있습니다.
참고: Avalanche, Fantom, Celo 및 Palm은 EVM 호환 사이드체인의 예입니다. NEAR, Solana 및 Algorand는 EVM이 아닌 사이드체인의 예입니다.
커밋 체인 및 낙관적 사이드 체인 : 모든 사이드 체인이 자체 보안에 전적으로 의존하는 것은 아닙니다. 일부 사이드 체인, 특히 커밋 체인 및 낙관적 체인은 특정 보안 보장을 제공하기 위해 메인 체인에 의존합니다. 커밋 체인은 주기적으로 암호화 커밋(예: 블록 헤더)을 다른 블록체인에 제출하여 최신 상태를 업데이트합니다. 메인 체인은 사이드체인의 상태에 접근할 수 없기 때문에 이러한 상태 증명을 확인할 수 없지만, 정직한 참가자가 유효하지 않은 블록 헤더가 확인되기 전에 이의를 제기할 수 있도록 보장합니다.
일반적으로 이는 사이드체인 검증인에 대한 보상, 스테이킹, 순환 및 처벌을 처리하는 스마트 계약을 메인 체인에 구현함으로써 달성됩니다. 검증인이 입증 가능한 위반(예: 동일한 높이에 있는 두 블록에 서명)을 저지르는 경우 누구나 스마트 계약에 증거를 제출하고 해당 검증인의 지분을 삭감할 수 있습니다.
낙관적 체인은 유사하게 작동하므로 검증인은 정기적으로 메인 체인의 스마트 계약에 블록 헤더를 제출해야 합니다. 그러나 Optimistic 체인에는 별도의 합의 메커니즘이 없습니다. 블록 헤더는 사기 방지에 의해 문제가 발생할 때까지 단순히 유효한 것으로 가정됩니다. 따라서 Optimistic 체인은 단 하나의 (정직한) 검증자로만 작동할 수 있는 반면, 커밋 사이드체인은 제대로 작동하려면 여러 검증자가 필요합니다.
두 경우 모두, 정직한 참가자는 사이드체인에서 악의적인 행동이 발생했음을 상위 블록체인에 증명할 수 있습니다. 이런 방식으로 사이드 체인 검증인의 대부분이 악의적이더라도 사용자는 여전히 특정 보안 보장을 받을 수 있습니다.
그러나 정직한 참여자는 블록에 저장된 상태 데이터에 접근하지 않고서는 악의적인 행동을 증명할 수 없다는 점에 유의해야 합니다. 그러나 메인 체인은 사이드체인으로부터 블록 헤더(블록 본문이 아님)만 받기 때문에 블록의 가용성을 보장할 수 없습니다. 이를 통해 부정직한 블록 제안자가 블록 데이터를 숨겨 크로스체인 브리지에서 자금을 훔치는 등 부정직한 행동에 참여할 수 있습니다.
이 문제는 데이터 가용성 문제로 알려져 있으며 모든 사이드체인(커밋 체인, Optimistic 사이드체인 및 롤업뿐만 아니라)의 보안 속성 차이의 핵심입니다.
롤업이란 무엇입니까?
롤업은 별도의 실행 환경에서 트랜잭션을 처리하여 기본 블록체인의 확장성을 향상시킵니다. 사이드체인과 유사하게 Rollup에는 상위 블록체인과 Rollup 간에 자산을 전송하기 위한 크로스체인 브리지가 있습니다. 또한 사용자를 위한 컴퓨팅 속도와 비용 효율성을 높이기 위한 최적화 조치를 구현합니다.
그러나 Rollup은 정기적으로 블록을 메인 체인에 제출함으로써 메인 체인의 보안 및 분산 기능을 상속받습니다. 이는 상위 블록체인이 Rollup에 다음 보안 속성을 보장한다는 것을 의미합니다.
- 가용성 : 데이터가 보다 분산되고 안전한 상위 네트워크에 저장되므로 롤업 블록의 가용성이 보장됩니다. 예를 들어, 사용자는 항상 크로스체인 브리지 계약에 대한 롤업 상태(예: 특정 토큰 소유)의 세부 정보를 증명하고 트랜잭션 데이터가 롤업 유효성 검사기에 숨겨져 있는 동안 자금을 인출할 수 있습니다.
- 유효성 : 상위 체인에서 시행하는 유효성 조건을 충족하는 롤업 블록만 완료될 수 있습니다.
- 생존성 : Rollup 데이터는 기본 레이어에 저장되므로 누구나 Rollup의 마지막 유효 상태를 재구성하고 새 블록을 생성할 수 있습니다. 또한 사용자는 트랜잭션을 Rollup의 온체인 스마트 계약으로 전송하여 강제로 Rollup에 포함되도록 할 수 있습니다.
롤업 유형
롤업은 낙관적 및 영지식의 두 가지 형태로 제공됩니다. 영지식 롤업(유효성 롤업이라고도 함)은 오프체인 트랜잭션의 올바른 실행을 확인하기 위해 증거와 함께 블록을 상위 체인에 제출합니다. 증명이 온체인에서 검증되면 블록은 기본 레이어에서 마무리됩니다.
Optimistic Rollup이 제출한 블록에는 오프체인 계산의 유효성을 입증할 증거가 없습니다. 다른 당사자가 "사기 증명"을 통해 거래 결과에 이의를 제기하지 않는 한 블록은 단순히 유효한 것으로 간주됩니다. 사기 증명은 검증 게임의 형태를 취하며, 모체 체인의 개입으로 두 당사자는 부정직한 당사자가 발견될 때까지 특정 계산에 대해 논쟁을 벌입니다.
낙관적 롤업은 상태 전환이 대부분 유효하다는 낙관적 가정을 따서 명명되었습니다. 그러나 암호경제학적 인센티브와 결합된 이러한 낙관적 가정은 유효하지 않은 블록이 오랫동안 도전받지 않는 한 메인 체인에 의해 완료되지 않을 것임을 보장합니다.
참고: Arbitrum 및 Optimism은 낙관적 롤업의 예입니다.
EVM 호환성은 낙관적 롤업과 영지식 롤업의 또 다른 주목할만한 차이점입니다. 낙관적 롤업은 EVM을 준수하지만, 영지식 롤업은 EVM 호환성 측면에서 다릅니다. 증명 회로에서 기본 EVM 명령을 증명하는 것은 복잡하고 리소스 집약적이므로 일부 효율성 롤업은 보다 효율적인 증명을 위해 최적화된 사용자 정의 가상 머신 명령 세트를 사용합니다.
EVM 호환 ZK-Rollup의 경우 실행 환경을 "영지식 EVM"(ZK-EVM)으로 설명합니다. ZK-EVM은 이더리움 스마트 계약을 오프체인으로 실행하고 계산의 모든 부분이 올바르게 실행되었음을 증명할 수 있습니다. 따라서 ZK-Rollup은 유효하지 않은 실행을 방지하기 위해 암호화 경제적 인센티브와 정직성 가정에 의존하는 Optimistic 유형 Rollup에 비해 더 안전한 것으로 간주됩니다.
Linea는 완전한 EVM 지원을 갖춘 2차 유효성 롤업의 예입니다. 이를 통해 개발자는 Ethereum 인프라와 도구를 재사용하여 dapp을 구축할 수 있습니다. 이와 대조적으로 EVM이 아닌 ZK-Rollup(예: StarkNet)에 배포하려면 (a) 다른 스택을 사용하여 스마트 계약을 구축하거나 (b) StarkNet 가상 머신에서 실행되도록 코드 베이스를 수정해야 합니다.
사이드체인과 롤업의 차이점은 무엇입니까?
처리량 : 사이드체인의 평균 트랜잭션 처리 용량은 메인 체인의 합의 및 데이터 가용성에 의존하지 않기 때문에 일반적으로 롤업보다 높습니다. 예를 들어, 사이드체인은 더 큰 블록 크기와 매우 빠른 블록 시간을 달성하여 더 높은 처리량을 달성할 수 있는데, 이는 Rollup이 할 수 없는 일입니다.
롤업은 트랜잭션 배치가 단일 메인 체인 블록에 들어갈 수 없을 정도로 많은 트랜잭션을 처리하는 것을 피해야 합니다. 그렇지 않으면 기본 레이어에 정체가 다시 발생하고 롤업에서 생성된 블록을 따라잡기가 어려워집니다. 따라서 Rollup의 상위 체인 데이터 대역폭은 처리량에 효과적인 제한을 부과합니다.
메인 체인의 보안에 부분적으로 의존하는 사이드 체인(예: 제출 체인 및 Optimistic 체인)도 여전히 Rollup보다 처리량이 더 좋습니다.
비용 : 사용자는 롤업에 비해 사이드체인 거래에 대해 더 적은 비용을 지불할 수 있습니다. 사이드체인과 롤업의 다른 차이점과 마찬가지로 이 역시 롤업이 결제 및 최종성을 위해 상위 체인에 의존하는 것과 관련이 있습니다. Rollup으로 인해 발생하는 운영 비용 중 일부는 다음과 같습니다. (이 비용은 사용자가 부담합니다.)
- 데이터 저장 : Rollup 블록을 기본 레이어에 제출하면 고정 비용(블록에 트랜잭션을 포함하는 비용)과 가변 비용(Rollup 블록의 크기에 따라)이 발생합니다. 결과적으로 Rollup은 사용자에게 컴퓨팅 및 데이터 수수료를 청구하며, 데이터 볼륨이 큰 트랜잭션에는 더 많은 비용을 지불하고 그 반대의 경우도 마찬가지입니다.
- 증명 생성 및 검증 : 영지식 롤업에는 기본 계층 검증을 위한 유효성 증명 생성이 필요하며, 이로 인해 추가 비용이 발생합니다. 유효성 증명을 확인하는 데는 많은 리소스가 소비됩니다. 예를 들어 현재 이더리움의 비용은 약 500,000 Gas입니다.
순수 사이드체인은 위의 비용이 발생하지 않으므로 사용하는 것이 더 저렴합니다. 커밋 체인 또는 낙관적 사이드체인에는 블록 헤더 커밋과 같은 추가 비용이 발생할 수 있지만 이러한 비용은 무시할 수 있습니다. 또한 단일 거래에서 여러 블록 헤더를 축적하여 비용을 줄일 수 있습니다.
완결성(Finality) : 보안을 전적으로 책임지는 사이드체인은 즉각적인 완결성을 가지며, 다수의 검증자에 의해 승인되면 블록을 취소할 수 없습니다. 그러나 커밋 체인이나 낙관적 사이드체인은 블록 헤더 마무리를 지연시킬 수 있는 문제를 고려해야 하기 때문에 이 규칙에 적용되지 않습니다.
일반적으로 롤업은 여러 가지 이유로 순수 사이드체인보다 최종성 시간이 더 깁니다. 예를 들어 낙관적 롤업은 정직한 참가자가 유효하지 않은 상태 업데이트에 대해 이의를 제기할 수 있는 충분한 시간을 갖도록 트랜잭션 확인을 지연시킵니다.
유효성 롤업은 즉각적인 최종성을 가지지만(확인된 후) 최종성은 순수 사이드체인보다 오래 걸립니다. 유효성 증명을 생성하고 확인하는 데 드는 비용이 높기 때문에 직렬 변환기는 유효성 증명 배치를 생성하고 제출하기 전에 많은 수의 트랜잭션을 축적하는 것을 선호합니다.
보안 : 롤업의 보안(낙관적 또는 영지식)은 기본 블록체인에 의해 보장되어 사용자의 신뢰 가정을 줄입니다. 앞서 설명했듯이 롤업은 (사이드체인과 달리) 합의 및 데이터 가용성을 위해 (경제적으로 안전한) 메인 체인에 의존합니다. 이를 통해 검열, 출금 동결, 무효 실행 등의 위험을 줄일 수 있습니다.
순수 사이드체인은 보안을 담당합니다. 그러나 다양하고 신뢰할 수 있는 검증자를 출시하는 것은 어려울 수 있으며, 이것이 바로 사이드체인이 롤업보다 덜 안전한 것으로 간주되는 이유입니다.
커밋 체인과 Optimistic 사이드체인은 순수 사이드체인보다 약간 더 안전하지만 사용자는 데이터 가용성에 대해 검증인과 제안자를 신뢰해야 합니다. 데이터 은닉 공격이 페널티 없이 수행된다면 커밋 체인과 Optimistic 사이드 체인은 어떠한 보안도 보장되지 않습니다.
크로스체인 브리지 : 롤업과 사이드체인(대부분의 경우)은 동일한 자산 브리징 방식을 사용합니다. 즉, 메인 체인의 스마트 계약에 X 토큰을 잠그고 하위 체인의 사용자를 위해 X 토큰을 발행합니다. 브릿지 계약에 예치된 자금을 확보하는 방법이 다릅니다.
Rollup은 특정 기본 계층 블록체인 전용이기 때문에 둘을 연결하는 "표준 브리지"가 있는 경우가 많습니다. 롤업 브리지에 예치된 자금은 상위 체인에 의해 보장됩니다.
- 유효성 롤업에 예치된 자금은 종료 거래가 포함된 배치와 관련된 증명이 온체인에서 검증된 후에만 인출될 수 있습니다.
- 낙관적 롤업의 경우 사용자는 분쟁 기간이 종료된 후(약 1~2주) 사용자의 출금 거래가 포함된 블록에 이의가 제기되지 않은 경우에만 자금을 출금할 수 있습니다.
대신, 사이드체인 브리지에 예치된 자금의 보안은 디자인에 따라 달라집니다. 예를 들어, 사이드체인에 다른 블록체인에 대한 정식 크로스체인 브리지가 있는 경우 브리지 자금의 보안은 검증자의 정직성과 관련이 있습니다. 또 다른 질문은 브리지가 전체 검증자(예: Polygon PoS 브리지)에 의해 검증되는지 아니면 소규모 외부 검증자 그룹(예: Avalanche-Ethereum 브리지)에 의해 검증되는지입니다.
롤업과 사이드체인 브리징 간의 최종성 시간 차이도 이들 간의 차이를 설명합니다. 예를 들어 낙관적 롤업 사용자는 분쟁 창을 기다려야 하기 때문에 자금을 메인 체인에 다시 연결할 때 더 많은 지연을 경험하게 됩니다. 사이드체인을 사용하면 최종 블록 헤더(및 필요한 경우 유효한 Merkle 증명)가 수신되면 사용자는 크로스체인 브리지 계약에서 자금을 인출할 수 있습니다.
롤업과 사이드체인 중에서 선택하세요
스마트 계약을 배포할 때 롤업 또는 사이드체인 사용 선택은 목표, 사용자 피드백 및 프로젝트 요구 사항에 따라 다릅니다. 다양한 상황에서 롤업, 사이드체인 또는 둘 다를 사용하면 다음과 같은 이점이 있습니다.
롤업을 사용하는 경우 :
- 사용자는 최고 수준의 보안을 기대합니다.
- 사용자는 약간 더 높은 비용과 증가된 대기 시간/최종성을 견딜 수 있습니다. 롤업은 이더리움보다 훨씬 저렴하고 빠르지만(수배로) 이러한 지표에서는 사이드체인과 경쟁할 수 없습니다.
- 귀하(또는 귀하의 사용자)는 상위 체인 생태계(예: 이더리움)와 더 긴밀한 관계를 원합니다.
- Rollup에서 DApp 사용자의 사용자 경험을 개선할 계획입니다. 이는 유동성 공급자를 사용하여 낙관적 롤업에서 자금을 인출할 때 대기 시간을 줄이거나 사용자가 스마트 계약과 상호 작용할 때 생성되는 거래 데이터를 줄이기 위해 코드 최적화를 구현하는 것을 의미할 수 있습니다.
- DApp을 구축할 때 EVM 도구와 인프라를 사용하고 싶습니다. 대부분의 롤업은 EVM과 호환되며 Ethereum과 동일한 도구, 클라이언트 소프트웨어 및 노드 API를 사용합니다.
사이드체인을 사용하는 경우 :
- 사용자는 가장 낮은 수수료로 거래하기를 원합니다.
- 사용자는 특히 자금을 연결하는 경우 거래가 빠르게 처리되기를 기대합니다.
- 사용자는 증가된 신뢰 가정과 낮은 보안 보장을 허용할 수 있습니다.
- 귀하(또는 귀하의 사용자)는 메인 체인 생태계와의 강력한 관계를 우선순위로 생각하지 않습니다.
- 새로운 프로그래밍 언어, 도구 및 인프라 세트를 사용하여 DApp을 구축하는 방법을 배울 수 있습니다(EVM이 아닌 사이드체인을 사용하는 경우).
사이드체인과 롤업을 함께 사용하는 경우 :
- 귀하의 프로젝트는 하나의 블록체인에 강력한 네트워크 효과를 구축했으며 동시에 여러 생태계로 확장할 준비가 되어 있습니다(예: 유동성 활용).
- 다양한 유형의 사용자에게 서비스를 제공하고 시장의 한 쪽을 소외시키는 것을 방지하고 싶습니다.
- 귀하의 프로젝트에는 크로스체인 확장을 처리할 수 있는 충분한 리소스가 있습니다. 이는 서로 다른 블록체인 플랫폼에 DApp을 배포하는 일을 담당하는 여러 팀이 있음을 의미할 수 있습니다.