Tech/EIPs/#2098
ERC 2098카테고리 · ERC유형 · 표준 트랙상태 · 최종

Compact Signature Representation

EIP-2098은 ECDSA 서명을 기존 65바이트에서 64바이트로 압축하는 컴팩트 서명 표현 방식을 제안하며, 현재 최종 확정된 상태입니다. v 값을 s 값의 상위 비트에 인코딩하여 1바이트를 절약합니다.

제안 배경

이더리움의 ECDSA 서명은 r(32바이트), s(32바이트), v(1바이트)로 구성된 65바이트 형식입니다. v 값은 0 또는 1의 1비트 정보이므로 s 값의 사용하지 않는 최상위 비트에 인코딩하여 전체 크기를 64바이트로 줄일 수 있습니다.

기술적 내용

yParityAndS 필드를 도입하여 s의 최상위 비트에 v(yParity) 값을 저장합니다. 기존 65바이트 서명과 완전히 상호 변환 가능하며, 검증 로직 변경이 최소화됩니다.

활용 분야

스마트 컨트랙트 내 서명 검증, 멀티시그, 메타 트랜잭션 등에서 calldata 크기를 줄여 가스를 절약합니다. EIP-712 타입드 데이터 서명과도 호환됩니다.

채택 현황

EIP-2098은 ethers.js, web3.js 등 주요 라이브러리에서 지원하며, 여러 스마트 컨트랙트 프로젝트에서 서명 압축에 활용하고 있습니다. EIP-2612(permit)와 같은 가스 최적화 표준과 함께 사용됩니다.

공식 ERC 문서open_in_new