返回资讯中心
外部精选
软件工程
#开发者实时流

satd 推出可选 OP_RETURN 数据修剪功能

来源标题:Full Op_return Pruning in Bitcoin

satd 成为首个允许可选修剪 OP_RETURN 完整值的比特币节点实现。该功能通过启动选项控制,并可与交易过滤策略语言结合,阻止匹配交易的中继或进入区块模板。开发者称此举旨在让节点运营者表达对链上非金融数据的态度,同时不破坏共识。

Hacker News 最新epochbtc2026/11/3 · 4 天前7 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

satd 是首个允许可选完整 OP_RETURN 值修剪的 Bitcoin 节点实现。它由以下选项控制:

为什么要做 OP_RETURN 值修剪?最近 BIP-110 的争议表明,相当一部分节点运行者非常在意 OP_RETURN 值的大小,以及他们所认为的区块链上的垃圾数据。我个人的观点是,对主网的客观分析显示,目前 OP_RETURN 值的占用空间微不足道。话虽如此,非金融数据是垃圾、不属于链上这一哲学论点确实存在,并且引起了一些人的共鸣。既然值修剪可以在不破坏共识或大多数全节点功能的前提下实现,我认为在节点软件中允许这种灵活性、让运营者表达自己的偏好是更好的做法。如果所有主要实现都采用这种灵活性,希望我们能避免未来那些分散注意力的争议。

当你把修剪与 Transaction Filter Policy 语言结合使用时,你还可以阻止匹配的交易被中继或添加到区块模板中。在你的过滤规则中使用类似 sum outputs (out.op_return_size) > 80 的条件(详见手册)。这解决了“我不想让我的节点协助处理或存储大额 OP_RETURN 值”的顾虑。

该实现会在磁盘上的区块文件中打洞,将匹配阈值的值抹除。这使用 FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE(Linux)和 F_PUNCHHOLE(MacOS)系统调用就地抹除值。

修剪 OP_RETURN 值有一些后果:

satd 支持一个特殊选项:-pruneopreturnpeers=intact(默认值:"pruned"),它会让节点通告 NODE_INTACT_BLOCKS(服务位 28,位于 Core 保留用于临时实验的 24-31 位范围内)。这允许 satd 将它所拥有的任何未修剪的完整区块提供给对等节点(已修剪的区块返回 notfound)。其他 satd 0.7.0+ 对等节点会识别这个服务位,并且即使该节点是 NODE_NETWORK_LIMITED 也会请求区块。Core 对等节点很可能仍会将该对等节点视为完全修剪,不会请求区块。

OP_RETURN 修剪是可逆的。使用 -restoreopreturns 选项可触发节点在后台恢复过程中重新下载所有已修剪的区块(在此过程中节点保持 NODE_NETWORK_LIMITED)。一旦完成,节点会切回 NODE_NETWORK,像以前一样完全向对等节点提供区块。之后可以去掉该选项,节点从此正常工作。

你可以在这里下载并安装 satd 0.7.0。手册在 Disk Footprint 章节中讨论了 OP_RETURN 修剪。欢迎任何反馈或问题!

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →