요약
이더 확장성과 복원력을 요구하는 글로벌 원장으로서의 목표를 지향합니다. 본 논문은 프로토콜의 단순성 중요성에 초점을 맞춰, 컨센서스 레이어(3슬롯 확정성, STARK 집계)과 실행 계층(EVM을 RISC-V 또는 유사한 가상 머신으로 대체)을 단순화하여 복잡성을 크게 줄이는 방안을 제안합니다. 이를 통해 개발 비용, 오류 리스크 및 공격 표면을 감소시킬 수 있습니다. 또한, 온체인 EVM 인터프리터와 같은 하위 호환성 전략을 통해 원활한 전환을 도모하고, 소거 코딩, 직렬화 형식(SSZ) 및 트리 구조를 통합하여 추가적인 단순화를 추진할 것을 권장합니다. 궁극적인 목표는 이더 의 핵심 합의 코드를 비트코인의 단순성에 가깝게 만들어 복원력과 참여도를 향상시키는 것입니다. 이를 위해서는 단순성에 대한 문화적 강조와 코드 길이 제한 목표 설정이 필요합니다.
이더 인류 문명의 자산과 기록을 저장하는 글로벌 원장 플랫폼으로서 금융, 정부, 고가치 데이터 인증 등 다양한 분야에 서비스를 제공하는 것을 목표로 합니다. 이를 위해서는 확장성과 복원력이라는 두 가지 영역에서 지원이 필수적입니다. 후사카 하드 포크 계획은 L2 데이터 저장 공간을 10배로 늘리는 것을 목표로 하고 있으며, 현재 제안된 2026년 로드맵 또한 L1 레이어에 유사한 수준의 상당한 개선을 가져올 계획입니다. 한편, 이더 지분증명(PoS) 방식으로의 전환을 완료했고, 클라이언트 다양성이 빠르게 증가하고 있으며, 영지식(ZK) 검증 및 양자 내성 연구가 꾸준히 진전되고 있어 애플리케이션 생태계가 더욱 견고해지고 있습니다.
이 글에서는 복원력(그리고 확장성)에 있어 중요하지만 종종 과소평가되는 요소인 프로토콜의 단순성에 초점을 맞추고자 합니다.
비트코인 프로토콜의 가장 훌륭한 점은 바로 그 우아하고 단순한 구조입니다.

1. 블록들이 서로 연결되어 하나의 체인을 이루고 있으며, 각 블록은 해시값을 통해 이전 블록과 연결되어 있습니다.
2. 블록의 유효성은 작업증명(PoW)을 통해 검증되며, 이는 해시 값의 처음 몇 비트가 0인지 확인하는 방식입니다.
3. 각 블록에는 거래 내역이 포함되어 있으며, 거래에 사용되는 코인은 채굴 보상이나 이전 거래의 결과물에서 나옵니다.
이게 전부입니다! 똑똑한 고등학생조차도 비트코인 프로토콜의 작동 방식을 완벽하게 이해할 수 있으며, 프로그래머라면 취미 삼아 클라이언트를 직접 개발할 수도 있습니다. 이러한 프로토콜의 단순함 덕분에 비트코인(및 이더)은 신뢰할 수 있고 중립적인 글로벌 기반 레이어로 자리매김하는 데 있어 여러 가지 핵심적인 이점을 제공합니다.
1. 이해하기 쉬움: 프로토콜의 복잡성을 줄여 더 많은 사람들이 프로토콜 연구, 개발 및 관리에 참여할 수 있도록 하고, 기술 엘리트에 의한 지배 리스크 줄입니다.
2. 개발 비용 절감: 간소화된 프로토콜은 새로운 인프라(새로운 클라이언트, 증명기, 개발자 도구 등) 구축 비용을 크게 줄여줍니다.
3. 유지보수 부담 감소: 장기 계약 유지보수 비용을 절감합니다.
4. 오류 리스크 감소: 프로토콜 명세 및 구현에서 치명적인 오류가 발생할 가능성을 줄이고, 그러한 오류가 없음을 검증하기 쉽게 합니다.
5. 공격 표면 축소: 프로토콜 구성 요소의 복잡성을 줄이고 특정 이해 집단의 공격 리스크 낮춥니다.
역사적으로 이더(때로는 제 개인적인 결정 때문에) 종종 단순성을 유지하는 데 실패하여 과도한 개발 비용, 보안 리스크 증가, 폐쇄적인 개발 문화를 초래했습니다. 이러한 복잡성 추구의 이점은 종종 허상으로 드러났습니다. 이 글에서는 이더 5년 후 비트코인의 단순성에 어떻게 접근할 수 있을지 살펴봅니다.
컨센서스 레이어 단순화합니다

