BTCStudy 精选

2024年09月11日更新 63 人订阅
专栏简介 理解 Taproot Assets 协议 多方共享的 UTXO:形式与特性 影响 0.21.0 以前版本 Bitcoin Core 软件的漏洞披露 Taproot Assets:协议、闪电网络兼容性 从 Lamport 签名中获得脚本状态 在 ECDSA 之上使用 Lamport Signature 签名比特币交易 别再管这叫 MEV 了 探明道路:深入 LND 的寻路机制 闪电网络中的洋葱路由:Sphinx 包裹的构造 BitVM 2:比特币上的免许可验证 Swaproot:更便宜、更隐私的链上入账体验 闪电网络:技术与用户体验(六):只有一种比特币 闪电网络:技术与用户体验(五):流动性获取 闪电网络:技术与用户体验(四):收款码 闪电网络:技术与用户体验(三):路由 闪电网络:技术与用户体验(二):通道与支付 离线支付的过去、现在与未来 闪电网络:技术与用户体验(一):用户体验的基本元素 什么是 “JIT 通道”? 见证数据的折扣:为什么有些字节比别的字节 “更轻” 运行 v0.7 及更早版本的 Bitcoin Core 闪电网络的未来:LSP 规范与互通性 闪电网络中的 “多路径支付” 在闪电通道内使用限制条款聚合 HTLC 输出 Payjoin 与更好的比特币 为什么比特币钱包需要区块过滤器? 闪电通道 “拼接” 的原理 比特币钱包找回指南 什么是 “替代交易循环攻击”? BitVM:任意计算都可以在比特币上验证 闪电节点的备份形式简介 闪电网络上的暂缓支付发票 展望未来:2025 年的闪电支付 假通道 DoS 攻击 何以我们需要 “Vlidating Lightning Signer”? 交易包的交易池把关规则 交易包转发提议 针对闪电通道的攻击与交易包转发提议 等待确认(九):交易池规则新提议 等待确认(八):交易池规则是个接口 BTC 交易池 - 等待确认(七):网络资源 比特币中的限制条款:用于评审的分类学 等待确认(六):规则一致性 BTC 交易池-等待确认(五):用于保护节点资源的规则 扩展公钥与扩展私钥 BIP 158 致密区块过滤器详解 使用适配器签名实现闪电网络异步支付 如何利用 RGB 在闪电网络上转移另类资产 什么是 “闪电网络服务商”? 比特币钱包备份方案简史 基于 Taproot 的闪电通道 闪电网络常见疑问与解答 什么是 “闪电网络 offer(BOLT12)”? 闪电网络中的 “洋葱路由” 及其工作原理 闪电网络深入解读(下):HTLC 与支付路由 闪电网络深入解读(上):支付通道 理解闪电网络,Part-3:结算并关闭支付通道 理解闪电网络,Part-2:构建网络 理解闪电网络,Part-1:构建比特币的双向支付通道 有趣的比特币脚本(五):闪电通道与闪电网络 有趣的比特币脚本(四):哈希锁 有趣的比特币脚本(三):时间锁 有趣的比特币脚本(二):多签名 有趣的比特币脚本(一):基本介绍

等待确认(六):规则一致性

  • BTCStudy
  • 发布于 2023-07-10 13:50
  • 阅读 2349

等待确认(六):规则一致性

作者:Gloria Zhao

来源:<https://bitcoinops.org/zh/newsletters/2023/06/21/>

译者:Primitives Lane

本文为 Gloria Zhao 在 Optech Newsletter 上编写的 “交易池” 系列周刊的第六篇。

前篇见此处

上周的文章介绍了规则,这是一组在共识规则之外应用的交易验证规则。这些规则不适用于已入块的交易,因此即使节点的规则与其对等节点不同,它仍然可以保持一致性。就像节点操作员可以决定不参与交易中继一样,他们也可以自由选择任何规则,甚至不选择任何规则(将其节点暴露于 DoS 风险之下)。这意味着我们不能假设网络中的交易池规则完全相同。然而,为了让用户的交易被矿工接收,愿意接纳这笔交易到自己的交易池中的节点必须形成一条通向矿工的路径——节点之间的规则差异直接影响交易中继功能。

