虚荣地址(Vanity Address)
一句话定义: 开头字符被特意定制(如 1Pizza...)的比特币地址,靠暴力搜索撞出匹配前缀生成。
虚荣地址就是开头图案由人挑选、而非听天由命的比特币地址。生成方式是暴力搜索:不断随机生成密钥对,看地址是否以想要的前缀开头。搜索成本随前缀长度指数上涨。
bech32(bc1q... / bc1p...)地址的大致量级:
- 4 个定制字符:约 100 万次尝试(笔记本上几秒)
- 6 个定制字符:约 10 亿次(笔记本上几分钟到一小时)
- 8 个定制字符:约 1 万亿次(多个 GPU 小时)
- 10 个以上定制字符:实际上需要 GPU 集群跑上几天
著名的例子包括 1BitcoinEater... 这类燃烧地址图案,和某些交易所的「品牌」地址。
安全陷阱是让别人替你干活。如果虚荣地址服务生成钥匙后把种子发给你,那他们手里就有私钥(他们数据库被黑后黑客也有)。正确姿势是:
- 本地生成。 用开源工具(Vanitygen、bitcoin-vanity-search 等)在自己的硬件上跑,私钥永不离开你的机器。
- 分割密钥生成。 两方协议:一方暴力搜索匹配前缀的部分密钥,另一方再叠加一个秘密标量偏移。任何一方都见不到完整私钥。想把算力外包又不想信任算力提供方时用它。
虚荣地址默认就是隐私错误。为打品牌而复用同一个地址,等于把所有活动归拢到一个标识符上,钱包的交易隐私随之报废。真想要虚荣地址,就生成一个,把它当「门面收款地址」用,收完随即扫入常规 HD 钱包地址做实际保管。