Replying to Balenciaga

比特币的过去、现在和未来(五):比特币的现状(1)

本文为《比特币的过去、现在和未来》译本的第五篇。前一篇见此处。

协议的现状

屋漏偏逢连夜雨

在摧毁了叫做 “纽约协定(New York Agreement)” 的群氓之后,人们意识到,比特币是不可驯服的。即使 80% 的哈希率、最大的报纸、最大的 ASIC 制造商、最大的交易所和开发者多数,一起参与一个最大的比特币会议,想要控制比特币也只能垮台。没错,比特币是不屈不挠的。欣喜之情洋溢四方。

但是,这种欣喜,很快被两个负面事件(以及有歧义的第三件事)给浇灭了:

2017 年 11 月 14 日,Baltic Honeybadger 大会开幕的几天前,一位 Bitcoin Cash 程序员在 Bitcoin Core 的代码中发现了一个通胀 bug,他声称这个漏洞如被利用,可以导致另一次不受控制的通胀,就像比特币早期的那次一样(逼得中本聪不得不执行一次软分叉)。

这个 bug 是由 Matt Corallo(马特·科拉罗)通过更新加入到代码中的。简单来说,节点会先检查一笔交易时有效的 —— 检查脚本有效、签名有效、没有制造通胀 —— 然后再放到交易池中;新区块到达时也会执行这样的检查;所以,有两次检查,交易池检查和区块检查。

马特在一系列的优化中删掉了其中一次检查,然后连续两次检查之间的交互就会创造这个很难利用、但并非绝不可能利用的漏洞,产生了不受限制的通胀风险。跟中本聪的 bug 的区别在于,中本聪的 bug 本来就存在,而这个是后来产生的,所以很多人都很困惑,因为这意味着:

Bitcoin Core 的开发者们,虽然能够嘲笑 “叛教者” Gavin(嘉文)、Gzrzik(贾兹克),等等、揭穿 Bitcoin Unlimited 客户端的漏洞、纽约共识的漏洞,但也不是绝对正确的;

一种社会风气已经形成,有些人提交的代码没有得到任何人的评审,因为他们被认为不可能犯错;

这个发现并不来自 Bitcoin Core 开发者自己,而是来自 Bitcoin Cash 的开发者。

Steam(一个正版游戏分发平台)最终放弃了支持比特币支付,虽然他们此前已经支持比特币大约 1 年了。在博客文章中宣布此事时,他们提到的理由有:

比特币的价格汇率波动太大;

链上的手续费太高(但我必须说一句,这是因为网络中都是空区块,所以交易池非常堵;谢谢你吴忌寒)。

12 月 9 日,由芝加哥期权交易所授权的第一份比特币期货合约推出并正常化。在这些期货合约执行前不久,比特币兑法币的汇率在 12 月 17 日达到了历史新高:19783 美元。

快进到 2022 年:本轮市场波动的低点低于历史高点,因此许多人都很恐慌。但打开 bitcoinvgold 网站,并使用 Jameson Lopp 的工具,我们会发现,实际上比特币在 2017 年的购买力是被高估了的。

天才想法:taproot

2018 年在行情下跌中开始,但在 1 月 22 日,Gregory Maxwell(格里高利·麦克斯韦尔)提出了一个非常有趣的想法。对协议层的改变总是会讨论很长事件,但两个特性是被讨论得最多的:

Schnorr 签名:如本文第一章(译本第一篇)所说的,这种签名的最显著的优点是,你可以加总 Alice 的公钥和 Bob 的公钥、产生一个新公钥;在签名时,两人分别签名,最后却可以得出一个签名,且这个签名正是那个新公钥的有效签名。实质上就像一种链下的 multisig;

MAST(Merkelized Abstract Syntax Trees,默克尔抽象语法树):利用一棵默克尔树来表达一笔交易的所有花费条件。只有实际上用到的花费条件才会曝光,所以交易的体积可以更小、效率可以更高。此外,MAST 还可以创建仅在特定条件下才能执行的合约,可以让交易变得更加灵活和强大。2018 年 1 月的时候,这个想法有两种 BIP:BIP 114 – Merkelized Abstract Syntax Tree 和 BIP 117 – Tail Call Execution Semantics ;它们之间是互不兼容的,所以要选就只能选其中一个。

格里高利想出了一个绝妙的主义:

“我们不必把脚本的默克尔树根作为输出放在时间链上,可以放一个 Schnorr 公钥上去,因为,几乎每一种合约,都有一种退化情形(最明显的情形),就是所有参与者都同意的那个。我们可以在比特币上实现一种标准合约,其公钥是所有参与者的公钥之和,因此,如果所有参与者形成了一致意见,都签名了,他们的签名就可以加总起来,形成一个签名,直接花费合约中的资金而不必诉诸合约的代码。此外,这个公钥又是通过乘以默克尔根,微调过的。所以,如果参与者之间有争议,他们可以选出需要执行的合约代码分支、通过默克尔分支揭示默克尔树的结构,然后展示这个树根是如何包含在调账后的公钥中的。”

—— 格里高利·麦克斯韦尔

格里高利采用了 Schnorr 签名的提议和两种 MAST 提议,将两者融合在了一起,形成了他称为 taproot 的想法。

同样在 2018 年 1 月,Stripe 放弃了对比特币的支持,因为 Steam 已经放弃了。隔离见证已经进入了生产环境,闪电网络也在蓬勃发展,但依然非常小众,还没有触及主流。

2018 年 3 月 23 日,一个重要的非技术事件发生了。在此之前,最著名的比特币书籍毫无疑问是 Andreas M. Antonopoulos(安德鲁斯·M·安东波罗斯)所著的《精通比特币》。这时候,Saifedean Ammous(赛费迪安·阿莫斯)所著的《比特币本位》出版了,而且很快便进入了大众,因为它不仅影响了比特币人,还显著影响许多不了解比特币技术、纯粹从经济视角看待它的人。

这本书被 Michael Saylor(迈克尔·塞勒)和 Jack Dorsey(杰克·多洛希)引为给他们启蒙的东西之一。

Drivechain 和 “后比特币神教”

2018 年 3 月 31 日,Blockchainlab 关门大吉了;但是,4 月 7 日,Paul Sztorc(保罗·斯托克)的博客 truthcoin 上发表的一篇文章引发了一个新的现象。保罗本来想在比特币上创建一种预测市场,但是比特币缺失了一些功能。保罗没有提出引入这些功能的提议,转而成了侧链技术最大的支持者之一。但是,他发现,比特币上的侧链即使以特定的形式(免信任的想法)开始,最终也会走向信任模式。

保罗不喜欢这种模式,他提出了 drivechain 的概念,本质上,就是让矿工可以对一条侧链的历史投票,这样节点就不必自己验证这些历史,但需要信任矿工中的多数。这是一种完全不同的信任模式,而且将大量的权力交到了矿工手上;而且,因为矿工在隔离见证的故事中表现得好像敌人一样,所以,人们对信任矿工来运行去中心化系统的核心想法产生了怀疑。许多人因此拒绝 drivechain 的想法,认为这实在太过危险。保罗也将自己的提议视作区块体积争论的解决方案,因为主链保持小区块的同时,各 drivechain 上可以使用大区块;但这也没有被人们接受,因为它要求人们非常信任矿工。

保罗还写过一篇关于工作量证明的,非常精彩:Nothing is Cheaper than Proof of Work(中文译本)

4 月 7 日,保罗发表了这篇文章《Bitcoin Post-Maximalism》,开创了一种趋势。虽然早在 2014 年,就出现了以前的比特币人憎恨比特币的情形,因为他们原来用比特币赚了很多钱,但又在市场下跌中损失惨重。但在这篇文章中,保罗提出了 “后比特币神教” 和 “反-比特币神教” 的概念:这是一种文化反应,当垃圾币的世界陷入灾难时,这些人就开始指责警告了垃圾币未来会崩溃的比特币神教教徒。尤其是 ICO 的崩溃,保罗说市场崩溃并不是因为有人创建了不可持续的泡沫并且每个人都在其中投机,而是因为神教教徒阻止了 drivechain 技术,要是有 drivechain,市场就不会崩溃。所以,他宣布自己不再是个神教教徒了。

后来至少有 11 次这样的浪潮。

eltoo、RGB、闪电火炬、CoinJoin 战争和黑名单

4 月 30 日,Christian Decker(克里斯蒂安·德克尔)、Rusty Russell(洛斯蒂·拉塞尔) 和 Olaoluwa Osuntokun(奥罗卢瓦·奥森托昆)又带来了一项技术创新:“eltoo”。eltoo 是德克尔在几年前构思的想法,非常类似于 Thaddeus Dryja(撒迪厄斯·锥亚)和 Joseph Poon(约瑟夫·潘)的闪电网络。eltoo 是另一种实现闪电网络的方式,而且更简单、备份数据的风险更低,支持多方通道,以及其它微小的优势。想法很棒,但需要在比特币链上作一个改动才能让它跑起来,这就是 BIP 118 – SIGHASH_ANYPREVOUT 。简单来说,在创建一笔比特币交易的时候,你需要为交易的每一个输入提供(该项资金所有者的)签名。一般来说,只有当前这个输入会被签名,以前的输入、未来的输入都不能使用这个签名;也就是说,如果这个输入被移到另一笔交易中,你所创建的签名就失效了 —— 这是为了保证输入只能按其主人的意愿被花费。

SIGHASH_ANYPREVOUT 则是这样一种签名选项,它允许签过名的输入可以放到未来的任何交易中,不论这个输出是否已经被移动过。This allows signatories to retain control over how their funds are spent even if the input is moved to different transactions(此句不可解)。

这个想法获得了大量好评,但依然停留在概念阶段,克里斯蒂安不想太过急切地推行它。

2018 年 7 月 3 日,Zucco(祖科)在里斯本演讲了 RGB 协议,分享了文档和 RGB 背后的想法。从这里开始,RGB 的想法将由 Maxim Orlovsky(马克西姆·奥尔洛夫斯基)带领的一队乌克兰年轻人带着继续前进;后来 Federico Tenga(费德里科·腾戈)加入了,并推出了第一款 RGB 钱包(Iris Wallet),在 2022 年 10 月发布。

2019 年末1 月,一位匿名的推特用户 Hodlonaut 提出了建立一个叫做 闪电火炬 的闪电中继网络的想法:他发了一条推特,表示他会给第一个回复他这条推特的人支付 10 万聪(satoshi,比特币的最小单位),只要留下闪电网络发票即可;但这个人必须发一条同样形式的推特,并加码 1 万聪,也就是给下一个最快回复的人支付 11 万聪,以此类推;他想看看闪电网络能让这个实验进行到什么程度。在实验断掉、又经 Elizabech Stark(伊丽莎白·斯塔克)和 Jack Dorsey(杰克·多洛西)重启之后,这个实验变得宏大起来,而且不止于此:在 Bitcoin Magazine 因为担心法律后果而拒绝接受邀请之后,这笔钱通过一个苏格兰人流入了伊朗,因此违反了美国的管制。这支火炬变得非常著名,而且骗子也蜂拥而至:一个著名案例是,当火炬传到祖科手上时,一位名为 “比特币巫师” 的用户留下了一条闪电发票;得到支付后,这个人就带着资金完全消失了(那确实是一个创建不久的账号,但也有很多交互,而且有一些名人是其粉丝)。这时候,祖科自己拿出了同样数额的钱,重启了火炬传递;当火炬达到了一个可观的数额之后,它被发给了 Bitcoin Venezuela,一个致力于帮助受到恶性通胀和独裁统治折磨的委内瑞拉人的志愿者协会。

比特币的过去、现在和未来(五):比特币的现状(2)

4 月 12 日,另一件大事发生了:We are Hodlonauts(我们都是 Hodlonauts)。Hodlonaut 因为闪电火炬而变得非常著名,他在推特上的粉丝数量超过了 1 万,然后,他开始使用自己的影响力警告人们 Craig Wright(克雷格·怀特)的可疑,因此,他收到了克雷格·怀特的威胁信。他是匿名的,但 Calvin Ayre(卡尔文·艾尔)(克雷格·怀特背后的金主)在产出的出版物 CoinKeeg 中悬赏 5000 美金(以 BSV 支付)揭开 Hodlonaut 的真实身份(BSV 是一种分叉自 Bitcoin Cash 的垃圾币,译者注 )。有人获知 Hodlonaut 可能住在奥斯陆,于是就给 Hodlonaut 的雇主打电话,假装成挪威警察,要调查这个推特账户。这位雇主真的相信了他是一名警察,因此公开了 Hodlonaut 的全名和地址;然后,克雷格的起诉书就送到了 Hodlonaut 的家里,起诉理由是诽谤。

这件事引发了一场壮观的运动:每个人都在自己的个人简介页添加了 Hodlonaut 的图片,并把卡通人物的头都放进 Hodlonaut 的头盔里面。

- 推特上充斥着给 Hodlonaut 的声援 -

克雷格·怀特诉 Hodlonaut 案在 2022 年 10 月结案,Hodlonaut 胜诉。

视频:https://youtu.be/KniTdm-qKpY

2022 年 12 月 23 日,Hodlonaut 在推特上披露克雷格已经请求上诉(并且已被接受):

“我刚刚知道挪威法庭接受了克雷格的上诉。我将不得不重头再来一遍。我当然不会认输。”

—— hodlonaut 13%er 🌮⚡🔑 🐝 (@hodlonaut)

2019 年 5 月 1 日,Nicolas Dorier(尼古拉斯·多里亚)提出了 BIP 78 – A Simple Payjoin Proposal(简单的双向支付提议) ;Payjoin 是一种类型的 Coinjoin(多人为同一笔交易添加输入),只不过在执行 Coinjoin 的同时你也完成了一笔支付。具体来说,Payjoin 交易有两个输入,一个来自支付方,一个来自接收方。也就是说,资金不是由支付方直接发给接收方的,而是(相当于)双方都把资金给了某个 “中间” 地址,然后双方再各自把资金从 “中间地址”(混合过的资金)中取出。这样一来,外部的观察者就不知道谁是发送者,谁是接收者了,因为他们的资金混合过了。

几天以后,2019 年 5 月 8 日,第一个可能成真(因此让人担忧)的为了保护私人利益而回滚比特币的提议出现了。具体来说,币安交易所被黑了,其 CEO 赵长鹏宣布他会给矿工付钱,让发生盗窃的链变成孤儿链;他希望拿回这些资金,并说服矿工挖掘另一条链。这没有给比特币链制造无效的状态,产生重组也没有违反规则;但仅仅是为了挽回币安的安全性问题所造成的损失就发动重组,也是非常有争议的。最后,重组并没有发生。

- “资金是安全的!” -

再说回链上隐私。8 月 2 日,CoinJoin 实现之间的战争开始了。CoinJoin 就是多方为同一笔交易提供输入;一开始,中本聪在他的白皮书里说,当一笔交易有多个输入时,很明显这些输入都属于同一个人,这是链上隐私的局限性 —— 有些线索必然暴露;但实际上,几年以后,格里高利·麦克斯韦尔在 bitcointalk 论坛上写了一篇帖子,指出交易的输入并不必然来自同一个人。你需要做的只是实现一个足够好的钱包(让多个人为同一笔交易提供输入)。格里高利,theymos(德默斯)和其他人提供了 15 BTC 作为奖金,悬赏开发这样的钱包,但这个原型迟迟没有出现,直到 nopara 推出了 zerolink,它采用了 David Chaum(大卫·乔姆)最初的 e-cash 的理念,并放在 CoinJoin 的语境中,从而让协调员失明;就像在 e-cash 中,协调员靠着盲签名,在不知道自己签名了什么东西的情况下防止了重复花费,CoinJoin 的协调员也失明了。CoinJoin 在 Wasabi 钱包、Whirpool 钱包和 Samorai 钱包中都实现了。

8 月 2 日,Dojo 推出,这是一种 Bitcoin Core 的从属应用,跟 Bitcoin Core 一起运行,用来跟 Samourai 钱包 沟通。Dojo 是必要的,因为在此之前,在使用 Samourai 和 Whirpool 之时,CoinJoin 期间的服务器是通过大卫·乔姆密码学致盲的,但 Samorai 是一种手机钱包,而且所有的公钥都需要进入和退出 Coinjoin。这种批评因为 Dojo 的推出而部分得到缓解,因为,如果少数用户使用了 Dojo,而许多用户 “正常” 使用 Samourai,结果就是,如果一个使用 Dojo 的人跟许多使用 Samourai 的人进入了一笔 CoinJoin 交易,那么你的公钥是哪个将一目了然,因为只有你的哪一个是不可追踪的,别人的都是可以追踪的。

这件事具有历史意义,因为随着 Dojo 的推出,Luke Dashjr(卢克·达实)和格里高利·麦克斯韦尔的批评开始了,他们警告这个实现不好,建议不要使用。其他许多开发者加入了进来,随之而来的是一场没有边际的、无关技术的 文化/道德 战争。

2019 年 12 月 3 日,Bitfinex 成为第一个集成闪电网络的交易所。

2019 年 12 月 12 日,第一种 “第二代” 闪电钱包 Phoenix 发布,这种实验性的钱包的理念是这样的:“当每个人都在使用比特币、小额资金无法在链上结算(也就是普通支付将使用 Layer2 或其它形式的链下技术)时,你使用一个复杂的、要分别管理链上和链下两种余额的钱包,有什么意义?”

因此,分别展示两种余额(链上的、所有闪电通道中的)也没有意义。但也不是要展示每一条通道的余额,只是抽象地表示出来。就像在浏览网页时,我们不会想要看到每一个 TCP 连接,如果真的需要,我们会手动打开浏览器的高级选项,但在日常使用中,浏览器作了一次抽象,来隐藏这些复杂性。

这种简洁性意味着许多的妥协和取舍:

从隐私的角度看,如果你在使用 Phoenix 时不使用洋葱网络,那么别人可以看到你的 IP 地址,并观察你的所有公开通道;

当某人通过链上交易(潜水艇互换)给我支付时,代价可能很高;

它可以出借流动性给你,但价格非常高。

2019 年 12 月 27 日,Facebook 公司推出的密码货币实验 Libra 以失败、关门告终。各种各样的记者找上最著名的比特币人,要求他们评论此事:他们直接以早期的 PayPal 和 Linden Dollar 的例子回应。

2020 年 1 月 6 日,一个将在 2022 年变成一场大戏的提议出现了:Jeremy Rubin 的 BIP 119 - CHECKTEMPLATEVERIFY,但在当时,它乏人问津。这是一种 限制条款(covenant):在当前的比特币上,如果我可以花一笔钱,我就可以把它发到任何地方去。我创建一个满足花费条件的脚本,它会放在输入里面,然后这个输出就被花费掉了;此时我创建一个输入,使用完全不同的花费条件 —— 我先满足 A 条件,然后才能创造 B 条件。花费条件 B 无法做到:只有你创建的输出(条件 C)满足某一些条件时,你才能满足我这个花费条件。你是做不到让一笔资金只有在交易的输出满足预定义的条件时才能花费的。(而限制条款就是开启这种特性的技术。)

2020 年 1 月 19 日,Pieter Wuille(皮耶特·乌勒)、Jonas Nick(乔纳斯·尼克)和 Anthony Towns(安东尼·唐斯)提出了 BIP 341 – Taproot: SegWit version 1 spending rules 。两个月后,3 月 16 日,新型冠状病毒 COVID-19 大流行爆发,封锁和隔离也开始了,经济活动面临普遍衰退,连比特币也大跌了。

5 月 11 日,在半个地球处在封锁管制之中的时候,比特币增发速度的第三次减半到来。6 月 9 号,又出现了一场闹剧,是关于 “blacklist(黑名单)” 的。比特币软件可以按照 IP 屏蔽滥发消息的、不值得信任的或者经常搞破坏的对等节点。实际上,这就是我们说的 “黑名单”,但在美国文化中,从 2020 年开始,就有一种攻击软件项目的风气,说 “blacklist”、“whitelist(白名单)”、“Master(常被用作软件开发的主分支的命名)” 这样的词语会让人联想到奴隶制,因此应该使用别的词语。2020 年 6 月 9 日,一个路人用户(没有别的贡献)在 Bitcoin Core 代码库里发起了一项 Pull Request,要把 blacklist 这个种族主义用词替换成 blocklist。除了是一个有点搞笑的事件,它也是一个技术问题,因为在比特币软件中,这个词的含义是非常模糊的。这个 PR 被 Marco Falke(马尔科·法尔克)不经讨论立即投入了生产环境中,因为他希望避免 “混乱”,而且显然如果他拒绝这个 PR,就会吸引那些指控他是种族主义者的人。所以,他出于自己的意愿,就把这个 PR 合并到了生产环境中。Bitcoin Core 在生产环境中合并了一个荒谬的请求,这激怒了许多开发者,他们指出 Bitcoin Core 不是过家家,不是人们搞政治宣传的地方,它是一个至关重要的软件,你不能不经过社区的同意就把一个请求合并到生产环境中。状况升级到 John Newbery(约翰·纽伯瑞)不仅开始为这个举动辩护(“为了包容性”),甚至拉黑了一位曾经给 BTCPay Server 代码库提交代码的贡献者。这个影响是非常负面的,而且引发了一个持续至今的问题。开发者的角色改变了,而且一直在变化:在区块体积大战中,开发者是 “守土英雄”;但如今我们可以看到,同样一些人,难以对抗开始影响社会的民粹主义(populusmo) 。新一波的开发者屈服于这种清教徒式的傲慢,而且被赶出项目的恐惧变得越来越强烈,尽管这样的事情明明跟管理代码和创建软件的能力没什么关系。这跟 90 年代和 20 世纪初期的文化形成了鲜明的反差,那是一个 “别烦我(no bullshit)” 的年代,穿着奇装异服、放肆无礼和玩世不恭才是常态。

Richard Stallman(理查德·斯托曼)被逐出了他自己创建的基金会 —— Free Software Foundation(自由软件基金会,FSF),因为他的一些言论和行为被认为不合适、对软件自由事业有害。具体来说,斯托曼被指控发表性别歧视言论以及提议对遭到性侵的受害者采取不当行为。FSF 决定开除他的主席职位,以保护组织的体面、确保他推动软件自由事业的努力不会因为不当言行而被破坏。

- “自由是指言论自由,不是指免费啤酒。” -

2020 年 9 月 3 日,由芝加哥期货开启的金融化浪潮仍在持续。11 月 30 日,比特币的法币汇率突破前高;对美元的汇率突破了 19850,因此我们正式进入了牛市。

(未完)

Reply to this note

Please Login to reply.

Discussion

比特币的过去、现在和未来(六):现在与未来

本文为《比特币的过去、现在和未来》译本的最后一篇。前篇见此处。

现在与未来

Taproot 锁定以及二氧化碳寓言

终于讲到现在了。出于便利,我们就从 2021 年开始。

2021 年初,Elon Musk(伊隆·马斯克)这个小可爱就宣布从 2 月 8 号开始,特斯拉公司将储备一些比特币;这是在封锁结束之后的宏观局势中,对美元和其它法币表达的不信任。到 3 月 24 日,特斯拉公司直接接受了比特币作为支付手段。

马斯克依赖于 BTCPay Server,与之建立了良好的或伙伴关系,这也引发了比特币价格的一波上涨。所有这些炒作和权力都在人们意料之外,是基于马斯克这样的名人的态度转变的。名人效应非常让人意外,人们的热情也直冲云霄,全部都是价格上涨的有利条件。

2 月 12 日,一位用户在推特上创建了一个 “#LaserRayUntil100K” 活动,字面意思就是,在比特币的价格到达 10 万美元之前,一直使用带有镭射眼的头像;然后每个人都在推特上使用带有镭射眼的照片。

- Micheal Saylor(迈克尔·塞勒)的镭射眼 -

3 月 6 日,taproot 的激活历程开始了;此前虽然已经有了 BIP 341,但并没有出现任何实际的激活提议。讨论很多,但都不是关于 taproot 本身的,因为不论技术上还是政治上都没有争议(不像隔离见证)。Taproot 对所有人都是好事。真正的辩论时关于如何在生产环境中激活的;人们讨论了两种方向:

BIP 8 – Version bits with lock-in by height(按高度锁定的信号位激活机制):“我们给矿工一些时间,让他们在准备好之后告诉我们;但即使他们没有准备好,我们依然会执行这次软分叉”;

