697 / 736P2A

Ephemeral Anchors

用于手续费赞助的临时输出

Ephemeral Anchors 将任何人都能花费的 P2A 输出与 ephemeral dust 策略结合,使付费子交易之后可以为几乎零费的父交易赞助手续费。

Ephemeral Anchors 在历史上指 Pay to Anchor 与 ephemeral dust 的组合:P2A 是紧凑的无密钥输出,而 ephemeral dust 允许零费父交易创建一个 dust 输出,前提是交易包同时花费它。

P2A 是 scriptPubKey 为 OP_1 <0x4e73> 的无密钥标准输出。花费它不需要签名或 witness 数据,因此任何人都能把它作为连接补充手续费子交易的紧凑挂点。 [1]

Bitcoin Core 28.0 将花费 P2A 视为标准,并允许有限 relay 1-parent-1-child 交易包。这样,低费或零费父交易便可与为整个交易包支付足够手续费的子交易一同评估。 [2]

Bitcoin Core 29.0 的 ephemeral dust 策略允许一个 dust 输出,条件是由零费交易创建,并由第一个未确认后代连同其他预定输出一起花费。因此 dust 的创建与移除应位于同一交易包。 [3]

任何人都能花费 P2A 并创建赞助子交易,这有助于 watchtower 等服务互操作,也让外部参与者可能连接不利的子交易。因此 BIP 433 建议在不确定时与 TRUC 结合使用。 [1]

从 Bitcoin Core 28.0 起,花费 P2A 已属标准,但 relay 仍取决于节点支持。典型用途是预签名合约交易,例如 Lightning commitment;所需手续费在父交易发布时才由子交易补充。 [2]

P2A 和 ephemeral dust 都不是共识变更。它们属于 standardness、内存池与 relay 策略,因此有效区块可以包含旧版或不同配置节点未收入内存池的交易。 [3]

P2A 与 ephemeral dust 不是同义词,也不必相互依赖。历史术语 Ephemeral Anchors 通常指两者结合;带密钥 anchor 可以使用 ephemeral dust,P2A 本身也可以不配合 TRUC 使用。 [1]

使用前应核对节点版本与策略、P2A script、ephemeral dust 下父交易的零手续费、唯一 dust 输出、交易包内的共同花费、TRUC 拓扑及 replacement 规则。一个节点接受交易并不保证 relay 或确认。 [4]

要获得更完整的理解,请将本词条与以下词条结合阅读: TRUC Transactions, Package Relay, CPFP (Child Pays for Parent), Payment Channel, Lightning Network, Transaction Fees. 反向关联还来自: TRUC Transactions.

01任何人都能花费 P2A 输出吗?

能。P2A 无密钥且不需要签名,因此协议不得把它视为受保护的用户价值,并应通过合适拓扑限制 pinning。

02P2A 与 ephemeral dust 是同一概念吗?

不是。P2A 是具体的标准输出,ephemeral dust 是独立的内存池策略。Ephemeral Anchors 在历史上指两者共同使用。

DOC · 001BIP 433 — Pay to Anchor规范 DOC · 002Bitcoin Core 28.0 release notes一手来源 DOC · 003Bitcoin Core 29.0 release notes一手来源 DOC · 004Bitcoin Optech — Ephemeral anchors文档
修订日期: 来源优先 · 非投资建议