새로운 컨센서스 레이어 설계(이전에는 "비콘 체인"으로 알려짐)는 지난 10년간 합의 이론, ZK-SNARK 개발 스테이킹 경제 분야에서 얻은 경험을 활용하여 장기적으로 최적화된 더욱 간소화된 컨센서스 레이어 구축하는 것을 목표로 합니다. 기존 비콘 체인과 비교했을 때, 새로운 설계는 훨씬 더 간소화되었습니다.
1. 3슬롯 최종성 설계: 슬롯 제거, 에포크, 위원회 재구성 등의 개념과 관련 효율적인 처리 메커니즘(예: 동기화 위원회)을 포함합니다. 3슬롯 최종성의 기본 구현은 약 200줄의 코드만으로 가능하며 Gasper에 비해 거의 최적의 보안 수준을 제공합니다.
2. 활성 검증자 수를 줄입니다. 이를 통해 더 간단한 포크 선택 규칙을 사용할 수 있어 보안이 강화됩니다.
3. STARK 기반 집계 프로토콜: 누구나 집계자를 신뢰하거나 중복 비트 필드에 대한 과도한 수수료를 지불할 필요 없이 집계자가 될 수 있습니다. 집계 암호화는 매우 복잡하지만, 그 복잡성이 잘 캡슐화되어 시스템적 리스크 낮습니다.
4. P2P 아키텍처 단순화: 위의 요소들은 더 단순하고 견고한 P2P 네트워크 아키텍처를 지원할 수 있습니다.
5. 검증자 메커니즘을 재설계합니다. 진입, 퇴출, 출금, 키 전송, 비활성 상태 누출 등을 포함하고, 코드 라인 수를 간소화하며, (약한 주관성 순환과 같은) 더 명확한 보장을 제공합니다.
컨센서스 레이어 의 장점은 EVM 실행 계층과 상대적으로 독립적이라는 점이며, 따라서 지속적인 개선의 여지가 크다는 것입니다. 더 큰 과제는 실행 계층에서도 이와 유사한 단순화를 달성하는 것입니다.
실행 계층을 단순화합니다.
EVM의 복잡성은 점점 증가하고 있으며, 그 복잡성 중 상당 부분은 불필요한 것으로 드러났습니다(부분적으로는 제 개인적인 의사 결정 오류 때문입니다). 256비트 가상 머신은 이제는 구식이 되어가는 특정 암호화 방식에 지나치게 최적화되어 있으며, 사전 컴파일은 단일 사용 사례에 최적화되어 있지만 거의 사용되지 않습니다.
이러한 문제들을 하나씩 해결하는 것은 효과가 제한적입니다. 예를 들어, SELFDESTRUCT 명령어를 제거하는 데는 상당한 노력이 필요하지만 얻는 이점은 미미합니다. 최근 EOF(EVM 객체 형식)를 둘러싼 논쟁에서도 이와 유사한 문제점들이 드러납니다.
최근 저는 보다 급진적인 접근 방식을 제안했습니다. 1.5배의 성능 향상을 위해 EVM에 적당한(하지만 여전히 파괴적인) 변경을 가하는 대신, 100배의 성능 향상을 위해 더 좋고 더 간단한 가상 머신으로 전환하자는 것입니다. "더 머지(The Merge)"와 유사하게, 파괴적인 변경 횟수는 줄이되 각 변경 사항의 의미를 더욱 강화하는 것입니다. 구체적으로, 저는 EVM을 RISC-V 또는 이더 ZK 증명기 들이 사용하는 다른 가상 머신으로 교체할 것을 제안합니다. 이는 다음과 같은 결과를 가져올 것입니다.
1. 효율성 대폭 향상: 스마트 계약 실행(증명기 내)은 인터프리터 오버헤드가 필요 없이 직접 실행됩니다. Succinct의 데이터에 따르면 많은 시나리오에서 성능이 100배 이상 향상될 수 있습니다.
2. 크게 향상된 단순성: RISC-V 사양은 EVM보다 훨씬 단순하며, 카이로(Cairo)와 같은 대안들도 마찬가지로 간결합니다.
3. EOF 지원 동기: 코드 분할, 더욱 사용자 친화적인 정적 분석, 코드 크기 제한 확대 등.
4. 더 많은 개발자 옵션: Solidity와 Vyper는 새로운 가상 머신에서 컴파일할 수 있는 백엔드를 추가할 수 있습니다. RISC-V를 선택하면 주요 언어 개발자들도 자신의 코드를 이 가상 머신으로 쉽게 포팅할 수 있습니다.
5. 대부분의 사전 컴파일된 코드를 제거합니다. 아마도 고도로 최적화된 타원 곡선 연산만 남을 것입니다(양자 컴퓨터가 널리 보급되면 이마저도 사라질 것입니다).
주요 단점은 완전히 준비된 EOF와 달리 새로운 가상 머신의 이점이 개발자에게 도달하는 데 시간이 더 오래 걸린다는 것입니다. 이는 계약 코드 크기 제한 증가 또는 DUP/SWAP 17-32 지원과 같은 가치 있는 EVM 개선 사항을 단기적으로 구현함으로써 완화할 수 있습니다.
이렇게 하면 가상 머신이 더 단순해집니다. 핵심 과제는 기존 EVM을 어떻게 처리할 것인가입니다.
가상 머신 전환을 위한 하위 호환성 전략
EVM을 단순화(또는 개선)하는 데 있어 가장 큰 과제는 목표 구현과 기존 애플리케이션과의 하위 호환성 사이의 균형을 맞추는 것입니다.
우선, 이더 코드베이스를 정의하는 방법이 (심지어 단일 클라이언트 내에서도) 한 가지뿐이 아니라는 점을 분명히 해야 합니다.

• 목표는 녹색 영역을 최소화하는 것입니다. 녹색 영역이란 현재 상태 계산, 증명, 검증, FOCIL( 포크 선택 규칙) 및 "일반" 블록 생성 등 이더 리움 합의에 참여하는 데 필요한 로직을 의미합니다.
• 주황색 영역은 축소할 수 없습니다. 프로토콜 사양에서 실행 계층 기능(가상 머신, 사전 컴파일 등)을 제거하거나 변경하는 경우, 과거 블록을 처리하는 클라이언트는 관련 코드를 계속 유지해야 합니다. 그러나 새로운 클라이언트, ZK-EVM 또는 형식 증명기 주황색 영역을 완전히 무시할 수 있습니다.
• 새로 추가된 노란색 영역 : 이 영역은 현재 체인을 이해하거나 블록 구성을 최적화하는 데 매우 유용하지만 합의 로직의 일부는 아닙니다. 예를 들어, 이더스캔(Etherscan)과 일부 블록 빌더는 ERC-4337 사용자 작업을 지원합니다. 특정 이더 기능(예: EOA 및 지원되는 이전 트랜잭션 유형)을 온체인 RISC-V 구현으로 대체하면 합의 코드가 상당히 단순화되지만, 전용 노드는 파싱을 위해 기존 코드를 계속 사용할 수 있습니다.
주황색과 노란색 영역의 복잡성은 캡슐화 복잡성 입니다. 프로토콜을 이해하는 사람은 이 부분을 건너뛸 수 이더 구현에서도 이를 무시할 수 있습니다. 이 영역의 오류는 합의에 리스크 초래하지 않습니다. 따라서 주황색과 노란색 영역의 코드 복잡성은 녹색 영역의 복잡성보다 훨씬 덜 위험합니다.
녹색 영역에서 노란색 영역으로 코드를 이동하는 것은 Apple이 Rosetta 변환 계층을 통해 장기적인 하위 호환성을 보장하는 전략과 유사합니다. Ipsilon 팀의 최근 논문에서 영감을 받아 다음과 같은 가상 머신 변경 프로세스를 제안합니다(EVM에서 RISC-V로의 변경을 예로 들었지만, EVM에서 Cairo로 또는 RISC-V에서 더 나은 가상 머신으로의 변경에도 적용할 수 있습니다).
1. 온체인 RISC-V 구현을 제공하기 위해 새로운 사전 컴파일된 구현을 요구하여 생태계가 RISC-V 가상 머신에 점진적으로 적응할 수 있도록 합니다.
2. 개발자 옵션으로 RISC-V 도입: 이 프로토콜은 RISC-V와 EVM을 모두 지원하며, 두 가상 머신용 계약은 자유롭게 상호 작용할 수 있습니다.
3. 대부분의 사전 컴파일된 코드 교체: 타원 곡선 연산과 KECCAK(극도의 속도가 필요하기 때문)을 제외한 나머지 사전 컴파일된 코드는 RISC-V 구현으로 교체합니다. 하드 포크 통해 사전 컴파일된 코드를 제거하고, 동시에 해당 주소의 코드를 (DAO 포크 와 유사하게) 빈 상태에서 RISC-V 구현으로 변경합니다. RISC-V 가상 머신은 매우 간단하므로, 여기서 멈추더라도 프로토콜은 더욱 간소화될 뿐입니다.
4. RISC-V로 EVM 인터프리터를 구현합니다. 온체인 스마트 계약 형태로 구현될 예정입니다(ZK 증명기 요건 충족으로 이미 완료됨). 기존 EVM 계약은 최초 출시 후 몇 년이 지나면 이 인터프리터를 통해 실행될 것입니다.

4단계가 완료된 후에도 많은 "EVM 구현체"는 블록 생성, 개발자 도구 및 체인 분석을 최적화하는 데 계속 사용되겠지만, 더 이상 핵심 합의 사양의 일부는 되지 않을 것입니다. 이더 합의는 RISC-V만을 "기본적으로" 이해하게 될 것입니다.
공유 프로토콜 구성 요소를 통해 간소화합니다.
프로토콜의 전반적인 복잡성을 줄이는 세 번째 방법(그리고 가장 쉽게 과소평가되는 방법)은 프로토콜 스택의 여러 부분에서 가능한 한 통일된 표준을 공유하는 것입니다. 서로 다른 시나리오에서 동일한 기능을 수행하는 여러 프로토콜은 일반적으로 무의미하지만, 프로토콜 로드맵의 각 부분 간의 소통 부족으로 인해 이러한 패턴이 여전히 자주 발생합니다. 다음은 구성 요소를 공유하여 이더 단순화하는 몇 가지 구체적인 예입니다.
통합 소거 코딩

우리는 다음 세 가지 상황에서 소거 코딩이 필요합니다:
1. 데이터 가용성 샘플링: 클라이언트는 블록이 게시되었는지 확인합니다.
2. 더 빠른 P2P 브로드캐스팅: 노드는 n/2개의 조각을 수신한 후 블록을 수락할 수 있어 지연 시간과 중복성 사이의 균형을 이룰 수 있습니다.
3. 분산형 기록 저장소: 이더 기록 데이터는 샤드에 저장됩니다. n/2개의 샤드로 구성된 각 그룹은 나머지 샤드를 복구할 수 있으므로 단일 샤드 손실 리스크 줄입니다.
세 가지 시나리오 모두에서 동일한 소거 코드(리드-솔로몬 코드, 랜덤 선형 코드 등)를 사용하면 다음과 같은 이점을 얻을 수 있습니다.
1. 코드 크기 최소화: 전체 코드 줄 수를 줄입니다.
2. 효율성 향상: 노드가 특정 장면의 일부를 다운로드하면 해당 데이터를 다른 장면에서 사용할 수 있습니다.
3. 검증 가능성 확보: 모든 장면 조각은 루트를 기반으로 검증할 수 있습니다.
서로 다른 소거 코드를 사용하는 경우, 최소한 호환성은 보장되어야 합니다. 예를 들어, 데이터 가용성 샘플링을 위한 수평 리드-솔로몬 코드는 수직 랜덤 선형 코드와 동일한 도메인에서 동작해야 합니다.
균일 직렬화 형식

이더 의 직렬화 형식은 현재 부분적으로만 고정되어 있으며, 데이터는 어떤 형식으로든 재직렬화되어 전송될 수 있습니다. 단, 트랜잭션 서명 해시는 표준화된 해싱 형식을 요구하므로 예외입니다. 향후 직렬화 형식의 표준화 수준은 다음과 같은 이유로 더욱 높아질 것입니다.
1. 전체 계정 추상화(EIP-7701): 가상 머신에서 전체 거래 내역을 볼 수 있습니다.
2. 가스 사용량 제한 증가: 실행 계층 데이터는 데이터 블롭에 저장해야 합니다.
그때가 되면 이더 세 가지 계층, 즉 실행 계층, 컨센서스 레이어, 그리고 스마트 계약 호출인 ABI의 직렬화 형식을 통일할 수 있는 기회가 생길 것입니다.
SSZ는 다음과 같은 이유로 SSZ를 사용하는 것이 좋습니다.
1. 디코딩이 용이함: 스마트 계약에 포함되어 있음 (4바이트 기반 설계 및 예외 상황이 적기 때문).
2. 이는 컨센서스 레이어 에서 널리 사용되어 왔습니다.
3. 기존 ABI와 매우 유사함: 도구 적용이 비교적 간단함.
SSZ로의 완전한 마이그레이션을 위한 노력이 이미 진행되었으며, 향후 업그레이드를 계획할 때 이러한 노력을 고려하고 지속해야 합니다.
통합 트리 구조

EVM에서 RISC-V(또는 다른 최소 가상 머신)로 마이그레이션할 경우, 16진수 머클 패트리샤 트리는 일반적인 상황에서도 블록 실행 증명에 있어 가장 큰 병목 현상을 일으킬 것입니다. 더 나은 해시 함수를 기반으로 하는 이진 트리로 마이그레이션하면 증명기 효율성이 크게 향상되는 동시에 경량 클라이언트와 같은 시나리오에서 데이터 비용이 절감됩니다. 마이그레이션 과정에서 컨센서스 레이어 동일한 트리 구조를 사용하도록 해야 합니다. 이를 통해 이더 컨센서스 레이어 과 실행 계층에 동일한 코드를 사용하여 접근하고 해결할 수 있습니다.
지금부터 미래까지
단순함은 여러 면에서 탈중앙화 와 유사하며, 둘 다 회복력의 근본 목표입니다. 단순함을 명확히 강조하려면 문화적 변화가 필요합니다. 단순함의 이점은 종종 수치화하기 어렵고, 특정 화려한 기능을 포기하는 데 드는 추가적인 노력과 비용은 즉시 눈에 띕니다. 그러나 시간이 지남에 따라 그 이점은 점점 더 커집니다. 비트코인이 바로 그 대표적인 예입니다.
저는 tinygrad의 방식을 따라 이더 장기적인 명세에 명확한 최대 코드 라인 수 목표를 설정하여 이더 합의 핵심 코드를 비트코인처럼 단순하게 만들 것을 제안합니다. 이더 기존 규칙을 처리하는 코드는 유지되겠지만, 합의 핵심 경로에서 벗어나도록 배치해야 합니다. 동시에, 가장 단순한 해결책을 선택하고, 시스템적인 복잡성보다는 복잡성의 캡슐화를 우선시하며, 명확한 속성과 보장을 제공하는 설계 방식을 고수해야 합니다.
블록비츠(theblockbeats) 공식 커뮤니티 에 오신 것을 환영합니다:
텔레그램 구독 그룹: https://t.me/theblockbeats
텔레그램 그룹: https://t.me/BlockBeats_App
공식 트위터 계정: https://twitter.com/BlockBeatsAsia





