Responses Inline: Would it make sense that, instead of sponsor vectors > pointing to txids, they point to input outpoints? E.g.: > > 1. Alice and Bob open a channel with funding transaction 0123...cdef, > output 0. > > 2. After a bunch of state updates, Alice unilaterally broadcasts a > commitment transaction, which has a minimal fee. > > 3. Bob doesn't immediately care whether or not Alice tried to close the > channel in the latest state---he just wants the commitment > transaction confirmed so that he either gets his money directly or he > can send any necessary penalty transactions. So Bob broadcasts a > sponsor transaction with a vector of 0123...cdef:0 > > 4. Miners can include that sponsor transaction in any block that has a > transaction with an input of 0123...cdef:0. Otherwise the sponsor > transaction is consensus invalid. > > (Note: alternatively, sponsor vectors could point to either txids OR > input outpoints. This complicates the serialization of the vector but > seems otherwise fine to me.) > *This seems like a fine suggestion and I think addresses Antoine's issue.* *I think there are likely some cases where you do want TXID and not Output (e.g., if you * *are sponsoring a payment to your locktime'd cold storage wallet (no CPFP) from an untrusted third party (no RBF), they can grift you into paying for an unrelated payment). This isn't a concern when the root utxo is multisig & you are a participant.* *The serialization to support both, while slightly more complicated, can be done in a manner that permits future extensibility as well if there are other modes people require.* > > > If we want to solve the hard cases of pinning, I still think mempool > > acceptance of a whole package only on the merits of feerate is the > easiest > > solution to reason on. > > I don't think package relay based only on feerate solves RBF transaction > pinning (and maybe also doesn't solve ancestor/dependent limit pinning). > Though, certainly, package relay has the major advantage over this > proposal (IMO) in that it doesn't require any consensus changes. > Package relay is also very nice for fixing other protocol rough edges > that are needed anyway. > > -Dave > *I think it's important to keep in mind this is not a rival to package relay; I think you also want package relay in addition to this, as they solve different but related problems.* *Where you might be able to simplify package relay with sponsors is by doing a sponsor-only package relay, which is always limited to 2 transactions, 1 sponsor, 1 sponsoree. This would not have some of the challenges with arbitrary-package package-relay, and would (at least from a ux perspective) allow users to successfully get parents with insufficient fee into the mempool.*