Vitalik 지원 경로 Epoch 및 슬롯: 이더리움에 더 빠른 거래 확인 시간을 제공
作者 : Vitalik
编译 :남지,Odaily星球日报
一个好的区块链用户体验的重要属性之一是빠른 거래 확인 시간。如今,이더리움은 5년 전과 비교하여 큰 개선을 이루었습니다. EIP-1559와 PoS(더 머지) 이후 안정적인 블록 시간 덕분에, 사용자가 L1에서 전송한 거래는 일반적으로 5-20초 이내에 확인될 수 있습니다,대체로 신용카드 결제 경험과 유사합니다. 그러나 사용자 경험을 더욱 개선하는 것은 가치가 있으며, 일부 애플리케이션은 수백 밀리초 또는 그보다 짧은 지연을 요구합니다. 이 문서에서는 이더리움(거래 확인 시간 개선)의 몇 가지 실용적인 옵션을 탐구할 것입니다.
기존 아이디어 및 기술 개요
단일 슬롯 최종성
현재 이더리움의 Gasper 합의는 단일 슬롯(Slot) 및 Epoch 구조를 사용합니다. 12초마다 하나의 슬롯이 생성되며, 일부 검증자는 체인의 헤드에 투표하고, 32개의 슬롯(6.4분) 내에 모든 검증자가 한 번씩 투표할 기회를 가집니다. 이러한 투표는 PBFT와 유사한 합의 알고리즘의 메시지로 재해석되며, 두 개의 Epoch(12.8분) 후에 최종성이라고 불리는 매우 강력한 경제적 보장을 제공합니다.
지난 몇 년 동안 우리는 현재의 방법에 점점 더 불만족하게 되었습니다. 주된 이유는 두 가지입니다. 첫째, 이 방법은 복잡하며, 슬롯 간 투표 메커니즘과 Epoch 간 최종성 메커니즘 간에 많은 상호작용 오류가 존재합니다. 둘째, 12.8분은 너무 길며, 아무도 그렇게 오랫동안 기다리기를 원하지 않습니다.
단일 슬롯 최종성(Single Slot Finality, SSF)은 Tendermint 합의와 유사한 메커니즘을 통해 이 구조를 대체합니다. 여기서 블록 N은 블록 N+1이 생성되기 전에 최종적으로 결정됩니다. Tendermint와의 주요 차이점은 "비활성 누수(inactivity leak)" 메커니즘을 유지하여, 검증자의 1/3 이상이 오프라인일 때도 체인이 계속 운영되고 복구될 수 있도록 합니다.
(주: inactivity leak는 PoS에서 장기간 비활성 상태인 검증자를 처벌하기 위한 메커니즘으로, 비활성으로 표시되면 그들의 스테이킹 ETH가 계속해서 몰수됩니다.)
Tendermint는 효율적이고 안전한 비잔틴 내결함성 합의 알고리즘으로, 거래 확인을 신속하게 달성하고 일부 노드가 악의적이거나 오프라인인 경우에도 블록체인 시스템이 정상적으로 작동하도록 보장합니다.)
단일 슬롯 최종성의 주요 도전 과제는, 이는 각 이더리움 스테이커가 12초마다 두 개의 메시지를 발행해야 함을 의미하며, 이는 체인에 큰 부담이 됩니다. 이 문제를 완화할 수 있는 몇 가지 기발한 아이디어가 있으며, 최근의 Orbit SSF 제안이 그 예입니다. 이는 "최종성"을 크게 가속화하여 사용자 경험을 향상시키지만, 사용자가 여전히 5-20초를 기다려야 한다는 사실은 변하지 않았습니다.
(주: 최종성과 거래가 블록에 포함되어 확인되는 것은 동일한 사건이 아니며, 거래가 확인되었지만 최종성이 달성되지 않은 경우 분기나 롤백이 발생할 수 있습니다.)
롤업 사전 확인
지난 몇 년 동안 이더리움은 롤업 중심의 로드맵을 따르며, 데이터 가용성과 기타 기능을 지원하기 위해 이더리움 기본 레이어(L1)를 설계했습니다. 그런 다음 이러한 기능은 롤업, 밸리디움 및 플라즈마와 같은 L2 프로토콜에서 사용할 수 있으며, 사용자에게 이더리움과 동등한 수준의 보안을 더 큰 규모로 제공할 수 있습니다.
이로 인해 이더리움 생태계 내에서 관심의 초점이 분리되었습니다: 이더리움 L1은 검열 저항성, 신뢰성, 안정성 및 특정 기본 기능의 유지 및 개선에 집중하고, L2는 다양한 문화와 기술을 통해 사용자와 더 직접적으로 접촉하는 데 집중합니다. 그러나 이 경로를 따라 나아가면 피할 수 없는 문제가 발생했습니다: L2는 사용자에게 5-20초보다 더 빠른 확인을 제공하고자 합니다.
현재까지 이론적으로 L2의 책임은 자신의 "탈중앙화 정렬기" 네트워크를 만드는 것입니다. 소규모 검증자 그룹이 몇 백 밀리초마다 블록에 서명하고, 이러한 블록 뒤에 그들의 스테이킹 자산을 투입할 수 있습니다. 궁극적으로 이러한 L2 블록의 헤더는 L1에 게시됩니다.
하지만 L2 검증자 집합은 "사기"를 저지를 수 있습니다: 그들은 먼저 블록 B1에 서명한 다음, 충돌하는 블록 B2에 서명하고 B1 이전에 체인에 제출할 수 있습니다. 그러나 그렇게 하면 그들은 검증되어 스테이킹 자산을 잃게 됩니다. 실제로 우리는 중앙 집중화된 버전의 실제 사례를 보았지만, 반면에 롤업은 탈중앙화 정렬 네트워크 개발이 느리게 진행되고 있습니다. 모든 L2가 탈중앙화 정렬을 수행해야 한다는 요구는 불공평하다고 말할 수 있습니다: 우리는 롤업이 새로운 L1을 만드는 것과 거의 동일한 작업을 수행하도록 요구하고 있습니다. 따라서 Justin Drake는 모든 L2(및 L1)가 이더리움 범위 내에서 공유되는 사전 확인 메커니즘인 기본 사전 확인을 사용할 수 있도록 하는 방법을 홍보해 왔습니다.
기본 사전 확인
기본 사전 확인(Based preconfirmations) 방법은 이더리움 제안자가 MEV와 관련된 고도로 복잡한 참여자라고 가정합니다. 사전 확인 기반 방법은 이러한 복잡성을 활용하여 이러한 복잡한 제안자가 사전 확인 서비스를 제공하는 책임을 수용하도록 유도합니다.
이 방법의 기본 아이디어는 표준화된 프로토콜을 생성하여 사용자가 추가 비용을 지불하여 거래가 다음 블록에 포함될 것이라는 즉각적인 보장을 제공하고, 해당 거래 결과에 대한 선언을 제공하는 것입니다. 제안자가 어떤 사용자에게도 약속을 위반하면 그들은 벌금을 물게 됩니다.
앞서 설명한 바와 같이, 기본 사전 확인은 L1 거래에 보장을 제공합니다. 만약 롤업이 "기반"이라면, 모든 L2 블록은 L1 거래이므로 동일한 메커니즘을 사용하여 모든 L2에 사전 확인을 제공할 수 있습니다.
(주: Ethereum proposers는 수수료 메커니즘을 통해 일련의 거래를 번들로 묶어 블록에 패키징할 수 있으며, 거래 실행 및 순서를 보장합니다. 예를 들어 잘 알려진 클리핑을 통해 특정 거래 전에 구매하고 이후에 판매하는 것을 보장합니다. Vitalik이 여기서 제안한 방법은 개념적으로 일치하며, 이 제안자는 거래 결과를 미리 잠금으로써 실행을 가속화합니다.)
우리는 실제로 무엇을 보고 있습니까?
단일 슬롯 최종성을 구현했다고 가정해 보겠습니다. 우리는 Orbit와 유사한 기술을 사용하여 각 슬롯에 서명하는 검증자 수를 줄이지만, 32 ETH 스테이킹 최소 한도를 줄이는 주요 목표를 달성할 수 있도록 너무 많이 줄이지는 않을 것입니다. 슬롯 시간은 16초로 늘어날 수 있으며, 그런 다음 롤업 사전 확인 또는 기본 사전 확인을 사용하여 사용자에게 더 빠른 확인을 제공합니다. 마지막으로 우리는 무엇을 얻습니까: 에포크-슬롯 구조입니다.
에포크-슬롯 구조가 피할 수 없는 이유에 대한 깊은 철학적 이유가 있습니다: 특정 사안에 대해 최대한의 "경제적 최종성" 합의에 도달하는 것보다 특정 사안에 대해 대략적인 합의에 도달하는 데 필요한 시간이 더 적습니다.
간단한 이유는 노드 수입니다. 초최적화된 BLS 집계 및 곧 등장할 ZK-STARKs 덕분에 이전의 선형 탈중앙화/최종성 시간/오버헤드 균형이 이제 온화해 보이지만, 다음과 같은 이유는 무시할 수 없습니다:
"근사 합의"는 소수의 노드만 필요하지만, 경제적 최종성은 대다수의 노드가 필요합니다.
노드 수가 특정 규모를 초과하면 서명을 수집하는 데 더 많은 시간이 필요합니다.
오늘날 이더리움에서 12초 슬롯은 세 개의 하위 슬롯으로 나뉩니다: 블록 발표 및 배포, 증명, 증명 집계. 증명자 수가 크게 줄어들면 우리는 두 개의 하위 슬롯으로 줄이고 8초 슬롯 시간을 사용할 수 있습니다. 또 다른 더 실질적인 큰 요소는 노드의 "품질"입니다. 노드의 "품질"이 더 큰 요소입니다. 만약 우리가 전문화된 노드 하위 집합에 의존하여 근사 합의에 도달할 수 있다면(그리고 여전히 전체 검증자 집합을 사용하여 최종성을 결정한다면), 우리는 이를 약 2초로 줄일 수 있습니다.
따라서 제 생각에는 에포크-슬롯 구조가 분명히 옳지만, 모든 에포크-슬롯 구조가 평등한 것은 아니며, 디자인 공간을 더 충분히 탐색하는 것이 가치가 있습니다. 깊이 탐구할 가치가 있는 방향은 Gasper처럼 밀접하게 결합된 것이 아니라 두 가지 메커니즘 간에 더 강한 관심의 초점을 분리하는 것입니다.
L2는 어떻게 해야 합니까?
제 생각에 L2는 현재 세 가지 합리적인 전략이 있습니다:
기술적으로나 정신적으로 "기반"입니다. 즉, 그들은 이더리움 기본 레이어의 기술 속성과 그 가치(높은 탈중앙화, 검열 저항 등)를 최적화합니다. 가장 간단한 형태로, 이러한 롤업을 "브랜드 샤드"로 볼 수 있지만, 그들은 새로운 가상 머신 설계 및 기타 기술 개선에 대해 더 큰 야망을 가질 수 있습니다.
"블록체인 발판이 있는 서버"가 되어 이를 최대한 활용합니다. 서버에서 시작한 다음 STARK 유효성 증명을 추가하여 서버가 규칙을 준수하도록 보장하고; 사용자가 탈퇴하거나 강제로 거래할 권리를 보장하며; 집단 선택의 자유를 통해 대규모 탈퇴를 조정하거나 정렬자의 투표를 변경함으로써, 당신은 체인에 올라가는 대부분의 이점을 얻으면서 서버의 대부분의 효율성을 유지합니다.
(주: 발판은 프로젝트의 기본 구조와 코드 프레임워크를 자동으로 생성하는 도구나 방법을 의미하여 개발자가 신속하게 코딩을 시작할 수 있도록 합니다.)
절충 방법: 이더리움이 추가적인 상호 운용성과 보안을 제공하는 100개의 노드를 가진 빠른 체인. 이는 많은 L2 프로젝트의 현재 실제 로드맵입니다.
일부 애플리케이션(예: ENS, 키 저장소, 일부 결제 프로토콜)의 경우 12초 블록 시간이 충분합니다. 이러한 애플리케이션에 적용되지 않는 경우 유일한 해결책은 에포크-슬롯 구조입니다. 세 가지 경우에서 "에포크"는 이더리움의 SSF이지만, 슬롯은 위의 세 가지 경우에서 각각 다릅니다:
이더리움 네이티브 에포크-슬롯 구조
서버 사전 확인
위원회 사전 확인
핵심 질문은 우리가 1종에서 얼마나 잘 할 수 있는가입니다? 특히, 만약 그것이 매우 잘 된다면, 3종의 의미가 덜해질 것입니다. 모든 "기반" 솔루션이 플라즈마 및 밸리디움과 같은 오프체인 데이터 L2에 적용되지 않기 때문에 2종은 영원히 존재할 것입니다. 만약 이더리움 네이티브 에포크-슬롯 구조가 1초의 슬롯 시간으로 줄어들 수 있다면, 3종의 공간은 훨씬 작아질 것입니다.
오늘날 우리는 이러한 문제의 최종 답변에서 아직 멀리 떨어져 있습니다. 핵심 질문은 블록 제안자가 얼마나 복잡해질 것인가이며, 이는 여전히 상당한 불확실성이 존재하는 분야입니다. Orbit SSF와 같은 디자인은 매우 혁신적이므로, 예를 들어 Orbit SSF를 에포크-슬롯의 에포크로 사용하는 등의 설계 공간은 여전히 충분히 탐색할 가치가 있습니다. 우리가 가진 옵션이 많을수록 L1 및 L2 사용자에게 더 나은 서비스를 제공할 수 있으며, L2 개발자의 작업을 간소화할 수 있습니다.