블랙리스트 함수 (Blacklist function)
한눈에 보기 블랙리스트 함수는 토큰 컨트랙트 소유자가 특정 지갑을 차단하여 토큰의 전송이나 매도를 막을 수 있도록 만든 코드입니다.
블랙리스트 함수(Blacklist Function)는 토큰 스마트 컨트랙트에서 오너(Owner) 등 특권 주소가 특정 지갑을 차단 목록에 등록할 수 있도록 구현한 코드입니다. 지갑이 블랙리스트에 오르면 컨트랙트가 해당 주소의 전송을 거부하므로, 실제로는 토큰을 매도하거나 다른 곳으로 옮길 수 없게 되며 경우에 따라서는 토큰 수령조차 불가능해집니다.
작동 방식을 살펴보면, 컨트랙트 내부에서 주소와 참/거짓(true/false) 값을 매핑해 두고 전송 로직이 실행될 때마다 해당 플래그를 검사합니다. 오너가 addToBlacklist나 setBots 같은 함수를 실행해 플래그를 활성화합니다. EVM 체인의 검증된 컨트랙트(Verified Contract)라면 누구나 솔리디티(Solidity) 코드를 통해 이를 확인할 수 있지만, 함수 이름이 난독화되어 숨겨져 있는 경우도 흔합니다. 정상적인 자산에서도 유사한 제어 기능이 사용됩니다. 주요 법정화폐 담보 스테이블코인은 해킹이나 제재와 연관된 주소를 동결할 수 있으며, 솔라나 토큰 역시 계정 단위에서 동일한 역할을 수행하는 Freeze Authority(동결 권한)를 가질 수 있습니다.
소형 토큰 홀더 입장에서 가장 치명적인 문제는 이 차단 권한을 누가 쥐고 있느냐입니다. 익명의 배포자가 블랙리스트 권한을 보유하고 있다면, 수익을 낸 초기 매수자 등 특정 지갑만 골라 매도를 막는 방식으로 토큰을 허니팟(Honeypot)으로 변질시킬 수 있습니다. 프로젝트 측에서는 런칭 초기 스나이핑 봇을 방어하기 위한 장치라고 해명하기도 하며 실제로 그런 목적일 때도 있지만, 동일한 권한이 언제든 일반 투자자를 상대로 악용될 수 있습니다.
검증된 소스 코드에서 전송을 차단하는 매핑 변수가 있는지 확인하고, 컨트랙트 오너 권한이 포기(Renounce)되었는지 혹은 타임락이 적용된 멀티시그(Multisig)로 관리되는지 점검해야 합니다. 솔라나의 경우 Freeze Authority가 취소(Revoke)되었는지 확인하는 것이 필수적입니다. 토큰 스캐너 툴이 블랙리스트 함수를 자동으로 감지해주기도 하지만, 함수명이 변경되었거나 난독화된 경우 탐지를 우회할 수 있으며, 프록시(Proxy) 컨트랙트라면 추후 업그레이드를 통해 블랙리스트 기능이 추가될 수도 있습니다.




