evm-asm 표준 게스트, 증명용 EVM 프로그램 통일

Strawmap Glamsterdam (2027년 초) · evm-asm canonical guest

블록이 규칙대로 실행됐다는 영지식 증명을 만들 때 증명기(zkVM) 안에서 돌리는 EVM 프로그램을, 어셈블리 수준으로 작성한 표준 하나로 통일하는 작업입니다.

왜 필요한가

이더리움은 검증자가 블록을 일일이 다시 실행하지 않고 블록이 규칙대로 처리됐다는 영지식 증명(ZK proof)만 확인하는 길을 열려고 합니다. 이 증명은 zkVM이라는 증명기 안에서 EVM을 실제로 돌려 만듭니다. 그때 돌아가는 프로그램을 게스트(guest)라고 부릅니다. 지금은 증명 팀마다 서로 다른 실행 클라이언트를 Rust 같은 고급 언어로 짠 뒤 컴파일해 게스트로 씁니다. 그래서 팀마다 증명하는 프로그램이 다르고 클라이언트 코드와 컴파일러까지 전부 믿어야 하는 대상이 됩니다. 표준 게스트는 이 프로그램을 하나로 정하고 어셈블리(asm) 수준의 낮은 언어로 직접 적자는 작업입니다. 프로그램이 하나로 모이면 보안 검토와 형식 검증(formal verification)을 한 곳에 집중할 수 있습니다. 컴파일러를 거치지 않아 믿어야 할 부분도 줄어듭니다. 프로토콜 규칙을 바꾸는 일이 아니라서 EIP는 없고 클라이언트와 명세 쪽에서 진행합니다. Glamsterdam 칸에 있지만 Strawmap의 예상 배치일 뿐 확정은 아닙니다.

어떻게 동작하나

  1. 표준 게스트를 하나 만듭니다 EVM이 거래를 처리하는 규칙을 어셈블리 수준의 코드로 직접 적어 모든 증명 팀이 같이 쓰는 프로그램 한 벌을 만듭니다.
  2. zkVM이 이 게스트로 블록을 돌립니다 증명기는 새 블록과 필요한 상태 자료를 받아 표준 게스트를 실행하고 실행이 규칙대로 끝났다는 영지식 증명을 만듭니다.
  3. 검증자는 증명만 확인합니다 블록을 다시 실행하는 대신 짧은 증명을 검사합니다. 어느 팀의 증명기를 쓰든 증명 대상 프로그램은 같습니다.

← 로드맵