Vitalik의 최신 장문: 다양한 L2의 차이 정리
원문 제목:《Different types of layer 2s》
원문 저자:Vitalik Buterin
원문 번역:BlockBeats
생태계는 지난 1년 동안 빠르게 확장되었습니다. 전통적으로 StarkNet, Arbitrum, Optimism 및 Scroll로 대표되는 ZK-EVM 롤업 생태계는 빠른 발전을 이루었으며, 지속적으로 보안성을 높이고 있습니다. L2beat 페이지는 각 프로젝트의 상태를 잘 요약하고 있습니다.
또한, 일부 팀이 사이드체인을 구축하고 있으며, 롤업 솔루션(예: Polygon)도 구축하기 시작했습니다. 일부 L1 프로젝트는 유효성 검증 방향으로 발전하려고 시도하고 있으며(예: Celo), 새로운 시도(예: Linea, Zeth 등)도 있습니다.
그 중 불가피한 결과 중 하나는 L2 프로젝트가 더욱 이질화(homogeneous)되는 경향을 보이고 있다는 것입니다. 이 용어는 암호화폐 분야에서 서로 다른 종류나 성질의 것들이 공존하거나 혼합되는 상황을 의미합니다. 이 추세는 계속될 것으로 예상됩니다. 그 이유는 다음과 같습니다:
현재, 일부 독립적인 L1 프로젝트는 이더리움 생태계와 더 밀접하게 접촉하려고 하며, L2 프로젝트로 전환할 가능성이 있습니다. 이러한 프로젝트는 단계적인 전환 방식을 채택하고자 할 수 있습니다. 전체 전환을 즉시 진행하면 기술이 모든 것을 롤업 솔루션에 넣을 준비가 되어 있지 않기 때문에 가용성이 낮아질 것입니다. 반면, 나중에 전체 전환을 진행할 경우, 모멘텀을 잃고 실질적인 의미를 갖지 못할 수 있습니다.
일부 중앙화된 프로젝트는 사용자에게 더 많은 보안 보장을 제공하고자 하며, 블록체인 기반의 경로를 탐색하고 있습니다. 많은 경우, 이러한 프로젝트는 과거에 "허가된 컨소시엄 체인"을 연구했을 수 있습니다. 실제로, 그들은 "반중앙화" 수준에 도달하기만 하면 될 수 있습니다. 또한, 이들은 일반적으로 매우 높은 처리량을 가지고 있어, 적어도 단기적으로는 롤업 솔루션을 사용하는 데 적합하지 않습니다.
게임이나 소셜 미디어와 같은 비금융 애플리케이션은 탈중앙화를 원하지만, 일정 수준의 보안성만 필요합니다.
소셜 미디어의 경우, 실제로 애플리케이션의 서로 다른 부분을 다루는 방식이 다릅니다: 사용자 이름 등록 및 계정 복구와 같은 드문 고가치 활동은 롤업 솔루션에서 수행되어야 하지만, 게시물 및 투표와 같은 빈번하고 저가치 활동은 보안성이 덜 필요합니다. 블록체인이 실패하여 게시물이 사라지는 것은 감수할 수 있는 대가일 수 있지만, 블록체인이 실패하여 계정을 잃는 것은 더 큰 문제입니다.
중요한 주제 중 하나는 현재 이더리움 L1에 위치한 애플리케이션과 사용자가 단기적으로는 작은 롤업 수수료를 지불할 의향이 있지만, 비블록체인 세계의 사용자들은 그렇게 할 의향이 적다는 것입니다: 만약 이전에 1달러를 지불했다면, 0.10달러를 지불하는 것이 더 수용 가능하지만, 만약 이전에 0달러를 지불했다면, 그것은 수용하기 어렵습니다.
이는 오늘날 여전히 중앙화된 애플리케이션과 일반적으로 사용자 집단이 적어 수수료가 극히 낮은 소규모 L1 프로젝트에도 해당됩니다.
자연스러운 질문은 특정 애플리케이션에 대해 롤업 솔루션, 유효성 검증(validiums) 및 기타 시스템 간의 이러한 복잡한 균형 중 어떤 것이 합리적인가입니다.
롤업 vs 유효성 검증 vs 분리된 시스템
우리가 탐구할 보안성과 확장성의 첫 번째 차원은 다음과 같이 설명할 수 있습니다: 만약 L1에서 발행된 자산이 L2에 예치되고, 다시 당신에게 전송된다면, 자산을 L1으로 되찾을 수 있는 보장은 어느 정도입니까?
또한 관련된 질문이 있습니다: 어떤 기술 선택이 이러한 보장 정도를 초래했으며, 해당 기술 선택의 균형은 무엇입니까?
우리는 간단한 차트를 사용하여 이 문제를 설명할 수 있습니다:
주목할 점은, 이것이 많은 중간 옵션이 존재하는 단순화된 계획이라는 것입니다. 예를 들어:
롤업과 유효성 검증 사이: 유효성 검증에서는 누구나 거래 수수료를 지불하기 위해 체인 상에서 지불할 수 있으며, 이 경우 운영자는 일부 데이터를 체인에 제공해야 하며, 그렇지 않으면 보증금을 잃게 됩니다.
플라스마와 유효성 검증 사이: 플라스마 시스템은 롤업과 유사한 보안 보장을 제공하며, 체인 외부 데이터 가용성을 가지고 있지만, 제한된 수의 애플리케이션만 지원합니다. 하나의 시스템은 완전한 EVM을 제공하고, 이러한 복잡한 애플리케이션을 사용하지 않는 사용자에게는 플라스마 수준의 보장을 제공하며, 이러한 애플리케이션을 사용하는 사용자에게는 유효성 검증 수준의 보장을 제공합니다.
이러한 중간 옵션은 롤업과 유효성 검증 사이의 스펙트럼으로 볼 수 있습니다. 그러나 애플리케이션이 왜 이 스펙트럼의 특정 지점을 선택하는지, 더 왼쪽이나 더 오른쪽의 어떤 지점을 선택하지 않는지에 대한 두 가지 주요 요인이 있습니다:
1. 이더리움의 원주율 데이터 가용성 비용이 기술 발전에 따라 시간이 지남에 따라 감소할 것입니다. 이더리움의 다음 하드포크 Dencun은 EIP-4844(일명 "proto-danksharding")를 도입하여 약 32 kB/초의 체인 상 데이터 가용성을 제공합니다.
앞으로 몇 년 동안, 완전한 danksharding이 출시됨에 따라 이 데이터 가용성은 점진적으로 증가할 것으로 예상되며, 최종 목표는 약 1.3 MB/초의 데이터 가용성입니다. 동시에 데이터 압축의 개선은 동일한 데이터 양에서 더 많은 기능을 실현할 수 있게 할 것입니다.
2. 애플리케이션의 자체 요구: 사용자들이 높은 수수료로 인한 손실이 애플리케이션의 문제 발생에 비해 얼마나 심각한가? 금융 애플리케이션은 애플리케이션의 고장으로 인해 더 많은 손실을 입을 수 있습니다; 게임과 소셜 미디어는 많은 사용자 활동과 상대적으로 낮은 가치의 활동을 포함하므로, 이들에게는 서로 다른 보안 균형이 의미가 있습니다.
이러한 균형은 대략적으로 다음과 같이 보입니다:
또한 주목할 만한 유형은 사전 확인(pre-confirmations)입니다. 사전 확인은 롤업 또는 유효성 검증 내에서 일련의 참여자들이 서명한 메시지로, "우리는 이러한 거래가 이 순서로 포함되었음을 증명하며, post-state root는 이것입니다." 이러한 참여자들은 현실과 일치하지 않는 사전 확인에 서명할 수 있지만, 만약 그렇다면 그들의 보증금은 소멸됩니다.
이는 저가치 애플리케이션(예: 소비자 결제)에 매우 유용하며, 고가치 애플리케이션(예: 수백만 달러의 금융 송금)은 시스템의 완전한 보안 지원을 기다릴 수 있습니다.
사전 확인은 또 다른 혼합 시스템의 예로 볼 수 있습니다, 위에서 언급한 "플라스마/유효성 검증 혼합"과 유사하지만, 이번에는 완전한 보안성을 가지지만 높은 지연을 가진 롤업(또는 유효성 검증)과 낮은 보안 수준을 가지지만 낮은 지연을 가진 시스템 간의 혼합입니다. 낮은 지연이 필요한 애플리케이션은 낮은 보안을 얻지만, 최대 보안을 얻기 위해 높은 지연을 감수할 의향이 있는 애플리케이션과 동일한 생태계에서 공존할 수 있습니다.
신뢰 없이 이더리움 읽기
또한 고려되지 않지만 여전히 매우 중요한 연결 형태는 시스템이 이더리움 블록체인을 읽는 능력과 관련이 있습니다. 구체적으로, 이는 시스템이 이더리움에서 롤백이 발생할 때 롤백할 수 있는 능력을 포함합니다. 왜 이것이 가치가 있는지 이해하기 위해 다음 상황을 고려해 보십시오:
가정해 보십시오, 위와 같이 이더리움 블록체인이 롤백됩니다. 이는 한 시대 내의 일시적인 중단일 수 있으며, 이때 블록체인이 아직 최종 확정되지 않았습니다; 또는 너무 많은 검증자가 오프라인 상태가 되어 블록체인이 오랜 시간 동안 최종 확정되지 않는 비활성 누수 기간이 발생할 수 있습니다.
이로 인해 발생할 수 있는 최악의 상황은 다음과 같습니다: 상위 체인(top chain)의 첫 번째 블록이 이더리움 체인의 가장 왼쪽 블록에서 일부 데이터를 읽습니다. 예를 들어, 누군가가 이더리움에 100 ETH를 상위 체인에 예치했습니다. 그런 다음 이더리움이 롤백되지만, 상위 체인은 롤백되지 않습니다. 결과적으로, 상위 체인의 미래 블록은 새로운, 올바른 이더리움 블록체인상의 블록을 올바르게 따르지만, 잘못된 거래(즉, 100 ETH의 예치)는 여전히 상위 체인에 존재합니다. 이러한 결함은 통화의 증가를 초래할 수 있으며, 상위 체인상의 브릿지 ETH를 부분 준비금으로 전환할 수 있습니다.
이 문제를 해결하는 두 가지 방법이 있습니다:
상위 체인은 이더리움이 최종 확정한 블록만 읽을 수 있으므로, 결코 롤백할 필요가 없습니다;
만약 이더리움이 롤백된다면, 상위 체인도 롤백될 수 있습니다. 두 가지 모두 이 문제를 방지할 수 있습니다. 전자는 구현하기 더 쉽지만, 만약 이더리움이 비활성 누수 기간에 들어가면 기능이 오랜 시간 동안 상실될 수 있습니다. 후자는 구현하기 더 어렵지만, 항상 최상의 기능을 보장할 수 있습니다.
첫 번째 방법에는 특별한 상황이 있습니다. 만약 이더리움이 51% 공격을 받아 두 개의 새로운 비호환 블록이 동시에 발생하고, 이 블록들이 모두 최종 확정된 것처럼 보인다면, 상위 체인은 잘못된 블록(즉, 이더리움 사회적 합의가 최종적으로 지원하지 않는 블록)을 선택할 수 있으며, 올바른 블록으로 전환하기 위해 롤백해야 할 수 있습니다. 이러한 상황을 처리하기 위해 사전에 코드를 작성하는 것은 필요하지 않을 수 있습니다; 상위 체인을 하드포크하여 이 문제를 처리할 수 있습니다.
블록체인이 신뢰 없이 이더리움을 읽는 능력에는 두 가지 중요한 이유가 있습니다:
첫째, 이러한 능력은 이더리움(또는 다른 제2계층 솔루션)에서 발행된 토큰을 해당 체인으로 브릿지하는 데 관련된 보안 문제를 줄일 수 있습니다;
둘째, 이러한 능력은 공유 키 저장 구조를 사용하는 계정 추상화 지갑이 해당 체인上的 자산을 안전하게 보유할 수 있게 합니다.
논란이 있지만, 첫 번째 방법의 중요성은 널리 인정받고 있습니다. 마찬가지로, 두 번째 방법도 중요합니다. 이는 당신이 키를 쉽게 변경하고 여러 다른 체인에서 자산을 보유할 수 있는 지갑을 가질 수 있음을 의미합니다.
브릿지기가 유효성 검증이 될 수 있을까?
상위 체인이 처음에 독립 체인으로 시작되었다고 가정해 보겠습니다. 그런 다음 누군가가 이더리움에 브릿지 계약을 배포했습니다. 브릿지 계약은 상위 체인 블록 헤더(block headers)를 수신하는 계약으로, 제출된 블록 헤더가 상위 체인의 합의에 의해 수용되었음을 증명하는 유효한 증명서가 첨부되어 있는지 검증하고 해당 블록 헤더를 목록에 추가합니다.
애플리케이션은 이 기반 위에 기능을 구축할 수 있으며, 예를 들어 토큰의 예치 및 인출을 포함합니다. 이러한 브릿지가 구축되면, 이전에 언급한 자산 보장을 제공할까요?
지금까지는 없습니다! 두 가지 이유가 있습니다:
우리는 블록의 서명을 검증하고 있지만, 상태 전환이 올바른지 검증하지 않습니다. 따라서, 만약 당신이 이더리움에서 발행된 자산을 상위 체인에 예치하고, 상위 체인의 검증자가 부정직해진다면, 그들은 무효한 상태 전환에 서명하여 이러한 자산을 훔칠 수 있습니다;
상위 체인은 여전히 이더리움을 읽을 수 없습니다. 따라서, 당신은 이더리움의 로컬 자산을 상위 체인에 예치할 수 없으며, 다른(아마도 안전하지 않은) 제3자 브릿지에 의존해야 합니다.
이제 브릿지기를 검증형 브릿지기로 구축해 보겠습니다: 그것은 합의를 검증할 뿐만 아니라, ZK-SNARK를 사용하여 계산된 새로운 블록의 상태가 올바른지 검증합니다.
이 단계가 완료되면, 상위 체인의 검증자는 당신의 자금을 훔칠 수 없습니다. 그들은 모든 사람이 자금을 인출하는 것을 방지하기 위해 사용 불가능한 데이터를 포함하는 블록을 게시할 수 있지만, 자금을 훔칠 수는 없습니다(사용자에게 몸값을 요구하여 자금을 인출할 수 있도록 허용하는 데이터를 공개하려고 하지 않는 한). 이는 유효성 검증과 동일한 보안 모델을 가지고 있습니다.
그러나 우리는 여전히 두 번째 문제를 해결하지 못했습니다: 상위 체인은 이더리움의 데이터를 읽을 수 없습니다. 이를 실현하기 위해서는 다음 두 가지 방법 중 하나를 취해야 합니다:
상위 체인에 이더리움 블록이 최종 확정되었음을 검증하는 브릿지 계약을 배치합니다;
상위 체인의 각 블록에 최근 이더리움 블록의 해시를 포함하고, 해시 링크를 강제하기 위해 분기 선택 규칙을 사용합니다. 즉, 비주 체인에 링크된 이더리움 블록의 상위 체인 블록 자체가 비주 체인이 됩니다. 만약 상위 체인 블록이 링크된 이더리움 블록이 처음에 주 체인에 있었지만 나중에 비주 체인이 된다면, 상위 체인 블록도 비주 체인이 되어야 합니다.
이러한 보라색 링크는 해시 링크일 수도 있고, 이더리움 합의를 검증하는 브릿지 계약일 수도 있습니다.
이것으로 충분할까요? 실제로는 아직 부족합니다. 왜냐하면 몇 가지 작은 엣지 케이스가 존재하기 때문입니다:
이더리움이 51% 공격을 받으면 어떻게 됩니까?
이더리움의 하드포크 업그레이드는 어떻게 처리합니까?
당신의 체인의 하드포크 업그레이드는 어떻게 처리합니까?
이더리움에 대한 51% 공격은 상위 체인에 대한 51% 공격과 유사한 결과를 초래하지만, 반대의 경우입니다. 이더리움의 하드포크는 상위 체인 내의 이더리움 브릿지를 무효화할 수 있습니다. 사회적 약속(social commitment), 즉 이더리움이 최종 확정된 블록을 복원하면 복원하고, 이더리움이 하드포크를 진행하면 하드포크를 진행한다는 약속은 이 문제를 해결하는 가장 깔끔한 방법입니다.
이러한 약속은 실제로 결코 실행될 필요가 없을 수 있습니다: 만약 상위 체인의 거버넌스 기관이 공격이나 하드포크가 발생할 수 있는 증거를 발견하면, 거버넌스 기관을 활성화할 수 있으며, 거버넌스 기관이 실패할 경우에만 상위 체인을 하드포크할 수 있습니다.
세 번째 질문에 대한 유일한 실행 가능한 답변은 이더리움에서 어떤 형태의 거버넌스 기관을 설정하여 이더리움의 브릿지 계약이 상위 체인의 하드포크 업그레이드를 인식할 수 있도록 하는 것입니다.
요약: 양방향 검증 브릿지는 블록체인을 유효성 검증으로 만드는 데 거의 충분합니다. 주요 남은 요소는 이더리움에서 비정상적인 상황이 발생하여 브릿지 계약이 정상적으로 작동하지 않게 될 경우, 다른 블록체인이 하드포크하여 대응할 것이라는 사회적 약속입니다.
결론
"이더리움과의 연결"에는 두 가지 주요 차원이 있습니다:
이더리움으로의 인출 보안성;
이더리움을 읽는 보안성.
두 가지 모두 매우 중요하며, 서로 다른 고려 사항이 있습니다. 이 두 경우 모두 연속적인 스펙트럼이 존재합니다:
각 차원에는 두 가지 다른 측정 방법이 있습니다(실제로는 네 가지 차원): 인출 보안성은 (i) 보안 수준과 (ii) 얼마나 많은 사용자 또는 사용 사례가 최고 보안 수준의 혜택을 받는지를 통해 측정할 수 있습니다;
읽기 보안성은 (i) 링크가 이더리움 블록을 얼마나 빨리 읽을 수 있는지, 특히 최종 확정된 블록과 어떤 블록의 차이를 통해 측정할 수 있으며, (ii) 링크가 51% 공격 및 하드포크와 같은 엣지 케이스를 처리할 때의 사회적 약속 정도를 통해 측정할 수 있습니다.
이 디자인 공간의 많은 영역에서 프로젝트의 가치가 존재합니다. 특정 애플리케이션에 대해서는 높은 보안성과 긴밀한 연결이 매우 중요합니다. 다른 애플리케이션의 경우, 더 큰 확장성을 위해 더 느슨한 조건을 수용할 수 있습니다. 많은 경우, 오늘날부터 더 느슨한 조건을 사용하고, 기술이 개선됨에 따라 향후 10년 내에 더 긴밀한 결합으로 점진적으로 전환하는 것이 최적의 선택일 수 있습니다.