글: 미스티 문 & 베이팅, 긱웹3
이 글은 HBS 블록체인+크립토 클럽 컨퍼런스 2019에서 Nervos의 공동창업자 Jan의 강연으로, 레이어2와 레이어1의 관계를 주제로 다뤘습니다. 모듈형 블록체인이 올바른 방향이라는 점을 분명히 하고, 블록체인 데이터 저장 메커니즘에 대해 이야기했습니다. 동시에, Jan은 Layer2의 부상으로 인한 Layer1의 고갈 문제를 어떻게 해결할 것인가라는 흥미로운 주제도 제기했습니다.
Layer2와 모듈형 블록체인 내러티브의 초기 지지자 중 한 명으로서, 이더리움 커뮤니티가 여전히 샤딩에 대한 비현실적인 환상을 가지고 있었고 고성능 모놀리식 체인에 대한 내러티브가 아직 충분히 입증되지 않은 상태였던 18년과 19년에 Nervos의 주장은 상당히 전향적인 사고방식이었죠. 하지만 2024년이 된 지금, 이더리움 레이어2의 실제 문제와 탈중앙화 및 신뢰성 측면에서 솔라나의 '고성능 퍼블릭 체인'의 단점을 돌아보면 5년 전 얀의 견해가 선견지명이 있었다고 말할 수 있습니다. 긱웹3은 레이어2 자체에 대한 관심으로 이더리움과 비트코인 커뮤니티의 네르보스와 레이어2 애호가들이 배우고 토론할 수 있도록 얀의 강연을 텍스트 버전으로 정리하여 여기에 게시했습니다.
이미지 src="https://img.jinse.cn/7309078_image3.png">
다음은 Jan의 강연 원문입니다.
Layer1과 Layer2의 정의
저가 정의하는 L1과 L2(레이어 2 네트워크)의 정의는 다음과 같습니다.
이미지 src="https://img.jinse.cn/7309079_image3.png">
우선, 네로브스는 탈중앙화 경제의 요구를 충족시키려는 블록체인 네트워크일 뿐이며 '모든 문제를 해결할 책임이 없다는 점을 강조하는 것이 중요합니다. ". 우리가 알고 있는 Layer1과 Layer2의 차이점은 합의의 강도이며, L1 네트워크는 가능한 가장 광범위한 합의, 즉 "글로벌 합의"를 가져야 합니다. 허가 없는 글로벌 합의를 통해 전 세계 누구나 L1 합의 과정에 참여할 수 있으며, 궁극적으로 레이어1은 탈중앙화 경제의 '앵커' 역할을 할 수 있습니다. 이러한 관점에서 레이어1을 "합의 레이어"라고 부를 수 있습니다.
반면, L2 네트워크는 참여자가 한 국가, 한 산업, 심지어 한 회사나 조직 또는 아주 작은 커뮤니티에 속할 수 있는 소규모 컨센서스를 가지고 있는 네트워크입니다. <합의 범위에서 L2의 희생은 더 높은 TPS, 더 낮은 지연 시간, 더 나은 확장성 등 다른 발전된 기능을 위해 지불해야 하는 대가입니다. L2를 "프로토콜 레이어"라고 할 수 있으며, L1과 L2는 종종 크로스 체인 브리지로 연결됩니다.
블록체인 확장성 문제를 해결하기 위해서만이 아니라 계층화된 아키텍처가 "모듈형 블록체인"을 가장 쉽게 시작할 수 있는 방법이기 때문에 L2 네트워크를 구축했다는 점을 강조하는 것이 중요합니다. 모듈형 블록체인이란 서로 다른 유형의 문제를 서로 다른 모듈에 넣어 해결하는 것입니다.
많은 사람들이 블록체인 컴플라이언스 및 규제에 대해 이야기하고 있는데, 비트코인이나 이더리움을 기존 규제 프레임워크에 어떻게 맞출 수 있을까요? 계층화된 아키텍처가 이 문제에 대한 하나의 해답이 될 수 있습니다. 규제 요건을 충족하는 비즈니스 로직을 레이어1 수준에서 직접 추가하면 탈중앙화와 중립성이 훼손될 수 있으므로 규제 준수 관련 로직을 레이어2에서 별도로 구현할 수 있습니다.
Layer2는 권한 기반 시스템 또는 스테이트풀 채널 네트워크에 기반한 소규모 블록체인 구축과 같이 특정 규제나 표준에 맞게 맞춤화할 수 있습니다. 이를 통해 Layer1의 탈중앙화 및 중립성을 훼손하지 않으면서도 규정을 준수할 수 있습니다.
또한 계층화된 아키텍처를 통해 보안과 사용자 경험 간의 충돌을 해결할 수 있습니다. 비유하자면, 개인키의 보안을 유지하려면 어느 정도의 편의성을 희생해야 하고, 블록체인도 마찬가지로 블록체인의 절대적인 보안을 보장하려면 해당 체인의 성능 등 무언가를 희생해야 하는 것이죠. 하지만 계층화된 아키텍처를 사용하면 L1 네트워크에서 보안을 완벽하게 추구하고 더 나은 사용자 경험을 위해 L2 네트워크에서 약간의 보안을 희생할 수 있습니다. 예를 들어, L2에서 상태 저장 채널을 사용하여 네트워크 성능을 최적화하고 지연 시간을 줄일 수 있습니다. 따라서 레이어2의 설계는 보안과 사용자 경험 사이의 절충안일 뿐입니다.
위 내용은 자연스럽게 질문으로 이어집니다. 모든 블록체인을 레이어1으로 사용할 수 있을까요?
정답은 는 '아니오'다. 탈중앙화를 통해 검열에 강해야 하기 때문에 무엇보다도 Layer1 네트워크의 탈중앙화와 보안이 최우선이라는 점을 명확히 해야 합니다. L1은 전체 블록체인 네트워크의 근간이자 전체 암호화폐 경제 시스템의 앵커이기 때문에 L1 보안을 추구하는 것은 기본입니다.
이 같은 기준에서 볼 때, 비트코인과 이더는 의심할 여지없이 가장 대표적인 L1 네트워크이며, 매우 강력한 합의 범위를 가지고 있습니다. 이 두 가지를 제외하면 대부분의 블록체인은 L1 기준을 충족하지 못하며 합의 수준이 낮습니다. 예를 들어, EOS는 표준 이하의 합의를 가지고 있으며 일부 규칙이 자신에게만 적용되는 것은 말할 것도 없고 L2 네트워크의 역할만 할 수 있습니다.
현재 레이어1 네트워크의 문제점
레이어1의 정의를 명확히 한 후, 비트코인과 이더리움에서도 어느 정도 존재하는 기존 레이어1 네트워크에는 세 가지 문제가 있음을 지적하고자 합니다.
1. 데이터 저장의 공유지의 비극 문제
블록체인을 사용할 때 일정 비용을 지불해야 하지만 비트코인의 경제 모델에서 수수료 구조 설계는 컴퓨팅 비용과 네트워크 대역폭 비용만 고려하고 있습니다. 네트워크 대역폭 비용만 고려하고 데이터 저장 비용은 고려하지 않습니다. 예를 들어, 사용자는 체인에 데이터를 저장하는 데 한 번만 비용을 지불하지만 저장 기간은 영구적이기 때문에 사람들은 체인에 무엇이든 영구적으로 업로드하여 저장 자원을 남용할 수 있으며, 궁극적으로 네트워크의 모든 노드가 증가하는 저장 비용을 부담해야 합니다. 이는 네트워크에 참여하고자 하는 모든 노드 러너의 비용이 극대화된다는 문제를 야기합니다.
이미지 src="https://img.jinse.cn/7309082_image3.png">
특정 블록체인의 상태/계정 데이터의 총량이 1테라바이트 이상이라고 가정하면, 모든 사람이 전체 상태와 거래 내역을 쉽게 동기화할 수 있는 것은 아닐 것입니다. 이 경우 전체 상태를 동기화할 수 있다고 해도 해당 거래 내역을 스스로 검증하기 어렵기 때문에 블록체인의 가장 핵심 가치인 신뢰가 필요 없는 특성이 약화될 수 있습니다.
이더넷 재단은 이러한 문제를 인식하고 있으며 EIP-103에 스토리지 임대 설계를 포함시켰지만 이것이 최적의 솔루션이라고 생각하지는 않습니다.
이미지 src="https://img.jinse.cn/7309083_image3.png">
우리는 UTXO의 확장으로 볼 수 있는 "셀"이라는 새로운 상태 모델을 Nervos에서 제안합니다. 확장입니다. 비트코인의 UTXO 상태에서는 비트코인의 잔액 값만 저장할 수 있지만, 셀에서는 모든 유형의 데이터를 저장할 수 있으며, 비트코인의 UTXO 금액과 정수 값을 셀의 최대 저장 용량을 지정하는 "용량"으로 일반화할 수 있습니다.
이런 식으로 CKB에 있는 네이티브 자산의 수를 스테이트의 크기와 연결합니다. 어떤 셀도 용량 제한보다 더 많은 공간을 차지할 수 없으므로 데이터의 총량은 일정 범위 내에서 유지됩니다.
이미지 src="https://img.jinse.cn/7309084_image3.png">
그리고 스테이트 데이터의 크기가 노드 러너들에게 더 적절한 토큰 인플레이션 비율로 간섭하지 않도록 보장합니다. 누구나 CKB 네트워크에 참여할 수 있으며, 과거 데이터를 검증하고 최종 상태가 유효한지 확인할 수 있으며, 이는 블록체인의 저장 문제에 대한 CKB의 제안된 해결책입니다.
2. 레이어1의 고갈
레이어2를 확장하여 레이어2에서 많은 거래 활동을 하게 되면 필연적으로 레이어1의 거래 수가 감소하게 되고 레이어1 채굴자/노드 운영자의 경제적 보상도 줄어들게 됩니다. 그에 따라 감소할 것입니다. 이 경우, 레이어1 채굴자/노드 러너의 동기가 감소하여 궁극적으로 레이어1의 보안이 약화될 것입니다. 이것이 이른바 레이어1 고갈 문제입니다.
극단적인 예를 들어 모든 거래 활동을 L2로 옮기면 그 근간이 되는 L1은 지속 가능하지 않게 됩니다. 그렇다면 이 문제를 어떻게 해결할 수 있을까요?
이를 위해서는 블록체인 네트워크에 어떤 종류의 사용자가 있는지 구분해야 하며, 이를 간단히 분류하면 가치 저장 사용자( SoV 사용자, 가치 저장소 사용자)와 유틸리티 사용자로 분류할 수 있습니다.
CKB를 예로 들어 설명하자면, SoV 사용자는 기본 자산인 CKB 토큰을 가치 저장 수단으로 사용하는 반면, 유틸리티 사용자는 셀을 사용하여 상태를 저장하며, SoV 사용자는 CKB 토큰의 인플레이션으로 인한 가격 희석에 반발하는 반면, 유틸리티 사용자는 데이터에 비례하는 상태 저장에 대해 채굴자에게 비용을 지불해야 합니다. 스토리지의 기간과 설치 공간은 데이터의 기간과 설치 공간에 비례합니다.
네트워크에서 지속적으로 새로운 CKB 토큰을 발행하여 고정된 비율의 인플레이션을 만들어 채굴자에게 지급합니다. 이는 유틸리티 사용자의 손에 있는 토큰의 가치를 희석시킵니다(이는 CKB 경제 모델의 세 가지 발행 모드 중 하나인 "2차 발행"으로, "Stable++: RGB++ 레이어를 위한 최초의 스테이블코인 프로토콜" 문서에서 설명한 대로 연간 13억 4,400만 개의 CKB 토큰을 고정 발행하는 방식입니다). (자세한 내용은 "Stable++: RGB++ 레이어의 첫 스테이블코인 프로토콜이 출항하다"를 참조하세요).
이 과정은 또한 SoV 사용자의 자산을 희석시켰기 때문에 인플레이션 손실을 상쇄하기 위해 보조금을 지급할 수 있었습니다(이는 나중에 NervosDAO의 몫이 되었습니다). 즉, CKB 인플레이션으로 인한 채굴자의 이익은 사실상 유틸리티 유저에게만 지급됩니다. 곧 CKB에 대한 토큰 이코노미 백서를 발표할 예정이며, 여기에는 관련 이슈가 자세히 설명될 것입니다.
이러한 토큰 이코노미 설계에 따라 채굴자는 CKB 체인에서 거래 활동이 없더라도 보상을 받을 수 있으며, 따라서 모든 "가치 저장소 레이어" 또는 레이어2와 호환됩니다. 요약하자면, 우리는 인플레이션을 의도적으로 수정하여 레이어1의 기아 문제를 해결합니다.
3. 암호화 기본 요소 부족
사용자는 다른 암호화 방법이나 슈노르, BLS 등과 같은 다른 서명 알고리즘을 사용하기 위해 다른 암호화 기본 요소가 필요합니다.
계층1 블록체인이 되려면 계층2와 상호 운용하는 방법을 고려해야 합니다. 이더리움 커뮤니티의 일부에서는 레이어2를 구현하는 방법으로 ZK 또는 플라즈마를 사용하는 것을 제안했지만, ZK 관련 프리미티브 없이 어떻게 레이어1에서 인증을 수행할 수 있을까요?
또한, Layer1은 다른 Layer1과의 상호운용성을 고려해야 합니다. 여전히 이더넷의 예를 들어, 이더넷 팀에서 Blake2b 해시 함수를 EVM 호환 옵코드로 사전 컴파일해 달라는 요청이 있었습니다. 이 제안의 목적은 지캐시와 이더를 연결하여 사용자가 둘 사이에서 거래할 수 있도록 하는 것입니다. 위 제안은 2년 전에 제시되었지만, 해당 암호화 프리미티브의 부족으로 인해 지금까지 실현되지 않았으며, 이는 레이어1의 개발에 심각한 장애물이 되고 있습니다.
이 문제를 해결하기 위해 CKB는 비트코인 가상머신 및 EVM과는 매우 다른 고도로 추상화된 가상머신인 CKB-VM을 구축했습니다. 예를 들어 비트코인에는 비트코인 트랜잭션에서 secp256k1 서명을 확인하기 위한 특별한 OP_CHECKSIG 옵코드가 있습니다. 반면, CKB-VM에서는 특별한 처리가 필요하지 않으며, 사용자 정의 스크립트나 스마트 컨트랙트만으로 secp256k1 서명을 확인할 수 있습니다.
CKB는 또한 secp256k1을 기본 서명 알고리즘으로 사용하지만, 하드코딩된 암호화 프리미티브가 아닌 CKB-VM에서 실행된다는 점이 다릅니다.
CKB는 EVM과 같은 다른 VM에서 암호화 프리미티브를 실행하는 것이 매우 느리기 때문에 이를 개선하려는 원래 의도로 VM을 구축했습니다. EVM에서는 단일 secp256k1 서명을 검증하는 데 약 9밀리초가 걸리는 반면, CKB-VM에서는 동일한 알고리즘을 사용하여 계산하는 데 1밀리초밖에 걸리지 않아 효율성이 10배 가까이 향상되었습니다.
따라서 CKB-VM의 가치는 이제 사용자가 암호화 프리미티브를 사용자 정의할 수 있으며, CKB-VM은 암호화 프리미티브의 대부분을 호환 가능하게 만들 수 있다는 점입니다. RISC-V 명령어 집합을 사용하며, 널리 사용되는 컴파일러 모음인 GCC로 컴파일된 모든 언어가 CKB에서 실행됩니다.
또한 CKB-VM의 높은 호환성은 CKB의 보안을 강화합니다. 개발자들이 항상 하는 말처럼 "자신만의 암호화 알고리즘을 구현하지 않으면 항상 잘못될 수 있다"는 말처럼, 자체 암호화 알고리즘을 정의하는 것은 종종 예상치 못한 보안 위험을 초래할 수 있습니다.
요약하면, CKB 네트워크는 제가 L1 네트워크에 대해 제안한 세 가지 문제를 해결하기 위해 다양한 방법을 사용하며, 이것이 바로 CKB를 적격 레이어1 네트워크라고 부를 수 있는 이유입니다.