EIP-7749는 지갑이 EIP-191의 의도된 검증자 데이터(intended validator data) 서명 타입에 대한 표준 JSON-RPC 메서드를 제공하도록 하는 제안입니다. wallet_signIntendedValidatorData 메서드를 통해 특정 컨트랙트 주소로 범위가 지정된 서명을 생성합니다.
제안 배경
EIP-191은 다양한 서명 타입 중 하나로 의도된 검증자 데이터 서명을 정의하지만, 이를 위한 표준 지갑 API가 없습니다. 현재 지갑들은 이 서명 타입을 일관되지 않게 구현하거나 아예 지원하지 않습니다. EIP-7749는 이 공백을 채우는 표준 메서드를 정의합니다.
API 명세
wallet_signIntendedValidatorData 메서드는 검증자 주소와 데이터를 매개변수로 받습니다. 반환값은 EIP-191 형식의 서명이며, 서명 전 사용자에게 검증자 주소와 데이터를 명확히 표시해야 합니다. 메서드 호출 시 지갑은 사용자의 명시적 승인을 요구해야 합니다.
보안 고려사항
검증자 주소를 명확히 표시하지 않으면 사용자가 피싱 공격에 노출될 수 있습니다. 지갑 구현체는 검증자 주소가 EOA인지 컨트랙트인지 여부를 사용자에게 알려야 합니다. 서명 도메인을 명확히 분리하여 서명 재사용 위험을 최소화해야 합니다.
호환성
EIP-1193(이더리움 프로바이더 API)과 완전히 호환되며, 기존 지갑 인프라에 쉽게 통합될 수 있습니다. EIP-1271 스마트 계정 서명 검증과도 함께 사용될 수 있습니다.