궁금한 주제를 찾아보세요

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

다시 읽을 이야기

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

기초지식코인 기초

지갑 연결 해제와 토큰 승인 취소가 다른 이유

디앱 연결 세션과 ERC-20 토큰 allowance가 저장되는 위치를 구분하고, 연결 해제 뒤에도 남은 승인 권한을 확인·취소하는 방법을 설명합니다.

분리된 연결선과 별도 토큰 장치를 나란히 놓은 연결 해제·승인 취소 개념도
주제의 이해를 돕기 위해 imagegen으로 제작한 AI 생성 개념 일러스트
먼저 읽는 핵심

연결 상태는 지갑·사이트의 통신 권한이고 토큰 승인은 블록체인 계약에 저장된 이동 권한이다.
사이트 로그아웃이나 탭 닫기만으로 기존 ERC-20 allowance가 바뀌지는 않는다.
연결 세션·토큰 승인·서명 주문·계정 세션을 자산별·체인별로 따로 정리한다.

지갑 연결 해제는 사이트가 지갑 주소를 읽거나 새 서명 요청을 보내는 연결 세션을 끊는 동작입니다. 토큰 승인 취소는 토큰 계약에 기록된 allowance를 0이나 더 작은 값으로 바꾸는 온체인 거래입니다. 브라우저에서 연결을 끊어도 이미 승인한 spender의 transferFrom 권한은 자동으로 사라지지 않으므로 체인별 승인 목록을 따로 점검해야 합니다.

연결은 사이트와 지갑 사이의 통신 세션이다

디앱에 지갑을 연결하면 사이트는 공개 주소와 선택한 네트워크를 받아 화면에 잔액과 활동을 표시할 수 있습니다. 지갑 구현과 사용자가 허용한 범위에 따라 새 거래나 메시지 서명 요청을 보낼 수도 있습니다. 그러나 요청을 보냈다는 사실만으로 블록체인 거래가 실행되지는 않으며 사용자의 서명과 전송 단계가 별도로 필요합니다.

연결 해제는 지갑이 해당 사이트를 승인된 연결 목록에서 지우거나 세션을 종료하는 동작입니다. 사이트는 더 이상 같은 세션으로 지갑에 요청하기 어려워지지만 공개 주소를 이미 알고 있다면 공개 원장의 잔액과 과거 거래를 계속 조회할 수 있습니다. 공개 블록체인 데이터 자체를 비공개로 되돌리는 기능은 아닙니다.

비슷해 보이는 보안 동작 비교
동작 저장 위치 해제 뒤 달라지는 것
지갑 연결 해제 지갑·사이트 세션 주소 열람·요청 채널 종료
토큰 승인 취소 ERC-20 계약 allowance spender의 transferFrom 한도 감소
사이트 로그아웃 사이트 계정 세션 웹 계정 접근 종료
서명 주문 취소 프로토콜별 nonce·상태 해당 주문의 실행 가능성 변경

토큰 승인은 체인에 남는 별도 권한이다

ERC-20의 approve는 owner가 spender에게 일정 수량까지 토큰을 대신 이동할 수 있도록 허용합니다. 토큰 계약은 allowance(owner, spender)에 이 값을 저장하고 spender는 transferFrom으로 사용합니다. MetaMask의 안내도 스마트 계약 allowance가 단순한 디앱 연결과 다르다고 명시합니다.

따라서 사이트 연결을 끊거나 브라우저 데이터를 지워도 토큰 계약의 allowance는 그대로입니다. 승인된 spender 계약이 이후 공격받거나 악성 동작을 하면 남은 한도 안에서 토큰을 이동할 수 있습니다. 반대로 allowance를 0으로 만들어도 사이트 연결 세션은 남을 수 있어 새 승인 요청을 다시 보낼 수 있습니다.

세션 종료와 온체인 권한 변경은 서로 다른 기록을 수정한다.

JOBCOIN 해설

취소는 새로운 온체인 거래로 기록한다

승인 취소는 보통 같은 토큰 계약에서 같은 spender의 allowance를 0으로 덮어쓰는 거래입니다. 체인 상태를 바꾸므로 네트워크 수수료가 필요하고 거래가 확정돼야 효력이 생깁니다. 승인 관리 화면의 성공 알림만 보지 말고 토큰 계약의 allowance 조회와 취소 거래 영수증을 확인합니다.