作为节点规则差异的极端例子,想象一种情况,每个节点操作员选择一个随机的nVersion,并仅接受具有该nVersion的交易。由于大多数点对点关系具有不兼容的规则,交易将无法传播到矿工。

另一方面,网络中相同的规则有助于聚合交易池的内容。具有匹配交易池的网络可以最顺畅地中继交易,并且也非常适合费用估算致密区块中继,正如之前的帖子中所提到的。

考虑到交易池验证的复杂性和规则不一致带来的困难,Bitcoin Core 在规则可配置性方面一直保守。虽然用户可以轻松地调整 sigops 计数的方式(bytespersigop)以及嵌入在OP_RETURN输出中的数据量限制(datacarriersizedatacarrier),但他们不能选择违背 400,000 个重量单位的最大标准重量,也不能应用别的一套与手续费相关的 RBF 规则,除非改变源代码。

Bitcoin Core 的一些规则配置选项存在是为了适应节点操作环境和运行节点的目的的差异。例如,矿工的硬件资源和保持交易池的目的与日常用户在笔记本电脑或树莓派上运行轻量级节点的目的不同。矿工可以选择增加他们的交易池容量(maxmempool)或过期时间线(mempoolexpiry)以在高峰期存储低费率交易,然后在流量减少时进行挖掘。提供可视化、存档和网络统计的网站可能运行多个节点,以收集尽可能多的数据,并显示默认的交易池行为。

在单个节点上,交易池容量的选择会影响费用提升工具的可用性。当交易池最低费率因交易提交超过默认交易池大小而上升时,从交易池的“底部”清除的交易和低于此费率的新交易不能再使用CPFP进行费用提升。

另一方面,由于清除交易使用的输入不再为交易池中的任何交易所用,因此可能会在之前无法进行费用提升的情况下通过 RBF 进行费用提升。新交易实际上并没有替换节点交易池中的任何内容,因此不需要考虑通常的 RBF 规则。但是,没有逐出原始交易的节点(因为它们具有更大的交易池容量)将新交易视为拟议的替换,并要求其遵守 RBF 规则。如果被清除的交易没有发出 BIP125 可替换信号,或者新交易的费用即使费率很高但不符合 RBF 要求,矿工可能不会接受他们的新交易。钱包必须小心处理被清除的交易:交易的输出不能被视为可用于花费,但输入同样不能被重复使用。

乍一看,具有更大的交易池容量的节点似乎使 CPFP 更有用,而 RBF 则不那么有用。然而,交易中继受紧急的网络行为的影响,可能不存在接受用户 CPFP 并将其转发到矿工的节点路径。节点通常只在接受交易并将其放入交易池后转发一次,并忽略已存在于其交易池中的交易的通知——存储更多交易的节点在这些交易被重新广播到它们时充当黑洞。除非整个网络增加其交易池容量(这将是更改默认值的迹象),否则用户不应该指望从增加自己的交易池容量中获得太多好处。交易池默认设置的最低费率限制了在高流量时使用 CPFP 的效用。成功地将 CPFP 交易提交到自己增加大小后的交易池的用户可能无法注意到该交易未传播给其他人。

交易中继网络由动态加入和离开网络的个体节点组成,每个节点必须保护自己不被爆破。因此,交易中继只能尽力而为,我们不能保证每个节点都了解每个未确认的交易。同时,如果节点收敛在一组使得交易池尽可能同质化的中继规则上,那么比特币网络的表现就会最佳。下一篇文章将探讨采取了哪些规则来符合整个网络的利益。

后篇见此处

原文首发于: https://www.btcstudy.org/2023/07/09/waiting-for-confirmation-6-policy-consistency/

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论