中本聪活动的2008到2011
序
2011年4月26日,中本聪给加文·安德烈森写了一封信,请他别再把自己说成神秘人物。
这是目前已知中本聪留下的最后一封信。
从2008年8月18日买下 bitcoin.org,到这封信,2年8个月。中本聪写出了比特币系统,然后把自己从系统里删掉了。
一、贝克让中本聪找戴伟
2008年夏,全球金融系统在往下掉。3月,贝尔斯登被摩根大通以每股10美元收购,1年前贝尔斯登的股价是170美元。9月15日,雷曼兄弟申请美国史上最大一桩破产保护,负债6130亿美元。10月3日,美国国会通过7000亿美元的救助法案,总统当天签署。
就在这个当口,亚当·贝克收到一封邮件。
贝克是英国人,密码学博士,1997年做出 hashcash,用来治理垃圾邮件:你要给我发信,先让你的电脑算一道没有捷径的题,算出来才让发。普通人不过多花1秒,但一天发100万封垃圾邮件的人会被成本压垮。这道题算起来慢、验起来快——这一点后来成了比特币的地基。
发件人是一个陌生地址。
信里说,我写了一篇电子现金的论文,里面引用了你的 hashcash。
贝克回信,提醒这个陌生人:1998年有个叫戴伟的人提过 b-money,你应该去看看。
中本聪此前不知道 b-money。
5年后,贝克在比特币论坛上说,是自己让戴伟的 b-money 被写进了中本聪的论文;又说当年要是真去跑一下那个挖矿程序,今天手里也会有一批创世时期的币,结果一枚也没有——而挖矿这件事本来就是 hashcash 发明的。
2008年8月22日下午,中本聪用 [email protected] 这个地址给戴伟发信。主题是《关于引用你的 b-money 页面》。
我读了你的 b-money 页面,很有兴趣。我正准备发一篇论文,把你的想法扩展成一个完整的、可运行的系统。亚当·贝克注意到两者的相似,把我指到你这里。我需要知道你那一页的发表年份,好写参考文献,格式会是这样——戴伟,《b-money》,网址,某某年。你可以下载一份预发布的草稿,链接在此。欢迎转给你认为会有兴趣的人。
草稿的标题是《不需要可信第三方的电子现金》。
比特币诞生之前,诞生比特币的零件早已齐备。
1989年,大卫·乔姆在荷兰做出 DigiCash,用密码学保护支付的隐私,但发行和清算得靠一家公司——公司倒了,钱就没了;1998年,DigiCash 破产。1997年,贝克的 hashcash,把计算变成一道过路费。1998年,戴伟的 b-money 和尼克·萨博的 bit gold,给出了去中心化货币的构想,两个都没有可运行的代码。2004年,哈尔·芬尼做出可重复使用的工作量证明。
前面5个人解决的是零件。中本聪解决的是装配。
二、发往密码学邮件列表的6行字
2008年10月31日下午,美国东部时间,中本聪从 [email protected]往 metzdowd.com 的密码学邮件列表,发出了6行字。标题是《Bitcoin P2P e-cash paper》。
我一直在做一套新的电子现金系统,完全点对点,没有可信第三方。论文在这里。主要性质如下——双花靠一个点对点网络来防止;没有铸币方,也没有其他可信方;参与者可以匿名;新币用 hashcash 式的工作量证明产生;而产生新币的这个工作量证明,同时也为网络提供了防双花的算力。
论文9页。标题已经改成《比特币:一种点对点电子现金系统》。
第一天几乎没有人理中本聪。
11月2日晚,中本聪把这封邮件又发了一次。
接下来2个多月,中本聪在这个列表上共留下18封邮件,最后一封是2009年1月25日。认真接话的只有几个人。
詹姆斯·唐纳德是第一个认真回帖的。唐纳德说:这个东西不成,规模一大,带宽和存储就撑不住,而且节点怎么知道自己看到的是最长的链。
中本聪一条一条回,算给对方看:块头只有80字节,一天6个块乘24小时,一年下来4.2兆,按摩尔定律,存储不是问题;花掉的输出可以剪掉,不必永久留着。
雷·迪林格问工程细节。哈尔·芬尼——1998年帮着建 PGP 的那个人——是最早看懂的。芬尼问的是攻击者拿到多少算力才能改写历史,以及价格会怎么走。
11月14日前后,中本聪在列表里写下一句:如果能讲清楚,这个东西对自由主义者会很有吸引力;不过我写代码比写字强。
列表的主持人佩里·梅茨格中途警告过这些人:这里是密码学列表,别把这个列表变成谈钱的地方。
11月9日,比特币项目在 SourceForge 注册。
三、中本聪设想了比特币的反身性
2009年1月3日下午,中本聪挖出了第一个块。奖励50枚。
中本聪在这个块的 coinbase 字段里塞进一行字:The Times 03/Jan/2009 Chancellor on brink of second bailout for banks。
那是当天《泰晤士报》的头版标题,记者是弗朗西斯·艾略特和加里·邓肯。文章说,首相戈登·布朗、财政大臣阿利斯泰尔·达林、商务大臣彼得·曼德尔森三个人正在讨论,要不要再给英国的银行一笔纳税人的钱——在10月那370亿英镑之后的第二笔。达林确实在1月12日启动了第二轮救助。那行字里没有达林的名字,原文只到"财政大臣"为止。
中本聪没有把创世块写成宣言。写进去的是一条当天的新闻标题。
这行字有两个用处:
第一个是技术性的。一个块里塞进当天报纸的头条,就证明这个块不可能是提前造出来的——谁也没法回到2009年1月3日之前去伪造一条更早的链,因为伪造者猜不到那天的头版。整条链的起点被一张报纸钉住了。
第二个用处不是技术性的:这一行把2008年那场危机的一个具体事实,存进了一份不能修改的档案。
创世块那50枚,因为代码里的一处处理方式,从来没有进入可花费记录。这50枚永远花不出去。
然后6天没有第2个块。
1月3日到1月9日,链上什么也没有发生。原因至今没有确切的解释。中本聪在那6天里做了什么,没有人知道。
1月8日下午,中本聪往邮件列表发信:Bitcoin v0.1 released。Windows 版,附源码。
中本聪在信里写了一段话,说传统货币的问题在于必须信任中央银行不去滥发,而信任一再被打破;比特币里没有可以被信任的中心,只有靠密码学来防止的规则。
1月11日,哈尔·芬尼在推特上发了2个词:Running bitcoin。
1月12日,区块170。中本聪给芬尼转了10枚。这是比特币史上第一笔转账。
芬尼后来写过那几天。芬尼说自己下载了软件,开始挖矿,挖到了很多早期的块,后来把挖矿程序关掉了——因为电脑太热,风扇太吵,芬尼的妻子受不了。
2009年8月,芬尼确诊肌萎缩侧索硬化,随后退出了比特币的工作。上面那段回忆写于2013年3月,是芬尼最后一次发帖,当时已经基本瘫痪,靠眼动仪打字。2014年8月,芬尼去世。
2009年1月中旬,中本聪在一封邮件里写下这么一句:不妨拿一点,万一它成了呢;要是足够多的人这么想,这就成了自我实现的预言。(一说1月17日,收信人达斯汀·特拉梅尔。)
四、中本聪唯一一次讲比特币为什么
2009年2月11日,中本聪在 P2P Foundation 论坛开了一个帖子介绍比特币。这是中本聪把动机说得最完整的一次。
传统货币的根本问题在于它需要信任。中央银行必须被信任不去让货币贬值,而法币的历史里充满了这种信任被打破的记录。银行必须被信任来保管我们的钱、用电子方式把它转来转去,可它把这些钱借了出去,一轮又一轮的信贷泡沫,而柜上只留下极小一部分准备金。我们不得不把隐私交给他们,信任他们不会让身份窃贼掏空我们的账户。
同一天,中本聪填了那个论坛的个人资料页。出生日期:1975年4月5日。居住地:日本。
居住地那一栏几乎没人相信:中本聪发帖的时段分布跟日本时区对不上。
2009年11月19日,比特币官方论坛开张,中本聪在自己的论坛上注册,拿到的是第3号用户。不是第1号。
12月16日,比特币 v0.2 发布。
五、中本聪1兆小块
2010年7月15日,中本聪分2次提交,悄悄给每个块加上了1兆字节的上限。
没有公告。没有说明。据当时的论坛管理员回忆,中本聪还让自己独立发现这段代码的人先别说出去,等这件事过去再讲。
上限之所以必须有:一个块可以无限大,矿工就能造出别人不愿接受的巨块,网络会裂成两条链;任何人也可以用塞满垃圾交易的巨块,把普通节点的带宽和硬盘拖死。
10月3日,杰夫·加齐克提交了一个补丁,把上限从1兆提到7兆,理由是比特币每秒只能处理3到10笔交易,太少了,不好看。
中本聪和论坛管理员都说别用:这个改动会让你的节点脱离网络。中本聪说过将来需要时可以分阶段调整。那是一句条件句。
中本聪离开之前,再没有动过这1兆。也从来没有说过为什么是1兆。
这是中本聪做过的最安静的一件事,也是后果最长的一件事。2015到2017年,整个比特币社区为这1个数字打了2年,分成大块派和小块派,论坛互相封号,开发者互相攻击。2017年8月1日,大块派分叉出去,做了比特币现金。
这场战争的全部战场,就是中本聪2010年7月15日那2次没有说明的提交。
六、五小时内救火
2010年8月15日凌晨,区块74638被挖出来。
里面有一笔交易,凭空造出了184,467,440,737.09551616枚比特币,分给3个地址,其中2个各得922亿3372万多枚。
漏洞的名字叫整数溢出。检查交易的那段代码要把所有输出加起来,看是不是超过了输入。装这个和的容器有大小上限,2个巨大的数加在一起超出容器,就像里程表跑满一圈归零那样绕回一个很小的数。检查代码看到的是那个小数,于是判定这笔交易合法。
杰夫·加齐克1个半小时后发现这个块的输出"很奇怪",在论坛上开了帖。
从发现算起5小时之内,中本聪发布了 v0.3.10。补丁加进一条新规则:输出相加溢出的交易无效;任何单笔输出超过2100万枚的交易,不管理由是什么,一概无效。
这是一次软分叉。链因此裂成2条:装了新版本的节点走"好链",没装的继续在"坏链"上挖。约19个小时后,在区块74691,好链的累计工作量超过了坏链,全网自动接受了好链。那笔凭空造币的交易连同这笔交易之后的一段记录,一起从历史里消失。
动手的人至今不知是谁。
5小时。这是中本聪一生唯一一次在真实攻击下的响应时间记录。规则是中本聪一个人写的,但让规则生效的是各自装上新版本的节点——没有一道命令能强制任何人升级。
七、中本聪不惹马蜂窝
到2010年,比特币开始被外面的人看见。
2010年7月11日,Slashdot 报了一条比特币的消息,新用户成批涌进来。
8月下旬,中本聪在论坛上做了一个思想实验:设想有一种贱金属,像黄金一样稀缺,颜色乏味,没有实用价值,也没有装饰价值,但这种金属有一个神奇的性质——可以通过通讯线路传输。
同一年,论坛上有人讨论钱包丢了怎么办。中本聪回:丢掉的币只是让别人手里的币稍微更值钱一点,把它当作给所有人的捐赠。
12月,维基解密被 Visa、万事达、PayPal 一起切断了捐款通道。有媒体撰文提示,比特币可以用来接收捐款。论坛上有人喊"来吧"。
中本聪写:不,别"来吧"。这个项目需要慢慢地长,软件才有时间在路上被加固。我强烈呼吁,别拿比特币去做这件事。
12月11日前后,中本聪写道:这份关注要是来自任何别的场合都好。维基解密踢了马蜂窝,蜂群正朝我们飞过来。
这是中本聪2年多里唯一一次露出情绪。不是因为有人骗钱,不是因为有人攻击,是因为比特币出名太早。
12月12日,中本聪在论坛发出最后一条公开发言。内容是 v0.3.19 加了一些防拒绝服务攻击的控制,以及安全模式的警报被去掉了。中本聪写:这方面还有更多工作要做;正如加文和我以前明确说过的,这个软件完全不抗拒绝服务攻击。
中本聪最后一句公开的话是关于防守。
也是在这一年年底,中本聪把项目交出去。9月告诉加文·安德烈森自己在做别的项目;此后把 SourceForge 代码库的控制权交给安德烈森,把网络的告警密钥也一起交了。告警密钥是那时候全网唯一的紧急开关,持有的人可以给所有节点广播一条弹窗警报。
bitcoin.org 的域名中本聪也没有留在开发者手里,而是转给了开发之外的人,理由是把责任分开,不让任何一个人或一个机构能拿住整个项目。
八、告别
2011年4月23日,迈克·赫恩给中本聪发信,主题是《把币锁在一个滚动时间窗内不可花》,顺便问中本聪会不会回到这个项目里来。
中本聪回:我已经转向别的事情了。它在加文和大家手里很稳。中本聪还说,希望赫恩用 Java 写的那个 bitcoinj 继续做下去,给 Java 开发者一点事情干。
3天后,4月26日,中本聪给安德烈森写了那封信。
大意是:我希望你别再把我说成一个神秘人物;媒体一转手,会用这个角度将比特币写成海盗货币。不如把话题变成这个开源项目本身,多给那些贡献代码的人一点功劳,这样有助于他们更有动力。
这是中本聪关于匿名唯一一次给出理由。理由不是"保护我",是"别妨碍比特币"。
此后不久,安德烈森给中本聪写信,说自己接受了中央情报局的邀请,要去讲讲比特币。这封信没有回音。
安德烈森后来说过,自己一直在想,是不是这一封把他吓走了。