Token Approval은 무엇인가? 왜 지갑이 권한을 요청하는가?

사용자가 DeFi, NFT 거래 플랫폼 또는 토큰 교환 서비스를 처음 사용할 때, 지갑은 특정 스마트 계약이 토큰을 사용할 수 있도록 허용하라는 요청을 표시할 수 있습니다. 많은 사람들이 익숙한 플랫폼 이름이나 지갑 인터페이스를 보고 직접 거래를 승인하지만, 허가된 토큰, 한도, 계약 주소 및 현재 사용 중인 블록체인 네트워크를 세밀하게 확인하지는 않습니다. Token Approval은 반드시 자산이 이동되었다는 것을 의미하지는 않지만, 지속적인 토큰 사용 권한을 설정할 수 있습니다. 일반적인 ERC20 메커니즘에서는 approve이 권한 설정에 사용되고, allowance는 특정 spender가 사용자가 사용할 수 있는 토큰 한도를 나타내며, transferFrom은 스마트 계약이 후속 토큰 작업을 완료하는 데 사용될 수 있습니다. OpenZeppelin의 ERC20 문서에서도 이러한 인터페이스들을 토큰 권한 메커니즘의 중요한 부분으로 나열하고 있습니다. 이것은 단순히 지갑을 웹사이트에 연결하는 것과는 다릅니다. 지갑 연결은 웹사이트와 지갑 간의 상호작용을 설정하는 데 중점을 두지만, Token Approval은 특정 토큰의 지출 권한과 관련이 있습니다. TRC20 토큰은 TRON 네트워크에서도 유사한 권한 개념이 존재하지만, Ethereum, TRON, 및 기타 네트워크의 권한 기록은 따로 확인해야 하므로 토큰 이름만 보고 위험을 판단할 수 없습니다.

무한정 승인의 위험은 무엇인가?

일부 플랫폼은 unlimited 또는 infinite approval을 요구합니다. 이 목적은 향후 반복적인 확인과 네트워크 비용 부담을 줄이기 위함입니다. 이러한 설계는 작업을 더 편리하게 만들 수 있지만, 이는 권한 한도가 이번 거래에 필요한 수량 이상이 될 것임을 의미합니다. 만약 사용자가 이후에 플랫폼을 더 이상 사용하지 않더라도, 권한이 자동으로 사라지지 않을 수 있습니다. 위험은 가짜 웹사이트, 악의적인 스마트 계약, 도메인 탈취, 또는 사용자가 이해할 수 없는 거래를 잘못 서명하는 데에서 발생할 수 있습니다. 계약이 여전히 특정 토큰의 사용 권한을 보유하고 있는 한, 사용자가 플랫폼을 떠났거나 토큰을 자신의 지갑으로 다시 옮겼더라도 이 권한은 여전히 존재할 수 있습니다. Ethereum 공식 가이드도 지갑과 플랫폼의 연결을 끊는 것만으로는 토큰 권한을 제거한 것이 아니며, 스마트 계약의 권한은 대개 고정된 자동 만료 시간이 없다고 경고합니다. 다음과 같은 경우가 발생하면, 먼저 작업을 중지하고 다시 확인하는 것이 좋습니다:

  • 권한 화면에 unlimited, infinite 또는 매우 큰 토큰 수량이 표시됩니다.
  • 권한 대상이 자신이 사용한 적 없는 플랫폼입니다.
  • 웹사이트 링크가 익숙하지 않은 에어드롭, 메시지, 댓글 또는 불명확한 광고에서 비롯됩니다.
  • 지갑 네트워크가 원래 사용하던 플랫폼과 일치하지 않습니다.
  • 거래 화면에서 토큰, 계약 주소 또는 권한 한도를 명확하게 표시할 수 없습니다.

이러한 현상은 모든 플랫폼이 악의적인 웹사이트라는 것을 의미하지는 않지만, 사용자에게는 브랜드 아이콘이나 익숙한 인터페이스에만 의존해서는 안 된다는 경고를 줍니다. 해커는 시스템을 연구하고 취약점을 수정하는 기술자로 위장할 수 있으며, 가짜 웹사이트, 가짜 에어드롭, 또는 가짜 고객 서비스로 사용자가 위험한 권한을 서명하도록 유도하는 사람은 사기꾼이라고 해야 합니다.

암호화폐 권한을 어떻게 취소하는가? Revoke의 역할은 무엇인가?

권한 취소는 일반적으로 Revoke라고 불리며, 핵심 원리는 특정 토큰에 대해 특정 스마트 계약의 사용 가능한 한도를 0으로 설정하는 것입니다. 이는 지갑을 삭제하는 것이 아니며, 토큰을 다른 주소로 옮기는 것도 아니고, 블록체인에서 이미 완료된 송금을 되돌리는 것도 아닙니다. 그 역할은 해당 계약이 이후에 이 토큰 권한을 계속 사용할 수 없도록 하는 것입니다. 검사를 진행할 때, 다음 순서로 잘못된 작업의 기회를 줄일 수 있습니다:

  1. 지갑 주소와 현재 선택한 블록체인 네트워크를 확인합니다.
  2. 오직 공식 지갑 기능, 신뢰할 수 있는 블록체인 탐색기 또는 신뢰할 수 있는 권한 도구를 통해 접근합니다.
  3. 토큰, 계약 주소, 권한 수량, 권한 시간 및 거래 기록을 확인합니다.
  4. 이미 사용하지 않거나 출처를 확인할 수 없는 플랫폼을 우선적으로 검토합니다.
  5. 지갑에서 나타나는 권한 취소 거래를 읽고, 새로운 토큰 전송 작업이 아님을 확인합니다.
  6. 체인에서 확인을 기다린 후, 권한 목록을 다시 정리합니다.

권한 취소는 여전히 체인 상의 거래이므로, 이에 상응하는 네트워크 비용을 지불해야 합니다. Ethereum 공식 자료에 따르면, 검사 도구와 지갑은 동일한 네트워크를 사용해야 하며, 완료 후에는 상태를 다시 연결하여 확인하는 것이 가장 좋습니다. 다른 네트워크의 권한은 각각 점검해야 하며, Ethereum에서 기록이 없다고 해서 TRC20이나 다른 네트워크에서도 권한 위험이 없다고 간주할 수 없습니다.

imToken 및 TokenPocket TP의 권한 점검 포인트

각기 다른 지갑의 기능 이름과 접근성이 다를 수 있으므로, 사용자는 특정 버튼 위치만 기억하는 것이 아니라 Approval, Allowance, 권한 관리 또는 유사한 기능을 찾아야 합니다. imToken을 사용할 경우, 현재 지갑과 네트워크를 먼저 확인한 후, 토큰 권한 및 스마트 계약과의 상호작용과 관련된 정보를 확인해야 합니다. 만약 인터페이스가 거래 내용을 분명히 표시하지 못한다면, 낯선 웹사이트를 통해 추가 작업을 하는 것은 피해야 합니다. TokenPocket, 즉 TP는 공식적으로 Approval Detection 기능을 제공합니다. TokenPocket 설명에 따르면, 사용자는 권한 계약 주소, 권한 수량, 권한 시간 및 거래 해시를 확인한 후 Revoke Approval을 선택할 수 있습니다. 그 기본 원리는 다시 권한 한도를 0으로 설정하는 것이며, 서명을 완료한 후 페이지를 새로 고쳐 권한 데이터가 업데이트되었는지 확인해야 할 수 있습니다. imToken, TokenPocket 또는 다른 지갑을 사용할 때는 다음 네 가지를 확인해야 합니다: 권한이 본인에 의해 생성되었는지, 현재 여전히 필요로 하는지, 계약 주소가 신뢰할 수 있는 체인 데이터에서 확인할 수 있는지, 취소 거래의 내용이 예상과 일치하는지. 도구는 정보를 정리하는 데 도움을 줄 수 있지만, 사용자가 거래 내용을 읽는 것을 대체할 수는 없습니다. 지갑 권한이나 스마트 계약의 보안에 의문이 있을 경우, VexelOps에 도움을 요청할 수 있습니다.

Token Approval 의 권한 점검에서 Revoke 까지의 안전한 흐름

Token Approval 및 암호화폐 지갑 권한에 대한 자주 있는 질문

Token Approval은 다른 사람이 지갑의 모든 자산을 가져가도록 하나?

그렇지 않습니다. Token Approval은 특정 토큰 및 특정 스마트 계약에 적용되며, 지갑 내 모든 자산이 동일한 권한을 열어 주는 것이 아닙니다. 실제 위험은 권한이 부여된 토큰의 종류, 한도, 계약 기능, 및 사용자가 이후 서명한 거래 내용에 따라 다릅니다. 무한히 승인된 경우나 승인 대상이 가짜 웹사이트에서 온 경우, 위험은 단순히 이번 사용 수량을 승인한 경우보다 클 수 있습니다. 권한 위험과 지갑 개인 키 유출 문제는 서로 다른 문제입니다. 만약 복구 구문이나 개인 키가 다른 사람에게 전달되었다면, 단순히 특정 Token Approval을 취소하는 것으로는 지갑을 보호하기에 불충분할 수 있습니다. 의심스러운 상황에 직면했을 경우, 낯선 웹사이트와의 연결을 중지하고 새로운 거래를 서명하기 전에 지갑의 알림, 거래 해시 및 관련 URL을 보관한 후, 신뢰할 수 있는 보안 지원을 요청해야 합니다.

권한을 취소한 후 암호화폐가 사라질까요?

정상적인 권한 취소 작업은 특정 계약이 사용할 수 있는 토큰 한도를 0으로 낮추는 것이며, 토큰을 삭제하거나 자산을 지갑에서 옮기는 것이 아닙니다. 권한을 취소하는 것이 완료된 스테이킹, 대출 또는 유동성 포지션에 직접적인 영향을 미치지는 않지만, 플랫폼의 계약 설계가 다를 수 있으므로 사용자는 거래 내용을 이해하고 즉시 확인하지 않도록 주의해야 합니다. 권한을 취소하려면 네트워크 비용을 지불하고 블록체인 확인을 기다려야 합니다. 또한 이전에 전송된 자산을 회수할 수 없으며, 어떤 사람이 추가 비용을 지불하면 도난당한 모든 토큰을 복원할 수 있다고 주장하거나 복구 구문, 개인 키 및 전체 인증 코드를 요구하는 경우 이는 두 번째 사기일 가능성이 높으므로 즉시 연락을 중단해야 합니다.

나는 특정 DeFi 또는 NFT 플랫폼을 사용하지 않는데, 여전히 권한을 취소해야 하나?

플랫폼을 더 이상 사용하지 않는다고 해서 이전에 부여한 토큰 권한이 자동으로 무효화되는 것은 아닙니다. 스마트 계약 권한은 대개 고정된 만료 시간이 없으므로, 오랜 시간 사용하지 않은 권한은 정기적으로 점검할 가치가 있습니다. 만약 특정 권한이 더 이상 필요하지 않다고 확인되면, 신뢰할 수 있는 도구를 통해 계약 및 한도를 확인한 후, 취소 여부를 판단해야 합니다. 권한을 취소할 때 새로운 위험을 피하는 것도 중요합니다. 낯선 메시지나 가짜 고객이 제공하는 링크를 통해 도구에 접근하지 말고, 화면이 긴급 경고를 표시한다고 해서 신속하게 거래를 서명하지 말며, 웹사이트 연결이 끊겼다고 해서 Revoke가 완료되었다고 오해하지 마세요. 특정 거래의 진정한 용도를 판단할 수 없는 경우, 서두르기보다는 작업을 중지하는 것이 더 안전합니다.

주요 요점: 정기적으로 권한을 점검하고, 연결이 끊어진 것을 취소로 오해하지 마세요.