창업 & 탄생 비화약 3분Ethereum (ETH)

EIP-712 — 서명 버튼 앞에 읽을 내용을 놓다

지갑이 개인키를 지켜도 사용자는 자신이 무엇에 서명하는지 모를 수 있다. EIP-712는 메시지에 읽을 수 있는 구조를 주었다. 그 서명으로 어떤 권한을 줄지는 여전히 앱이 정한다.

EIP-712 — 서명 버튼 앞에 읽을 내용을 놓다

3줄 퀵 브리핑

  • 발단 / 역설2017년 9월 만들어진 EIP-712는 구조화된 메시지의 해시 계산과 서명 방식을 표준화했다.
  • 결정적 사건도메인 정보는 서명 맥락을 구분한다. 같은 서명의 반복 사용은 앱이 별도로 처리해야 한다.
  • 역사적 결말ERC-2612의 permit은 소유자가 승인 거래를 직접 보내지 않아도 토큰 사용 한도를 설정할 수 있게 한다.

사건의 흐름 한눈에 보기

2017-09-12메시지에 구조를 주다

이름·자료형을 가진 항목과 도메인 구분을 담은 EIP-712가 작성됐다.

2020-04-13서명이 사용 한도가 되다

ERC-2612가 nonce와 제출 기한을 포함한 permit을 명세했다.

키는 서명할 수 있어도 사람은 읽지 못했다

2017년 9월 12일, 렘코 블루먼·레오니트 로그비노프·제이컵 에번스가 EIP-712를 제안했다. 출발점은 일상적인 불편이었다. 지갑은 긴 16진수 문자열을 보여 주며 서명을 요청할 수 있었다. 암호 기술이 제대로 작동해도 소유자는 그 안에 무엇이 있는지 알기 어려웠다. 제안은 데이터 항목마다 이름과 자료형을 붙여, 지갑이 요청의 내용을 보여 줄 수 있도록 했다.[1]

겉모양만 바꾸는 일은 아니었다. 보내는 사람, 받는 사람, 수량을 뜻 모를 바이트 묶음 대신 서로 다른 항목으로 다룰 수 있었다. 명세는 앱 이름·버전·체인 식별자·검증 계약 주소 중 필요한 항목으로 서명 도메인도 정의했다. 내용이 같아 보여도 사용 맥락이 다르면 서명 결과가 달라지게 하는 장치다. 이 정보는 맥락을 구분하며, 사업자의 정직함을 인증하지는 않는다.[1]

항목 이름도 판단의 일부가 된다

MetaMask 개발 문서는 화면에서의 의미를 짚는다. eth_signTypedData_v4는 구조화된 데이터를 확인할 수 있게 표시하며, 개발자에게 최상위 자료형 이름·도메인 이름·항목 이름을 보안 인터페이스의 일부로 다루라고 안내한다. 기술적으로 올바른 요청도 항목명이 모호하면 사람이 판단하기 어렵다. 구조가 설명할 자리를 만들었다면, 지갑과 앱은 그 자리를 잘 채워야 한다.[2]

따라서 읽기 쉬워졌다는 것은 우선 무엇에 서명하는지 살펴볼 수 있다는 뜻이다. 그것이 로그인인지, 주문인지, 토큰 사용 권한인지는 메시지를 받아들이는 앱에 달려 있다. 메시지 표현과 앱의 동작을 구분해 읽으면 나오는 설계상의 해석이다. 가지런한 확인 화면 자체가 승인해도 좋다는 추천은 아니다.[1][2]

권한은 거래보다 먼저 건너갈 수 있다

2020년 4월 13일 작성된 ERC-2612는 구체적인 사례다. permit 메시지에는 소유자, 사용 권한을 받을 주소, 한도, nonce, 제출 기한이 들어간다. 유효하게 제출되면 해당 주소의 사용 한도가 지정값으로 설정되고 nonce가 증가한다. 제출은 누구나 할 수 있어 소유자가 승인 거래를 직접 보낼 필요가 없다. 서명 자체가 토큰을 보내는 것은 아니지만, 설정된 한도는 이후 transferFrom을 통한 이동을 가능하게 할 수 있다.[3]

nonce는 사용이 끝난 permit이 다시 성공하는 것을 막는다. 기한은 제출할 수 있는 시간을 제한하며, 이미 설정된 사용 한도를 자동으로 만료시키지는 않는다. permit이 효력을 내려면 누군가는 온체인 거래를 제출해야 한다. EIP-712는 반복 사용 처리를 앱의 몫으로 명시했다. 서명 요청을 읽는다는 것은 항목뿐 아니라 그것을 받은 계약이 수행할 동작까지 살펴보는 일이다. 버튼의 크기는 그대로여도 그 앞의 판단은 더 잘 보이게 됐다.[1][3]

스토리 유니버스 연결망

이 인물 & 사건과 연결된 또 다른 이야기

역사의 나비효과로 이어진 블록체인 비하인드 스토리를 계속해서 탐험해 보세요.

출처 및 참고 자료

  1. [1]출처 1: EIP-712: 제안 이유·도메인 구분·반복 사용 처리의 경계Ethereum Improvement Proposals · 2017-09-12확인 2026-09-24
  2. [2]출처 2: MetaMask: 구조화된 서명과 사용자 보안 인터페이스MetaMask확인 2026-09-24
  3. [3]출처 3: ERC-2612: 사용 한도·nonce·기한·제출 조건Ethereum Improvement Proposals · 2020-04-13확인 2026-09-24