本稿では過去にも何度かバニティアドレス(Vanity Address)について触れたことがあります。ライトニングノードのID、ビットコインアドレスなどの文脈でも触れたかもしれませんが、Split-key Vanity Address Generationについての記事が一番に思い出されます。
【2021/6/3】バニティアドレスをトラストレスに生成してもらう
今日なぜこのテーマを掘り起こしたかというと、Wintermuteというマーケットメイカーが脆弱なバニティアドレス生成ソフトを使用していたために(おそらくブルートフォース攻撃によって)$160Mもの資金を盗難されるという事件が起こったためです。どうも、使用していたツールが鍵生成に使用したエントロピーがわずか32ビット(2^32)だったためにブルートフォース攻撃されてしまったようです。
Wintermuteがバニティアドレスを使用した目的は一般的な用途とは異なり、アドレスのデータ容量を圧縮して手数料を節約するというものだったようですが、ビットコインの世界でもVanity Addressが少なからず存在します。今日はビットコイン上のバニティアドレスについて基本的な解説を行い、最後にSilent Paymentsとバニティアドレスの相性を検討してみます。
本稿ではバニティアドレスの生成に使用できるソフトウェアも紹介しますが、Wintermuteの件同様、詳細な生成方法が安全性に関わるので、安心できない場合は生成をして楽しむことにとどめて、生成したアドレスへの入金はやめるか、少額にとどめておきましょう。バニティアドレスの利用はプライバシー面でも褒められたものではありません。
バニティアドレスとは
バニティアドレスとは、特定の文字列を含むように意図的に生成・選択されたアドレスのことを言います。おそらく一番多くの人口が触れたのはBitMEXの入金用のアドレスがすべて3BMEX~から始まっていたことかと思います。今はbc1qmex~から始まるようです。多数あるアドレスの中から見つけやすいため、ユーザーにとって利便性があったり、ブランディングや宣伝効果があります。バニティアドレスの使用はこのあたりが目的・メリットとなります。