Vitalik의 블로그 게시물: 5년 안에 이더 Bitcoin만큼 간단하게 만드는 방법

이 기사는 기계로 번역되었습니다
원문 표시
저자: 비탈릭 부테린

GaryMa 우톡(Wu-Talk)

원본 링크:

https://vitalik.eth.limo/general/2025/05/03/simplel1.html

요약

이더 확장성과 탄력성이 필요한 글로벌 원장이 되는 것을 목표로 합니다. 이 글은 프로토콜 단순성의 중요성에 초점을 맞추고 컨센서스 레이어(3슬롯 확정성, STARK 집계)과 실행 계층(EVM을 RISC-V 또는 유사한 가상 머신으로 교체)을 단순화하여 복잡성, 개발 비용, 오류 리스크 및 공격 표면을 크게 줄이는 방안을 제안합니다. 이전 버전과의 호환성이 있는 전략(예: 온체인 EVM 인터프리터)을 통해 원활하게 전환하고, 더욱 단순화하기 위해 삭제 코드, 직렬화 형식(SSZ), 트리 구조를 통합하는 것이 좋습니다. 목표는 이더 합의에 중요한 코드를 비트코인의 단순성에 가깝게 만들고, 회복성과 참여를 개선하며, 단순성을 중시하고 최대 코드 줄 목표를 설정하는 문화를 요구하는 것입니다.

이더 의 목표는 글로벌 원장이 되는 것입니다. 즉, 인간 문명의 자산과 기록을 저장하는 플랫폼으로, 금융, 거버넌스, 고부가가치 데이터 인증 분야에 서비스를 제공하는 것입니다. 이를 위해서는 확장성과 복원력이라는 두 가지 측면에서 지원이 필요합니다. 후사카 하드 포크 L2 데이터에 사용할 수 있는 공간을 10배로 늘릴 계획이며, 현재 제안된 2026년 로드맵도 L1 계층에 비슷한 규모의 큰 개선을 가져올 계획입니다. 동시에 이더 지분증명(PoS)으로의 전환을 완료했고, 클라이언트 다양성이 급속히 증가했으며, 제로 지식(ZK) 검증과 양자 저항 연구도 꾸준히 진행되고 있으며, 애플리케이션 생태계가 점점 더 강력해지고 있습니다.

이 글은 탄력성(및 확장성)의 중요하지만 종종 과소평가되는 요소인 프로토콜 단순성에 초점을 맞추고자 합니다.

비트코인 프로토콜의 가장 놀라운 점은 그 우아한 단순함입니다.

1. 각 블록은 해시를 통해 이전 블록에 연결된 블록 체인이 있습니다.

2. 블록의 유효성은 작업 증명(PoW)을 통해 검증됩니다. 작업 증명은 해시 값의 처음 몇 자리가 0인지 확인합니다.

3. 각 블록에는 거래가 포함되어 있으며, 거래에 사용된 코인은 채굴 보상이나 이전 거래 출력에서 ​​나옵니다.

그게 다예요! 똑똑한 고등학생이라도 비트코인 ​​프로토콜이 어떻게 작동하는지 완벽하게 이해할 수 있으며, 프로그래머는 부업 프로젝트로 클라이언트를 작성할 수도 있습니다.

프로토콜의 단순성은 신뢰할 수 있고 중립적인 글로벌 기반 계층으로서 비트코인(및 이더)에 여러 가지 주요 이점을 제공합니다.

1. 이해하기 쉬움 : 프로토콜의 복잡성을 줄이고, 더 많은 사람들이 프로토콜 연구, 개발 및 거버넌스에 참여할 수 있게 하며, 기술 엘리트에게 지배당할 리스크 줄입니다.

2. 개발 비용 절감 : 프로토콜을 단순화하면 새로운 인프라(예: 새로운 클라이언트, 증명기, 개발자 도구 등)를 만드는 비용이 크게 줄어듭니다.

3. 유지보수 부담 감소 : 장기계약 유지보수 비용을 절감합니다.

4. 오류 리스크 감소 : 프로토콜 사양 및 구현에서 치명적인 오류가 발생할 가능성을 줄이고, 그러한 오류가 존재하지 않는다는 검증을 용이하게 합니다.

5. 공격 표면 감소 : 프로토콜의 복잡한 구성 요소를 줄이고 특정 이익 집단의 공격을 받을 리스크 줄입니다.

역사적으로 이더(때로는 제가 내린 결정으로 인해) 종종 단순성을 유지하지 못해 과도한 개발 비용, 증가된 보안 리스크, 폐쇄적인 개발 문화로 이어졌습니다. 이 모든 것이 복잡성을 추구한 결과였지만, 이는 종종 허황된 이익으로 판명되었습니다. 이 글에서는 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 또는 이더 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(포크 선택 규칙), "일반" 블록 구성 등이 포함됩니다.

주황색 영역은 줄일 수 없습니다. 프로토콜 사양이 실행 계층 기능(예: 가상 머신, 사전 컴파일 등)을 제거하거나 변경하는 경우에도 이전 블록을 처리하는 클라이언트는 관련 코드를 계속 유지해야 합니다. 하지만 새로운 클라이언트, 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. 검증 가능성 보장 : 모든 장면의 조각은 루트에 대해 검증 가능합니다.

서로 다른 삭제 코드를 사용하는 경우 최소한 호환성은 보장되어야 합니다. 예를 들어, 데이터 가용성 샘플링을 위한 수평 리드-솔로몬 코드와 수직 랜덤 선형 코드는 동일한 도메인에서 작동합니다.

통합 직렬화 형식

이더 의 직렬화 형식은 현재 부분적으로만 고정되어 있으며, 데이터는 재직렬화되어 어떤 형식으로든 브로드캐스트될 수 있습니다. 예외는 거래 서명 해시로, 표준화된 형식으로 해시해야 합니다. 앞으로 직렬화 형식은 다음과 같은 이유로 더욱 고정될 예정입니다.

1. 완전한 계정 추상화(EIP-7701) : 거래의 전체 내용이 가상 머신에서 볼 수 있습니다.

2. 더 높은 가스 한도 : 실행 계층 데이터는 데이터 블록(블롭)에 배치되어야 합니다.

그때쯤이면 우리는 이더 의 3개 계층, 즉 실행 계층, 컨센서스 레이어, 스마트 계약 호출 ABI의 직렬화 형식을 통합할 기회를 갖게 될 것입니다.

SSZ가 다음과 같은 이유로 SSZ를 사용하도록 제안합니다.

1. 디코딩이 쉬움: 스마트 계약에 포함됨(4바이트 기반 디자인과 예외 사례 적음).

2. 컨센서스 레이어 에서 널리 활용되고 있습니다.

3. 기존 ABI와 매우 유사합니다. 도구 적용이 비교적 간단합니다.

SSZ로의 완전한 이전을 위한 노력이 진행 중이며, 향후 업그레이드를 계획할 때 이러한 노력을 고려하고 계속해야 합니다.

통합된 트리 구조

EVM에서 RISC-V(또는 다른 선택적인 최소 가상 머신)로 마이그레이션하는 경우, 평균적인 경우에도 16진법 머클 패트리샤 트리가 증명 블록 실행의 가장 큰 병목 현상이 됩니다. 더 나은 해시 함수를 기반으로 하는 이진 트리로 마이그레이션하면 라이트 클라이언트와 같은 시나리오에서 데이터 비용을 줄이는 동시에 증명기 효율성이 크게 향상됩니다.

마이그레이션할 때 컨센서스 레이어 동일한 트리 구조를 사용하는지 확인해야 합니다. 이를 통해 이더 의 컨센서스 레이어 과 실행 계층을 동일한 코드를 통해 접근하고 구문 분석할 수 있습니다.

지금부터 미래로

단순성은 여러 면에서 탈중앙화 와 유사하며, 둘 다 회복력이라는 목표의 상류에 있습니다. 단순함을 명확하게 중시하려면 특정한 문화적 변화가 필요합니다. 그 혜택은 정량화하기 어려운 반면, 추가적인 노력과 멋진 기능 중 일부를 포기하는 데 드는 비용은 즉각적입니다. 하지만 시간이 지남에 따라 그 혜택은 더욱 중요해졌습니다. 비트코인 ​​자체가 그 완벽한 예입니다.

저는 TinyGrad의 선례를 따르고 이더 장기 사양에 대한 명확한 최대 코드 줄 목표를 설정하여 이더 의 합의에 중요한 코드를 Bitcoin의 단순성에 가깝게 만들 것을 제안합니다. 이더 역사적 규칙을 처리하는 코드는 계속 존재하지만 합의 중요 경로 밖에 배치되어야 합니다. 동시에 우리는 더 간단한 솔루션을 선택하고, 시스템적 복잡성보다 캡슐화 복잡성을 우선시하며, 명확한 속성과 보장을 제공하는 설계 선택을 해야 한다는 철학을 고수해야 합니다.

출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
즐겨찾기에 추가
코멘트