
비탈릭의 신작: 이더리움 거래 확인 시간을 단축하는 방법은?
글: 비탈릭 부테린, 이더리움 공동 창시자
번역: Luffy, Foresight News
블록체인의 우수한 사용자 경험을 위한 필수 요소 중 하나는 빠른 트랜잭션 확인 시간이다. 오늘날의 이더리움은 5년 전과 비교해 상당히 발전했으며, EIP-1559와 지분 증명(PoS) 통합 이후 안정적인 블록 생성 시간 덕분에 L1에서 사용자가 보낸 트랜잭션이 5~20초 내에 신뢰성 있게 확인될 수 있다. 이는 이미 신용카드 결제 수준의 사용자 경험에 근접하고 있다. 그러나 일부 애플리케이션은 수백 밀리초 이하의 매우 짧은 트랜잭션 지연을 요구하기 때문에, 이더리움의 사용자 경험은 여전히 개선의 여지가 있다. 본 글에서는 이더리움 트랜잭션 확인 시간을 단축시키기 위한 실용적인 방안들을 소개한다.
기존 아이디어 및 기술 개요
단일 슬롯 최종성(Single Slot Finality)
현재 이더리움의 Gasper 합의는 슬롯(slot)과 에포크(epoch) 아키텍처를 사용한다. 12초마다(각 슬롯의 길이), 검증자 서브셋이 블록체인의 최신 블록 위에 투표를 게시하며, 총 32개의 슬롯(6.4분, 한 에포크는 32개의 슬롯 포함) 동안 모든 검증자가 한 번씩 투표할 기회를 갖는다. 그런 다음 이러한 투표들은 PBFT와 유사한 합의 알고리즘에서 메시지처럼 해석되며, 이 알고리즘은 두 에포크(12.8분) 후에 매우 강력한 경제적 보장을 제공하는데, 이를 '최종성(finality)'이라고 한다.
지난 몇 년간 우리는 이러한 접근법에 점점 더 불만족하게 되었다. 주된 이유는 다음과 같다. (i) 매우 복잡하며, 슬롯 단위 투표 메커니즘과 에포크 단위 최종성 메커니즘 사이에는 많은 상호작용 오류가 존재한다. (ii) 12.8분은 너무 길다. 아무도 그렇게 오래 기다리고 싶어하지 않는다.
단일 슬롯 최종성(single slot finality, SSF)은 Tendermint 합의와 유사한 메커니즘으로 이러한 아키텍처를 대체하는 것으로, 블록 N+1이 생성되기 전에 블록 N이 이미 완료되는 방식이다. Tendermint와의 주요 차이점은 우리가 '비활성 누출(inactivity leak)' 메커니즘을 유지한다는 점이며, 이 메커니즘은 검증자의 1/3 이상이 오프라인 상태일 때에도 블록체인이 계속 진행되고 회복할 수 있도록 해준다.

