교육 참고용이며 투자 조언이 아닙니다. 투자로 인해 손실이 발생할 수 있습니다.
직접 답변
ERC-2612는 EIP-712 서명으로 ERC-20 토큰의 allowance를 설정하므로 별도의 approve 트랜잭션이 필요하지 않습니다. 이 문서에서는 Owner, Spender, Value, Nonce, Deadline과 온체인 결과를 확인합니다.
유효한permit이 채굴되면 토큰 컨트랙트는allowance(owner, spender)를value로 설정하고 소유자의nonce를 1 증가시킵니다. 릴레이어 또는 제3자가 서명을 제출할 수 있으므로 소유자가 트랜잭션을 보내거나 가스를 낼 필요가 없습니다.deadline은permit 제출 시에만 검사하며 이미 기록된allowance를 자동으로 만료시키지 않습니다. 잔액이 남아 있는 동안 Spender는 한도 내에서transferFrom을 호출할 수 있습니다.
모든 항목을 검토해도 자산, 거래 또는 시스템의 안전이 입증되는 것은 아닙니다.
작동 방식
메시지는 owner, spender, value, nonce, deadline에 묶이고 EIP-712 도메인은 서명을 올바른 토큰 컨트랙트와 체인 ID에 묶습니다. 컨트랙트는 block.timestamp <= deadline일 때만 수락하며, 성공하면 allowance를 기록하고 nonce를 증가시킵니다. 더 늦은 deadline은 이미 기록된 allowance를 줄이지 않습니다. 악성 페이지는 Spender를 공격 컨트랙트로 바꾸거나 value를 2^256-1로 설정하고 deadline을 멀리 잡을 수 있습니다.
온체인 작업은 지갑 인터페이스, RPC 브로드캐스트, 계약 실행 및 블록 최종성이라는 네 가지 계층으로 나누어져야 합니다. 어떤 레이어의 성공이 다른 레이어의 검증을 대체할 수는 없습니다. 실제 결과는 거래 영수증, 이벤트, 계약 저장 및 올바른 체인의 잔액을 기반으로 합니다.
예시
사용자는 100 USDC만 승인하려 하지만 서명된 value는 2^256-1이고 deadline은 10년 후입니다. 성공한 호출은 이 최대값을 기록하고 nonce를 증가시킵니다. 처음에 100만 전송해도 allowance가 남아 있으면 공격자는 나중에 입금된 USDC를 전송할 수 있습니다. 기한이 지나면 사용하지 않은 permit은 제출할 수 없지만 이미 기록된 allowance가 자동으로 0이 되지는 않습니다. approve(spender, 0) 같은 신뢰할 수 있는 방법으로 취소해야 합니다.
해당 사례의 가스, 세율 및 차단 시간은 크기 순서만 표시합니다. 운영 전 현재 계약 상태, 풀 유동성 및 권한을 읽어야 합니다. 금액은 정밀도 오류를 방지하기 위해 사람이 읽을 수 있는 금액, 달러 가치 및 원시 정수를 체인에 동시에 기록합니다.
위험
프로토콜 이득과 최악의 종료 손실을 비교합니다. 가스가 5배 확장되고, 가격 영향이 2배 확장되고, 스테이블코인이 5% 할인된다고 가정합니다. 하루 더 가입하시면 탈퇴가 불가능합니다. 주간 또는 월간 수익률이 이러한 마찰을 감당할 수 없다면 소위 높은 수익률은 적절한 보상을 제공하지 못합니다. 단일 프로토콜 실패로 인해 전체 지갑이 가스를 지불하거나 자산을 이전할 수 없게 되어서는 안 됩니다.
흔한 오해
-
오해 1: 프런트 엔드 디스플레이는 체인의 사실입니다. 프런트 엔드가 캐시되었거나, 늦게 인덱싱되었거나, 잘못된 네트워크에 연결되었을 수 있으므로 교차 검증이 필요합니다.
-
오해 2: 가스나 미끄러짐이 증가하면 모든 고장이 해결될 수 있습니다. 가스는 분류에만 영향을 미치며 하락은 가격을 완화할 뿐입니다. 허가, Nonce, 계약 조건 오류는 자동으로 복구되지 않습니다.
-
오해 3: 성공적인 소량 테스트는 영구적인 안전을 의미합니다. 관리자 업그레이드, 동적 매개변수 및 유동성 변경으로 인해 결과가 변경되므로 각 포지션 확장 전에 검토해야 합니다.
관련 주제
출처
- ERC-2612: Permit Extension for EIP-20 Signed Approvals - Ethereum Improvement Proposals (accessed: 2026-07-28)
- EIP-712: Typed structured data hashing and signing - Ethereum Improvement Proposals (accessed: 2026-07-28)