이더리움의 증명 효율성 문제 해결을 위한 제안
이더리움(ETH)의 공동 창립자 비탈릭 부테린(Vitalik Buterin)은 EIP-7864와 관련 문서에서 블록체인 네트워크의 증명 효율성 문제를 해결하기 위한 두 가지 기술적 변경을 제안했습니다. 이 제안은 이더리움의 현재 16진수 Keccak 머클 패트리샤 트리를 보다 효율적인 해시 함수를 사용하는 이진 트리 구조로 교체하는 단기 제안입니다.
기존의 16진수 구조는 이더리움 개발자들이 현재 추구하고 있는 증명 중심 아키텍처와는 다른 우선 순위를 위해 설계되었습니다. 이진 트리 구조는 현재 시스템보다 머클 가지가 4배 짧아지며, 이진 연산은 32배 log(n)을 요구하는 반면 16진수는 512배 log(n)을 요구합니다. 이러한 감소는 클라이언트 측 가지 검증 비용을 줄이고 Helios 및 개인 정보 검색 시스템과 같은 도구의 데이터 대역폭 요구 사항을 동일한 비율로 줄일 것입니다.
증명 효율성의 향상은 가지 길이 개선을 넘어 확장될 것입니다.
제안서는 짧은 가지가 해시 함수 최적화와는 별개로 3배에서 4배의 개선을 제공할 것이라고 언급합니다. Keccak 대신 Blake3를 구현하면 추가로 3배의 개선을 제공할 수 있으며, Poseidon 변형은 잠재적으로 100배의 개선을 제공할 수 있지만 Poseidon 배포 전에 추가 보안 분석이 필요하다고 문서에 명시되어 있습니다.
이진 트리 설계에는 인접한 저장 슬롯을 64에서 256 슬롯의 페이지로 그룹화하는 페이지 기반 저장 시스템이 포함되어 있으며, 이는 약 2에서 8킬로바이트입니다. 블록 헤더와 코드 및 저장의 첫 1에서 4킬로바이트는 동일한 페이지를 공유하여 초기 저장 슬롯에서 읽는 계약이 개별 접근 비용이 아닌 배치 효율성의 혜택을 받을 수 있도록 합니다.
제안서는 이것이 초기 저장 슬롯에서 데이터를 로드하는 분산 애플리케이션의 경우 거래당 10,000가스를 초과 절약할 수 있다고 추정하며, 이는 활성 배포 계약의 상당 부분을 차지합니다. 제안서에 따르면 이진 트리는 구현 및 감사 프로세스를 단순화합니다.
장기 제안: EVM의 교체
장기 제안은 이더리움 가상 머신(EVM)을 RISC-V와 같은 보다 효율적인 가상 머신으로 교체하는 것입니다. 제안서는 EVM의 아키텍처가 증명 중심 블록체인에 최적화되어 있지 않으며, 이를 교체하는 것이 누적된 사전 컴파일 및 우회 방법을 통해 관리하는 것이 아니라 근본적인 비효율성을 해결할 것이라고 주장합니다.
부테린은 RISC-V가 EVM에 비해 네 가지 장점을 가지고 있다고 언급합니다:
- 원시 실행 효율성: RISC-V는 EVM보다 성능이 우수하여 많은 사전 컴파일의 필요성을 없앨 수 있습니다.
- 증명자 효율성: 제로 지식 증명자는 현재 RISC-V로 작성되어 기존 증명 인프라와 자연스럽게 정렬됩니다.
- 클라이언트 측 증명: RISC-V VM은 사용자가 특정 데이터와의 계정 상호작용에 대한 제로 지식 증명을 로컬에서 생성할 수 있게 합니다.
- 단순성: RISC-V 인터프리터는 수백 줄의 코드로 구현할 수 있습니다.
제안서에 설명된 배포 로드맵은 세 단계로 나뉩니다:
- 새로운 가상 머신, 잠재적으로 RISC-V가 사전 컴파일만 처리합니다.
- 사용자가 새로운 VM에서 직접 계약을 배포할 수 있습니다.
- EVM이 은퇴하고 새로운 VM에서 작성된 스마트 계약으로 재구현됩니다.
부테린은 두 가지 변경 사항이 서로 다른 각도에서 동일한 근본적인 문제를 해결한다고 설명합니다. 제안서에 따르면 상태 트리와 VM은 효율적인 증명의 병목 현상의 80% 이상을 차지합니다. 한 구성 요소를 다른 구성 요소 없이 해결하면 더 큰 문제가 부분적으로 해결되지 않으며, 두 가지 모두를 해결하면 이더리움이 개발해온 제로 지식 증명 중심 아키텍처와 구조적으로 정렬된 프로토콜이 생성됩니다.
제안서는 VM 교체가 현재 이더리움 개발 커뮤니티 내에서 합의를 나타내지 않으며, 상태 트리 수정이 완료되면 변화가 더욱 분명해질 것이라고 설명합니다. 제안서는 변경 사항을 순차적으로 제시합니다: 이진 트리가 먼저, 그 다음 증명 인프라가 새로운 상태 구조 주위에서 성숙해지면 VM 교체가 이루어집니다.
이더리움의 기능 요구 사항을 충족하기 위해서는 VM을 해결해야 하며, 지속적으로 우회 방법을 구현하는 것이 아니라는 점을 강조합니다.