본문으로 건너뛰기

dApp 허용(권한) 철회하는 방법

암호화폐를 사용하는 모든 분께 "허용(allowance, 권한)" 의 개념을 이해하는 일은 매우 중요합니다. 암호화폐에서 허용이란, 사용자를 대신해 특정 작업을 수행할 수 있도록 탈중앙화 애플리케이션(dApp)에 권한을 부여하는 것을 의미합니다. 따라서 관련된 위험을 잘 이해하고, 이러한 권한을 효과적으로 관리하는 것이 매우 중요합니다.

디앱 허용이란 무엇인가요?​

디앱 허용이란 토큰을 이용한 특정 작업을 실행할 권한을 디앱에 부여하는 것을 말합니다. 이 권한이 있으면 디앱은 사용자의 토큰을 전송하거나, 새로운 토큰을 발행하는 등 사용자를 대신해 다양한 작업을 수행할 수 있습니다.

다음은 이더스캔에서 조회한 이더리움 지갑의 예시로, 허용 권한이 부여된 디앱들을 보여줍니다.

관리되지 않은 허용의 위험성​

디앱 허용 권한을 제대로 관리하지 않으면 다양한 위험에 노출될 수 있습니다. 대표적인 예시는 다음과 같습니다.

a) 무단 토큰 전송: 디앱이 허용 권한을 가지고 있다면 사용자의 동의 없이 토큰을 전송할 수도 있어, 자산이 손실되거나 도난당할 수 있습니다.

b) 발행 권한 악용: 악의적인 디앱이 허용 권한을 악용해 사용자 명의로 새 토큰을 발행하여, 기존 보유 자산의 가치를 떨어뜨릴 수 있습니다.

c) 계정 취약성: 제한 없는 디앱 권한을 허용하면 계정 보안이 약해져, 무단 제어나 조작에 노출될 수 있습니다.

지갑 연결을 해제하면 안전한가요?​

디앱에서 지갑 연결을 해제하는 것과 승인(허용)을 철회하는 것은 비슷해 보이지만, 디앱이 가진 접근 권한과 통제 수준에서 분명한 차이가 있습니다.

지갑 연결 해제와 허용 철회의 차이​

지갑 연결을 해제한다는 것은 해당 디앱이 일부 정보(공개 주소, 토큰 잔액, 거래 기록 등)를 조회할 수 있는 권한만을 거두어 들이는 것입니다. 즉, 해당 디앱이 내 계정을 보거나 상호작용하는 것을 제한하는 정도의 효과가 있습니다.

반면 허용 철회는 지갑 연결 해제보다 한 단계 더 강력한 조치입니다. 허용을 철회하면 지갑 안의 자산에 대한 디앱의 접근 권한 자체가 차단되므로, 디앱이 더 이상 토큰을 조회하거나 이동시킬 수 없습니다. 즉, 디앱이 자산에 접근하고 움직이는 것을 완전히 막는 셈입니다.

지갑 연결 해제는 일부 권한을 제한할 뿐, 허용 철회와 동일한 수준의 보안을 보장하지는 않는다는 점을 꼭 기억하세요.

효과적인 권한 관리를 위한 팁​

a) 무단 행위 방지: 불필요한 권한을 정기적으로 점검하고 철회하면, 디앱이 사용자 대신 거래를 일으키거나 토큰을 오용할 위험을 줄일 수 있습니다.

b) 토큰 무결성 보호: 더 이상 사용하지 않거나 의심스러운 디앱의 허용을 철회하면, 해당 디앱이 계정과 관련된 토큰을 조작하지 못하도록 막을 수 있습니다.

c) 계정 보안 강화: 권한을 적절히 관리하면 악의적인 디앱이 계정을 장악할 가능성을 최소화하고, 개인정보와 자산을 더 안전하게 지킬 수 있습니다.

디앱 허용(권한) 철회하는 방법​

Ethallowance, Etherscan, Cointool, Revoke, Unrekt, EverRevoke 등 신뢰할 수 있는 도구를 이용하면 디앱에 부여된 허용을 효율적으로 관리하고 철회할 수 있습니다.

참고: 디앱 허용 철회도 블록체인 거래이기 때문에 네트워크 수수료가 발생합니다. 사용하는 철회 서비스에 따라 추가 수수료가 부과될 수도 있습니다.

디센트 앱에서 허용 철회하기​

디센트 모바일 앱 v10.0.0부터 "My Wallet" 탭의 "Approval" 탭에서 계정별로 허용(승인)한 디앱 목록을 확인하고 바로 철회할 수 있습니다.

1) "My Wallet" 탭에서 "Approval" 탭을 누릅니다.

2) 토큰별로 허용된 디앱(컨트랙트) 목록이 표시됩니다. 철회할 디앱 오른쪽의 "철회" 버튼을 누릅니다.

3) "승인 취소" 화면에서 권한 취소 대상과 네트워크 수수료를 확인한 뒤 "승인 취소" 버튼을 누릅니다.

4) 하드웨어 지갑을 사용 중이라면 기기 화면에서 내용을 확인하고 서명합니다.

5) 철회가 완료되면 해당 디앱이 "Approval" 목록에서 사라집니다.

경고
  • 하드웨어 지갑을 사용하는 경우, 철회하려면 지갑이 앱에 연결되어 있어야 합니다.
  • 허용 철회도 블록체인 거래이므로 네트워크 수수료가 발생합니다. 수수료로 사용할 코인(예: Base 네트워크의 ETH)이 계정에 있어야 합니다.

이더스캔(이더리움)으로 허용 철회하는 예시​

이더스캔에서 디센트 지갑으로 디앱 허용 철회하기 (1)

디센트 지갑의 디스커버리 탭(댑 브라우저)에서 이더스캔(https://etherscan.io)으로 이동한 뒤, 서비스 하위 메뉴에서 "Token Approvals(토큰 허용)" 을 누릅니다.

이더스캔에서 디센트 지갑으로 디앱 허용 철회하기 (2)

"Connect to Web3(웹3.0에 연결)" 을 누른 뒤 "메타마스크" 를 선택하면, 디센트 지갑에서 지갑 연결이 트리거됩니다.

이더스캔에서 디센트 지갑으로 디앱 허용 철회하기 (3)

연결이 끝나면 허용 권한이 부여된 토큰과 디앱 목록을 확인할 수 있습니다. 파란색 "Revoke(철회)" 버튼을 누르면 해당 디앱에 부여된 허용을 철회할 수 있습니다.

Revoke 서비스로 허용 철회하기 (멀티체인)​

여러 네트워크에서 디앱을 사용하는 분들께는 Revoke(리보크) 라는 멀티체인 도구도 추천합니다.

리보크 캐시에서 디센트 지갑으로 디앱 허용 철회하기 (1)

디센트 지갑의 디스커버리 탭(댑 브라우저)에서 리보크(https://revoke.cash)로 이동한 뒤, 메인 메뉴에서 "지갑 연결" 을 누릅니다.

리보크 캐시에서 디센트 지갑으로 디앱 허용 철회하기 (2)

"메타마스크" 를 누르면 디센트 지갑에서 지갑 연결이 트리거됩니다.

리보크 캐시에서 디센트 지갑으로 디앱 허용 철회하기 (3)

지갑 연결이 끝나면 과거에 상호작용한 스마트 컨트랙트(디앱)에 부여된 토큰 권한을 자세히 확인할 수 있습니다. 화면을 오른쪽으로 스크롤하면 Actions(작업) 메뉴에서 "Revoke(철회)" 버튼을 찾을 수 있습니다.