ブラックリスト機能(Blacklist function)
要点 ブラックリスト機能は、オーナーが特定のウォレットによるトークンの送信や売却をブロックできる、トークンコントラクト内のコードです。
ブラックリスト機能とは、トークンのスマートコントラクトに組み込まれたコードで、特権を持つアドレス(通常はオーナー)が特定のウォレットを禁止対象として登録できるものです。リストに載ったウォレットは、コントラクトによって送信を拒否されます。実際には、そのトークンを売ることも動かすことも、場合によっては受け取ることさえできなくなります。
仕組みとしては、コントラクトがアドレスと真偽フラグを対応づけたマッピングを保持しており、トークンの移動を許可する前に転送ロジックがそのフラグを確認します。オーナーはaddToBlacklistやsetBotsのような関数を呼び出してフラグをオンにします。EVMチェーンでは、検証済みコントラクトであれば誰でも読めるごく普通のSolidityですが、関数名は偽装されていることがよくあります。正当な資産にも似た制御はあります。法定通貨担保型の主要ステーブルコインは、ハッキングや制裁に関連するアドレスを凍結できますし、Solanaのトークンには、アカウント単位で同じ役割を果たすフリーズ権限(freeze authority)を持たせることができます。
小型トークンの保有者にとっての問題は、そのスイッチを誰が握っているかです。匿名のデプロイヤーがブラックリストを持っていれば、どのトークンも、選ばれたウォレットにとってのハニーポットにできてしまいます。対象になるのは、早く買って利益を出している人であることが多いです。プロジェクト側はローンチ時のスナイパーボット対策だと説明することがあり、それが本当の場合もありますが、同じ権限は一般の購入者に対していつでも使えます。
検証済みのソースコードで、転送をブロックするマッピングがないか確認してください。また、オーナー権限が放棄(renounce)されているか、タイムロック付きのマルチシグが保有しているかも見ましょう。Solanaでは、フリーズ権限が取り消されているかを確認してください。トークンスキャナーはブラックリスト機能を自動で検出しますが、名前を変えたり難読化したりしたものは見逃すことがあります。また、プロキシコントラクトはアップグレードによって後から追加することもできます。




