跳转到正文
buybitcoinsmart

术语表 /地址与密钥

靓号地址

靓号地址是什么?
靓号地址是在自身字符中拼出所选单词或前缀的地址,通过逐一遍历随机密钥、直到其中某个密钥编码出该模式而得到。

其中并无巧妙之处。程序生成一个密钥,推导出地址,检查该字符串是否以您想要的方式开头,然后重复这一过程,必要时重复数十亿次。每多要求一个字符,工作量对传统地址乘以58,对 bech32 地址乘以32,因此传统地址上六个字符的前缀大约需要380亿次尝试。

运作方式

靓号生成是针对编码的暴力搜索,而非针对密码学本身。比特币地址是包裹校验和并以受限字母表呈现的哈希,因此影响其外观的唯一办法,就是不断生成新密钥,直到某个密钥落在您喜欢的字符串上。从期望的地址反推出密钥是不可能的。

这笔算术毫不留情。Base58 使用58个字符,因此在开头的1之后匹配五个字符平均需要656,356,768次尝试,匹配六个字符则需要38,068,692,544次。Bech32 使用32个字符的字母表,要宽松一些:在 bc1q 之后匹配六个字符需要1,073,741,824次尝试。vanitygen 及其 GPU 分支版本等工具每秒可处理数亿个密钥,因此短前缀只是个新奇玩意,长前缀则是一笔硬件预算。

分割密钥生成方式适合想要这种外观、又不愿交出密钥的人。您生成一个私钥,只把对应的公钥发给负责搜索的人。对方通过暴力搜索得到一个部分密钥,该密钥与您的密钥组合后可产生目标模式,随后由您自己把两半相加。搜索者始终不会得知完整密钥。任何通过电子邮件把完整私钥发给您的服务,都已经见过这个私钥。

在哪里会遇到它

凡是地址以打印而非扫描方式呈现的地方,都会出现靓号地址。

捐赠页面、会议海报、作为储备金证明公布的交易所冷钱包地址,以及拼出短语、根本无人持有密钥的销毁地址。这些都是有意重复使用的静态地址,这意味着所有者放弃了新地址本可带来的隐私,并接受余额成为任何人都能查看的公开数字。

警示性的案例来自以太坊,其教训可直接适用。Profanity 是一款被广泛使用的靓号地址工具,它用32位随机性作为搜索种子,把可能的密钥空间压缩到4,294,967,296。1inch 团队于2022年9月披露了该漏洞,而在2022年9月20日,做市商 Wintermute 从该工具生成的一个地址中损失了约1亿6,000万美元。靓号生成器是一个全部工作就是制造私钥的程序,而该地址将来持有的一切,都取决于您对它的随机性的信任。

靓号地址 vs 地址投毒

靓号地址由其所有者选定;被投毒的地址则由攻击者制造,以模仿您的地址。地址投毒使用同样的暴力搜索技术,去匹配您已付款地址的前四个和后四个字符,然后发送一小笔比特币,让这个相似地址留在您的交易记录中,等待被误复制。靓号地址所助长的习惯,即只看几个字符便信任其余部分,恰恰是这种攻击所依赖的习惯。请比对完整的字符串,或在计算机无法篡改的硬件钱包屏幕上确认。

请勿混淆

常见问题

使用靓号地址安全吗?

其安全程度仅取决于生成它的工具。地址本身与普通地址无异,但私钥是由生成器产生的,因此随机性不足,或托管服务返回现成密钥,都会使资金面临风险。分割密钥生成可避免把密钥交给任何人。

为什么靓号地址会损害隐私?

因为它们本就是用来公开和重复使用的。易记的地址会被反复使用,因此见过它的人都能读到其完整余额和付款历史,这与每笔付款使用新地址的默认做法恰好相反。

接着阅读

相关术语

地址与密钥中的更多术语

阅读本页英文版