승인 목록은 네트워크마다 별도입니다. 이더리움에서 취소했다고 다른 L2나 사이드체인의 같은 주소 승인까지 사라지지 않습니다. 같은 심볼의 토큰도 계약 주소가 다를 수 있으므로 체인, 토큰 계약, owner, spender, 남은 수량을 한 묶음으로 읽습니다.

  • 현재 연결된 사이트 목록에서 사용하지 않는 세션을 끊는다.
  • 각 체인의 토큰 계약별 allowance를 조회한다.
  • spender 주소와 실제 서비스 계약을 대조한다.
  • 취소 거래 확정 뒤 allowance가 줄었는지 다시 읽는다.

무제한 승인은 편의와 노출 범위를 함께 늘린다

디앱은 반복 거래 때마다 approve를 하지 않도록 매우 큰 수량의 승인을 요청할 수 있습니다. 이는 수수료와 단계를 줄이지만 현재 잔액뿐 아니라 나중에 들어올 같은 토큰도 한도 안에서 이동될 수 있습니다. 사용 계획이 짧다면 필요한 수량과 기간에 가까운 한도를 선택하는 편이 노출 범위를 줄입니다.

승인 대상이 프록시 계약이면 화면에 보이는 주소 뒤 구현이 업그레이드될 수 있습니다. 공식 배포 문서, 탐색기의 verified source, 관리자와 업그레이드 권한을 확인합니다. 사용을 마친 뒤 취소할지 판단할 때 잔액이 0이라는 이유만으로 위험이 없다고 보지 않습니다.

모든 서명 권한이 ERC-20 allowance는 아니다

NFT의 ApprovalForAll, EIP-2612 permit, Permit2, 거래소의 오프체인 주문은 서로 다른 계약과 nonce를 사용합니다. 일반 ERC-20 승인 화면만 확인하면 이 권한들이 누락될 수 있습니다. 지갑 활동에서 approve 이외에 setApprovalForAll, permit 서명, 주문 서명을 구분합니다.

메시지 서명은 즉시 가스를 쓰지 않지만 제3자가 나중에 체인에 제출할 수 있습니다. 만료 시각과 nonce, spender, 토큰, 금액이 서명에 포함되는지 확인합니다. 프로토콜별 취소 방법이 없거나 다를 수 있으므로 승인 전 범위를 읽는 것이 중요합니다.

정기 점검은 연결과 권한을 두 목록으로 나눈다

월별 또는 큰 거래 뒤에 연결된 사이트 목록과 온체인 승인 목록을 각각 확인합니다. 연결 목록에서는 더 이상 쓰지 않는 도메인을 끊고, 승인 목록에서는 자산 가치와 spender 신뢰도, 한도, 최근 사용을 기준으로 정리합니다. 피싱 사이트가 만든 승인을 취소할 때도 공식 지갑이나 신뢰한 탐색기에서 직접 접근합니다.

의심 승인 발견만으로 시드가 유출됐다고 단정할 수는 없습니다. 이미 토큰이 이동했는지 Transfer 이벤트와 잔액을 확인하고, 알 수 없는 서명·새 관리자·개인키 노출 증거가 있으면 별도 계정 이동 계획을 세웁니다. 취소 거래에 필요한 네이티브 수수료를 확보하되 낯선 지원 메시지에 시드를 제공하지 않습니다.

자주 묻는 질문

디앱에서 Disconnect를 누르면 토큰도 안전해지나요?

연결 요청 채널은 끊기지만 기존 ERC-20 allowance는 남을 수 있습니다. 체인별 승인 목록에서 별도로 확인하고 취소해야 합니다.

승인 취소에 왜 가스비가 드나요?

토큰 계약에 저장된 allowance 값을 바꾸는 온체인 거래이기 때문입니다. 거래 확정 뒤 새 값을 확인하세요.

잔액이 0인 토큰 승인도 취소해야 하나요?

나중에 같은 토큰이 들어오면 남은 한도가 사용될 수 있습니다. spender 위험과 향후 사용 계획을 보고 정리하세요.

직접 확인한 자료

자료 확인 2026.09.27
  1. How to revoke smart contract allowances/token approvalssupport.metamask.io
  2. ERC-20: Token Standardeips.ethereum.org
AI 활용 안내

이 글은 AI로 초안을 구성한 뒤 공개 원문과 기술 문서를 대조해 작성했습니다. 대표 이미지는 AI 생성 개념 일러스트이며 실제 사건 사진이나 가격 차트가 아닙니다.

이해를 위한 정보 콘텐츠

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

편집 원칙과 정정 안내 →