EIP-8025는 이더리움의 zkEVM 로드맵 초입 단계를 달성하고자 하는 프로포절입니다. 밸리데이터가 상태 검증을 위해 부하가 높은 재실행을 수행하는 대신, 다른 zkVM(SP1, RISC-V, zkEVM, witness, ...)들에 의해 생성된 여러 개의 증명을 검증하도록 하는 옵션을 제공해주는 것이 골자입니다.
각각의 노드는 증명 생성 노드와 stateless 검증 노드라는, 새로운 모드를 선택할 수 있게 됩니다 (기존 노드 그대로도 가능).
- 증명 생성 노드는 비콘 블록을 받으면 블록 내 실행 페이로드에 필요한 증명을 생성, 지정된 zkVM 서브넷으로 이를 재전파합니다.
- stateless 검증 노드는 비콘 블록을 받으면 실행 페이로드에 대한 유효한 증명을 지정된 서브넷에서 이미 받았는지만을 확인합니다. 만약 증명이 확인되는 경우 재실행 없이 블록을 유효하다고 판단하게 됩니다.
또다른 특징이라면 Dual-View 아키텍처가 있습니다. 증명이 아직 도착하지 않아도 블록을 일단 optimistic(일단 처리)으로 처리하고 합의에 참여시키고, 나중에 증명이 도착하면 verified(확인됨) 상태로 전환시키는 방식입니다. 증명 시스템에 문제가 생겨도 네트워크 자체는 기존 방식대로 계속 돌아가게 해 리스크를 낮추고자 하는 것으로 보입니다.
EIP-8025는 optional로 구현되어있기에 하드포크 없이 그대로 적용 가능하고, 기존 노드는 여전히 전통적인 재실행 방식으로 검증할 수 있도록 했습니다. 실제 메인넷에서 ZK 증명 기반 검증을 안전하게 테스트해볼 수 있는 환경을 만드는 것이 목적인, 과도기적인 프로포절인 것으로 보입니다.
비용적 측면에서 보면, 증명 생성 노드의 하드웨어 비용은 꽤 비쌀 것으로 보이지만 증명 검증만 요구되는 stateless 검증 노드는 하드웨어 요구사항이 크게 낮아질 수 있다고 합니다.
EIP-8025 도입으로 대다수 스테이크가 ZK 클라이언트를 사용하게 되면, 증명 검증이 필수가 되고 그때부터는 가스 리밋을 prover 성능에 맞춰 대폭 올릴 수 있게 될 것으로 예상됩니다. 지금은 가스 리밋이 올라가면 검증(재실행) 부담도 비례해서 올라가는데, ZK는 블록 크기와 상관없이 검증 시간이 거의 일정할 것이기 때문입니다.
현재 Lighthouse 클라이언트에서 구현이 진행 중인 것으로 보이고, --stateless-validation이나 --generate-execution-proofs 플래그로 모드를 선택할 수 있게 될 예정입니다. 아직 EIP-8025 자체는 드래프트 상태라 세부 명세가 계속 바뀔 수 있으니 참고 정도로 보시면 될 것 같습니다.
나중에 @fakedev9999 님이 더 정확하게 정리해주실 예정
참고
https://eips.ethereum.org/EIPS/eip-8025
https://hackmd.io/@0xdeveloperuche/rJyb-aEyWx?utm_source=preview-mode&utm_medium=rec
https://hackmd.io/@kevaundray/BJeZCo5Tgx
