원문 기사: https://www.parity.io/blog/scalability-tradeoffs-polkadot-web3
안드레이 산두 지음
편집자: OneBlock+
블록체인이 계속해서 더 높은 효율성을 추구함에 따라 점차 핵심적인 질문이 떠오릅니다. 성능을 확장하는 한편 보안과 시스템 복원력을 희생해야 할까요?
이는 기술적인 과제일 뿐만 아니라 심도 있는 건축 설계 결정이기도 합니다. 특히 Web3 생태계의 경우, 신뢰와 보안을 희생해서 구축한 빠른 시스템으로는 진정으로 지속 가능한 혁신을 지원하기 어려울 때가 많습니다.
Web3 확장성을 적극적으로 추진하는 Polkadot은 높은 처리량과 낮은 지연 시간이라는 목표를 달성하기 위해 어느 정도 희생을 치렀습니까? 롤업 모델이 분산화, 보안 또는 네트워크 상호 운용성을 손상시키는가?
이 글에서는 이러한 문제에 초점을 맞추고, 폴카닷의 확장성 설계에 있어서의 균형과 고려 사항을 심층적으로 분석하고, 다른 주류 퍼블릭 체인의 솔루션과 비교하여 성능, 보안, 분산화 간의 다양한 선택지를 탐구합니다.
🧬폴카닷 스케일링 디자인의 과제
유연성과 분산화의 균형
폴카닷의 아키텍처는 검증자 네트워크와 중앙 집중식 릴레이 체인에 의존합니다. 이로 인해 어떤 측면에서 중앙집중화 위험이 발생할 수 있을까요? 분산된 특성에 영향을 줄 수 있는 단일 실패 지점이나 제어 지점이 있을 가능성이 있습니까?
롤업의 작동은 릴레이 체인에 연결된 시퀀서에 따라 달라지며, 시퀀서와 시퀀서의 통신에는 콜레이터 프로토콜이라는 메커니즘이 사용됩니다. 이 프로토콜은 허가도 신뢰도 전혀 없습니다. 인터넷에 연결된 사람이라면 누구나 이를 사용할 수 있으며, 소수의 릴레이 체인 노드에 연결하고 롤업 상태 전환 요청을 제출할 수 있습니다. 이러한 요청은 릴레이 체인의 핵심에 의해 검증되며 하나의 전제 조건만 충족하면 됩니다. 즉, 유효한 상태 전환이어야 하며, 그렇지 않으면 롤업 상태가 진행되지 않습니다.
수직적 확장의 상충 관계
롤업은 폴카닷의 멀티코어 아키텍처를 활용하여 수직적 확장성을 달성할 수 있습니다. 이 새로운 기능은 "탄력적 확장" 기능을 통해 도입되었습니다. 설계 과정에서 롤업 블록 검증이 고정 코어에서 실행되지 않기 때문에 유연성에 영향을 미칠 수 있다는 점을 발견했습니다.
블록을 릴레이 체인에 제출하는 프로토콜은 허가와 신뢰가 필요 없으므로 누구나 검증을 위해 롤업이 할당된 모든 코어에 블록을 제출할 수 있습니다. 공격자는 이를 악용하여 이전에 검증된 합법적 블록을 여러 코어에 반복적으로 제출하여 악의적으로 리소스를 소모하고 결과적으로 롤업의 전체 처리량과 효율성을 감소시킬 수 있습니다.
폴카닷의 목표는 시스템의 핵심 기능을 손상시키지 않으면서 롤업 복원력과 릴레이 체인 리소스의 효율적인 사용을 유지하는 것입니다.
시퀀서는 신뢰할 수 있나요?
간단한 해결책은 프로토콜을 "허가된" 프로토콜로 만드는 것입니다. 예를 들어, 허용 목록 메커니즘을 사용하거나 기본적으로 시퀀서가 악의적인 행위를 하지 않을 것이라고 신뢰하여 롤업의 활성 상태를 보장하는 것입니다.
하지만 폴카닷의 디자인 철학에 따르면, 우리는 시스템의 "신뢰할 수 없음"과 "허가 없음"의 특성을 유지하고자 하기 때문에 시퀀서에 대한 어떠한 신뢰 가정도 할 수 없습니다. 누구나 콜레이터 프로토콜을 사용하여 롤업에 대한 상태 전환 요청을 제출할 수 있어야 합니다.
🏄Polkadot: 타협하지 않는 솔루션
폴카닷이 최종적으로 선택한 해결책은 롤업 상태 전환 함수(런타임)를 통해 문제를 완전히 해결하는 것이었습니다. 런타임은 모든 합의 정보에 대한 유일한 진실의 원천이므로 검증을 수행할 Polkadot 코어를 출력에 명시적으로 명시해야 합니다.
이 디자인은 유연성과 보안을 두 배로 보장합니다. 폴카닷은 가용성 프로세스에서 롤업 상태 전환을 다시 실행하고 ELVES 암호 경제 프로토콜을 통해 코어 할당의 정확성을 보장합니다.
롤업 블록이 Polkadot의 데이터 가용성 계층(DA)에 기록되기 전에 약 5명의 검증자 그룹이 해당 블록의 적법성을 검증합니다. 그들은 시퀀서가 제출한 후보 영수증과 유효성 증명(PoV)을 받는데, 여기에는 롤업 블록과 해당 저장 증명이 포함되어 있습니다. 이 정보는 파라체인 검증 기능에 의해 처리되고 릴레이 체인의 검증자에 의해 다시 실행됩니다.
검증 결과에는 블록을 검증해야 하는 코어를 지정하는 데 사용되는 코어 선택기가 포함되어 있습니다. 검증자는 자신이 담당하는 핵심 내용과 일관성이 있는지 확인하기 위해 인덱스를 비교합니다. 그렇지 않으면 블록이 삭제됩니다.
이 메커니즘은 시스템이 항상 신뢰할 수 없고 허가가 필요 없는 속성을 유지하고, 시퀀서와 같은 악의적인 행위자가 검증 위치를 조작하지 못하도록 방지하며, 롤업이 여러 코어를 사용하는 경우에도 복원력을 보장합니다.
보안
확장성을 추구하는 과정에서 Polkadot은 보안에 타협하지 않았습니다. 롤업의 보안은 릴레이 체인을 통해 보장되며, 활성 상태를 유지하려면 정직한 정렬자가 하나만 필요합니다.
ELVES 프로토콜을 통해 Polkadot은 모든 롤업에 대한 보안을 완벽하게 확장하여 사용된 코어 수에 대한 제한이나 가정 없이 모든 코어에서 계산을 검증합니다.
따라서 Polkadot의 롤업은 보안을 희생하지 않고도 진정한 확장성을 달성할 수 있습니다.
다재
탄력적 확장은 롤업의 프로그래밍 가능성을 제한하지 않습니다. Polkadot의 롤업 모델은 단일 실행이 2초 이내에 완료되는 한 WebAssembly 환경에서 튜링 완전 계산을 지원합니다. 탄력적 스케일링을 사용하면 6초 기간 동안 수행할 수 있는 총 계산량은 늘어나지만 계산 유형에는 영향을 미치지 않습니다.
복잡성
더 높은 처리량과 더 낮은 지연 시간은 필연적으로 복잡성을 야기하는데, 이는 시스템 설계에서 허용되는 유일한 균형점입니다.
롤업은 Agile Coretime 인터페이스를 통해 리소스를 동적으로 조정하여 일관된 수준의 보안을 유지할 수 있습니다. 또한 다양한 사용 시나리오에 적응하기 위해 일부 RFC103 요구 사항을 구현해야 합니다.
정확한 복잡성은 롤업의 리소스 관리 전략에 따라 달라지며, 이는 온체인 또는 오프체인 변수에 의존할 수 있습니다. 예를 들어:
간단한 전략 : 항상 고정된 수의 코어를 사용하거나 체인 밖에서 수동으로 조정합니다.
경량 전략 : 노드 메모리 풀에서 특정 트랜잭션 부하를 모니터링합니다.
자동화 전략 : 코어타임 서비스를 호출하여 과거 데이터와 XCM 인터페이스를 통해 사전에 리소스를 구성합니다.
자동화된 방법이 더 효율적이기는 하지만 구현 및 테스트 비용도 상당히 증가합니다.
상호 운용성
Polkadot은 서로 다른 롤업 간의 상호 운용성을 지원하며, 탄력적 확장은 메시징 처리량에 영향을 미치지 않습니다.
롤업 간의 메시지 통신은 기본 전송 계층에 의해 구현됩니다. 각 롤업의 통신 블록 공간은 고정되어 있으며 할당된 코어 수와 무관합니다.
앞으로 폴카닷은 오프체인 메시징도 지원할 예정이며, 릴레이 체인은 데이터 플레인이 아닌 제어 플레인 역할을 할 것입니다. 이 업그레이드는 롤업 간의 통신 기능을 개선하고 탄력적 확장을 가능하게 하여 시스템의 수직적 확장성을 더욱 강화합니다.
🧩다른 프로토콜은 어떤 균형을 이루나요?
우리 모두 알고 있듯이, 성능 향상은 종종 분산화와 보안을 희생해서 이루어집니다. 하지만 나카모토 계수로 판단해 보면, 분산화 수준이 낮은 폴카닷의 경쟁자들 중 일부도 여전히 성과가 좋지 않습니다.
솔라나
솔라나는 폴카닷이나 이더리움의 샤딩 아키텍처를 채택하지 않고 대신 역사 증명(PoH), CPU 병렬 처리, 리더 기반 합의 메커니즘을 활용하는 단일 계층 고처리량 아키텍처를 통해 확장성을 달성하며, 이론적으로 최대 65,000의 TPS를 달성합니다.
주요 설계는 공개 전 검증 가능한 리더 스케줄링 메커니즘 입니다.
각 에포크(약 2일 또는 432,000개 슬롯)가 시작될 때, 슬롯은 스테이크 금액에 따라 할당됩니다.
더 많은 지분을 스테이킹할수록 더 많은 금액을 할당받습니다. 예를 들어, 1%의 지분을 보유한 검증자는 블록 생성 기회의 약 1%를 얻습니다.
모든 블록 생산자는 사전에 발표되므로 네트워크가 타깃형 DDoS 공격과 잦은 다운타임의 대상이 될 위험이 커집니다.
PoH와 병렬 처리에는 매우 높은 하드웨어 요구 사항이 있어 검증 노드의 중앙 집중화가 필요합니다. 노드가 더 많이 지분을 보유할수록 블록을 생성할 가능성이 커집니다. 소규모 노드에는 슬롯이 거의 없어서 중앙 집중화가 더욱 심화되고 공격 후 시스템 마비 위험이 커집니다.
TPS를 추구하면서 솔라나는 분산화와 공격 방지 기능을 희생했으며, 나카모토 계수는 20 에 불과해 폴카닷의 172 보다 훨씬 낮습니다.
톤
TON은 TPS가 104,715에 도달할 수 있다고 주장하지만, 이 수치는 256개의 노드와 이상적인 네트워크 및 하드웨어 조건을 갖춘 개인 테스트 네트워크에서 달성된 것입니다. 폴카닷은 분산형 공개 네트워크에서 128,000 TPS를 달성했습니다.
TON의 합의 메커니즘에는 보안 위험이 있습니다. 샤드 검증 노드의 신원이 미리 노출될 수 있습니다 . TON 백서에서는 이를 통해 대역폭을 최적화할 수 있지만 악의적으로 사용될 수도 있다는 점을 명확히 지적하고 있습니다. "도박꾼의 파산" 메커니즘이 없기 때문에 공격자는 샤드가 자신에 의해 완전히 제어될 때까지 기다리거나 DDoS 공격을 통해 정직한 검증자를 차단하여 상태를 조작할 수 있습니다.
이와 대조적으로 Polkadot의 검증자는 무작위로 지정되고 지연되어 공개됩니다 . 공격자는 검증자의 신원을 미리 알 수 없습니다. 공격에는 모든 통제의 성공에 대한 도박이 필요합니다. 정직한 검증자 한 명이 분쟁을 시작하는 한, 공격은 실패하고 공격자는 지분을 잃게 됩니다.
눈사태
Avalanche는 확장을 위해 메인넷 + 서브넷 아키텍처를 사용합니다. 메인넷은 X-Chain(전송, ~4,500 TPS), C-Chain(스마트 계약, ~100~200 TPS), P-Chain(검증자 및 서브넷 관리)으로 구성됩니다.
각 서브넷의 이론적인 TPS는 약 5,000에 도달할 수 있는데, 이는 폴카닷의 아이디어와 비슷합니다. 즉, 단일 샤드의 부하를 줄여 확장을 달성하는 것입니다. 하지만 Avalanche는 검증자가 서브넷에 참여할지 자유롭게 선택할 수 있도록 허용하고 , 서브넷은 지리 및 KYC와 같은 추가 요구 사항을 설정할 수 있어 분산화와 보안이 희생됩니다.
Polkadot에서는 모든 롤업이 통합된 보안 보장을 공유합니다. Avalanche의 서브넷에는 기본적인 보안 보장이 없으며, 일부는 완전히 중앙 집중화될 수도 있습니다. 보안을 강화하려면 여전히 성능에 대한 타협이 필요하며, 결정적인 보안 약속을 제공하는 것은 어렵습니다.
이더리움
이더리움의 확장 전략은 기본 계층에서 직접 문제를 해결하는 것보다 롤업 계층의 확장성에 베팅하는 것입니다. 이런 접근 방식은 본질적으로 문제를 해결하는 것이 아니라, 문제를 스택 위로 넘기는 셈입니다.
낙관적 롤업
현재 대부분의 낙관적 롤업은 중앙 집중화되어 있으며(일부는 시퀀서가 하나만 있음) 보안 부족, 서로 분리, 긴 지연 시간(사기 방지 기간을 기다려야 하며, 보통 며칠이 걸림) 등의 문제가 있습니다.
ZK 롤업
ZK 롤업 구현은 단일 트랜잭션에서 처리할 수 있는 데이터 양에 의해 제한됩니다. 영지식 증명을 생성하는 데 필요한 계산 요구 사항은 매우 높고, "승자 독식" 메커니즘은 쉽게 시스템 중앙화로 이어질 수 있습니다. TPS를 보장하기 위해 ZK 롤업은 각 배치의 거래량을 제한하는 경우가 많은데, 이로 인해 수요가 많을 때 네트워크 혼잡과 가스 가격이 상승하여 사용자 경험에 영향을 미칩니다.
비교해 보면 튜링 완전 ZK 롤업의 비용은 Polkadot의 핵심 암호경제 보안 프로토콜보다 약 2x10^6배 더 높습니다.
게다가 ZK 롤업의 데이터 가용성 문제는 단점을 더욱 악화시킬 것입니다. 누구나 거래를 검증할 수 있도록 하려면 완전한 거래 데이터가 여전히 필요합니다. 이를 위해서는 종종 추가적인 데이터 가용성 솔루션이 필요하므로 비용과 사용자 요금이 더욱 증가합니다.
🎈 결론
확장성의 끝은 타협이어서는 안 됩니다.
다른 퍼블릭 체인과 비교했을 때, 폴카닷은 중앙집중화를 성과로 바꾸거나, 사전 설정된 신뢰를 효율성을 위해 바꾸는 길을 택하지 않았습니다. 대신 탄력적인 확장성, 허가 없는 프로토콜 설계, 통합 보안 계층 및 유연한 리소스 관리 메커니즘을 통해 보안, 분산화 및 고성능의 다차원적 균형을 달성했습니다.
오늘날 우리가 대규모 애플리케이션 구현을 추구함에 따라, Polkadot이 "제로 트러스트 확장성"을 고수하는 것은 Web3의 장기적인 개발을 진정으로 지원할 수 있는 솔루션이 될 수 있습니다.