> Since it is spent it does not bloat the mempool.
This is not the case. If you post some 100 kB TapScript, with some Ordinal,
then it of course bloats mempools, because then other users could post 100 kB
less, when it comes to regular payments. If you have Ordinals in the current
form, then they take place of regular payments. Which means, you can include
some payment, or some data. You cannot include both, because you can produce 4
MB block per 10 minutes. It is always a choice: confirm this payment, or
confirm that data.
> Regardless of OP_RETURN the data will be on chain. What am I missing?
If you have regular OP_RETURN, the data is pushed on-chain. However, if your
OP_RETURN is part of your TapScript, then you cannot provide any valid input to
satisfy that kind of TapScript, so it cannot be pushed on-chain. Which means,
you have to use another TapScript branch, without OP_RETURN, or simply spend by
key. Note that regular OP_RETURNs are placed in transaction outputs, but in
that case, TapScript is revealed in transaction input (and to be more specific,
in the witness part), which prevents from posting a commitment on-chain, if it
contains OP_RETURN at the beginning of the TapScript.
> If there was no need for people in this list to discuss it before I don't see
> why a BIP is needed now.
It is needed, but for a different reason. There should be a BIP, but not to
promote Ordinals, but to handle them properly, and to provide regular users a
way, to compete with the currently posted Ordinals, in this fee-based
competition. Which means, regular users should have a way, to turn their
Ordinals into proper commitments. They should be hidden behind some R-value,
instead of being posted as a TapScript, and fully revealed in the witness. That
would make it smaller, cheaper, and will provide more room for more regular
payments, while preserving the strong cryptographical proof, that a given data
is connected with a given transaction input.
Also, it would allow them to be uncensorable, because then users could decide
to hide any Ordinal behind their signature, in any address type (it works even
on P2PK), and then reveal it later, but not on-chain, to not take a room of
other regular payments. In general, transactions should always contain
payments, and Ordinals could be attached as a feature, and not the other way
around, when the actual payment is just a feature to be discarded, and the
posted data is what people care about. Bitcoin is a payment system first, and
not a P2P cloud storage, so it should work as "always a payment, and optionally
also an Ordinal", and not "just a data push, and unfortunately a payment,
because the protocol forced us to include some satoshis".
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev