以下路线图最初由 Gregory Maxwell 于 2015 年 12 月 7 日发布在 bitcoin-dev 邮件列表 上。

香港的“比特币扩容研讨会”刚刚结束。会上提出了很多有趣的提案。我认为现在是一个分享我对比特币系统容量提升短期方向的观点的好时机。我相信我们现在正处于一个绝佳的时机,社区已经准备好朝着一个清晰的未来方向前进,并拥有一个共同的愿景,即在维护比特币价值的同时,满足系统的需求。

我认为,首先要明确表达一些我认为应该指导比特币系统持续发展的相关原则。

比特币是一种 P2P 电子现金,因为它通过去中心化为用户带来了货币自主权,因此比传统系统更有价值。比特币旨在解决传统货币的根本问题:所有让它正常运作所需的信任——

——并非说合理的信任是件坏事,但信任会让系统变得脆弱、不透明,并且运营成本高昂。信任危机会导致系统崩溃,信任的管理会导致不平等和垄断锁定,自然产生的信任瓶颈会被滥用,拒绝正当程序的访问。通过使用密码学证明和去中心化网络,比特币最大限度地减少并取代了这些信任成本。

在现有技术条件下,规模和去中心化之间存在着根本性的权衡取舍。如果系统成本过高,人们将被迫信任第三方,而不是独立执行系统的规则。如果比特币区块链的资源使用量相对于可用技术来说过高,比特币将失去其相对于传统系统的竞争优势,因为验证成本过高(将许多用户拒之门外),迫使信任回到系统中。如果容量过低,交易方式效率低下,则使用区块链进行争议解决的成本过高,再次将信任推回到系统中。

由于比特币是一种电子现金,它并非一个通用的数据库;对廉价、高度复制、永久存储的需求是无限的,比特币不能也不会满足非电子现金(非比特币)用途的这种需求,这并不丢脸。幸运的是,比特币可以与其他系统互操作,这些系统可以解决其他应用,并且——如果运气和努力能够兼得——比特币系统可以并且将会满足世界对电子现金的需求。

幸运的是,很多很棒的技术正在开发中,让权衡取舍变得更容易。

首先:经过几年的开发,比特币核心最近合并了 libsecp256k1,这极大地提高了签名验证性能。结合其他最近的工作,我们现在在 0.12 版本中获得了比以前版本快 7 倍的 ConnectTip 性能。这已经酝酿很久了,如果没有预料到它,并且没有早期工作,例如先前的区块头,我可能在去年就会主张减少区块大小。这种对广泛可用的生产比特币软件的最新技术的改进,为容量提升奠定了基础,同时弥补了我们去中心化方面的不足。这将瓶颈从 CPU 转移到了传播延迟和带宽上。

版本位(BIP9)即将成熟,它将允许比特币网络拥有多个正在进行的软分叉。到目前为止,我们必须完全串行化软分叉工作,并且没有真正的方法来处理在核心代码中合并但在网络中被拒绝的软分叉。BIP9 解决所有这些问题,它应该使我们能够加快网络改进的速度。看起来版本位将在网络上执行的下一个软分叉中可以使用。

接下来,在香港的“比特币扩容研讨会”上,Pieter Wuille 介绍了将隔离见证引入比特币。所提出的方案是一个软分叉,通过重新组织区块中的数据来单独处理签名,从而提高比特币的可扩展性和容量,这样做将签名排除在当前区块大小限制之外。

具体的提案是,在最坏情况下,区块大小将增加 4MB。这种分离允许新的安全模型,例如跳过下载你不打算检查的数据,以及改善轻客户端的性能(尤其是具有高隐私性的轻客户端)。该提案还包括欺诈证明,通过简洁的证明可以证明比特币系统违规行为。这完成了比特币白皮书“简化支付验证”部分中描述的“警报”愿景,并且将使轻客户端能够在新的强假设(即它们没有与能够生成证明的人员隔离)下,执行系统的全部规则。该设计还有许多其他功能,例如使进一步的增强更安全,并消除签名可塑性问题。如果广泛使用,该提案将带来 2 倍的容量提升(如果多重签名得到广泛使用,则更高),但最重要的是,它使额外的容量——以及未来超越它的容量——通过提高效率并允许更多权衡(特别是,你可以使用更少的带宽,以换取一个强烈的非隔离假设)变得更安全。

https://github.com/sipa/bitcoin/commits/segwit 上有一个工作实现(尽管它还没有欺诈证明)。

(Pieter 的演讲位于:演讲稿幻灯片视频)。

我在 Elements Alpha 侧链中部署了一个早期的(硬分叉)版本的隔离见证版本取得了成功;现在提出的软分叉隔离见证是一个第二代设计。我认为,在相对较短的时间内部署它是相当合理的。隔离见证的设计要求未来的比特币j兼容硬分叉来进一步提高其效率——但这并不是获得大部分收益的必要条件,这意味着它可以在自己的时间表上,以一种不具争议的方式进行。

