Hello Joost, David,

Thanks for the link to my ln-symmetry draft David. I'd also be curious as to the usage you have in
mind Joost.

It's probably helpful to cite the most recent discussions on the topic, which is probably
https://github.com/bitcoin-inquisition/bitcoin/pull/22 , where bitcoin-inquisition has included
the `annexcarrier` option. I have a particular use for APO-enabled payment channel designs
that doesn't require consensus meaning, so some effort was put in to try something out there.

Attempting to summarize the linked PR:

I think the biggest remaining issue to this kind of idea, which is why I didn't propose it for mainnet,
is the fact that BIP341/342 signature hashes do not cover *other* inputs' annex fields, which we
briefly discussed here https://github.com/bitcoin-inquisition/bitcoin/pull/22#discussion_r1143382264

This means that in a coinjoin like scenario, even if the other joining parties prove they don't have any
crazy script paths, a malicious party can make the signed transaction into a maximum sized transaction
package, causing griefing. The mitigation in the PR I linked was to limit it to 126 bytes, basically punting
on the problem by making the grief vector small. Another solution could be to make annex usage "opt-in"
by requiring all inputs to commit to an annex to be relay-standard. In this case, you've opted into a possible
vector, but at least current usage patterns wouldn't be unduly affected. For those who opt-in, perhaps the first
order of business would be to have a field that limits the total transaction weight, by policy only?

Some logs related to that here: https://gist.github.com/instagibbs/7406931d953fd96fea28f85be50fc7bb

Related discussion on possible BIP118 modifications to mitigate this in tapscript-spending circumstances: https://github.com/bitcoin-inquisition/bitcoin/issues/19

Anyways, curious to hear what people think and want to make sure everyone is on the same page.

Best,
Greg

On Fri, Jun 2, 2023 at 9:08 PM David A. Harding via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
On 2023-06-02 05:00, Joost Jager via bitcoin-dev wrote:
> the benefits of making the annex available in a
> non-structured form are both evident and immediate. By allowing
> developers to utilize the taproot annex without delay, we can take
> advantage of its features today,

Hi Joost,

Out of curiosity, what features and benefits are available today?  I
know Greg Sanders wants to use annex data with LN-Symmetry[1], but
that's dependent on a soft fork of SIGHASH_ANYPREVOUT.  I also heard you
mention that it could allow putting arbitrary data into a witness
without having to commit to that data beforehand, but that would only
increase the efficiency of witness stuffing like ordinal inscriptions by
only 0.4% (~2 bytes saved per 520 bytes pushed) and it'd still be
required to create an output in order to spend it.

Is there some other way to use the annex today that would be beneficial
to users of Bitcoin?

-Dave

[1]
https://github.com/lightning/bolts/compare/master...instagibbs:bolts:eltoo_draft#diff-156a655274046c49e6b1c2a22546ed66366d3b8d97b8e9b34b45fe5bd8800ae2R119
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev