원제목: L1 단순화
원저자: 비탈릭 부테린
원문 번역: GaryMa, Wu Says Blockchain
이더리움은 확장성과 복원력이 필요한 글로벌 원장이 되는 것을 목표로 합니다. 이 글은 프로토콜 단순성의 중요성에 초점을 맞추고 합의 계층(3슬롯 확정성, STARK 집계)과 실행 계층(EVM을 RISC-V 또는 유사한 가상 머신으로 교체)을 단순화하여 복잡성, 개발 비용, 오류 위험 및 공격 표면을 크게 줄이는 방안을 제안합니다. 이전 버전과의 호환성이 있는 전략(예: 온체인 EVM 인터프리터)을 통해 전환을 원활하게 하고, 삭제 코드, 직렬화 형식(SSZ), 트리 구조를 통합하여 더욱 단순화하는 것이 좋습니다. 목표는 이더리움의 합의에 중요한 코드를 비트코인의 단순성에 가깝게 만들고, 회복성과 참여를 개선하며, 단순성을 중시하고 최대 코드 줄 목표를 설정하는 문화를 요구하는 것입니다.
이더리움의 목표는 글로벌 원장이 되는 것입니다. 즉, 인간 문명의 자산과 기록을 저장하는 플랫폼으로, 금융, 거버넌스, 고부가가치 데이터 인증 분야에 서비스를 제공하는 것입니다. 이를 위해서는 확장성과 복원력이라는 두 가지 측면에서 지원이 필요합니다. 후사카 하드 포크는 L2 데이터에 사용할 수 있는 공간을 10배로 늘릴 예정이며, 현재 제안된 2026년 로드맵은 L1 계층에 비슷하게 큰 폭의 증가를 가져올 예정입니다. 동시에 이더리움은 지분증명(PoS)으로의 전환을 완료했고, 클라이언트 다양성이 급속히 증가했으며, 제로 지식(ZK) 검증과 양자 저항 연구도 꾸준히 진행되고 있으며, 애플리케이션 생태계가 점점 더 강력해지고 있습니다.
이 기사는 복원력(그리고 확장성)의 중요하지만 종종 과소평가되는 요소인 프로토콜 단순성에 초점을 맞추고자 합니다.
비트코인 프로토콜의 가장 놀라운 점은 그 우아한 단순성입니다.

1. 블록의 체인이 존재하며, 각 블록은 해시를 통해 이전 블록에 연결됩니다.
2. 블록의 유효성은 작업 증명(PoW)을 통해 검증됩니다. 작업 증명은 해시 값의 처음 몇 자리가 0인지 확인하는 것입니다.
3. 각 블록에는 거래가 포함되어 있으며, 거래에 사용된 코인은 채굴 보상이나 이전 거래 출력에서 나옵니다.
그게 다예요! 똑똑한 고등학생이라도 비트코인 프로토콜이 어떻게 작동하는지 완벽하게 이해할 수 있으며, 프로그래머는 부업 프로젝트로 클라이언트를 작성할 수도 있습니다. 프로토콜의 단순성은 비트코인(및 이더리움)에 신뢰할 수 있고 중립적인 글로벌 기반 계층으로서 여러 가지 주요 이점을 제공합니다.
1. 이해하기 쉬움: 프로토콜의 복잡성을 줄여 더 많은 사람이 프로토콜 연구, 개발 및 거버넌스에 참여할 수 있게 하고, 기술 엘리트에게 지배당할 위험을 줄입니다.
2. 개발 비용 절감: 프로토콜을 단순화하면 새로운 인프라(예: 새로운 클라이언트, 증명자, 개발자 도구 등)를 만드는 비용이 크게 줄어듭니다.
3. 유지보수 부담 감소: 장기 계약 유지보수 비용을 절감합니다.
4. 오류 위험 감소: 프로토콜 사양 및 구현에서 치명적인 오류가 발생할 가능성을 줄이고, 그러한 오류가 존재하지 않는다는 검증을 용이하게 합니다.
5. 공격 표면 감소: 프로토콜의 복잡한 구성 요소를 줄이고 특정 이익 집단의 공격을 받을 위험을 줄입니다.
역사적으로 이더리움은 (때로는 제 개인적인 결정으로 인해) 종종 단순성을 유지하는 데 실패하여 과도한 개발 비용, 증가된 보안 위험, 폐쇄적인 R&D 문화가 발생했고, 이러한 복잡성을 추구함으로써 얻는 이익이 종종 환상으로 판명되었습니다. 이 글에서는 5년 후 이더리움이 비트코인의 단순성에 어떻게 접근하는지 살펴보겠습니다.

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

· 목표는 녹색 영역을 최소화하는 것입니다. 녹색 영역은 현재 상태 계산, 증명, 검증, FOCIL(포크 선택 규칙) 및 "일반" 블록 구성을 포함하여 노드가 Ethereum 합의에 참여하는 데 필요한 논리입니다.
· 주황색 영역은 줄일 수 없습니다. 프로토콜 사양에서 실행 계층 기능(예: 가상 머신, 사전 컴파일 등)을 제거하거나 변경하는 경우에도 이전 블록을 처리하는 클라이언트는 관련 코드를 계속 유지해야 합니다. 하지만 새로운 클라이언트, ZK-EVM 또는 공식 증명자는 주황색 영역을 완전히 무시할 수 있습니다.
· 새로 추가된 노란색 영역: 현재 체인을 이해하거나 블록 구성을 최적화하는 데 매우 중요하지만, 합의 논리에 속하지 않습니다. 예를 들어, Etherscan과 일부 블록 빌더는 ERC-4337 사용자 작업을 지원합니다. 일부 이더리움 기능(EOA 및 이를 지원하는 기존 거래 유형 등)을 온체인 RISC-V 구현으로 대체하면 합의 코드는 상당히 간소화되지만, 전용 노드는 구문 분석을 위해 원래 코드를 계속 사용할 수 있습니다.
· 주황색과 노란색 영역의 복잡성은 캡슐화 복잡성입니다. 프로토콜을 이해하는 사람이라면 이 부분을 건너뛸 수 있고, 이더리움 구현에서는 이를 무시할 수 있습니다. 이런 영역에서 오류가 발생해도 합의 위험은 발생하지 않습니다. 따라서 주황색과 노란색 영역의 코드 복잡성은 녹색 영역의 복잡성보다 훨씬 덜 해롭습니다.
녹색 영역에서 노란색 영역으로 코드를 옮기는 아이디어는 Rosetta 번역 계층을 통해 장기적인 하위 호환성을 보장하려는 Apple의 전략과 비슷합니다. Ipsilon 팀의 최근 기사에서 영감을 얻어 다음과 같은 VM 변경 프로세스를 제안합니다(예시로 EVM에서 RISC-V로의 변경을 사용하지만 EVM에서 Cairo로 또는 RISC-V에서 더 나은 VM으로의 변경에도 사용할 수 있습니다):
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. 검증 가능성 보장: 모든 장면 세그먼트는 루트에 대해 검증 가능합니다.
서로 다른 지우기 코드를 사용하는 경우 최소한 호환성은 보장되어야 합니다. 예를 들어, 데이터 가용성 샘플링을 위한 수평 리드-솔로몬 코드와 수직 랜덤 선형 코드는 동일한 도메인에서 작동합니다.

Ethereum의 직렬화 형식은 현재 부분적으로만 고정되어 있는데, 그 이유는 데이터를 다시 직렬화하고 모든 형식으로 브로드캐스트할 수 있기 때문입니다. 예외는 거래 서명 해시로, 표준화된 형식으로 해시해야 합니다. 향후에는 다음과 같은 이유로 직렬화 형식의 강화가 더욱 향상될 것입니다. 1. 완전한 계정 추상화(EIP-7701): 거래의 전체 내용이 가상 머신에서 볼 수 있습니다.
2. 더 높은 가스 한도: 실행 계층 데이터는 데이터 블록(블롭)에 배치되어야 합니다.
그때쯤이면 우리는 이더리움의 세 가지 레벨, 즉 실행 계층, 합의 계층, 스마트 계약 호출 ABI의 직렬화 형식을 통합할 기회를 갖게 될 것입니다.
SSZ를 사용할 것을 제안하는 이유는 SSZ가 다음과 같기 때문입니다.
1. 디코딩하기 쉬움: 스마트 계약에 포함됨(4바이트 기반 디자인과 예외 사례 적음).
2. 이는 합의 계층에서 널리 사용되었습니다.
3. 기존 ABI와 매우 유사합니다. 도구 적응이 비교적 간단합니다.
SSZ로의 완전한 마이그레이션을 위한 노력이 진행 중이며, 향후 업그레이드를 계획할 때 이러한 노력을 고려하고 계속해야 합니다.

EVM에서 RISC-V(또는 다른 선택적인 최소 가상 머신)로 마이그레이션하는 경우, 평균적인 경우에도 16진법 Merkle Patricia 트리가 증명 블록 실행의 가장 큰 병목 현상이 됩니다. 더 나은 해시 함수를 기반으로 하는 이진 트리로 마이그레이션하면 라이트 클라이언트와 같은 시나리오에서 데이터 비용을 줄이는 동시에 증명자 효율성이 크게 향상됩니다. 마이그레이션할 때 합의 계층이 동일한 트리 구조를 사용하는지 확인해야 합니다. 이를 통해 이더리움의 합의 계층과 실행 계층을 동일한 코드를 통해 접근하고 구문 분석할 수 있습니다.
단순성은 여러 면에서 분산화와 유사하며, 둘 다 회복성이라는 목표의 상류에 있습니다. 단순함을 명확하게 중시하려면 특정한 문화적 변화가 필요합니다. 그 혜택은 정량화하기 어려운 반면, 추가적인 노력과 멋진 기능 중 일부를 포기하는 데 드는 비용은 즉각적입니다. 하지만 시간이 지나면서 그 혜택은 점점 더 커졌습니다. 비트코인 자체가 완벽한 예입니다.
저는 tinygrad의 선례를 따르고 Ethereum의 장기 사양에 대한 명시적인 최대 코드 줄 수 목표를 설정하여 Ethereum의 합의에 중요한 코드를 Bitcoin의 단순성에 가깝게 만들고자 합니다. 이더리움의 역사적 규칙을 처리하는 코드는 계속 존재하지만 합의 중요 경로 밖에 배치되어야 합니다. 동시에 우리는 더 간단한 솔루션을 선택하고, 시스템적 복잡성보다 캡슐화 복잡성을 우선시하며, 명확한 속성과 보장을 제공하는 설계 선택을 해야 한다는 철학을 고수해야 합니다.
BlockBeats 공식 커뮤니티에 참여하세요:
Telegram 구독 그룹:https://t.me/theblockbeats
Telegram 토론 그룹:https://t.me/BlockBeats_App
Twitter 공식 계정:https://twitter.com/BlockBeatsAsia