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