The Cypherpunk Dream: The Origins of Blockchain
2008年11月的一个深夜,旧金山郊外一栋租来的公寓里,32岁的密码学工程师哈尔·芬尼盯着电脑屏幕上的一封加密邮件,手指在键盘上悬了足足三分钟。邮件的发件人署名是“中本聪”,附件是一个9页的PDF文档,标题写着《比特币:一种点对点的电子现金系统》。芬尼在密码朋克社区混了十年,见过太多号称要颠覆金融系统的“数字黄金”骗局,大多数他看都不看就删了,但这篇文档的数学推导严丝合缝,逻辑链条完整到让他后背发凉:如果这个方案真的能跑通,他们这代密码朋克折腾了十几年的梦想,可能真的能实现了。
芬尼不知道的是,这封邮件代表的不仅是一个新的支付系统,更是一颗埋了十多年的种子终于破土而出的信号。这颗种子的故事,要从1992年旧金山湾区的一群反主流文化的技术宅说起。
密码朋克:当加密技术遇上个人自由
1992年秋天,15个穿着连帽衫、抱着笔记本电脑的程序员、密码学家和自由主义活动家,挤在旧金山湾区一家咖啡馆的角落里,讨论着一个在当时听起来近乎疯狂的念头:用密码学保护普通人的自由,对抗政府和 corporations 的监控。这群人后来给自己起了个名字:密码朋克(Cypherpunk),这个词是“密码”(Cipher)和“朋克”(Punk)的结合,代表着他们既精通加密技术,又带着反权威的叛逆精神。
密码朋克运动的核心理念,写在他们1993年发布的《密码朋克宣言》里:“我们相信隐私是自由的基础……在数字时代,没有隐私的人是没有自由的。密码学是保护隐私的唯一方法,我们必须把它普及给所有人。”在他们看来,当时的互联网就像一条没有门的街道,政府、互联网服务提供商、广告商可以随便查看你发的每一封邮件、访问的每一个网站、买的每一件商品,普通人的数字生活完全没有秘密可言。而密码学,就是给每个人的数字生活装上门和锁的工具。
密码朋克运动的第一个里程碑,发生在1991年。那一年,37岁的程序员菲利普·齐默尔曼把自己花了几年时间开发的PGP(Pretty Good Privacy,相当好的隐私)加密软件,上传到了互联网上。PGP用的是当时最强的非对称加密技术:每个用户都有一对密钥,公钥可以随便发给任何人,别人用你的公钥加密的信息,只有你有私钥能解开,相当于你有一个只有你能打开的邮箱,别人可以往里面塞信,但是只有你能看。
但是在美国政府眼里,PGP就是“数字武器”。当时美国把256位以上的强加密技术列为军需品,出口需要联邦政府的许可证,齐默尔曼把PGP放到互联网上,相当于把“军火”随便发给全世界的人,包括美国的“敌人”。1993年,美国联邦调查局(FBI)对齐默尔曼展开了长达三年的刑事调查,指控他违反了《武器出口管制法》,最高可以判10年监禁。FBI没收了他的电脑和所有文件,但是齐默尔曼早就把PGP的源代码备份到了全球几十个不同的服务器上,FBI根本删不完。
面对政府的压力,齐默尔曼没有退缩,他在接受《连线》杂志采访时说:“如果隐私是违法的,那么隐私就是反抗。如果公民没有权利加密自己的通信,那么他们就没有任何隐私可言。”1996年,美国政府最终放弃了对齐默尔曼的起诉,因为PGP已经传遍了全球,根本不可能被彻底封杀。齐默尔曼的胜利,成了密码朋克运动的第一个标志性事件:代码是杀不死的,只要它足够有用,就会像野草一样烧不尽。
齐默尔曼的PGP解决了通信加密的问题,但是密码朋克的梦想不止于此:他们想要一种完全不需要信任第三方的数字现金,一种政府无法监控、银行无法冻结、跨国转账秒到而且手续费几乎为零的货币。要实现这个梦想,他们需要解决两个最核心的问题:第一,如何防止数字现金被复制(也就是“双重支付”问题:同一笔钱你付给A之后,能不能再付给B);第二,如何让交易不依赖任何中心化的机构来清算。
这两个问题,困扰了密码朋克十几年。
数字现金的失败实验:为什么中心化是死路?
第一个试图解决这两个问题的人,是大卫·乔姆(David Chaum),一位出生于荷兰的密码学家,1982年他在加州大学伯克利分校读博士的时候,提出了一种叫“盲签名”(Blind Signature)的加密技术,这种技术完美解决了数字现金的隐私问题。
盲签名的工作原理可以用一个简单的例子理解:假设你要给一个匿名慈善机构捐款,但是不想让任何人知道你捐了多少钱,更不想让慈善机构知道你是谁。你把钱放进一个特制的、不透明的信封里,递给银行柜员,柜员在信封外面签名,确认“这个信封里的钱是合法的”,但是他完全看不到信封里的钱数。你拿到签名的信封之后,把里面的钱倒进慈善机构的捐款箱,所有人都能看到你捐了钱,但是没人知道具体数额,也没法把这笔捐款和你联系起来。这就是盲签名的核心:验证方可以在不知道具体信息的情况下给出有效证明,完美保护用户隐私。
乔姆的盲签名技术,被认为是数字现金的“圣杯”。1990年,他成立了一家叫DigiCash的公司,想要把盲签名技术商业化,发行一种叫eCash(电子盾)的数字货币。eCash的设计完全符合密码朋克的理想:用户可以匿名交易,银行看不到用户的消费记录,政府也没法监控,而且可以防止双重支付——每一笔eCash都有唯一的序列号,银行会记录已经花掉的序列号,防止同一笔钱被花两次。
一开始,DigiCash的发展顺风顺水,1995年他们和荷兰的银行ABN AMRO合作,推出了世界上第一个数字现金支付系统,用户可以在网上用eCash买商品,完全匿名。但是好景不长,DigiCash很快陷入了两难:为了扩大用户规模,他们需要和更多的银行、金融机构合作,而这些合作方要求DigiCash开放所有的交易数据,以便符合反洗钱(AML)和了解你的客户(KYC)的监管要求。乔姆一开始坚决反对,但是到了1998年,DigiCash因为融资失败,濒临破产,为了拿到最后一笔投资,乔姆不得不妥协,同意把所有的交易数据都交给合作的银行清算。
这个妥协直接杀死了DigiCash的核心竞争力:如果eCash的所有交易数据都要交给银行,用户的所有消费记录银行都能看到,那用户为什么不用普通的银行卡?eCash的匿名性消失了,它和Visa、Mastercard没有任何区别,还要多付手续费。1998年7月,DigiCash正式破产清算,乔姆在破产前的最后一场发布会上说了一句让所有密码朋克心酸的话:“我们一开始想造一种属于人民的货币,但是最后我们变成了银行。”
DigiCash的失败,给整个密码朋克社区泼了一盆冷水:只要数字现金需要和中心化的金融机构合作,就永远不可能实现真正的去中心化和隐私性,而如果完全脱离金融机构,又没法解决双重支付和监管的问题。难道密码朋克的梦想,注定只能停留在理论上吗?
就在DigiCash破产的同一年,一个叫亚当·巴克(Adam Back)的密码朋克成员,发明了一种叫Hashcash的技术,给解决双重支付问题提供了一个全新的思路。巴克是牛津大学的计算机科学博士,也是一个坚定的自由主义者和密码朋克,他发明Hashcash的初衷是为了解决当时日益猖獗的垃圾邮件问题。
1997年,互联网上的垃圾邮件已经泛滥成灾,根据当时的统计,全球每天发送的垃圾邮件超过10亿封,占所有电子邮件流量的30%以上。发垃圾邮件的成本几乎为零:只要有一台电脑和一个邮件列表,几秒钟就能发出去一万封垃圾邮件,赚的钱远远超过成本。所有的反垃圾邮件技术,比如关键词过滤、黑名单,都赶不上spammer发新垃圾邮件的速度。
巴克的Hashcash技术,本质上是一种“成本证明”:你发邮件之前,必须让你的电脑算出一个符合特定要求的哈希值——比如哈希值的前20位必须是零。算这个哈希值没有捷径,只能靠计算机一个一个试,普通电脑大概需要2到3秒钟,对于普通人发邮件来说完全没影响,但是对于要发一万封垃圾邮件的spammer来说,就需要花2到3万秒的计算时间,加上电力和硬件损耗,成本高到根本不可能赚钱。
哈希函数是一种单向加密算法:输入任何信息,都会输出一串固定长度的字符,而且你没法从输出倒推输入。比如你把“Hello World”输入SHA-256哈希函数,会得到“b94f6f125c79e3a5ffaa826f584c10d52ada669e6762051b826b55776d05a8edf”这样的一串字符,你不可能从这串字符倒推出原来的“Hello World”。而且哈希函数还有一个特性:只要输入的信息有一点点变化,输出的哈希值就会完全不一样,比如你把“Hello World”改成“Hello World!”,输出的哈希值就会变成“dff2e88f2b2c4a6e5e8c2e8f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b”。
Hashcash的核心逻辑,就是“做一件事需要付出成本,但是验证这件事是否做了非常简单”。你要验证一个哈希值是不是符合前20位为零的要求,只需要用计算机算一次就行,几毫秒就能完成,但是要算出符合要求的哈希值,却需要几秒钟的计算时间。这种“成本不对称”的特性,后来成了比特币工作量证明(PoW)机制的核心。
巴克把Hashcash的代码开源到了互联网上,很多邮件服务商都开始用它来过滤垃圾邮件,效果非常好。但是巴克没有满足于反垃圾邮件,他在1997年的一篇博客里写道:“Hashcash不仅可以用来防垃圾邮件,还可以用来做一种去中心化的数字现金。如果有人把Hashcash的成本证明机制和点对点网络结合起来,造出一种不需要银行清算的数字货币,那就可以解决双重支付的问题,造出真正的电子现金。”
巴克的这篇文章,被密码朋克社区的成员疯狂转发,但是没有人真的去实现这个想法——直到2008年,那篇改变世界的白皮书出现。
2008年:完美风暴下的绝望与希望
2007年,美国次贷危机爆发,数百家发放高风险的次级抵押贷款的金融机构陆续破产,2008年9月15日,拥有158年历史的投资银行雷曼兄弟宣布破产,全球金融体系瞬间陷入恐慌。为了阻止危机蔓延,美国政府推出了7000亿美元的救助计划(TARP计划),用纳税人的钱救那些搞砸了的高风险投行和商业银行。根据后来的统计,2008年到2009年,美国最大的几家银行的高管一共给自己发了超过180亿美元的奖金,而与此同时,超过600万美国家庭因为还不起房贷失去了自己的房子,普通人的平均净资产缩水了20%。
那段时间,密码朋克邮件列表里的讨论比往常多了好几倍。很多人都在问同一个问题:我们信任的银行和政府,到底站在谁那边?你辛辛苦苦攒了十年的钱,存在银行里,银行可以随便拿去救别的公司,政府可以随便印钞票让钱贬值,甚至可以直接冻结你的账户,说你的钱是“非法所得”,而你没有任何反抗的余地。齐默尔曼在邮件列表里写道:“2008年的危机证明了一件事:中心化的金融系统,本质上是服务于银行和政府的,不是服务于普通人的。我们需要一种不依赖任何机构的货币,一种只有你能控制的货币。”
密码朋克社区之前尝试过很多次造去中心化数字现金,但是都失败了:DigiCash需要银行清算,e-gold(1996年出现的另一款数字黄金)因为洗钱问题被美国政府关掉,比特黄金(Bit Gold,1998年尼克·萨博提出的概念)因为没有解决点对点网络的一致性问题,从来没有真正实现过。所有的方案都卡在同一个死循环里:要防止双重支付,就需要一个中心化的机构来记账;要中心化记账,就违背了去中心化的初衷。
就在整个社区都陷入绝望的时候,2008年10月31日,一个署名为“中本聪”(Satoshi Nakamoto)的人在密码朋克邮件列表里发了一封邮件,附件是那篇9页的白皮书,标题是《比特币:一种点对点的电子现金系统》(Bitcoin: A Peer-to-Peer Electronic Cash System)。邮件的正文只有一句话:“我一直在研究一种点对点的电子现金系统,白皮书在这里,欢迎提出意见。”
白皮书的第一段,就直接戳中了所有人的痛点:“互联网上的贸易,几乎都依赖金融机构作为可信第三方来处理电子支付。虽然这种模式对大多数交易来说运行良好,但它仍然存在基于信任的模型固有的弱点:交易可以被撤销,因为银行可以撤销你的转账;商家需要拿到用户的个人信息,才能避免诈骗,但是这些信息一旦泄露,就会被偷走或者卖给第三方;而且第三方清算的手续费很高,跨国转账的手续费甚至能达到10%以上,小额交易根本没法用。如果能把交易变成不可撤销的,同时保护用户的隐私,不需要第三方清算,那我们就能造出一种真正的电子现金。”
中本聪的方案,本质上是把之前所有零散的技术完美地结合在了一起:用非对称加密来确保只有你能花自己的钱,用点对点网络来记录所有的交易,不需要中心化的服务器,用时间戳来确保交易不会被篡改,最重要的是,用亚当·巴克提出的工作量证明机制来解决双重支付和节点一致性的问题。
工作量证明在比特币里的应用是这样的:全球所有的比特币节点(就是运行比特币软件的电脑)一起竞争解决一个数学难题,谁先算出来,谁就可以把过去10分钟的交易打包成一个“区块”,然后把这个区块加到区块链的末尾,同时获得一定数量的比特币作为奖励(也就是挖矿奖励)。解决这个难题需要消耗大量的计算能力和电力,但是验证这个区块是不是合法,只需要几毫秒。如果有人想篡改已经加上的区块,就需要重新算这个区块以及后面所有区块的工作量证明,需要的计算能力是全球所有节点总和的51%以上,成本高到根本不可能实现。
这个方案彻底解决了密码朋克十几年来卡着的死循环:不需要中心化的机构记账,所有节点一起记账,而且篡改记录的成本高到不可能实现。白皮书的最后,中本聪写道:“我们提出了一种不需要可信第三方的点对点电子现金系统,解决了双重支付的问题。这个网络是鲁棒的,只要诚实的节点 collectively 控制着更多的计算能力,它们就能生成最长的链,超过攻击者。攻击
attacker can only modify their own transactions, and would need to expend enough computational resources to generate a longer chain than the honest network, a cost that far outweighs any gain from tampering, making attacks economically unfeasible.”
The words on the screen didn’t just solve a decade-old cryptographic puzzle. They were the first draft of a revolution that would upend 500 years of centralized financial infrastructure, rewrite the rules of trust, and give ordinary people a tool to protect their wealth from the very institutions that were supposed to safeguard it. For the 15 or so people on the Cypherpunk mailing list who opened that PDF at 2 a.m. that night, it felt less like reading a technical paper and more like holding a match in a dark room full of dry tinder.
The paper didn’t emerge from a vacuum. For 16 years, Cypherpunks had been building the individual components of this system, watching each piece fail on its own, never quite able to connect the dots. David Chaum’s blind signatures solved the privacy problem but collapsed when DigiCash caved to banking pressure. Adam Back’s Hashcash solved the spam cost problem but was never scaled to currency. Nick Szabo’s 1998 Bit Gold concept solved the digital scarcity problem but couldn’t resolve the double-spend issue on a peer-to-peer network without a central server. Each failure left the community more cynical, more convinced that the combination of corporate greed and government overreach would never let a decentralized digital cash system see the light of day.
The first person to recognize that the dots had finally been connected was Hal Finney, a 42-year-old cryptographer living in a modest ranch house in Palo Alto, California. Finney was no ordinary tech geek: he was the second person ever to use PGP after Phil Zimmermann released it in 1991, a founding member of the Cypherpunk movement, and the inventor of Reusable Proof of Work (RPOW), a precursor to Bitcoin that solved the double-spend problem for digital tokens but still relied on a centralized server to track ownership. He’d spent 20 years chasing the dream of a decentralized digital cash system, and he knew better than anyone how many dead ends that dream had led to.
Finney first heard about the Bitcoin