中本聪留给读者的习题

  • bitcoinm
  • 发布于 2026-02-18 13:58
  • 阅读 8

文章探讨了比特币白皮书未详述的P2P网络交易中继复杂性,特别是节点如何处理未确认交易以抵抗DoS攻击和确保激励兼容性。文章深入分析了内存池策略、钉死攻击(pinning attacks)以及矿工可提取价值(MEV)对去中心化交易中继的潜在威胁,强调了公共P2P网络的重要性。

中本聪留给读者的练习题

Gloria Zhao

作者:Gloria Zhao

Satoshi’s Exercise for the Reader

比特币白皮书明确指出比特币的核心特性:它是无需许可的(permissionless)。世界上任何人都可以通过加入点对点网络并广播交易来向其他人支付。工作量证明(Proof of Work)共识甚至赋予任何人成为区块生产者的权力,这意味着撤销支付的唯一方法是通过算力(hashpower)超越所有其他人。

但工作量证明只定义了如何在相互竞争的链中选择一个赢家;它并不能帮助节点发现它。如果攻击者可以阻止节点听到竞争链的信息,那么 51% 攻击——甚至是 100% 攻击——会容易得多。发现的任务属于点对点模块,它要处理许多相互矛盾的任务:在一个节点不断加入和离开、但没有认证或声誉的网络中寻找诚实的对等节点。始终关注区块和交易,但即使大多数数据是垃圾也不要感到惊讶。足够健壮以在极端的对抗条件下生存,但又足够轻量级以在 Raspberry Pi 上运行。

无需许可的点对点网络的实现细节在白皮书中被省略了,但它们构成了当今比特币节点软件大部分的复杂性。

过滤器用于垃圾信息

白皮书承认公共交易中继(public transaction relay)是比特币抗审查性(censorship resistance)的基石,但只对它应该如何运作说了一些话:“新交易被广播到所有节点。每个节点将新交易收集到一个区块中。每个节点致力于为其区块寻找一个困难的工作量证明。”[^1]

许多人觉得中本聪建议每个节点都进行挖矿很有趣。由于挖矿可变性带来的中心化压力,当今网络上的绝大多数节点都不致力于寻找工作量证明。这也许是经济激励的一个可接受甚至成功的 E 结果;我们牺牲了一部分去中心化,以换取更高的算力,从而提高安全性。然而,如果我们也放弃去中心化的交易中继,比特币的抗审查性将会崩溃。

我们希望有一个广泛的交易中继节点池,但这必须与日常计算机将自己暴露在无需许可的网络中并处理来自匿名对等节点数据的实际情况相平衡。这种威胁模型是独特的,需要高度防御性的编程。

在区块下载中,区块的工作量证明巧妙地兼作拒绝服务(DoS)预防和评估数据效用的明确方法。相比之下,未经确认的交易数据(unconfirmed transaction data)几乎可以免费创建,并且可能只是垃圾信息。例如,在我们加载 UTXO 之前,我们无法知道交易是否满足其花费条件,而加载 UTXO 可能需要从磁盘中获取。攻击者触发这种相对高延迟的活动几乎没有任何成本:他们可以使用不属于他们或根本不存在的输入来制作大型交易。

签名验证(signature verification)和 mempool 依赖管理(mempool dependency management)等验证步骤可能计算成本高昂。众所周知,包含大量遗留(pre-segwit)签名的交易在某些硬件上可能需要数分钟才能验证[^2],因此大多数节点会过滤掉大型交易。资源使用也不仅仅局限于节点本身:被接受的交易通常会被传播到其他对等节点,其带宽使用量与网络中的节点数量成比例。

节点通过限制用于未经确认交易和验证队列的内存、限制每个对等节点的交易处理、以及除了共识之外还强制执行策略规则来保护自己。然而,这些限制如果设计不当,也可能产生审查向量。例如,不下载之前已被拒绝的交易、限制单个对等节点的交易队列大小、或者在下载尝试失败后放弃请求等简单逻辑,都可能导致节点对某个交易视而不见。当这些错误被合适的攻击者利用时,就变成了意外的审查向量(accidental censorship vectors)。

在此方面,虽然不保留相互双花(double-spends)的未经确认交易(只有一个版本可能是有效的)是完全合乎逻辑的,但拒绝双花意味着较早的广播会阻止较晚的交易被挖出。双花可能是故意尝试伪造支付,或者,当 UTXO 由多方拥有时,可能是一种钉死攻击(pinning attack),它利用 mempool 策略来延迟或阻止第二层结算交易被挖出。节点应该如何选择呢?

这个问题引出了交易中继的第二个要素:激励兼容性(incentive compatibility)[^3]。虽然费用除了限制矿工可以获得的区块奖励之外与共识无关,但它们在节点策略中作为效用指标发挥着巨大作用。假设矿工受到经济激励的驱动,节点可以近似地找出哪些交易对挖矿最有吸引力,并丢弃那些吸引力较小的交易。当交易花费相同的 UTXO 时,节点可以保留利润更高的那一个。虽然节点不收取费用,但它们可以将零费用交易视为垃圾信息:它们很可能会耗尽网络资源但永远不会被挖出,而创建成本几乎为零。

这两种设计目标——DoS 抵抗(DoS resistance)和激励兼容性——处于持续的紧张关系中。虽然用更高费率版本的交易替换是一个有吸引力的选择,但允许通过微小的费用提升进行重复替换可能会浪费网络的带宽。考虑未经确认交易之间的依赖关系可以创建更有利可图的区块(并启用 CPFP),但对于复杂的拓扑结构来说可能成本高昂。

历史上,节点依赖于启发式方法和依赖限制,这导致了用户摩擦并开辟了新的钉死向量。跟踪集群的 Mempools 可以更准确地评估激励兼容性,但仍然必须限制 mempool 依赖关系。这些类型的限制为涉及不互相信任的多方交易创建了钉死向量:攻击者可以通过垄断限制来阻止其共同交易方使用 CPFP。

将这些问题轻描淡写是很容易的:钉死攻击是一种小众的审查类型,只适用于共享交易,并且通常只会导致暂时的交易延迟。帮助非挖矿节点挤出一些额外 satoshis 的费用值得付出努力吗?

与“邪恶”的交易

共享交易是 UTXO 混合隐私解决方案和第二层协议的骨干。许多比特币开发工作都集中在创建可扩展、私密、功能丰富的第二层应用程序上,这些应用程序最终会回到链上结算。一种常见的模式是暂时延迟提款或结算,允许各方在时间窗口内对不当行为做出回应。但许多设计——包括那些用于推动共识变更的设计——都忽略了在这些场景中进行费用提升(fee-bumping)的问题。

一个防止不当行为的时间窗口,也是攻击者的一个机会窗口。这两个条件——共享交易和防止不当行为的确认截止日期——共同创造了完美的风暴,将钉死攻击的严重性从暂时的交易延迟(“嗯,小事”)升级到潜在的盗窃(“哦,不!”)。

钉死问题一直是多年研究和开发工作的对象,其成果包括拓扑受限直到确认(Topologically Restricted Until Confirmation, TRUC)交易格式[^4]、支付到锚点(Pay to Anchor, P2A)输出类型[^5]、临时尘埃策略(Ephemeral Dust policy)[^6]、集群 Mempool(Cluster Mempool)[^7]、限制包中继(limited relay of packages)[^8]以及对交易中继可靠性的各种改进。这些功能旨在为传播共享交易的更高费用替换提供更强的保证。

然而,适当的费用管理涉及开销,例如更大的交易、更复杂的钱包逻辑以及处理不太可能发生的边缘情况。一个简单的捷径是与矿工达成协议:矿工保证其交易将及时被挖出,以换取费用。这种解决方案可能比使用点对点网络更可靠,因为点对点网络可能具有高延迟和由于异构 mempool 策略导致的不良传播。

当存在商业利益时,直接提交给矿工(direct-to-miner submission)的采用可以迅速增长。交易所代表了大量的交易量,它们可能更喜欢可预测的时间安排而不是优化费用。流行的应用程序可能受到钉死攻击的困扰,或者希望使用常见节点策略禁止的非标准交易。关注量子短程攻击(quantum short-range attacks)的公司和托管机构可能会与矿工建立私人通道。

随着私有矿工可提取价值(private Miner Extractable Value, MEVil)[^9]变得对保持竞争力必不可少,网络可能会滚雪球般地走向中心化的块空间经纪人(centralized blockspace brokers)模式。这些服务可能成为攻击者和政府指令的瓶颈,并破坏成为矿工是无需许可这一前提。

如果交易中继网络对节点操作变得无关紧要,那么参与其中也可能感到没有必要。在这个假设的未来,我们是否会像现在觉得中本聪设想每个节点都是矿工很有趣一样,嘲笑网络中每个节点中继未经确认交易的想法?

讽刺的是,挖矿中心化并非始于公开串通或监管俘获。它始于一些理性的捷径:更高效的协议、自定义中继路径或对其参与者有利的性能优化。没有人能阻止这些协议的发生。但我们可以努力减少私人服务相对于公共网络的竞争优势:在考虑增加 Mevil 潜力的共识变更提案之前,解决 mempool 钉死向量;使公共交易中继网络成为一个竞标(和更新竞标)块空间的有效市场。

点对点网络是许多比特币核心理念得以实现的地方。它也是一个工程挑战,在高效的节点操作、抗审查性、激励对齐和协议复杂性之间存在艰难的权衡。随着比特币的发展,它只会变得更难。如何调和这些相互竞争的设计目标,就留给读者作为练习题了。

[不要错过拥有核心期刊的机会](https://store.bitcoinmagazine.com/products/bitcoin-magazine-annual-subscription)——收录了许多核心开发者撰写的关于他们自己正在研究的项目文章!

本文是比特币杂志最新印刷版《核心期刊》中的编辑来信。我们在此分享它,作为对整个期刊所探讨思想的先睹为快

[1] https://bitcoin.org/bitcoin.pdf

[2] https://delvingbitcoin.org/t/great-consensus-cleanup-revival/710

[3] https://delvingbitcoin.org/t/mempool-incentive-compatibility/553

[4] https://github.com/bitcoin/bips/blob/master/bip-0431.mediawiki

[5] https://github.com/bitcoin/bitcoin/pull/30352

[6] https://bitcoinops.org/en/topics/ephemeral-anchors/

[7] https://delvingbitcoin.org/t/an-overview-of-the-cluster-mempool-proposal/393?u=glozow

[8] https://bitcoinops.org/en/topics/package-relay/

[9] https://bluematt.bitcoin.ninja/2024/04/16/stop-calling-it-mev/

相关文章

技术

比特币在人工智能代理方面拥有黄金机会,是时候去构建了

比特币在人工智能代理方面拥有黄金机会,是时候去构建了

2026年3月9日

商业

公共比特币矿工正在为人工智能抛售比特币,这是一个历史性错误

公共比特币矿工正在为人工智能抛售比特币,这是一个历史性错误

2026年3月9日

印刷版

核心期刊:共识清理

核心期刊:共识清理

2026年3月5日

上一页下一页

Bitcoin Magazine

比特币投资组合追踪器与媒体更新

在 Google Play 上获取在 App Store 下载

Bitcoin比特币BTC/USD

$71,187.00

24小时 %:

3.4%

24小时最高:

$71,576.00

24小时最低:

$68,382.00

加载数据出错。请检查控制台获取详细信息。

查看150+比特币图表

  • 原文链接: bitcoinmagazine.com/prin...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
bitcoinm
bitcoinm
江湖只有他的大名,没有他的介绍。