Skip to content

Instantly share code, notes, and snippets.

@instagibbs
Created September 25, 2024 03:06
Show Gist options
  • Save instagibbs/5b107b9ea637bc29832a1ad9cb48af12 to your computer and use it in GitHub Desktop.
Save instagibbs/5b107b9ea637bc29832a1ad9cb48af12 to your computer and use it in GitHub Desktop.
28.0
----
a) Do nothing
- 1P1C things propagate better
- package rbf can often happen in non-adversial settings
b) disable update_fee
- 1 sat/vbyte static commit tx fee
- no commit tx format changes
- way fewer FCs
c) Commitment tx change, no TRUC
- ??? package and economic pins remain
- single anchor, with no vbyte stuffing protection or sibling eviction?
- can't unlock other outputs?
- not a great choice
d) Commitment tx change, with TRUC
- single p2a anchor
- No 1 CSV locks
- 0-fee commit tx
- careful consideration when composing with v2 splices required
- as non-TRUC tech improves, this also gets better
29.0, Assuming Ephemeral Dust, no cluster mempool
-----
a) 28d + Ephemeral Dust
- 0-value anchor
29.0, with Ephemeral Dust + Cluster Mempool
-----
CPFP carveout is gone.
a) 28b
- Drop to 0-fee commit tx
- 0-value shared anchor
- But limit/rule3 pinning remains
- safer cluster size 2 package RBF
- bunch of random package limit and economic pins gone
- but not all
b) 29a
- last annoying pins gone thanks to cluster mempool
Generalized Sibling Eviction
----
With cluster mempool, if a proposed transaction package would cause
a cluster to exceed size or count limits, walk the cluster and strategically mark
non-ancestors of the proposed package as conflicts.
Does not fix economic pinning.
Two sensible ways to select:
1) Lowest chunk feerate to highest in cluster, excluding ancestors of package, until chunk should
fit or run out of candidates(then just try, you may have split
the cluster)
2) Same as (1) but only include descendants of the ancestors of the package(who are not in
the ancestor set themselves). Slightly more local action, might have better chance
of cheaply splitting clusters?
Do both and see if one succeeds?
Generalized Package Relay
----
BIP331 or something like it, otherwise 1P1C is the only robust thing.
Generalized Package RBF
----
Package RBF where the package would result in clusters larger than size 2
e.g., RBF'ing a batch CPFP with a new unconfirmed dependency!
Non-topologically Restricted Economic Pin Fix
----
V4: Transaction version that requires a "next block" chunk feerate
- No topo restrictions aside from normal cluster limits
- It may remove pins but add others
Remove bip125 rule#3
- Make all diagram checks comparable
- figure out miner incentives
- each cluster gets a "score" and score is compared
- Completely rework anti-DoS
- ???
- profit
- 2 PhD research projects in one!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment