Good morning Michael et al,
>
> I assume that a CTV based LN-Symmetry also has this drawback when compared to
> an APO based LN-Symmetry? In theory at least an APO based LN-Symmetry could
> change the fees in every channel update based on what the current market fee
> rate was at the time of the update. In today's pre LN-Symmetry world you are
> always going to have justice transactions for revoked states that were
> constructed when the market fee rate was very different from the present
> day's market fee rate.
This is the same in the future Decker-Russell-Osuntokun ("eltoo" /
"LN-Symmetry") world as in the current Poon-Dryja ("LN-punishment").
Every *commitment* transaction in Poon-Dryja commits to a specific fee rate,
which is why it it problematic today.
The *justice* transaction is single-signed and can (and SHOULD!) be RBF-ed
(e.g. CLN implements an aggressive *justice* transaction RBF-ing written by me).
However, the issue is that every *commitment* transaction commits to a specific
feerate today, and if the counterparty is offline for some time, the market
feerate may diverge tremendously from the last signed feerate.
The same issue will still exist in Decker-Russell-Osuntokun --- the latest pair
of update and state transactions will commit to a specific feerate.
If the counterparty is offline for some time, the market feerate may diverge
tremendously from the last signed feerate.
Anchor commitments Fixes This by adding an otherwise-unnecessary change output
(called "anchor output") for both parties to be able to attach a CPFP
transaction.
However, this comes at the expense of increased blockspace usage for the anchor
outputs.
Peter Todd proposes to sign multiple versions of offchain transactions at
varying feerates.
However, this proposal has the issue that if you are not the counterparty
paying for onchain fees (e.g. the original acceptor of the channel, as per
"initiator pays" principle), then you have no disincentive to just use the
highest-feerate version always, and have a tiny incentive to only store the
signature for the highest-feerate version to reduce your own storage costs
slightly.
In addition, it is also incentive-incompatible for the party that pays onchain
fees to withhold signatures for the higher-fee versions, because if you are the
party who does not pay fees and all you hold are the complete signatures for
the lowest-fee version (because the counterparty does not want to trust you
with signatures for higher-fee versions because you will just abuse it), then
you will need anchor outputs again to bump up the fee.
The proposal from Peter Todd might work if both parties share the burden for
paying the fees.
However, this may require that both parties always bring in funds on all
channel opens, i.e. no single-sided funding.
I have also not considered how this game would play out, though naively, it
seems to me that if both parties pay onchain fees "fairly" for some definition
of "fair" (how to define "fair" may be problematic --- do they pay equal fees
or proportional to their total funds held in the channel?) then it seems to me
okay to have multi-feerate-version offchain txes (regardless of using
Poon-Dryja or Decker-Russell-Osuntokun).
However, there may be issues with hosting HTLCs; technically HTLCs are nested
inside a larger contract (the channel) and if so, do you need a separate
transaction to resolve them (Poon-Dryja does!) and do you also have to
multi-feerate *in addition to* multi-feerate the outer transaction (e.g.
commitment transaction in Poon-Dryja) resulting in a O(N * N) transactions for
N feerates?
Regards,
ZmnSCPxj
_______________________________________________
bitcoin-dev mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev