如果你在2011年告诉我,到2017年我们还没有提升区块大小,我会说,“不可能会这样。”

——斯蒂芬·佩尔(StephenPair),BitPay首席执行官

比特币核心开发者通过一个技术参数将比特币变成了一个不同的项目:“区块大小限制”。区块大小限制是指网络上允许的最大区块大小。回想一下,交易会被打包到区块中,因此交易越多,区块就越大。这使得区块大小限制实际上成了比特币网络的最大吞吐量限制。比特币核心团队使用了一个非常小的区块大小限制,人为地将网络容量限制到了其潜力的一个小部分。

区块大小限制本不应该是一个重要参数,这个限制也本不应该被触及。它的设计初衷是始终高于平均区块的大小。除非在极端情况下,区块从未被设计成会填满的。

额外空间的需求

当一个区块被填满时,这意味着试图处理的交易数量超过了单个区块能够容纳的交易数量,这会立即导致交易费用飙升和交易积压。目前,一个BTC区块可以容纳2,000到3,000笔交易,并每10分钟生成一个区块。如果在一个10分钟的时间段内,有18,000人尝试发起交易,网络至少需要6个区块来处理这些交易。这意味着,如果在这段时间内没有其他人使用网络,则需要一个小时才能处理完队列中的所有交易。如果有150,000人同时使用比特币,则至少需要50个区块才能处理完所有交易,这将需要超过8个小时的等待时间。

网络拥堵期间,延迟处理并不是唯一的问题。当区块被填满时,交易费用开始上涨。支付更高的费用并不能保证您的交易会被快速处理;它只能让您的交易在队列中排在其他交易的前面。由于网络每个区块最多只能处理3,000笔交易,因此一个交易队列会形成。支付更高的费用可以增加矿工将您的交易纳入下一个区块的可能性,但如果有足够多的人支付的费用比您更高,您的交易会被进一步推迟到队列的后面。这会导致费用呈指数级增长,并带来糟糕的用户体验。一旦区块被填满,费用可能从几美分迅速上涨到一美元,然后是五美元、十美元、二十美元、五十美元,甚至更多。如果有足够多的人使用比特币,费用会进一步飙升。在2017年和2021年的费用高峰期,一些复杂交易的费用超过了1,000美元,我自己就多次支付过这样的费用。在区块链上搜索费用介于900到1,100美元之间的交易,可以找到近35,000个结果。

比特币常被比喻为电子邮件,因为它可以通过互联网即时连接人们。试想,如果电子邮件无法应对150,000人同时使用,并且需要8个小时来发送和接收消息,这无疑会被视为一个令人尴尬的设计缺陷。然而,在这些网络崩溃的高峰期,交易可能被卡住几天,甚至在某些极端情况下会长达一周。这正是为什么区块大小限制应该始终保持远高于交易需求的原因——它应该是一个远远不会影响系统功能的技术限制。比特币本应随着使用量的增加而扩展,区块大小限制也应该被提高或完全取消。

如果允许区块自然增长,比特币将继续作为一个具有低交易费用和普遍区块链访问权的数字现金系统。然而,比特币核心开发者希望将比特币转变为一个用于高价值转账的结算系统,因此他们拒绝提高区块大小限制。费用飙升到天文数字、网络变得不可靠的唯一原因是区块太小,无法满足交易需求。

无数早期开发者、企业和比特币爱好者都明白,区块大小限制需要提高。他们知道,区块填满会带来糟糕的用户体验,并且随着比特币的受欢迎程度增长,区块正在变得越来越满。然而,尽管行业内无休止地争论和呼吁,比特币核心开发者仍拒绝提高这一限制。自2010年以来,比特币的最大交易吞吐量几乎没有得到任何实质性的提升。

值得注意的是,你智能手机上的一张图片的大小通常比整个比特币区块还大,有时甚至大得多,这取决于图像的质量。这最终导致了加密货币行业的分裂,并促使比特币现金(BitcoinCash)的诞生。

区块大小限制的原因

当中本聪离开比特币项目时,已有许多充满热情和才华横溢的开发者参与其中,但有两位尤其出色:加文·安德烈森(GavinAndresen)和迈克·赫恩(MikeHearn)。中本聪选择加文作为他的继任者,并担任该项目的首席开发者。自然而然,他是一名“大区块”支持者。多年来,他在自己的博客中撰写了许多具有影响力的文章,讨论比特币的扩展性、开发者文化、经济学以及其他相关话题。他性格温和,也许过于谨慎。

相比之下,赫恩则是一位更直言不讳的开发者,他经常对那些他认为破坏项目的小区块支持者进行批评。他的工作经历尤其相关。在加入比特币项目之前,赫恩曾在谷歌工作,担任谷歌地图(GoogleMaps)的容量规划员三年,而谷歌地图是全球最受欢迎的网站之一。因此,他对网络容量问题非常熟悉。像中本聪和安德烈森一样,赫恩也是一名“大区块”支持者,他认为比特币不存在任何固有的扩展问题。通过他们的博客文章、电子邮件、论坛对话以及公开采访,安德烈森和赫恩比任何人都更好地诠释了比特币的最初愿景。他们的评论是理解比特币的关键,本书多次引用了他们的观点。

区块大小限制的初衷

比特币最初的代码中,并没有明确限制可以生成的区块大小。然而,这一情况在2010年发生了变化。当时,中本聪添加了区块大小限制,以防止比特币尚处于早期阶段时可能发生的拒绝服务(DoS)攻击。加文·安德烈森在他的博客中解释了设置这一初始限制的原因:

……[限制]是为了防止通过“有毒区块”进行的网络拒绝服务攻击。如果攻击成本对于攻击者来说非常低,我们就不得不担心拒绝服务攻击……这种限制是为了防止的一种攻击,而这种攻击在今天要昂贵得多……

在2010年7月15日,当时大约有11,000个比特币以每枚约3美分的价格进行交易。那时候区块奖励是50个比特币,因此矿工可以以大约1.50美元的价格出售一个区块的比特币。这大致说明了攻击者生产“有毒区块”以破坏网络需要付出的成本——一两美元。很多人会为了“好玩”花费一两美元制造麻烦,他们愿意花费时间或者少量金钱来制造麻烦。

最初的区块大小限制被设定为1MB,理论上允许比特币网络每秒处理7笔交易。实际上,其真实的交易处理能力约为每秒3到4笔交易,对应每个区块2,000到3,000笔链上交易——远远高于当时网络的实际使用量。原计划是随着需求增加逐步提高限制,或者完全取消限制。安德烈森在论坛上提到:

从一开始的计划就是支持大型区块。1MB的硬性限制始终是一个临时的拒绝服务防御措施。

另一位早期比特币先锋**雷·迪林格(RayDillinger)**也表达了相同的观点:

我是当年审查中本聪第一版比特币代码中区块链部分的那个人。中本聪的代码中最初并没有1MB的限制。这个限制最初是哈尔·芬尼(HalFinney)的想法。中本聪和我都反对这个限制,认为1MB无法扩展。但哈尔担心可能的DoS攻击,经过讨论,中本聪同意了……但我们三人都一致认为,1MB必须是暂时的,因为它永远无法扩展。

中本聪、哈尔和雷三人的一致意见尤其值得注意,因为哈尔·芬尼通常被认为是小区块的支持者。但即使是他也同意1MB的限制必须是暂时的。然而直到今天,比特币核心开发者仍然拒绝将区块大小限制从2010年设定的初始水平进行任何实质性提高,尽管软件、硬件和网络技术已经大幅进步。

事实上,行业内几乎所有最大的公司多次尝试提升区块大小限制,但核心开发者拒绝了这些请求,甚至在公开同意提高后仍未实际执行。他们反而将“区块大小”这一指标改成了“区块权重”(blockweight),声称新限制是4MB,但这大多是一个会计上的技巧,并不意味着吞吐量能力的四倍提升。

颠覆设计

比特币核心开发者拒绝提高区块大小限制的简单原因是,他们想改变比特币的设计。区块越早被填满,交易费用就会越早上涨,而他们认为这是理想的结果。核心开发者乔治·提蒙(JorgeTimón)表示:“我同意达到限制不是坏事,实际上对像比特币这样的年轻、不成熟的市场来说是好事。”而格雷格·麦克斯韦(GregMaxwell)则直言不讳地表示:“区块被填满没有任何问题……满区块是系统的自然状态。”

要理解这些观点有多么激进,只需将它们与比特币早期的理念进行对比。在那个时候,Visa网络经常被用来与比特币的交易吞吐量作比较。早在2009年,中本聪被问及比特币的扩展能力时曾表示:

当前的Visa信用卡网络每天在全球范围内处理大约1500万笔互联网交易。比特币已经可以用现有的硬件,以更低的成本扩展到远超这一规模的程度。它实际上永远不会遇到扩展的上限。

这种理解在许多年里被认为是理所当然的。虽然现在我们可能称之为“中本聪的愿景”,但在当时几乎所有人都是这么认为的。例如,如果你在2013年研究比特币,你可能会看到它的维基页面。在“扩展性”部分,它是这样描述的:

核心比特币网络可以扩展到比现在更高的交易率,只要网络中的节点主要运行在高端服务器上,而不是台式机。比特币被设计为支持只处理区块链小部分的轻量客户端……

一种大多数用户同步轻量客户端到更强大的骨干节点的配置,能够扩展到数百万用户和每秒数万笔交易……

目前,比特币网络被一些人为限制限制在每秒7笔交易的持续率。这些限制是为了防止在网络和社区尚未准备好时,区块链的大小被膨胀。一旦这些限制被解除,最大交易率将显著提高……在非常高的交易率下,每个区块可能超过500MB。

这是当时的常识。每个人都知道,比特币系统的设计是可以通过更大的区块来扩展的,这在当时甚至没有引起争议。安德烈森也曾表示,比特币的扩展能力是吸引他参与项目的原因之一:

当我第一次听说比特币时,它的规模还很小,我可以阅读所有内容,我确实这么做了,包括所有邮件列表的帖子。一个能够扩展到与Visa竞争的系统的承诺,是让我被比特币吸引的愿景之一。

2013年,Visa的平均处理能力约为每秒2,000笔交易。要在比特币上实现每秒2,000笔交易,区块大小需要大约500MB,而这一大小是完全可管理的。如今的智能手机可以轻松录制并上传数GB大小的高清视频,这远远大于包含上百万笔交易的比特币区块的大小。达到这种规模不仅仅需要增加最大区块大小,但没有任何根本性原因表明这无法实现。事实上,比特币现金(BitcoinCash)已经成功处理过多个32MB的区块,而比特币现金的一个分支——比特币SV(BitcoinSV)甚至挖出了一个2GB的区块。这些网络并未崩溃。

中本聪对区块大小问题曾有一个简单的最终回答:

我们能尽量保持[区块链]文件小就尽量保持小。最终的解决方案是根本不在乎它有多大。

高费用与慢交易

为什么比特币核心开发者会希望交易费用高?对于早期的比特币爱好者,甚至普通人来说,这听起来显然是个坏主意。然而,高费用实际上是“小区块”理念不可避免的结果。要理解其中原因,我们需要更深入地分析系统。正如第2章所解释的,矿工通过两种方式获得报酬:交易费用和区块奖励。由于区块奖励会随着时间的推移逐渐减少,最终唯一的收入来源将是交易费用。而由于比特币核心开发者希望区块保持较小的大小,在他们的系统中,矿工赚钱的唯一途径就是依靠极高的交易费用。

比特币无法在矿工没有报酬的情况下运作,如果矿工每个区块只能处理3,000笔交易,那么每笔交易的费用需要达到数百甚至数千美元,才能维持网络的安全性。核心开发者乔治·提蒙(JorgeTimón)坦率地谈到了这个问题:

从长期来看,为了在[区块奖励]补贴消失后维持[工作量证明],比特币需要一个竞争性的费用市场。我很高兴我们现在有了这样的市场……

另一位核心开发者彼得·维勒(PieterWuille)也表示:

我的个人意见是,我们——作为一个社区——确实应该让一个费用市场发展起来,而且越早越好。

他们用委婉的词汇将高费用交易的积压称为“费用市场”,用户在这个市场中为了有限的区块空间相互竞价。这种奇怪且不必要的安全模型正是核心开发者庆祝和鼓励高费用与交易积压的原因。格雷格·麦克斯韦(GregMaxwell)声称:

费用压力是系统设计的有意部分,并且根据当前的理解,这是系统长期生存的必要条件。因此,是的,这很好。

当交易费用在2017年12月飙升至25美元时,麦克斯韦甚至曾令人震惊地回应:

说实话,我已经打开香槟庆祝了,[市场行为]确实在产生可以为安全性支付的活动水平,而无需通胀,同时也在产生需要支付费用的交易积压,以在补贴减少时稳定共识进程。

然而,中本聪并没有按照这样的方式设计比特币。他预期矿工会通过处理大量低费用交易的大区块来收回成本。在论坛中,有人问中本聪关于矿工的长期收入模型,他解释说:

几十年后,当奖励变得太小时,交易费用将成为[矿工]的主要报酬。我确信20年后,要么会有非常大的交易量,要么根本没有交易量。

注意,他并没有说“20年后,要么有大量交易量,要么有小交易量和极高的交易费用。”这种说法对任何有常识的人来说都会显得荒谬。他的预测是,要么有高交易量,要么根本没有交易量。

新的比特币

通过人为限制区块大小,比特币核心开发者成功地彻底改变了系统的运行动态。不仅用户体验从“几乎即时且免费交易”变成了“昂贵且不可靠的交易”,连基础的经济模型也发生了根本性的改变。比特币(BTC)正在赌一种假设:未来的用户会愿意为每笔链上交易支付数百甚至数千美元的费用,即使有更优越的替代方案存在。否则,矿工将不得不关闭大部分设备,因为他们无法获得盈利。

基于此,说BTC被“劫持”并用一个新的、投机性设计取而代之,绝非夸张。因此,以太坊联合创始人维塔利克·布特林(VitalikButerin)公开表示:

我认为BCH是比特币名称的合法竞争者。我认为比特币未能通过增加区块大小来保持合理的费用是一种重大的(非共识的)对“原始计划”的改变,这在道德上等同于一次硬分叉。

比特币核心开发者未能提高区块大小限制不仅仅是理论上的问题,它对那些基于比特币建立业务或接受比特币支付的企业产生了现实的影响。在2017年费用激增之后,比特币行业首次经历了“反向采纳”(anti-adoption)的情况。

当流行游戏平台Steam宣布他们将不再接受比特币时,他们公开分享了原因2:

从今天起,Steam将不再支持比特币作为我们平台上的支付方式,原因是高额费用和比特币价值的波动……[比特币网络向客户收取的]交易费用今年飙升,上周达到每笔交易接近20美元(相比之下,当我们最初启用比特币时,每笔交易大约为0.20美元)……

在Steam上结账时,客户需要转账x数量的比特币用于支付游戏费用,以及y数量的比特币用于支付比特币网络收取的交易费用。比特币的价值只在一定时间内得到保证,因此如果交易未能在该时间窗口内完成,那么所需支付的比特币数量可能会发生变化。最近,这种变化的幅度越来越大,以至于可能有显著差异。

通常的解决方法是将原始支付退款给用户,或者要求用户转账额外的资金以支付剩余的余额。在这两种情况下,用户都需要再次支付比特币网络的交易费用。今年,我们看到越来越多的客户陷入这样的情况。而当前如此高的交易费用使得退款或要求客户转账补足余额变得不可行(而这本身也存在未付余额的风险,这取决于比特币价值在比特币网络处理额外转账时的变化)。