단일 슬롯 최종성 설계도
SSF의 주요 도전 과제는 각 이더리움 스테이커들이 매 12초마다 두 개의 메시지를 게시해야 한다는 점에 있으며, 이는 블록체인에 상당한 부담을 준다. 최근 제안된 Orbit SSF(https://ethresear.ch/t/orbit-ssf-solo-staking-friendly-validator-set-management-for-ssf/19928)와 같은 정교한 아이디어들이 이러한 문제를 완화할 수 있지만, 이러한 방식은 '최종성' 달성 속도를 높여 사용자 경험을 크게 개선할 수는 있으나, 여전히 사용자가 5~20초를 기다려야 하는 시간은 단축되지 않는다.
롤업 사전 확인(Rollup Preconfirmation)
지난 몇 년간 이더리움은 롤업 중심 로드맵을 따르며, 데이터 가용성 지원 및 기타 기능을 위해 이더리움 기본 계층(L1)을 설계해왔다. 이러한 기능들은 롤업(또는 Validiums, Plasmas 등)과 같은 L2 프로토콜에서 활용되며, L2는 L1보다 훨씬 큰 규모의 트랜잭션 처리를 가능하게 하면서도 이더리움과 동일한 수준의 보안성을 제공할 수 있다.
이는 이더리움 생태계 내에서 관심사의 분리를 가능하게 한다. 즉, 이더리움 L1은 검열 저항성, 신뢰성, 안정성, 그리고 핵심 기반 기능의 유지 및 개선에 집중할 수 있고, 반면 L2는 다양한 문화적·기술적 타협을 통해 사용자 경험에 집중할 수 있다. 하지만 이 길을 따라가다 보면 피할 수 없는 문제가 하나 발생한다. 즉, L2는 5~20초 내에 더 빠른 확인을 원하는 사용자를 위한 서비스 제공에 집중하게 된다는 점이다.
지금까지는 자체적인 '비중앙화 정렬(decentralized sequencing)' 네트워크 구축이 L2의 책임이었다. 아마 수백 밀리초마다 소수의 검증자들이 블록에 서명하고, 그들의 자산을 해당 블록에 스테이킹(stake)할 것이다. 궁극적으로 이러한 L2 블록의 헤더들이 L1에 게시된다.

L2 검증자 집단은 부정행위를 할 수 있다. 먼저 블록 B1에 서명한 후, B1과 충돌하는 블록 B2에 서명하고, B1보다 먼저 체인에 제출할 수 있다. 하지만 이렇게 행동할 경우, 그들은 벌금을 물고 스테이크를 잃게 된다. 실제로 우리는 이러한 접근의 중심화된 형태를 이미 목격했지만, 롤업은 비중앙화 정렬 네트워크 개발에서 느린 진전을 보이고 있다. 롤업이 새로운 L1을 만드는 것과 동등한 작업을 요구받는 것은 공평하지 않다고 볼 수 있다. 이러한 이유로 인해, 이더리움 재단 연구원 저스틴 드레이크(Justin Drake)는 모든 L2(그리고 L1)가 공유 가능한 이더리움 사전 확인 메커니즘에 접근할 수 있도록 하는 방안 — based preconfirmations — 을 적극적으로 홍보해왔다.
Based preconfirmations (Based 사전 확인)
Based preconfirmations 방식은 이더리움 제안자(proposer)들이 MEV 관련 이유로 인해 고도로 복잡한 참여자가 될 것이라는 전제를 둔다(내가 MEV에 대해 설명한 여기를 참조하고, 또한 제안서도 참고). Based preconfirmations은 이러한 복잡성을 활용하여, 이런 정교한 제안자들이 사전 확인 서비스를 제공하도록 유도한다.

기본 아이디어는 사용자가 추가 수수료를 지불함으로써 자신의 트랜잭션이 바로 다음 블록에 포함되도록 즉시 보장받고, 해당 트랜잭션 실행 결과에 대한 선언을 받을 수 있도록 표준화된 프로토콜을 만드는 것이다. 만약 제안자가 어떤 사용자에게 한 약속을 어긴다면, 그는 처벌을 받는다.
위에서 언급한 바와 같이, based preconfirmations 메커니즘은 L1 트랜잭션에 대한 보장을 제공한다. 만약 롤업이 'Based 롤업'이라면(주석: Based 롤업은 저스틴 드레이크가 2023년 3월에 제안한 개념으로, 정렬이 완전히 L1에서 이루어지는 롤업), 모든 L2 블록은 L1 트랜잭션이므로, 동일한 메커니즘을 이용해 어떤 L2에도 사전 확인을 제공할 수 있다.
우리가 실제로 보게 되는 것은 무엇인가?
우리가 단일 슬롯 최종성을 구현했다고 가정하자. 우리는 Orbit과 유사한 기술을 사용해 각 슬롯에서 서명하는 검증자 수를 줄이고, 동시에 최소 스테이킹 금액인 32 ETH를 낮추는 일거양득의 효과를 얻을 수 있다. 그 결과 슬롯 시간은 점차 16초까지 늘어날 수 있다. 그런 다음 롤업 사전 확인 또는 Based preconfirmations을 사용해 사용자에게 더 빠른 보장을 제공한다. 그러면 지금 우리는 무엇을 얻게 되는가? 바로 에포크-앤드-슬롯(epoch-and-slot) 아키텍처이다.

"그들은 모두 동일한 그림이다"라는 밈은 이미 과도하게 사용되었으므로, 나는 단지 내가 몇 년 전에 그렸던 옛 그림과 L2 사전 확인 그림을 나란히 배치하여 Gasper의 슬롯-앤드-에포크 아키텍처를 설명하고자 한다. 나는 이것이 충분히 명확하게 설명되기를 바란다.
왜 사람들이 항상 불가피하게 에포크-앤드-슬롯 아키텍처를 사용하게 되는지에는 깊은 철학적 이유가 있다. 즉, 어떤 사건에 대해 '근사적인 합의'에 도달하는 데 필요한 시간은 '경제적 최종성(economic finality)'에 도달하는 데 필요한 시간보다 본질적으로 훨씬 짧다.
간단한 이유 중 하나는 노드의 수다. 초고도 최적화된 BLS 집계와 가까운 장래의 ZK-STARK 덕분에 예전의 점진적 탈중앙화 / 최종성 시간 / 오버헤드 트레이드오프가 이제는 덜 심각해 보이지만, 근본적으로 다음 주장은 여전히 유효하다:
-
'근사적인 합의'는 소수의 노드만 필요하지만, 경제적 최종성은 전체 노드의 상당 부분이 필요하다.
-
노드 수가 일정 규모를 초과하면, 서명을 수집하는 데 더 많은 시간이 소요된다.
현재의 이더리움에서는 12초 슬롯이 (i) 블록 게시 및 배포, (ii) 증명(attestation), (iii) 증명 집계의 세 가지 서브슬롯(sub-slot)으로 나뉜다. 증명자 수가 훨씬 적다면 이를 두 개의 서브슬롯으로 줄이고 8초 슬롯 시간을 가질 수 있다. 또 다른 실제로 더욱 중요한 요인은 노드의 '품질'이다. 전문화된 노드 서브셋을 이용해 근사적 합의를 도출하고(최종성은 여전히 전체 검증자 집합을 사용), 합리적으로 약 2초까지 단축할 수 있다.
따라서 나는 (i) 슬롯-앤드-에포크 아키텍처가 분명히 올바른 선택임을 확신하지만, (ii) 모든 슬롯-앤드-에포크 아키텍처가 동일한 것은 아니며, 우리는 디자인 공간을 더욱 충분히 탐색해야 한다고 생각한다. 특히 Gasper처럼 밀접하게 얽혀 있지 않은 방식들 역시 탐구할 가치가 있다.
L2는 무엇을 해야 하는가?
내가 보기엔 현재 L2는 세 가지 합리적인 전략을 취할 수 있다:
-
기술적, 정신적 차원에서 모두 'based'하는 것. 즉, L2는 이더리움 기본 계층의 기술적 특성과 가치(높은 탈중앙화, 검열 저항성 등)를 더 잘 전달하는 채널이 된다. 가장 간단한 형태로 보면, 이러한 롤업을 '브랜드 샤딩(brand sharding)'으로 이해할 수 있지만, 더 야심찬 실험도 가능하며, 새로운 가상 머신 설계 및 기타 기술적 개선에 대해 많은 실험을 수행할 수 있다.
-
'블록체인 골조를 갖춘 서버'가 되고, 그 효율성을 극대화하는 것. 당신이 서버에서 시작하여 (i) 서버가 규칙을 준수하도록 보장하는 STARK 유효성 증명, (ii) 사용자의 출금 또는 강제 거래 권리를 보장하고, 가능하다면 (iii) 대규모 협조적 출금이나 정렬기 변경 투표 등을 통한 집단 선택 자유를 추가한다면, 당신은 체인의 많은 이점을 얻으면서도 서버의 대부분의 효율성을 유지할 수 있다.
-
타협안: 100개의 노드로 구성된 빠른 블록체인으로, 이더리움에 의존해 추가적인 상호 운용성과 보안성을 확보하는 것. 이는 많은 L2 프로젝트가 현재 사실상 따르고 있는 로드맵이다.
일부 애플리케이션(예: ENS, 키스토어, 일부 결제 시나리오)의 경우, 12초의 블록 시간이 충분하다. 더 짧은 확인 시간이 필요한 애플리케이션의 경우, 유일한 해결책은 슬롯-앤드-에포크 아키텍처이다. 이 세 가지 경우 모두에서 '에포크'는 이더리움의 SSF이다(아마도 우리는 이 이니셜을 'single slot' 외의 의미로 재정의할 수 있을 것이다. 예를 들어 'Secure Speedy Finality' 등). 그러나 위의 세 경우에서 '슬롯'은 다르다:
-
이더리움 원생 슬롯-앤드-에포크 아키텍처
-
서버 사전 확인
-
위원회 사전 확인
핵심 질문은, 우리는 1번 유형의 것을 얼마나 잘 만들 수 있느냐는 것이다. 특히 그것이 매우 우수해진다면, 3번 유형은 의미가 거의 없어 보인다. 2번 유형은 Plasma 및 Validium과 같은 오프체인 데이터 L2에는 적용되지 않기 때문에 영원히 존재할 것이다. 그러나 이더리움 원생 슬롯-앤드-에포크 아키텍처가 '슬롯'(즉 사전 확인) 시간을 1초로 단축할 수 있다면, 3번 유형의 존재 공간은 훨씬 작아질 것이다.
오늘날 우리는 이러한 질문들에 대한 최종 답변에 아직 멀리 떨어져 있다. 블록 제안자는 얼마나 복잡해질 것인가? 이 핵심 질문에 대한 답은 여전히 상당한 불확실성이 존재한다. Orbit SSF와 같은 설계는 매우 새로운 것이기 때문에, Orbit SSF와 유사한 슬롯-앤드-에포크 방식의 디자인 공간은 더욱 탐구되어야 한다. 우리에게 더 많은 선택지가 있다면, L1과 L2 사용자들을 위해 더 나은 서비스를 제공할 수 있으며, L2 개발자들의 작업도 단순화할 수 있을 것이다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