BIP 9 – Version bits with timeout and delay(带有超时和推迟机制的信号位激活):“我们给矿工一些时间,他们在准备好之后就可以告诉我们;如果他们没有准备好,那这次软分叉就算失败”。

分歧带来了一个问题:想要保守一些,BIP 9 方法肯定是更好的,但另一方面,一些向来非常保守的开发者(例如 Luke Dashjr)又坚持,这种 “保守” 方法让矿工可以掀起政治活动,让软分叉的预备机制变成一种政治投票机制。

最终,一种令人难以置信的提议出现了,并且它因为 Bitcoin Core 的开发活动而拥有了巨大的推动力,但实际上所有人都不高兴。这就是叫做 Speedy Trial(速战速决) 的提议,它允许先使用 BIP 9 这样的机制,但不会给矿工一年的时间,最多只会给一个月。也就是说它给出了在尝试、失败之后也许还能再发起 BIP 8 的余地。

“速战速决” 提议出现之后,所有 BIP 8 阵营的人都不满意,因为不论如何它还是给了矿工权力;但保守的 BIP 9 阵营又认为这种激活方式太危险,因为时间窗口非常短。

Bitcoin Core 维护者们的普遍感觉是,就没有什么具体的措施,虽然 taproot 已经被讨论了很久了,但没有人出来做任何事情。然后 “速战速决” 就被部署到了生产环境中,而且还有一个用户可以操作的标签,可以把 “速战速决” 变成 BIP 8,在窗口期结束后就直接激活。

从技术的角度看,每个人都会对 taproot 的到来感到高兴;但从方法的角度看,很多人都感到失望,因为这看起来就跟垃圾币上的情况一样:开发者觉得某个东西足够好了,其他人就必须接受。

6 月 12 日,Taproot 正式进入了生产环境。

2021 年 5 月 5 日,一家上市的矿业公司 Bitcoin Marathon 挖出了一个区块,并在其 coinbase 交易中写道 “这是一条 OFAC 合规的区块链”(OFAC 是一个金融特别工作组,工作内容是在全球市场中消灭被认为 “有害和肮脏” 的交易以及任何妨碍政治制度的东西)。我们不知道一条区块链变成 “OFAC 合规的” 是什么意思,但一边倒的抗议马上就爆发了,比特币人开始制作 CoinJoin 交易、让居住在伊朗的朋友将资金转发到 Marathon 的 coinbase 地址里。基本上,Marathon 被混洗过的货币和来自 “不合规地址” 中的 “自由货币” 给淹没了。

5 月 19 日,对那些把一切都押在马斯克身上、把他当成比特币吉祥物的人来说,灾难降临了;特斯拉公司宣称:

“我们做错了。我们发现比特币会产生二氧化碳,并导致全球变暖,因此我们不再接受比特币了。”

—— 特斯拉

显然,这种说法没有任何道理,他们还提出了每一笔比特币交易的能源消耗量:这个指标没有任何道理,因为比特币交易不消耗能量,最多你只能以区块为单位,估计挖矿所消耗的能量,但进一步推导到每一笔交易的能量消耗就没有任何意义。不然你要干什么?因为特斯拉的电车要耗电,就让特斯拉关门吗?

特斯拉的声明是完全错的,但奇怪的是,特斯拉公司并没有卖出自己储备的比特币,只是不再接受比特币支付而已。关于这样做的动机,人们有几种猜想。最流行的一种(没有证据,只是联想)是,一些人提到,自特斯拉在 2 月 8 日宣布接受比特币支付依赖,许多人都用比特币购买了特斯拉,但在美国,如果你出售比特币来换取法币,你需要支付资本利得税,除非你拿去买东西,那就不需要支付资本利得税。所以,许多人通过拿比特币购买特斯拉(免税),再把特斯拉卖成美元,就躲避了资本利得税。

上面的环保注意什么可能进一步掩盖了这种没有证据的猜想。同样的,矿工并不必然会产生二氧化碳,因为挖矿是用电的 …… 然后有人可能会说:“那电力是燃烧化石燃料产生的呀,因此也会释放二氧化碳到大气中。”。那行啊,特斯拉的电池是不产生二氧化碳(目的是为了停止使用内燃机),你的电池不是也要用电吗,电不是也要从什么地方来吗?特斯拉要扮演环保主义者、说比特币不环保,怎么着都让人汗颜。

禁令、战争和限制条款

2021 年 5 月 21 日,另一份禁令在中国下达 —— 从 2014 年以来,中国一直在毫不动摇地封锁比特币。所有矿工都不得不停止在中国大陆挖矿。有趣的事实是,中国境内的哈希率有 30% 是地下的,这是以往的禁令失败的绝佳证据。另一个有趣的事实是,价格并没有因为禁令而改变(再次为马斯克感到尴尬)。

2021 年 5 月 31 日,Marathon 的 CEO Fred Thiel(弗莱德·泰尔)在一段视频中露脸,宣布他们会拥抱比特币社区的原则,根据协议确认一切有效的比特币交易。不会有黑名单,而且他们会支持 taproot。

6 月 5 日,在迈阿密的比特币大会上,Jack Mallers(杰克·迈勒斯)(非常激动地,哭着)宣布萨尔瓦多将接受比特币作为法定货币:

视频:https://youtu.be/_59hrgTiRJU

几天以后,这项法律在萨尔瓦多接受投票,而且发生了一些微妙的事情:萨尔瓦多的总统 Nayib Bukele(纳伊布·布克勒)开设了 一个 twitter space(语音聊天室),跟比特币人平等交谈,而且制作了标准的推特表情包。显然,布克勒这是在自己家里,因为他在聊到一半的时候道歉说自己要去投票了。这项法律得到了大量赞成票,因此通过了:

“所有萨尔瓦多的公民都有义务,在接受支付时接受比特币,只要客户希望以比特币支付”。这在许多人心中产生了矛盾,一方面,比特币能被用于支付当然是好事,但另一方面,如果某个商家不愿意接受比特币,就会遭到警方的强迫,那在伦理上就不是好事了。

如果商家面临技术上的困难因此无法接受比特币,则可免除这种义务;

国家将会为所有商家提供基础设施,让他们可以实时交换比特币和美元,而且不必支付手续费。

这是一种可以容忍的法定货币,因为它不是由国家强加的。9 月 7 号,萨尔瓦多实行比特币法。

- 纳伊布·布克勒的漫画 -

2021 年 11 月,Adopting Bitcoin 大会在萨尔瓦多举行,在此期间,taproot —— 已经在 6 月锁定 —— 激活了。

现在是 2022 年。

2 月 24 日,俄罗斯军队入侵了乌克兰;许多年轻人决定逃离乌克兰;虽然乌克兰被入侵了、不是侵略者,但它毕竟是个民族国家,具备民族国家的所有特点,因此国家立即动员起来,阻止年轻人离开祖国。

许多人认为自己有一些事情比向素未谋面的人开枪更重要,所以依然决定逃离。一个乌克兰人在银行账户和 ATM 被冻结、无法携带现金离开祖国的情况下,拿着比特币成功逃离;他的故事在互联网上传开了。

不仅有人逃离乌克兰,也有人逃离俄罗斯,因为俄罗斯也有一样的全民动员。随着这些故事的传播,比特币回到了聚光灯下,此外,乌克兰政府还发起了一项密码货币募捐(比特币和垃圾币来者不拒)来支援军队,这项募捐活动也非常成功。

4 月 19 日,又发生了一场戏剧。Jeremy Rubin(杰里米·鲁宾)(不是一个特别受欢迎的开发者,曾跟 Mike Hearn 一起提出在比特币中增加黑名单)在两年前提出了著名的 限制条款 技术(可以限制花费交易的输出的花费条件)的一个非常全面的版本:BIP 119 – CHECKTEMPLATEVERIFY。杰里米突然发表了一篇博客文章(用 Gavin Andresen 的口气)宣布,关于 BIP119 的讨论已经太多了,但没有人表明立场。

他转而提议也为这个 BIP 来一次 “速战速决”。在 taproot 升级之后,一些人依然对 “速战速决” 耿耿于怀,因为他们认为,即使是 taproot 这样技术上没有争议的提议,使用这种升级方法也会带来负面效果,会激励每个人都使用速战速决来提议任何东西。

还有一些人因为杰里米曾经提议过黑名单而害怕限制条款,而有些人单纯时不喜欢杰里米,因为他使用了嘉文一样的不可一世的语气,用一篇文章就把所有人打死。当有一些人表示,限制条款是个好东西,但谁会认为它比 CISA(跨输入的签名聚合)、APO(eltoo 背后的技术)更重要?

这似乎变成了一场在推特和各种邮件组中上演的、伴有各种尖锐反应的闹剧。最后,在 5 月 2 日的时候,杰里米发表一篇文章,并在消息中宣布,他会等待社区的共识解决这个问题,等到他等不下去的时候,他会改变想法,为以太坊工作(嗯,你去吧)。

6 月 28 日的时候,另一波反比特币神教浪潮到来,这一次是由 Nic Carter(尼克·卡特)发起的。尼克有一个著名的身份是 Castle Islang Ventures 的联合创始人之一,这家风险资本专注于投资区块链项目。意思是,这家风投公司也投资垃圾币和模棱两可的共识,比如尼克投资了做链上活动分析的,和在以太坊上实现自动化 KYC 的。

不久之后,尼克就会参与一档倾向以太坊的播客,夸奖以太坊的诸多优点和历数比特币人的不是。接下来就出现了四十几篇文章的群舞,主题一模一样,都是比特神教的死亡。这些文章中,最主要的概念就是(用各种各样的方式)把比特神教跟 plan B 提出的 “存量流量比” 价格预测模型联系起来(这个模型预测了 15 万美元的高点;许多神教教徒都同意这个预测)。实际上,许多人都嘲笑基于这种模型的价格预测,因为显然,市场价格是永远不可预测的。不然的话,不就等于天降油炒饭了吗。

在这个长篇故事中,最后一件事情不是关于比特币的,而是一种垃圾币 Tornado Cash,其 创始人/开发者 Alexey Pertsev(阿列克西·佩德采夫)被当局逮捕了。这个事件非常热门,因为首先,最大问题的垃圾币是以太坊,以太坊已经完全被审查了,其 51% 的出块者都表示服从 OFAC 的监管。但最令人震惊的是一位开源软件的开发者被逮捕了,他不像 Ross Ubrich(罗斯·乌布里希)是一个中心化的网站的主管、一位商人;也不像 Assange(阿桑奇)是一个组织的头头,他完全就是个开发者,人们以为他是受到保护的。但事实并不如此,而且,不幸的是,冲突往往都会加剧。

新的技术和固化

CISA(跨输入的签名聚合):我们已经说过,Schnorr 签名优于 ECDSA 的地方在于其可聚合性,即,如果 Alice 和 Bob 用自己的私钥签名了同一条消息,那么这两个签名的和将正好等于 Alice 和 Bob 的公钥之和的签名。这个方式已经存在于 taproot 中,我们可以制作出一个公钥,需要 Alice 和 Bob 两方的签名才能生成该公钥的签名。这种聚合是在单个输入的内部发生的,需要花费一笔这样的资金时,Alice 和 Bob 的签名就要聚合,然后只发布最终聚合而成的签名。

但是,如果也能聚合不同输入的签名,是不是更好呢?

一笔交易的多个签名都是签名的整个交易,为什么我们非得一个一个输入这样验证签名?我们可以将所有输入中的所有公钥的签名汇总成一个签名。这样做的好处很明显:节约时间链上的空间;让基本的 CoinJoin 交易在提高隐私性的同时费用更低(如无 CISA,CoinJoin 的手续费将比普通交易更贵,因为你在链上写入了更多东西,而且必须跟更多人协调;有了 CISA,假设 Alice 要支付一个输入和一个输出的手续费,她要独自支付一个签名的手续费;但 Alice 和 Bob 一起也只需要支付一个签名的手续费,这样签名的手续费就会在两人之间平坦)。

真正的大问题在于,隔离见证是通过给签名数据的手续费打折来实现区块扩大的,所以 CISA 带来的手续费缩减已经很少了(签名数据的手续费本身就只有同体积的交易元数据的 1/4)。CISA 和隔离见证折扣不是好朋友。

解决这个问题的办法之一是取消隔离见证的折扣,并引入 CISA,这样使用 CISA 的 6 个参与者就能获得跟隔离见证一样幅度的手续费减免(至少要有 4 个参与者,因为有一些开销是省不下来的);而且,从架构的角度看,CISA 也比隔离见证折扣要干净清爽很多(隔离见证的折扣实在丑陋)。

但也有开发者反对 CISA 的想法,不过,这是因为他们已经对比特币基本技术的固化做好了准备:

“或迟或早,我们将不得不止步。CISA 确实是个好想法,但我们要走到哪里去呢?CISA 实现之后我们又会找出另一个好想法,但固化对于基础协议来说是必要的。稳定性比优雅更重要。就像 TCP/IP 协议自 1981 年至今的变化一样,只有顶层的协议改变了。”

—— John Carvalho(约翰·卡瓦略)

Simplicity(已经在 Liquid 侧链上部署):这是一种非常高级的比特币通用编程语言,在此基础上你几乎可以做任何你想做的事,包括重构几乎每一种你能想到的软分叉,然后将这种软分叉变成脚本定义的一部分(而不是变成共识规则)。节点在运行一段 Simplicity 脚本之前就可以知道需要投入多少计算资源以及它将耗费多少时间,所以它跟 Script 是显然不同的,因为它非常通用。Simplicity 是 Blockstream 公司创造的,而 Adam Back(亚当·贝克)声称:

“Simplicity 是一种可以带来固化的软分叉,因为一旦它作为软分叉部署了,你就不再需要任何软分叉,所有需要的东西都可以用 Simplicity 复制出来。”

—— 亚当·贝克

APO(ANYPREVOUT):一开始 APO 是由 eltoo 论文提出的,叫做 SIGHASH_NOINPUT,而且有些地方很像限制条款。基本上,它的作用就是让签名可以用来花费输出,但不指定要花费哪个输出,你只需签名并确定可被花费的 UTXO 的脚本需要满足的一些条件即可。这种技术很有趣,它可以支持一种叫做 eltoo 的闪电通道建构方案,比目前在用的方案更优雅,因为不仅备份数据更加简单,而且可以同时跟 N 个人共享通道。APO 是完整的,而且有详细描述了(CISA 还没有)。它缺少的只是推动它的支持者,因为 Christian Decker(克里斯蒂安·德克尔)不想被看成不惜一切代价也要推动一次软分叉的人。

结论

我就在此处停笔了。

后面可能会有适当的更新,但此时我想先谢谢你,谢谢你跟我一起走了这么远的路,这意味你拥有的不只是一点点的耐心。

想给我留言的话,请不要客气,直接在 telegram 找我;或者你也可以在推特上找我!

(完)