이더리움 2.0 심층 분석: 광대한 여정의 첫 걸음 Serenity「고요」단계
이 글은 2020년 12월 4일 화성 재정에 게재되었으며, 저자는 천봉 자본의 파트너인 Steven입니다.
10월 4일 이더리움 개발팀이 ETH2.0의 시작 조건을 발표하고 예치 주소를 공개한 이후, 다양한 ETH 깊은 참여자들이 자신의 32개 이상의 ETH를 지원하며 시작을 준비했습니다. 결국 10월 24일, 비신이 설정한 최소 16384건의 32-ETH 검증자 예치금 총액이 52.4만 ETH를 초과 달성하여 ETH2.0 메인넷이 12월 1일 자정에 정시로 가동되었습니다.
메인넷 가동 후 첫 번째 단계는 "Serenity"로 명명되었으며, 운영되는 메인 체인은 Beacon chain, 즉 현재 운영 중인 신호 체인입니다(아래 그림 참조, 현재 357번째 Epoch에 도달했습니다). 그렇다면 이 POS 체인에 대해 어떤 설계 철학과 혁신점이 있으며, 이들이 ETH의 POS 전환을 충분히 뒷받침할 수 있을까요?
1.0 Principles Serenity의 설계 철학
Simplicity 간단함
암호 경제학에서의 지분 증명과 샤딩 분할 기술의 내재적 복잡성을 바탕으로, Serenity는 설계 시 최대한의 단순성을 추구하여: 1) 개발 비용 최소화; 2) 예측할 수 없는 보안 문제의 위험 감소; 3) 이후 개발자가 프로토콜을 설계할 때 사용자에게 프로토콜의 세부 사항과 합법성을 더 쉽게 설명할 수 있도록 합니다. (세 번째 점에 대해, 특정 프로토콜의 복잡성이 불가피할 경우 우선 순위는 다음과 같아야 합니다: Layer2 프로토콜 > 클라이언트 구현 > 프로토콜 규격)
Long-term stability 장기 안정성
기초 프로토콜의 구축은 충분히 완벽하고 예측 가능해야 하며, 그래야만 향후 10년 또는 그 이상의 기간 동안 변경이 필요하지 않습니다. 모든 혁신은 이러한 기초 위에서 더 높은 프로토콜 계층에서 발생하고 구축될 수 있습니다.
Sufficiency 충분성
Serenity는 가능한 한 많은 응용 프로그램이 그녀의 프로토콜 상단에 구축될 수 있도록 기본적으로 보장합니다.
Defense in depth 심층 방어
프로토콜은 다양한 가능한 보안 가정 하에서도 무차별적으로 작동할 수 있습니다. (예: 네트워크 지연, 장애 수, 사용자 악의적 동기 등)
Full light-client verifiability 전량 경량 클라이언트 검증 가능성
주어진 가정 하에서(예: 네트워크 지연, 공격자의 예산 제한, 1/n 또는 s/n의 소수의 정직한 노드), 검증 클라이언트는 51% 공격 하에서도 전체 시스템의 모든 유효 데이터를 얻을 수 있어야 합니다. (사실 이 점은 심층 방어의 하위 집합이기도 합니다.)
2.0 The Layer1 VS Layer2 일층 프로토콜과 이층 프로토콜의 균형
모든 블록체인 프로토콜에는 Layer1에 더 많은 기능을 포함할 것인지, 아니면 Layer1의 설계를 최대한 단순하게 하고 Layer2에서 더 많은 기능을 구축할 것인지에 대한 논쟁이 존재합니다.
여기서 Layer2를 지지하는 이유는 다음과 같습니다:
a. 합의 계층의 복잡성 감소
b. 합의 계층 수정 필요성 감소
c. 합의 계층 실패 위험 감소
d. 프로토콜 거버넌스의 부담과 정치적 위험 감소
e. 시간이 지남에 따라 더 유연하고 새로운 아이디어를 구현할 수 있는 능력 증가
Layer1을 지지하는 이유는 다음과 같습니다:
a. 메커니즘 부족으로 인해 모든 사람이 새로운 프로토콜(하드 포크)로 업그레이드해야 하는 위험 감소
b. 전체 시스템의 복잡성 감소 가능성
c. 첫 번째 계층이 충분히 강력하지 않으면 두 번째 계층 프로토콜 위에 얼마나 복잡하고 거대한 메커니즘을 구축할 수 없는지 (비트코인 네트워크 위에 이더리움을 구축할 방법이 없는 것처럼)
이더리움 2.0의 대부분은 Layer1과 Layer2 사이의 신중한 균형을 이루고 있으며, Layer1에서의 노력은 다음 세 가지를 포함합니다:
1) 준 튜링 완전, 전체 상태 코드 실행
2) 확장 가능하고 계산 가능
3) 고속 블록 완료 시간
구체적으로:
1) 없으면, 완전한 신뢰 모델을 사용하여 Layer2 응용 프로그램을 구축할 수 없습니다;
2) 없으면, 확장 성능이 특정 상태 채널 및 Plasma와 같은 특정 기술에 제한되며, 이러한 기술은 종종 자금 잠금 및 대규모 자금 인출 문제에 직면합니다;
3) 없으면, 상태 채널 없이 적시에 거래 요구를 실현할 수 없으며, 이는 자금 잠금 및 대규모 자금 인출 문제를 초래할 것입니다;
위의 특성 외에도, ETH2.0은 1) 프라이버시, 2) 고급 프로그래밍 언어, 3) 확장 가능한 상태 저장소, 4) 서명 방안을 Layer2에 남겨두었습니다. 이는 모두 빠른 혁신의 분야이며, 기존의 많은 솔루션이 서로 다른 특성을 가지고 있어, 미래에는 더 나은 솔루션 간의 균형을 피할 수 없습니다. 예를 들어:
1) 프라이버시: 링 서명 + 비밀 값 VS Zk snark VS Zk starks; 롤업 VS ZEXE VS …
2) 고급 프로그래밍 언어: 선언적 및 명령적, 구문, 형식 검증 특성, 유형 시스템, 보호 특성 및 로컬 지원 프라이버시 기능
3) 확장 가능한 상태 저장소: 계정 VS UTXOs, 임대할 수 없는 솔루션, 원시 마클 브랜치 증인 VS Snark/Stark 압축 VS RSA 누적, 스페어 마클 트리 VS AVL 트리 VS 사용 기반의 불균형 트리;
4) 서명 방안: M/N 다중 서명, 소셜 키의 철회 및 복구, Schnorr 서명, BLS 서명, Lamport 서명
3.0 Why Casper 왜 Casper를 POS 솔루션으로 선택했는가
현재 세 가지 주요 POS 합의 알고리즘이 있습니다:
a. 나카모토 영감을 받은 것, 예: Peercoin, NXT, Ouroboros…
b. PBFT 영감을 받은 것, 예: Tendermint, Casper FFG, Hotstuff
c. CBC Casper
후자의 두 가지 솔루션에는 보안 예치금 및 처벌(첫 번째 솔루션과 예치금 처벌은 호환되지 않음)을 사용할지 여부와 방법에 대한 문제가 있습니다. 모든 세 가지 솔루션은 작업 증명보다 우수하며, ETH2.0의 접근 방식을 구체적으로 소개하겠습니다.
Slashing
이더리움 2.0에서 사용하는 Slashing 메커니즘은 검증자가 부적절한 행동을 할 경우, 네트워크에서 검증 노드로 작용하는 토큰을 몰수하는 것입니다. 최상의 경우 약 1%의 검증자가 처벌을 받을 것이며, 최악의 경우 전체 네트워크에서 예치된 ETH가 처벌을 받을 수 있습니다. 이러한 접근 방식의 의미는 다음과 같습니다:
1) 공격 비용 증가
2) 검증자들이 존재하는 문제를 극복하여, 검증자가 정직한 행동에서 가장 큰 동기가 게으름(검증을 하지 않고 모든 거래에 서명하는 것)으로 작용하도록 하며, 모순되거나 부정확한 서명에 대해 큰 처벌을 부과함으로써 이 문제를 상당히 해결할 수 있습니다. 이와 관련하여 전형적인 사례가 있습니다: 2019년 7월, 코스모스의 한 검증자가 서로 충돌하는 두 블록에 서명하여 예치금이 몰수되었습니다. 이 검증자가 이러한 실수를 한 이유는 주 노드와 백업 노드를 동시에 운영하여 하나가 오프라인이 되어도 보상을 받을 수 있도록 했기 때문입니다. 그러나 이 두 노드는 동시에 켜져 있어 결국 서로 모순된 결과를 초래했습니다.
합의 알고리즘의 선택
대규모 검증 노드가 악의적으로 행동할 경우(1/3 in BPFT-inspired, 1/4 in CBC), BFT-inspired 및 CBC 학파의 일관성 알고리즘만이 더 나은 최종성을 제공할 수 있으며, 나카모토 영감을 받은 합의 알고리즘은 이러한 전제 하에서 최종성을 실현할 수 없습니다. 최종성의 확인은 대다수의 검증 노드가 온라인 상태여야 하며, 이 요구는 샤딩 분할 메커니즘에서도 충족되어야 합니다. 샤딩은 반드시 2/3의 무작위 검증자가 교차 조각 통신 시 서명해야 합니다.
ETH2.0이 Casper FFG를 선택한 이유는 가장 간단한 알고리즘으로 프로토콜의 최종 부분에서 최종성을 실현할 수 있기 때문이며, 향후 세 번째 단계에서 점진적으로 CBC Casper로 전환할 것입니다.
4.0 Sharding 분할 - 왜 ETH2.0은 슈퍼 노드를 싫어하는가
Layer1의 경우, 분할의 주요 방법은 슈퍼 노드를 사용하는 것입니다. 즉, 모든 합의 노드가 강력한 서버를 소유하도록 요구하여 각 노드가 독립적으로 모든 것을 처리할 수 있도록 보장합니다. 슈퍼 노드 기반의 확장은 매우 편리하며, 구현이 간단합니다. 기존 블록체인의 작업 방식에 더 평행하게 작동하는 소프트웨어 엔지니어링 계층을 추가하는 것입니다.
그러나 이러한 접근 방식은 다음과 같은 주요 문제에 직면합니다:
1) 담보 풀 집중화 위험: 운영 노드의 고정 비용이 매우 높기 때문에 참여할 수 있는 사용자가 적습니다. 검증 노드를 운영하는 고정 비용이 보상의 대부분을 차지하면, 큰 풀은 작은 풀보다 더 적은 비용을 절감할 수 있어 작은 풀이 지속적으로 밀려나 집중화 경향이 심화됩니다. 반면, 분할 시스템에서는 더 많은 ETH를 담보로 제공한 큰 노드가 더 많은 거래를 검증해야 하므로 비용이 고정되지 않습니다.
2) AWS 집중화 위험: 슈퍼 노드 시스템에서는 가정용 작업실 형태의 담보 방식이 거의 존재하지 않으며, 대부분의 담보가 클라우드 컴퓨팅 환경에서 이루어져 단일 실패 지점의 위험이 크게 증가합니다.
3) 확장성 문제: 거래량이 증가함에 따라 위의 위험이 증가하며, 분할 시스템에서는 증가하는 부하를 더 쉽게 처리하여 위의 위험을 줄일 수 있습니다.
이러한 집중화 위험은 ETH2.0이 초저 지연(<1s)을 특별히 추구하지 않은 이유이기도 하며, 이들은 이 지연을 상대적으로 보수적인 데이터로 설정했습니다.
ETH2.0의 분할 시스템에서는 ETH와 계산 능력이 얼마나 많든지 간에 ETH 검증 시스템에 참여할 수 있습니다. 고정 비용이 최소화되어, 매우 많은 ETH를 보유하고 있더라도 직면하는 비용은 여전히 선형 이하입니다.
5.0 보안 모델
ETH2.0의 심층 방어 및 분할 방법은 무작위 위원회 샘플링을 결합하여 정직한 다수자 모델 하에서의 유효성과 가용성을 실현하며, 게으른 행동자를 방지하기 위한 보관 증명을 제공하고, 무효 또는 사용할 수 없는 체인을 감지하기 위해 사기 증명 및 데이터 가용성 증명을 제공합니다. 이를 통해 클라이언트는 무효 또는 사용할 수 없는 체인을 거부할 수 있습니다.
아래 표는 현재 예상되는 보안 속성을 나타냅니다:
6.0 Casper의 보상 메커니즘은 어떻게 설계되었는가?
각 Epoch의 각 라운드에서 각 검증자는 자신의 증명을 제공합니다. 이 증명은 검증자가 어떤 것이 블록 헤드인지 지적하고 서명하는 것을 의미합니다. 이 증명이 패키지화되면, 검증자는 다음과 같은 보상을 받게 됩니다:
1) 패키지화된 증명에 대한 보상
2) 올바른 Epoch 체크포인트 지정에 대한 보상
3) 올바른 체인 헤드 지정에 대한 보상
4) 증명이 신속하게 패키지화되어 체인에 올라간 것에 대한 보상
5) 올바른 샤드 블록 지정에 대한 보상
다양한 상황에서 구체적인 보상 계산 방식은 다음과 같습니다:
B=기본 보상, P=올바른 판단을 내린 검증자의 비율
임의로 올바른 판단을 내린 검증자는 B*P의 보상을 받게 됩니다.
B의 계산 공식은 다음과 같습니다:
여기서 D1…Dn은 예치량의 크기를 나타내며, k는 상수입니다.
7.0 Beacon chain/shard chain의 구조
분할 시스템은 64개의 논리적 분할 "shards"를 포함하며, 이 시스템은 beacon chain을 중심으로 모든 활동을 조정합니다.
이 시스템에서 거래가 최종 확인되는 과정은 다음과 같습니다:
1) 거래가 특정 shard 블록의 그룹에 포함됩니다.
2) 무작위로 선택된 검증 위원회가 이 shard에 배정되어 검증 및 서명을 수행합니다.
3) 위원회의 서명이 다음 beacon 블록에 패키지화됩니다.
4) 다음 beacon chain이 Casper FFG를 통해 최종성을 확인합니다.
각 shard 블록을 해시로 다음 beacon chain에 연결하여 shard가 서로의 마클 루트를 신속하게 인식하고 서로의 영수증을 검증할 수 있도록 합니다:
위 그림에서, 만약 shard n이 즉시 n+1 beacon chain에 패키지화되지 않으면, n+2 beacon chain의 위원회는 이 shard와 다음 shard를 패키지화하려고 시도할 수 있습니다.
8.0 결론 - ETH2.0의 미래에 대하여
"평온"은 ETH2.0의 광대한 여정의 첫 번째 단계일 뿐이지만, 그들이 첫 단계에서 한 선택을 통해 전체 팀이 지난 3년 동안 공정성과 효율성에 대해 깊이 고민했음을 알 수 있습니다. 그들은 단순히 백만 TPS라는 소위 목표를 추구하지 않았으며, 안전성을 보장하는 전제 하에 실용성과 실행 가능성을 더욱 실천하고 있습니다.
나는 앞으로 오랜 시간 동안 ETH가 전체 블록체인 네트워크의 초석이 될 것이라고 믿습니다. 올해의 DeFi는 미성숙한 네트워크 조건에서의 위대한 사회적 실천에 불과하며, 2.0이 2021-2022년에 더욱 완벽해질 때, 반드시 더 큰 상업적 가치와 사회적 가치를 발산할 것입니다.