Ephemeral anchor
An ephemeral anchor is a keyless Pay-to-anchor (P2A) output that is created and spent in the same unconfirmed TRUC package, so it never persists in the UTXO set. A child-pays-for-parent transaction can attach fees at broadcast time.
Lightning Network commitments used an earlier related form. BOLT 3 option_anchors puts a keyed 330-satoshi P2WSH on the commitment for each party. The owner can spend it immediately. After 16 blocks anyone can sweep it (OP_16 CHECKSEQUENCEVERIFY).
Lightning option_anchors
A Lightning commitment transaction is signed long before it is broadcast, so the feerate that will be required is unknown. BOLT 3 option_anchors adds to_local_anchor and to_remote_anchor outputs so each party can attach a child that pays fees.
Each output is a P2WSH whose witness script requires that party's funding key, or, after 16 blocks, any spend (OP_16 CHECKSEQUENCEVERIFY). The amount is fixed at 330 satoshis, the default dust limit for P2WSH. The owner can spend the anchor immediately with a signature. After 16 blocks anyone can sweep it, which limits UTXO-set pollution if it is left unspent.
The 1-block CSV delay in BOLT 3 applies to the to_remote output and to HTLC spends under option_anchors, not to the anchor itself.
Two keyed anchors exist so that a counterparty cannot occupy the only fee-bumping output. Bitcoin Core's CPFP carve-out lets a second child attach despite ordinary descendant limits. Carve-out is not granted to TRUC transactions.
Lightning zero_fee_commitments replaces the two keyed anchors with a single shared P2A output on a version-3 commitment, described below.
Ephemeral anchors
An ephemeral anchor is created and spent in the same unconfirmed package, so it does not remain in the UTXO set. BIP 433 defines Pay-to-anchor as the native segwit script OP_1 <0x4e73> (mainnet address bc1pfeessrawgf). Spending it requires an empty witness. Anyone can attach the child.
Ephemeral-dust policy allows that output to be below dust, including zero value, when a child in the same package spends it. The parent may pay a zero fee. TRUC (BIP 431) restricts the package to one unconfirmed parent and one unconfirmed child, limits the parent to 10,000 vB and the child to 1,000 vB, and treats the transactions as replaceable. Those caps bound pinning of a keyless output by an oversized low-feerate child.