除了隔离见证,围绕更有效的区块中继,还有一些相当活跃的活动。有一系列提案,其中一些源于我受 p2pool 启发的非正式草图,而一些是独立发明的,称为“弱区块”、“薄区块”或“软区块”。这些提案建立在有效的中继技术(例如中继网络协议或 IBLT)之上,并将区块的传输时间几乎全部转移到区块被发现之前,从而消除了解决孤块竞赛计算中的大小问题。在当前的区块大小下,我们已经迫切需要这样做。这些提案还没有实现,但幸运的是,路径似乎很清晰。我已经看到至少有一个或多或少完整的规范,并且预计在几个月内看到使用它运行的东西。此工具将消除传播延迟成为问题的可能性,前提是矿工没有采取策略性行为。更好地理解矿工在策略性行为时的行为是一个开放性问题。

同时,围绕“非带宽”扩展机制,有很多活动正在进行。非带宽扩展机制是指诸如交易穿透和双向支付通道之类的工具,这些工具通过巧妙的智能合约而不是增加带宽来提高比特币的容量和速度。重要的是,这些方法直接针对容量与自主权之间的权衡取舍,并且可能使我们能够实现非常高的容量和非常高的去中心化程度。CLTV(BIP65)在 1 个月前部署,现在已经在网络上生效,对这些技术非常有用(对于使中止退款正常工作至关重要);CSV(BIP68/BIP112)正在核心代码中合并,并且进展良好(并且很可能在隔离见证之前准备就绪)。正在开发进一步的比特币协议改进,用于实现非带宽扩展:许多这些提案实际上需要反可塑性修复(隔离见证将提供),并且已经有签署检查标志改进提案,并且还有更多正在开发中,这些改进在隔离见证下更容易部署。我预计在六个月内,我们可以有更多功能准备部署,以启用这些技术。即使没有它们,我相信我们将在短期内在容量方面处于一个可以接受的位置,但重要的是要为未来启用它们。

http://diyhpl.us/wiki/transcripts/scalingbitcoin/hong-kong/overview-of-bips-necessary-for-lightning 是一个相关的演讲,它介绍了闪电网络所需的一些网络功能,闪电网络是一个双向支付通道提案,目前许多方正在开发中;过去讨论的其他非带宽改进包括交易穿透,我认为这是了解交易容量如何能够超过区块链容量的基本直觉的必读内容:https://bitcointalk.org/index.php?topic=281848.0,当然还有很多其他的内容。)

更进一步,有一些与灵活上限或基于允许矿工以一定成本产生更大区块的激励对齐的动态区块大小控制相关的提案。这些提案有助于维护矿工与普通节点运营商之间的激励一致性,并防止矿工之间的背叛破坏最终将为安全提供资金的费用市场行为。我认为现在容量已经足够高,需要的容量也足够低,我们不需要立即使用这些提案,但它们在长期内将至关重要。我计划在未来几个月帮助并推动这些提案朝着更具体的方向发展。

(相关演讲包括 http://diyhpl.us/wiki/transcripts/scalingbitcoin/hong-kong/a-flexible-limit-trading-subsidy-for-larger-blocks/

最后——在某个时刻,上述容量提升可能不再足够。中继改进、隔离见证欺诈证明、动态区块大小控制以及其他技术进步的实现将降低适度区块大小增加提案(例如,重新调整到 2/4/8 以尊重隔离见证的增加)的风险,因此也降低了争议。当改进和理解使它们的风险在广泛的范围内被认为低于不部署它们的风险时,比特币将能够继续进行这些增加。在比特币核心,我们应该准备好补丁来实现它们,以满足需要和意愿,以避免基本的软件工程成为限制因素。

我们最近和现在的进展很好地定位了比特币生态系统来处理其当前的容量需求。我认为上述内容提出了一些明确的可实现的里程碑,可以继续推进比特币容量方面的技术,同时为我们进一步改进和发展奠定良好的基础。

TLDR:我建议我们立即着手进行隔离见证 4MB 区块软分叉,该分叉将提高容量和可扩展性,而最近的加速和即将到来的中继改进使隔离见证成为一个合理的风险。BIP9 和隔离见证也将使进一步的改进更容易、更快地部署。我们将继续为基于非带宽增加的扩展奠定基础,同时构建其他工具,这些工具将使带宽增加在长期内更安全。进一步的工作将为比特币进一步增加做准备,这将在有理由时成为可能,同时为使它们合理化奠定基础。

感谢您抽出时间,

最初发布在 bitcoin-dev 邮件列表上,地址为:https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-December/011865.html,作者为 Gregory Maxwell,时间为 2015 年 12 月 7 日