궁금한 주제를 찾아보세요

비트코인, 스테이블코인, 온체인 데이터처럼 주제로 검색하세요.

다시 읽을 이야기

저장한 글은 이 브라우저에만 보관됩니다.

해설블록체인 기술

Permit2의 권한 구조, 서명 만료와 토큰 승인 분리

Permit2에 주는 ERC-20 승인과 애플리케이션별 서명 권한을 두 층으로 나눠 읽고 AllowanceTransfer·SignatureTransfer의 만료와 nonce를 설명합니다.

난이도 중급주제 카테고리와 개념 밀도 기준
서명 문서·모래시계·잠금문과 자산함을 나눈 Permit2 승인 구조 그림
주제의 이해를 돕기 위한 개념 일러스트
먼저 읽는 핵심

기초 승인층은 토큰 계약이 Permit2에 준 allowance이고 응용층은 Permit2가 앱 spender에 부여한 서명 권한이다.
AllowanceTransfer는 기간·수량이 있는 재사용 권한, SignatureTransfer는 서명 기반 일회성 이동에 맞춰 설계됐다.
서명 expiration·sigDeadline·nonce와 토큰의 Permit2 allowance를 서로 다른 상태로 점검한다.

Permit2를 쓰려면 사용자가 먼저 각 ERC-20 토큰에서 Permit2 계약을 사용처(spender)로 승인합니다. 그 위에서 Permit2 서명은 특정 애플리케이션 사용처, 수량, 만료, 논스를 정해 권한을 주거나 한 번만 쓰는 전송을 허용합니다. 앱 연결을 끊거나 Permit2 서명의 만료가 지나도 아래층의 ERC-20→Permit2 승인은 남아 있을 수 있으므로, 두 권한을 따로 조회하고 취소해야 합니다.

Permit2 앞에는 기존 ERC-20 승인이 먼저 있습니다

Permit2는 여러 애플리케이션이 공통 승인 계약을 통해 토큰 이동 권한을 관리하게 하는 시스템입니다. 사용자는 토큰 계약의 approve에서 Permit2 계약 주소를 사용처로 지정해야 합니다. 이 기초 허용량이 없으면 Permit2 서명만으로는 토큰 계약에서 자산을 가져올 수 없습니다.

그다음 사용자는 Permit2 구조화 데이터에 서명해 실제 탈중앙화 앱의 사용처와 범위를 정합니다. 토큰 승인 한 번을 바탕으로 앱마다 따로 서명 권한을 만들 수 있지만, 그만큼 Permit2 계약이 큰 기초 허용량을 쥐고 있는 구조입니다. 공식 Permit2 주소와 체인별 배포를 꼭 확인합니다.

Permit2의 두 승인층
층 저장 위치 주요 확인값
토큰→Permit2 각 ERC-20 허용량 토큰·소유자·Permit2·수량
Permit2→앱 Permit2 허용량 또는 서명 사용처·수량·만료·논스
SignatureTransfer Permit2 논스 비트맵 허용 수량·마감 시각·부가 데이터
지갑 연결 지갑 세션 도메인·요청 권한
그림으로 보기키 보관과 거래 서명
보호된 개인키로 거래에 서명하고 노드가 서명을 검증하는 개념도
그림과 함께 짚어볼 본문 내용

그림은 이 주제의 공통 개념을 단순화한 설명입니다. 아래 항목에서 이 글의 구체적인 조건과 예외를 함께 읽어보세요.

  1. Permit2 앞에는 기존 ERC-20 승인이 먼저 있습니다

    Permit2는 여러 애플리케이션이 공통 승인 계약을 통해 토큰 이동 권한을 관리하게 하는 시스템입니다.

  2. AllowanceTransfer는 수량과 만료를 저장합니다

    Uniswap 문서는 AllowanceTransfer를 기간이 정해진 토큰 허용량을 관리하는 인터페이스로 설명합니다.

  3. SignatureTransfer는 전송 단위 서명을 씁니다

    SignatureTransfer는 계속 유지되는 허용량을 저장하는 대신, 사용자의 서명으로 특정 전송을 허용합니다.

설명을 위한 개념도 · 실제 가격·거래 내역·통계가 아닙니다.

AllowanceTransfer는 수량과 만료를 저장합니다

Uniswap 문서는 AllowanceTransfer를 기간이 정해진 토큰 허용량을 관리하는 인터페이스로 설명합니다. 서명에는 토큰, 수량, 만료, 논스, 사용처가 들어가며 Permit2 계약이 이 상태를 저장합니다. 앱은 허용된 수량과 기간 안에서 transferFrom을 호출할 수 있습니다.

만료가 지나면 Permit2 안의 앱별 권한은 쓸 수 없지만, 토큰 계약이 Permit2에 준 기초 승인까지 자동으로 취소되지는 않습니다. 수량을 줄이거나 앱 권한을 취소하는 동작과 토큰 승인을 0으로 만드는 동작을 구분합니다. 화면에는 두 층을 함께 표시해야 합니다.

서명 만료와 토큰 승인 종료는 서로 다른 상태 변화입니다.

JOBCOIN 해설

SignatureTransfer는 전송 단위 서명을 씁니다

SignatureTransfer는 계속 유지되는 허용량을 저장하는 대신, 사용자의 서명으로 특정 전송을 허용합니다. 허용된 토큰과 최대 수량, 논스, 마감 시각을 검증하고 서명을 소모해 재사용을 막습니다. 실제 요청 수량은 앱이 제출하므로 서명이 허용한 양과 실행된 양의 관계를 확인해야 합니다.

permitWitnessTransferFrom은 애플리케이션별 부가 데이터(witness)를 서명에 묶을 수 있습니다. 주문 조건이나 수령 정보가 서명에 묶일 수 있지만, 사용자가 지갑 화면에서 그 구조를 해석하지 못하면 위험을 읽기 어렵습니다. 유형 문자열과 부가 데이터 내용, 사용처, 수령 경로를 공식 인터페이스와 대조합니다.

  • 토큰이 승인한 Permit2 계약 주소를 확인합니다.
  • 앱 사용처와 토큰·수량·만료를 읽습니다.
  • sigDeadline과 허용량 만료를 구분합니다.
  • 논스나 순서 없는 논스가 재사용되지 않았는지 확인합니다.

논스 방식은 권한 유형에 따라 다릅니다

AllowanceTransfer는 저장된 허용량 항목의 논스를 써서 오래된 서명이 새 상태를 덮어쓰지 못하게 합니다. SignatureTransfer는 순서 없는 논스 비트맵을 써서 특정 논스를 소모하면서도, 다른 독립 주문을 순서와 상관없이 처리할 수 있습니다. 숫자가 작으면 최신 서명이라는 단순한 순서 가정은 맞지 않을 수 있습니다.

일괄 서명에는 여러 토큰이나 권한이 한꺼번에 들어갈 수 있습니다. 한 항목만 보고 승인하면 배열의 다른 항목까지 함께 유효해질 수 있습니다. 서명 해석기에서 모든 토큰·수량·사용처를 펼쳐 보고, 쓰지 않는 논스는 invalidate 함수로 무효화할 수 있는지 확인합니다.

취소하려면 어느 층을 닫을지 정해야 합니다

특정 탈중앙화 앱만 더 쓰지 않을 생각이라면 Permit2 안의 해당 사용처 허용량을 취소하거나 만료시키는 방법이 알맞을 수 있습니다. Permit2를 아예 쓰지 않으려면 각 토큰 계약에서 Permit2에 준 허용량도 0으로 바꿔야 합니다. 후자는 토큰마다 온체인 거래와 수수료가 듭니다.

지갑 연결 해제는 어느 승인층도 자동으로 바꾸지 않습니다. 승인 관리 도구가 일반 ERC-20 허용량만 보여 주면 Permit2 안의 앱 권한을 놓칠 수 있고, Permit2 앱 권한만 보여 주면 기초 승인이 남습니다. 체인마다 두 조회 결과를 함께 기록합니다.

서명 화면과 공식 배포 주소부터 확인합니다

Permit2를 흉내 낸 악성 계약에 무제한 승인을 해 주면 표준 기능과 상관없이 위험합니다. 앱 링크가 내민 주소만 믿지 말고 Uniswap 공식 저장소와 배포 정보로 verifyingContract를 대조합니다. 체인 ID와 토큰 계약 주소도 확인합니다.

서명한 뒤에는 Permit2 허용량과 논스 상태, 실제 토큰 전송 기록을 확인합니다. 기대한 스왑이나 예치가 실패했더라도 권한 설정만은 성공했을 수 있습니다. 그 애플리케이션을 다시 쓸 계획이 없다면 실패 원인을 고치기 전에 남은 권한부터 점검합니다.

자주 묻는 질문

Permit2 서명이 만료되면 토큰 approve도 사라지나요?

아닙니다. 앱별 Permit2 권한과 토큰 계약이 Permit2에 준 기초 허용량은 별개이므로 각각 확인해야 합니다.

SignatureTransfer는 무제한 승인이 아닌가요?

전송 단위 서명으로 설계됐지만, 허용 수량, 마감 시각, 사용처와 기초 ERC-20 승인의 범위를 정확히 읽어야 합니다.

디앱 연결을 끊으면 Permit2 권한이 취소되나요?

연결 세션만 끝납니다. Permit2 안의 권한과 토큰→Permit2 허용량은 온체인 상태로 남을 수 있습니다.

더 깊이 읽기

본문에서 다룬 개념과 확인 절차를 다음 글에서 이어서 살펴보세요.

참고한 원문 자료

자료 확인 기준일 2026.09.27
  1. Permit2 Overviewdocs.uniswap.org
  2. Uniswap Permit2github.com
작성 방식과 확인 범위
출처 수집
원문 링크 2개 제공
작성·확인
공식 기관 자료를 근거로 AI 도구를 활용해 작성했고, 운영자가 발행 전에 읽어 확인합니다.
전문가 검토
세무·법률 전문가 검토는 거치지 않았습니다.

투자·세무 판단은 전문가와 상의하세요. 제도와 거래소 안내는 바뀔 수 있으니 원문의 적용 대상과 최신 안내를 함께 확인해 주세요.

이해를 위한 정보 콘텐츠

이 글은 특정 자산의 매수·매도 또는 수익을 권유하지 않습니다. 자료의 발표 시점과 이후 변경 사항을 함께 확인해 주세요.

편집 원칙 보기 →이 기사 정정 제보 →