密码学科普小说 · 第 9 章
比国王还长寿的账本:比特币
2008 年 10 月 31 日,万圣节。Alice 和 Bob 落在一间普通的出租屋里,桌上一台笔记本电脑亮着,屏幕上是一封刚发到某个密码学邮件列表的邮件,署名“中本聪”(Satoshi Nakamoto),标题是《比特币:一种点对点的电子现金系统》。房间里没有人,只有一杯还冒着热气的咖啡。
Bob 读完那九页论文,半天没说话。
Alice:“说人话。”
Bob:“说人话就是:一本全世界一起记、谁也改不了、也不归任何国王管的账本。”
Bob 把前面学到的东西一样样摆出来:
哈希,把区块串成链。谁想篡改三个月前的一笔账,就得把那一块之后的所有区块全部重算一遍工作量证明,还得比全网其他诚实的矿工算得更快。
默克尔树,让手机钱包不用下载几百 GB 的完整账本,只要拿到“从你的交易一路算到树根”的几个哈希,就能验证你的交易确实在某个区块里。
数字签名(secp256k1 曲线上的 ECDSA,后来也有 Schnorr),决定谁有权花一笔钱。账本上记的不是“张三有 1 个币”,而是“这 1 个币,只有能用某把私钥做出有效签名的人才能花”。
Alice:“等等。所以账本上根本没有名字?”
Bob:“没有。只有公钥(或者它的哈希,也就是地址)。谁握着私钥,谁就是主人。没有客服,没有‘忘记密码’按钮,没有银行经理可以帮你找回。”
Alice 沉默了很久。她又想起了奶奶写在挂历背面的银行密码。
“那要是私钥丢了呢?”
“币就永远留在那里,谁也拿不走,包括你自己。”
📌 课堂小结:比特币里的“钥匙即所有权”
• 私钥:一个约 256 比特的随机数(严格说要小于曲线的阶 n)。
• 公钥:私钥 × 曲线生成点 G,在 secp256k1 上计算。
• 地址:公钥经过哈希和编码得到。
• 花钱:用私钥对交易签名,全网用公钥验证。
一句话:区块链解决了“账本谁说了算”,却把“钥匙怎么保管”这个难题,原封不动地交还给了每个普通人。
咖啡凉了。屋主一直没有回来。
Bob 小声说:“据估计,这个人大约挖出了一百万枚比特币,这些年一枚都没动过。”
Alice:“那……有没有可能,有人能‘猜中’他的私钥,把那些币拿走?”
Bob 笑了:“这个问题,下一章有一个特别好的故事来回答。”
📌 思考题
1. 为什么说篡改一个旧区块,要付出的代价随着时间越来越大?
2. “没有客服”是比特币的优点还是缺点?分别站在两边辩论。