Ethereum Stateless에 대해 알아야 할 모든 것
I’m happy to translate the article for you, but I need the text you’d like translated. Could you please paste the content (or the portion you want translated) here? I’ll keep the source link at the top and preserve all formatting, markdown, and technical terms as requested.
Introduction
오늘날 블록을 검증하려면 노드를 실행하는 데 2 TB 이상의 NVMe SSD와 상당한 대역폭이 필요합니다. 이러한 하드웨어 장벽은 중앙화를 강요하여, 사용자가 직접 체인을 검증하는 대신 Infura 또는 Alchemy와 같은 신뢰할 수 있는 제3자에 의존하게 만듭니다.
제약 조건: 지연 시간 및 대역폭
왜 블록을 검증하는 데 필요한 데이터만 전송할 수 없을까?
블록을 무상태로 검증하려면 노드가 특정 계정 값(잔액, 논스, 코드) 및 이러한 값이 올바르다는 암호학적 증명을 필요로 합니다. 이 패키지를 Witness 라고 부릅니다.
문제는 네트워크 전파입니다. 블록은 전 세계 P2P 네트워크를 통해 몇 초 안에 퍼져야 합니다. 현재 수학적 한계로는 Witness가 블록당 10–20 MB 정도가 됩니다. 이 정도 크기라면 전파 속도가 느려지고, 오래된 블록 비율이 증가하며, 대규모 데이터 센터만이 이를 따라잡을 수 있습니다.
목표: 증명을 약 20 MB에서 블록당 < 100 KB 로 축소하기.
Statelessness의 아키텍처
Statelessness는 네트워크를 두 개의 뚜렷한 노드 클래스로 나눕니다:
| 노드 유형 | 역할 |
|---|---|
| Proposers (Heavy) | 전체 ~2 TB 상태를 저장하고, 블록을 만들며, Witness를 생성합니다. |
| Validators (Light) | 아무것도 저장하지 않으며; (Block, Witness) 튜플을 받아 수학적으로 검증합니다. |
병목 현상: Merkle‑Patricia 트라이
Ethereum은 현재 Merkle‑Patricia Tries (Radix‑16) 를 사용합니다. 이 구조에서는 각 노드가 16개의 자식을 가집니다. 특정 자식 값이 존재함을 증명하려면 트리 깊이의 각 레벨에서 15개의 형제 노드 전체 해시를 제공해야 합니다.
수학적 계산
Size ≈ 15 × Depth × 32 bytes
크기는 선형적으로 증가합니다. 상태가 커짐에 따라 트리는 더 깊어지고 증명은 더 커집니다. 현재 이는 계정당 대략 3–4 KB 정도가 됩니다. 가스 30 M을 소모하는 바쁜 블록에서는 전체 증인 데이터가 P2P 네트워크의 대역폭 예산을 초과합니다.
해결책: Verkle 트리와 벡터 커밋먼트
Ethereum은 Verkle 트리로 전환하고 있습니다.
Verkle 트리에서는 각 노드가 256개의 자식을 갖습니다(기존 16개 대신). 256개 중 하나의 자식을 증명하려면 순진하게는 255개의 형제 해시를 전송해야 하므로 데이터 양이 엄청납니다.
해결책: 다항식
형제들을 해시하는 대신, 256개의 자식을 다항식 P(x) 의 계수 v 로 취급합니다:
[ P(x) = v_0 + v_1 x + v_2 x^2 + \dots + v_{255} x^{255} ]
그 후 KZG 커밋먼트를 사용해 전체 다항식에 커밋합니다.
KZG 마법 공식 🔮
커밋 C는 비밀 값 s 로부터 파생된 단일 곡선 점입니다:
[ C = G \cdot P(s) ]
특정 인덱스 z 에서 자식 값 y 를 증명하려면, 증명자는 몫 다항식 Q(x) 를 계산합니다:
[ Q(x) = \frac{P(x) - y}{x - z} ]
왜 작동하는가:
인덱스 z 에서의 값이 실제로 y 와 같다면, 다항식에서 y 를 빼면 ((x - z)) 로 완전히 나누어집니다. 값이 다르면 0이 아닌 나머지가 남아 (Q(x)) 가 유효한 다항식이 되지 않습니다. (Q(x)) 에 대한 커밋을 제공함으로써, 증명자는 나눗셈이 깨끗이 이루어졌으며 데이터가 올바름을 보여줍니다.
증명은 이 몫 다항식 Q(x) 에 대한 커밋일 뿐이며, 트리의 폭에 관계없이 48 바이트의 고정 크기입니다.
영향: 절약된 대역폭
| 증명 유형 | 계정당 대략적인 크기 |
|---|---|
| Merkle 증명 | ~3 000 바이트 (선형 복잡도) |
| Verkle 증명 | ~150 바이트 (상수 복잡도) |
이는 무상태 블록 증인을 ≈ 10 MB에서 ≈ 200 KB로 감소시킵니다.
Source: …
엔지니어링 과제
1. 트레이드‑오프: 신뢰된 설정
KZG 커밋먼트는 구조화된 레퍼런스 문자열 (SRS) 이 필요합니다 – 비밀 값 s 로 생성된 파라미터 집합입니다.
위험: 공격자가 s 를 알게 되면 (P’(s) = P(s)) 와 같은 증명을 위조하여 네트워크가 잘못된 데이터를 받아들이게 할 수 있습니다.
방어: “Powers of Tau” 의식. 140 000명 이상의 참가자가 엔트로피를 제공해 이 파라미터를 생성했습니다. 한 명이라도 “독성 폐기물”(비밀 난수)을 파기하면 시스템은 수학적으로 안전합니다.
2. 동시성 함정 (경쟁 조건)
누가 이 증명을 생성해야 할까요?
| 접근 방식 | 설명 |
|---|---|
| 강한 무상태성 | 사용자가 자신의 트랜잭션에 대한 증명을 생성합니다. |
| 약한 무상태성 | 블록 빌더가 모든 사람을 위해 증명을 생성합니다. |
이더리움은 약한 무상태성을 선택했습니다. 이는 근본적인 분산 시스템 문제인 경쟁 조건 때문입니다. 사용자가 직접 증명을 만들어야 하면 네트워크가 바쁠 때 트랜잭션이 자주 실패합니다. **블록 빌더(제안자)**에게 부담을 주면 서버 용량을 활용해 즉시 증명을 재생성할 수 있습니다.
미래 대비: 상태 만료
또 다른 퍼즐 조각은 State Expiry (EIP‑7736)입니다. 무상태성은 검증 문제를 해결하지만, 제안자들이 저장하는 기본 데이터베이스는 여전히 무한히 커집니다.
메커니즘: Epoch‑based tree rotation.
논리: 잎(계정)이 약 1 년 동안 접근되지 않으면 활성 트리에서 제거됩니다.
복구: 해당 계정을 다시 사용하려면 사용자가 archive에서 증명을 제공하여 재활성화해야 합니다.
결론: “Verge” 비전
All of this math serves a singular vision in Vitalik’s roadmap, known as “The Verge.” The goal is to make the chain so lightweight that verifying Ethereum no longer requires trusting centralized providers like Alchemy or Infura.
| Timeline | Trust Model |
|---|---|
| Today | We trust. |
| Tomorrow | We verify. |
요약 및 사양
| 기능 | 설명 |
|---|---|
| Stateless Consensus | 노드가 전체 상태를 저장하지 않고 (Block, Witness) 튜플을 사용해 블록을 검증합니다. |
| Verkle Trees | 넓은 (256‑진) 벡터‑커밋트리로, 계정당 증명을 약 150 B 로 축소합니다. |
| KZG Commitments | 상수‑크기 (48 B) 다항식 커밋으로 간결한 증명을 가능하게 합니다. |
| Trusted Setup | Powers‑of‑Tau 행사로 보안이 확보되며, 한 명의 정직한 참여자가 안전성을 보장합니다. |
| Weak Statelessness | 블록 빌더가 증명을 생성해 사용자‑측 레이스 컨디션을 방지합니다. |
| State Expiry (EIP‑7736) | 비활성 계정을 에포크 기반으로 정리해 증명자 저장소를 제한합니다. |
| Target Witness Size | 블록당 < 100 KB (실제는 ≈ 200 KB). |
| Bandwidth Reduction | 블록당 대역폭을 ~10 MB → ~0.2 MB 로 감소시킵니다. |
로드맵은 계속되지만, 위에 제시된 수학 및 엔지니어링이 진정으로 탈중앙화되고 경량화된 이더리움을 위한 기반을 마련합니다.
KZG 다항식
KZG 다항식은 256개의 형제 데이터를 48 바이트로 압축합니다.
네트워크
대역폭 오버헤드를 약 99 % 감소시킵니다.
UX
“약한” 무상태성은 트랜잭션 실패를 방지합니다.
목표
“Hegota” 업그레이드 (2026년 하반기).