Bitcointalk · Bitcoin Address Collisions

中本聪,2010 年 2 月 23 日

SN-0364 已核对来源,附原文与上下文。

阅读语言
中文译文

每个比特币地址都有独立的公钥/私钥对。不存在一把解锁一切的单一私钥。比特币地址是公钥的 160 位哈希,系统里其他一切都是 256 位的。

如果发生碰撞,撞出者可以花掉发往那个地址的任何钱。只是发往那个地址的钱,而不是整个钱包。

如果你存心要制造碰撞,目前生成一个碰撞的比特币地址要比生成一个区块多花 2^126 倍的时间。你靠生成区块能赚到多得多的钱。

随机种子是非常彻底的。在 Windows 上,它使用全部性能监视器数据——自你的计算机启动以来的每一项磁盘性能、网卡指标、CPU 时间、分页等。Linux 有内建的熵收集器。除此之外,每当你在 Bitcoin 窗口里移动鼠标,你就在产生熵,熵还会从磁盘操作的计时中采集。

ORIGINAL · 英文原文
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.
来源
Bitcointalk 原始链接 ↗ 记录编号 SN-0364