在此情况下,继续支持比特币作为支付选项已不可持续。我们可能会在稍后重新评估比特币是否对我们和Steam社区有意义……

--Steam团队

无法苛责Steam的决定。当区块已满时尝试使用比特币会是一次糟糕的体验。想要退款的客户几乎注定会蒙受损失。如果他们想退还一款价值30美元的游戏,而交易费用每笔高达10美元,用户可能会损失20美元,最后什么也得不到。在我看来,如果想让比特币崩溃,允许区块变满会是最有效的方式。如果高额手续费和交易延迟是由技术故障引起的,这反而可能对比特币更有利,因为它是一项新技术,这种问题可以被视为偶发事件。但事实恰恰相反,公众被告知高额手续费完全没问题,不应该用比特币进行日常消费,同时还被告知区块链本身无法扩容。

比特币支持者对这些批评通常有一些标准回应。如果他们没意识到高额手续费是比特币有意设计的一部分,往往会说:“手续费根本不是问题。看,现在手续费就很低!”但这是一个站不住脚的论点。在某一特定时刻,比特币手续费可能很低,但那只是因为网络流量较少。如果使用的人增多,拥堵就会迅速增加,手续费也会再次飙升。这就像汽车交通一样。仅仅因为凌晨3点道路空旷,并不意味着洛杉矶已经解决了交通问题。如果比特币区块未满,手续费就会较低;但一旦区块已满且活动量增加,手续费不可避免会达到极高水平。

那么第二层解决方案呢?

试图拯救“小区块”理念的另一个方式是诉诸二层网络。毕竟,如果大多数交易都发生在链下,或许手续费可以在这些二层网络上保持较低水平。虽然在比特币中构建多层架构是有道理的,但要让其正确运行,基础层必须具备可扩展性。如果基础层每秒只能处理七笔交易,那远远不足以为上层构建提供坚实的基础。二层网络仍然需要与基础层交互,因此高额手续费仍是根本性问题。例如,闪电网络仍需要偶尔进行链上交易,而这些手续费必须由某方承担。目前,许多主流钱包正在为用户补贴这些费用,但如果50美元以上的手续费成为常态,这种模式显然不可持续。

埃隆·马斯克(ElonMusk)是少数几个似乎理解加密货币基础层扩容价值的人之一。在一场关于网络设计的推特讨论中,他以工程师的视角分享了自己的看法:

比特币和以太坊正在追求多层交易系统,但基础层的交易速度很慢,成本很高……增加基础层交易速度、降低交易成本是有意义的……区块大小和频率应随着带宽的普遍提升而稳步增加。

如果马斯克当时参与进来,他很可能会与中本聪、Andresen、Hearn以及包括我在内的大多数早期比特币企业家站在同一阵线。低成本的链上交易是不可替代的。

最终导致比特币分裂的技术参数是区块大小限制。在区块尚未满之前,比特币在加密货币行业的市场份额约为95%。而一旦区块开始填满,其市场份额迅速下降。在2018年1月网络高峰期,其市场份额一度降至32%,许多用户、企业和开发者彻底离开了比特币。截至2023年3月,比特币市场份额约为40%,并可能随着更多网络问题再次下滑。如果比特币核心开发者当时仅仅将区块大小限制提高到合理水平,我相信许多竞争加密货币项目根本不会存在,这个行业可能会围绕一枚货币保持统一,比特币也将继续作为互联网的首选数字现金系统。然而,比特币核心开发者却转向了一个高手续费、交易不可靠的结算系统,给数字现金领域留下了一个尚未填补的空白。

节选自 <Hijacking Bitcoin>

原作者 Roger Ver

$DOGE

DOGE
DOGE
0.06988
+0.05%

$BCH

BCH
BCH
237.4
-1.61%

$BTC

BTC
BTC
74,978
-0.28%