Skip to content

回复:比特币地址碰撞 ​

原始发布页

打开来源页面
查看 1 个交叉存档

每个比特币地址都有独立的公钥/私钥对。不存在一把可以解锁所有东西的单一私钥。比特币地址是公钥的 160 位哈希,系统中的其他内容都是 256 位。

如果发生碰撞,找到碰撞的人就可以花费发送到该地址的任何钱。受影响的只是发送到该地址的钱,不是整个钱包。

如果你故意尝试制造碰撞,目前生成一个碰撞的比特币地址所需时间,是生成一个区块所需时间的 2^126 倍。你生成区块本可以获得多得多的钱。

随机数种子的熵来源非常充分。在 Windows 上,它使用计算机启动以来测量磁盘每一项性能、网卡指标、CPU 时间、分页等信息的全部性能监视器数据。Linux 有内置的熵收集器。此外,每次你在比特币窗口内移动鼠标,都会生成熵;磁盘操作的时序也会被收集为熵。

英文原文 ​

展开英文原文

There's a separate public/private keypair for every bitcoin address. You don't have a single private key that unlocks everything. Bitcoin addresses are a 160-bit hash of the public key, everything else in the system is 256-bit.

If there was a collision, the collider could spend any money sent to that address. Just money sent to that address, not the whole wallet.

If you were to intentionally try to make a collision, it would currently take 2^126 times longer to generate a colliding bitcoin address than to generate a block. You could have got a lot more money by generating blocks.

The random seed is very thorough. On Windows, it uses all the performance monitor data that measures every bit of disk performance, network card metrics, cpu time, paging etc. since your computer started. Linux has a built-in entropy collector. Adding to that, every time you move your mouse inside the Bitcoin window you're generating entropy, and entropy is captured from the timing of disk ops.

为历史保存,为中文读者整理。每篇档案均附来源与英文原文。