Subject: Re: [bitcoin-dev] Ordinals BIP PR

From: Kostas Karasavvas <[email-masked]>
Date: Wed, 22 Nov 2023 13:27:03 +0200

On Wed, Nov 22, 2023 at 1:11 AM <[email-masked]> wrote:

> > 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.
>
>

I meant the UTXO set, not the mempool. But still, even for the mempool,
since tx fees are paid I don't see it as bloat. It is competing with the
other txs and won. The bloat is of course in storage since the blocks are
'fuller' with ordinals... but that is the whole point of ordinals (see
below).

> > 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.
>

I see, thanks.

> > 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".
>

The whole point of ordinals is supposed to have the data on-chain (the
ordinals team can correct me). You are not suggesting merely a technical
design change, you are suggesting a completely different design and
business logic, which I believe would never be accepted by the ordinals
team*, and thus no point for this BIP now. We'll just have to wait for
their reply and see.

* This is fair game for a new competing project. However, the 'on-chain'
part is the main ordinals selling point so a new project would not even be
competing.