30 秒看懂
在 Lex Fridman 播客中,以太坊联合创始人 Vitalik Buterin 从中本聪(Satoshi Nakamoto)的消失讲起,谈到拜占庭将军问题、工作量证明(proof of work),以及把平方根先相加再平方的二次方融资(quadratic funding)公式。他讲述了被否决的 Mastercoin 泛化方案如何变成智能合约,原定三个月的计划如何拖成二十个月,以及权益证明(proof of stake)和分片(sharding)为何要停止白白烧掉一个国家的电力。他认为法币会留存,而加密货币的任务,是在法币失灵时保持全球中立的后备选项。
- 1匿名的创始人有其价值,因为项目本身会成为主角。没有人能翻出他青少年时期一篇关于民主的文章,然后断言比特币一直在追求那个目标。
- 2二次方融资先对每笔捐款取平方根,把这些平方根相加,再把总和平方。如果九个人每人捐一美元,接收者得到的是 81 美元,而不是 9 美元,每一份贡献都按参与人数被放大。
- 3Lamport 早已解决了拜占庭将军问题。中本聪加入的是加密经济学:用真实的计算成本,代替对每个人身份的了解。
- 4比特币节点遵循最长链规则。依模型和攻击方式的不同,攻击者需要掌握网络算力的 23.2% 到 50% 不等;超过 50%,他们就能攻破一切。
- 5Uniswap 是一份持有两种代币的合约,并强制执行 x 乘以 y 等于 k。当前点的斜率就是价格,没有订单簿。
- 6货币需求是波动的。供给固定时,这种波动就会变成价格的起伏,这是加密货币作为主要价值储存手段的最大障碍。
按章节阅读整理后的全文
一位神话般的创始人发布了九页论文,然后消失
Lex Fridman 以一个在科技界至今仍无先例的起源故事开场。2008 年 10 月 31 日,一个自称中本聪(Satoshi Nakamoto)的人,在一个密码学邮件列表上发布了一篇九页的白皮书。他发布了比特币的原始源代码,在论坛上与最早的社区交流,然后在 2010 年底或 2011 年初消失了。Buterin 录制这期节目时 26 岁,是以太坊白皮书的合著者。他把这位创始人称作一个近乎神一般的人物:突然现身,做完事情,此后就再无音讯。
长期流传的一种猜测是 Hal Finney,他是一位计算机科学家,也是早期的密码朋克(cypherpunk),在比特币的头两年异常活跃。第一笔比特币交易发生在中本聪与 Finney 之间。Fridman 问,两个人怎么可能如此密切地合作,却都不知道对方的真实身份?Buterin 的回答几乎是随口一说:他认识的很多人,只知道对方的网名。其中一位的头像不太像人脸,色彩迷幻,而他想到这些人时,脑海里浮现的就是那个头像。
他说,匿名有助于营造一种中立事物的形象,它不属于任何人。如果一个人露面、搭建了系统,然后消失——或者像 Finney 那样,因渐冻症去世,并被送进低温冷冻设施——留下的就只有那件作品。没有人能翻查创始人的其他观点,然后断定这个项目一直是其私货的载体。Buterin 感受到的恰恰是相反的负担。他一直在推动以太坊生态去中心化:让更多工作在以太坊基金会之外进行,推出更多独立的客户端实现,凡是能让他离开“单点故障”名单的事,他都在做。被问到自己是哪种领导者,他说自己渐渐向大祭司的角色靠拢:没有军队,只有推特粉丝。他不会去指挥基金会的员工。如果某件事很重要,他会公开说出来,或者私下提及,而项目往往就这样开始去做了。
货币是一种只有一种合法走法的游戏:这里扣除积分,那里增加积分
Fridman 提出了一个宏大的哲学问题:什么是货币?Buterin 像程序员那样回答。货币是一种积分游戏,唯一的基本走法是:你把自己的积分减去某个数,同时把别人的积分加上同样的数。也存在其他公平的游戏。比如你设计一种游戏,让你和我各给某人一分,他就能得到四分。这种设计没那么方便。货币容易建立,能承担很多功能,并在社会中作为一种经久不衰的模因存在了数千年:价值储藏、交换媒介,以及未来支付的计价单位。
他对二十世纪货币的概括,是一个中介层层增加的故事。银行的形式越来越多。美元先以黄金为后盾,然后以只有部分人能兑换的黄金为后盾,最后干脆不以任何东西为后盾。一大堆自由浮动的货币。银行柜台让位于电子账户,再让位于建在银行之上的支付处理商账户。哲学上的刺痛在于:货币可以不以任何实物为担保而存在,而他说,这在二十一世纪甚至并不少见。我们身边的大多数有价值的东西,都不是靠一堆实物来担保的。
以推特为例。理论上,员工可以集体辞职,重建一个 Twitter 2.0,把原公司留成空壳。代码和知识产权属于公司,但优秀的程序员大约三个月就能把它重写出来。这东西之所以有价值,是因为网络效应和协调难题:员工不会同时跳槽,用户也不会同时迁移。结果是数百万人之间形成了一种亚稳态的均衡,黏性十足,而一个完全理性的球形奶牛模型根本不会产生这种黏性。
第一个切换政府的人总是输
他举的经典类比是革命。如果明天一个国家 80% 的人醒来,都确信现行的法律和政府不过是人而已,还有别的某种东西才是真正的政府,并开始这样行事,新的现实就会落地。难的区间是从 0 到 80%。如果你是第一个加入的人,几乎没有动机:你看起来像个怪人,还要自己承担代价。如果你是处在第 55 百分位的人,突然就变得相当安全。这种转变是可以建模的。一个可靠的结论是:当它发生时,可能会非常混乱。
Buterin 自称是经济学的怀疑者,心理学则是他的业余领域。他认为,人们常常假装自己掌握了人类行为的规律,而很难分辨这两门学科中的建模有多少只是一厢情愿。金钱远非唯一的动机,但它是最接近普遍动机的东西:几乎任何人,只要给钱,就更愿意去做某件事。其他动机同样真实、也很常见,但它们更因人而异,也更依赖具体情境。
金钱与权力相互交织。有些人想要钱,是因为钱就是权力。很多看似与金钱无关的开支,其实都关乎社会地位。而且金钱是一块记分牌。如果你有 40 亿美元,那么增加到 60 亿美元的一大好处是,你不再排在拥有 50 亿美元的人之下,而是排在他之上。他说,把自我价值等同于金钱是不健康的,因为财富是衡量你为社会提供了多少价值的糟糕指标。就目前的做法而言,很多人仍然这样做。他描绘的经济乌托邦则更简单:激励机制保持一致,使得实现自身目标与让世界变得更好不再相互冲突。他补充说,现有的经济哲学都会系统性地偏离这一点。
九个人每人捐一美元,接收者应该得到八十一美元
最明显的偏离是公共物品。积分游戏模型适用于私人物品:我给你钱,你给我一个三明治,我们俩都受益。但互联网上大量有价值的东西,并不是这样运作的。这期播客一旦发布,Fridman 就无法精细控制谁能收听。超过一定的受众规模,复制就不可避免。博客文章就更难设防了。科学研究的结构也一样,应对气候变化的努力同样如此。它们的共同结构是:成本集中,收益分散。把货币当作积分系统,在鼓励这类事情上很糟糕。这就是公地悲剧:很多人受益,却没有任何个人愿意付钱,因为他只能捕获收益的一小部分,却要承担全部成本。
Buterin 参与设计的机制,是二次方融资(quadratic funding)。一个人把币给另一个人,就像普通的钱一样。但如果很多人匿名地、不是为了换取私人服务而对同一个人进行捐助,接收者得到的,将超过所有捐助的简单相加。公式是:对每笔捐款取平方根,把这些平方根相加,再把总和平方。如果九个人每人捐一美元,接收者得到的是 3 的平方,即 81,远多于投入的九美元。每个人的贡献都会乘以 n,也就是参与人数。他说,有一个数学证明:这种放大方式能够最优地填补公地的缺口。他向 Fridman 推荐了自己的一篇文章,《Quadratic Payments: A Primer》。
这种机制实际上已经在以太坊生态内部运行过。Buterin 写下了最近几轮的情况:获得最多支持的项目,是让以太坊更易用的用户界面、文档、播客、实现协议的客户端软件,以及隐私工具。它们都对很多人有用,但没有一样是某个人愿意独自出资去做的事。
拜占庭将军问题早已解决,中本聪填补的是另一个空白
为了解释区块链,Buterin 回溯到 Leslie Lamport 1982 年的论文。两位将军分别驻扎在城市的两侧,只有同时进攻才能获胜。信使可能被杀,也可能撒谎。只有两位将军时,不存在一个有限轮次的协议,能保证他们协调一致。增加更多将军和带签名的消息之后,解决方案就出现了:你可以对消息签名,别人可以转发它,而第三方仍然能够验证它最初确实来自你。流行的误解是,拜占庭将军问题一直没有解决。其实 Lamport 解决了它。这些解决方案共同假设的是一份固定的将军名单,而且他们在某种程度上是半可信的。他们不能是匿名的。如果可以匿名,敌人可能占到将军的 99%。
这就是为什么 1980 年代和 1990 年代的分布式共识,主要存在于企业之中。你知道节点是谁、位于何处,因此可以假设,比如三分之二是诚实的。飞机飞控系统至今仍使用这一家族的思想。密码朋克想要的是另一样东西:一种完全去中心化的全球货币,没有权威,也没有特权名单。这就抽走了地基。如果你无法衡量身份,你怎么阻止一个人假装成一万个人?
中本聪的做法,在一场 DEF CON 演讲中被 Buterin 称为加密经济学的发明:用经济资源来限制你能买到多少身份。解出一个需要一定可计算量算力的困难数学谜题,你就获得一个身份;解出五个,就获得五个。这就是工作量证明。这一技巧本身更早就有。1994 年,Cynthia Dwork 和 Moni Naor 提出用它对抗垃圾邮件:为每封邮件附加一点计算,对朋友来说很便宜,对一次十亿封邮件的群发则是灾难。中本聪把一个反垃圾邮件的装置,变成了在匿名世界中分配身份的方法。真实的成本,代替了“我知道你是谁”这一判断。
跟随最长链。超过 23.2%,攻击者就有了选择
工程目标是把大量计算机连接起来,让它们对外表现为一台单一的计算机,即便其中很大一部分零件以任意方式失效——比如关机、遭到攻击,或者发出垃圾数据——它也能继续工作。密码朋克想在这台虚拟机上运行一个程序,也就是一种货币。它处理交易,检查发送者是否拥有这些币、签名是否有效,如果通过,就从一个账户扣除,再加到另一个账户上。
数据结构正是它被称为区块链的原因。节点会定期发布区块:一份交易列表,外加一个指向前一区块的哈希指针。把它们串起来,就得到了一本账本。在比特币简单的架构中,容错依靠的是最长链规则。有时两个诚实的节点会同时生成区块,而彼此没有及时听到对方;有时攻击者会试图在较早的区块上另起分支,抹掉已经发生的事情。如果他们想回退的区块已经深埋在链中,所有人都会忽略这次分叉。如果两条分支各只有一个区块,下一个区块会决定新的链头,另一边则被遗忘。
攻击者需要多少算力?Buterin 说,依参与者模型和攻击类型的不同,需要的算力介于网络的 23.2% 到 50% 之间。超过 23.2%,恶意行为者就有很多事情可能做到;超过 50%,他们就能攻破一切。从历史上看,这个数量极难凑齐。若从零开始、用专用 ASIC 硬件去获取它,经济成本大约在数十亿美元上下。比特币的谜题是 SHA-256:找到一个数,使其哈希值低于某个阈值。由于哈希看起来是随机的,你只能不断地尝试数字。一台 ASIC 就是一个塞满了数百万乃至数十亿个哈希计算电路的盒子,每天 24 小时运转。
Shor 算法有替代方案,Grover 算法更像是更快的 ASIC
Fridman 问,量子计算会不会破坏这一切。Buterin 把量子算法分成两类。Shor 算法(Shor's algorithm)会破坏某些数学问题的困难性:分解巨大的数字、椭圆曲线密码学,以及有限群上的离散对数,也就是我们真正喜欢的大部分密码学。他说,好消息是,对 Shor 算法能够攻破的每一种主要用途,都已经有了抗量子的替代方案。业界还没有采用它们,是因为这些方案通常要低五到十倍的效率。业界知道冲击迟早会来,并已准备好切换。
第二类是 Grover 算法,人们觉得它更直观:它做的是搜索。如果经典计算机需要 N 次尝试,才能找到具有某种性质的数字,量子计算机大约只需要 N 的平方根次。Grover 算法可以用于挖矿。一种可能是:谁先造出能运行 Grover 算法的机器,谁的挖矿速度就会远超其他人,行业会经历又一次类似 ASIC 的洗牌,然后出现新的均衡。这种加速是平方级的,远不是指数级的。他说,它声势很大,却不算改变游戏规则,也不一定会打破工作量证明。
另一种情形是开销。维持量子态很困难,而且越来越清楚的是,可用的量子计算机需要纠错,大约每个逻辑量子比特需要上千个物理量子比特。如果这种开销超过了 Grover 的加速,工作量证明就会照常运行。他补充说,比特币白皮书其实真正需要的只有两个重大构想:工作量证明,以及用公钥和签名来授权交易。
Mastercoin 说这个想法太复杂,于是他自己做了
Buterin 在 2011 年加入比特币社区,先为一个叫 Bitcoin Weekly 的网站写稿,后来又为 Bitcoin Magazine 写稿。他在大学待了一年,学年结束时退学,开始全职投入。他大约花了六个月四处奔波:新罕布什尔、西班牙、其他欧洲城市、以色列,然后是旧金山,结识那些正在构建比特币项目的人。在以色列,他发现有团队在研究人们开始称之为“比特币 2.0”的东西。彩色币(Colored Coins)希望在比特币上发行其他资产,而不仅仅把它当作货币。万事达币(Mastercoin)同样发行资产,并且叠加了金融合约、域名注册,以及一大堆其他功能。
他很快判断,Mastercoin 的设计可以被泛化。他打的比方是瑞士军刀:为 25 种应用准备 25 种交易类型,其中几种其实可以合并。三种金融合约可以合并为一种通用合约,只要明确规定各方所得金额的数学公式。按他的定义,金融合约是这样一种协议:一方或双方提供抵押,然后根据价格、各方自身的行为,或其他条件,获得不同的金额。期权、差价合约等,这一整类合约都是金融系统的核心互动单元。问题在于,你必须相信合约真的会被执行。
他把这一泛化方案拿给 Mastercoin 团队,回复大意是:好主意,看起来很复杂,短期内不在路线图上。他的反应是,他们没有意识到它有多么革命性,那就由他自己来做。他最初给这门语言取名为 Ultimate Scripting。经过几轮迭代,以太坊的雏形出现了:一条以合约为核心单元的区块链,也就是一个可以持有资产、拥有自己内部存储、并由一段代码控制的账户。把以太币发送到一份合约,唯一能决定这些币下一步去向的,就是代码本身。把资产交给由代码构成的计算机程序,并让代码成为协议的一部分,这就是“智能合约”的含义。他原本以为自己会折腾几个月,发布之后就回到大学。白皮书吸引来的主动提出帮忙的人,远超他的预期。他意识到这东西比想象中大得多,一段漫长得多的开发苦工由此开始。
前五十个主动提出帮忙的人成了联合创始人
他说,更大的教训是社会层面的,而不是技术层面的。他形容自己是一个不同寻常的极客,在学校里从未受到过善意以外的对待,所以进入加密领域时,以为每个人都同样无私。他挑选联合创始人所用的算法,是计算机科学家所说的贪心算法:前五十个主动提出帮忙的人,都成了联合创始人。随着项目变大,争斗开始了。有人想要非营利,有人想要营利。有些人根本无法彼此合作。有些人试图为自己攫取优势。大约六个月时,出现了第一次治理危机和一轮领导层调整。九个月后,又来一次。然后是第三次。他说,经历大约四轮之后,他们走到了一个看起来相当稳定、大家也都满意的状态。
他喜欢去中心化的一个原因,正在于此:权力会吸引有野心的人,极少数人就能毁掉大量东西。在研究团队里,他也发现很多人主要对技术本身感兴趣,那部分工作进展得相当不错。软件工程的教训说得更直接。软件开发第一定律:当有人给你一个时间表时,把时间单位换成下一个更大的单位,并把数字加一。他们就上了当。原定三个月的工作,实际花了二十个月,主要是因为低估了纯粹的技术复杂度。
权益证明用锁定的币,取代了燃烧的电力
从第一天起,以太坊就说它会从工作量证明切换到权益证明。与其在无意义的谜题上浪费算力,不如证明你在系统内持有币,并以此换取一份共识的份额。锁定一百枚币,协议就会把它们变成一个虚拟验证者,随机获得在特定时刻创建区块的权利。锁定两百枚币的人,拿到的是两倍厚的一本活页夹,创建区块的频率也翻了一倍。工作量证明曾经限制的东西,也就是你能参与多少,变成了你愿意锁定多少币。最直接的批评是,富人因此会有更多发言权。Buterin 的惯常回答是:工作量证明本身就是这类系统,而且更糟,因为你还得买机器、烧电、砍伐树木。在权益证明中做任何坏事,你仍然需要锁定在系统中的大部分币。
能源是明确的动机。他引用的最新数字是:比特币消耗的能源相当于奥地利;以太坊则大约小了半个数量级。以太坊 2.0 是一组酝酿已久的升级的合集,两大核心是权益证明和分片(sharding)。分片针对的是可扩展性:如今每个参与者都要下载并验证每一笔交易;有了分片,每个参与者只需下载并验证一小段随机分配的部分。由于分配是随机的,要攻破任何一个分片,仍然需要整个网络中相当大的一部分。分片比权益证明更难,因为它不只是共识层面的改动。当前的网络层是把一切都广播出去:有人发布,每个节点都会听到。分片需要许多子网络,它们之间要能快速切换,子网之间还要能够通信。这种架构在加密货币领域还从未实现过。
这项工作由 Danny Ryan 以一个略显杜撰的职位头衔,担任事实上的开发协调员。以太坊基金会在内部做研究;实现则由独立团队负责,是独立的公司,包括澳大利亚的团队。以太坊 2.0 被拆分为多个阶段。第 0 阶段建立一条独立的权益证明链,即信标链,并让它自行成长。第 1 阶段加入分片,但只分片数据存储,不分片计算。然后,一次合并会把现有以太坊 1.0 的账户和智能合约粘贴进新系统,旧链被遗忘,原本住在那里的东西在新系统中继续运行。他说,第 0 阶段已基本完成实现,现在正处于漫长的安全审计和测试阶段。在他看来,这种感觉大约相当于原版以太坊上线前的四个月。他强调,这只是一种直觉。合并一旦发生,将会一次性完成。
最美的理念,是能变成货币的数据库,以及被巨龙吃掉的猫
Casper FFG 是权益证明的共识算法,它把两个流派缝合在一起。一派容忍 50% 的故障,但假设网络同步:你发出一条消息,其他节点会在几秒钟内收到。另一派只容忍 33% 的故障,却能在异步条件下保持安全:一旦某件事被最终确认,即便一秒之后网络糟糕透顶,它也无法被撤销。Casper 取二者之长。在诚实且同步的条件下,链会继续增长。如果同步性失效,最近的几个区块可能会被替换,但异步过程已经最终确认的内容无法被撤销。这篇论文发表在 arXiv 上,作者是 Buterin 和 Virgil Griffith。
在这个领域,公开论文并非可有可无。加密货币关乎的是无需信任运营者也能信任的系统,因此闭源的内部实现会让整个意义荡然无存。这个类别本身就迫使人们公开,而公开也被证明是一种很好的协作方式。在 ethresear.ch 上,他们发布的文章介于正式论文与笔记之间:允许使用数学,但篇幅通常短得多。Buterin 观察到,大多数新想法都是可以用五到十行讲清楚的小块内容,它们不需要十页的填充,也不需要引言和结论。把想法发出去,大家在下面评论即可。
被问到以太坊中最美的想法,他给出了两个。一个是:只要有足够多的人相信,货币就能从一个数据库里涌现出来。另一个是可组合性:如果他在以太坊上构建了一个应用,你就可以在不经他同意、甚至无需与他交谈的情况下,构建一个与之对接的应用。真实发生过的例子是 CryptoKitties,一个养育数字猫的游戏,以及 Crypto Dragons,一个巨龙会吃掉这些猫的游戏。整个巨龙游戏就是一份以太坊合约,它调用了别人合约中定义的一种代币。团队之间不需要交流。他说,这种模式一直在催生去中心化金融中许多有趣的成果:锚定美元、但以加密资产作为担保的稳定币,以及去中心化交易所。他特别喜欢的一种结构是 Uniswap:一份持有两种代币余额的合约,并保持一个不变量,即 A 的余额乘以 B 的余额等于一个常数,也就是 x 乘以 y 等于 k。你从曲线上的一点出发,抵达另一点:输入 Δx,输出 Δy;当前点的斜率就是价格。没有订单簿,也不需要很多参与者,简单到几句话就能解释清楚,却能提供大量价值。
法币会留下,加密货币的任务是保持后备选项
加密货币会成为世界的主要货币吗?Buterin 的态度很克制。他预期法币(fiat),也就是美元、欧元和政府背书的货币,在未来几十年里会继续存在、保持强势,并自行数字化。加密货币的重要作用,是确保人们始终有一个替代选项:比如像委内瑞拉这样的高通胀地方,被银行与其他金融体系隔绝的国家,严重的贸易中断,或更糟的情况。因为它具有全球中立性,加密货币一直在那里,你随时可以继续使用它。被追问它是否仍有可能成为主要货币时,他指出了一个比“现在还早”更难的问题。货币需求本身就会波动:经济衰退、繁荣、技术变革都会影响它。如果供给固定,需求的起伏就只能全部表现为货币价值的变化,进而变成所有以它计价事物的价格波动。如果供给能随着需求上升而扩张,供给就会吸收一部分波动。比特币的供给是固定的,以太坊则稍微灵活一些。他真正想要的,是随货币价值变化而做出反应的供给。在他看来,这正是加密货币成为主要价值储存手段的主要障碍。Dai 是由一份持有以太币的智能合约发行的稳定币,它试图把想要以太币杠杆的人,与想要一种接近美元、并能按一美元汇率兑换回去的资产的人配对起来。
政府也并非完全是敌人。如果它们允许谷歌、Facebook 和推特自由地发行中心化的数字货币,那些货币就会满天飞,去中心化的货币对人们的吸引力也会小于今天。从这个意义上说,监管清理出了空间。政府也打击过欺诈项目和最离谱的营销。它们也是潜在用户,而不仅仅是监管者:身份记录、产权登记、本国货币的安全发行。它们在采用技术上往往要慢几年,自动驾驶汽车也是类似的故事,帮它们跟上会是件好事。Buterin 出生于莫斯科以南约 150 公里的科洛姆纳,在莫斯科长大。他和普京见过面,大约一分钟;给人的印象是,普京在照片里看起来更高。一些部长对将区块链用于反腐败的场景感兴趣。从一次对话很难判断,哪些是真心的,哪些只是一场礼节性的客套。当时,大约有三千种加密货币在积极交易。他说,多样性是好的,但三千种太多了。正确的数量大于一,大概率大于二,甚至大于五,既不是三千,也不是四十个做同一件事的高质量平台。实验是健康的。光谱的一端是认为十二小时就能创建一种加密货币的人,中间是尝试做出一点小东西的人,再往另一端是骗子,最后是做出真正能运作之物的人。
他认为,加密货币与 AI 面临着一个结构性问题:如何让一个简单的系统去指挥一个更复杂的系统。在超级智能的案例中,简单的系统是人类,复杂的系统是人类释放到宇宙中的东西。在区块链中,简单的系统是一个静态的、完全开源的算法,复杂的系统则是所有可能加入网络的人类行动者和策略。关于死亡,如果有人给他永生的选项,他会读那份细则。在空荡的太空中漂浮 10^75 年不算数。有朋友、有有意义的挑战、有有趣的工作的充实生活,那才行。对于想学习这个领域、又不想被炒作淹没的人,他建议先从研究人员入手,再从学术密码学家那里逐步向外拓展:斯坦福大学的区块链中心、Dan Boneh、研究零知识证明的人,以及 Zooko Wilcox。凡是看起来自我推销的人,都不予理会。历史方面,可以读 Nathaniel Popper 的《Digital Gold》,以及 Matthew Leising 关于以太坊历史的著作;技术方面可读《Mastering Ethereum》。他还常问基于以太坊的创业公司一个问题:你能告诉我,为什么用区块链比用 Excel 更好吗?如果他们给出了好的回答,你就知道自己找到了有意思的东西。
同频道的其他文章
3:36:56EN → 简体中文
5:15:51EN → 简体中文
3:12:58EN → 简体中文
3:46:18EN → 简体中文
3:51:47EN → 简体中文
2:53:42EN → 简体中文