>> But more importantly, adding limitations on OP_RETURN transactions is not helpful.  Users who want to embed arbitrary data in their transactions can always do so by encoding their data inside the values of legacy multi-signature scriptpubkeys (pubkeys can be generated without knowing the private key in order to encode non-key related data).  Not only can users do this, users have done this in the past.  However, this behaviour is problematic because such multi-signature "data" scriptpubkeys are indistinguishable from "real" multisignature scriptpubkeys, and thus must be kept in the UTXO set.  This differs from outputs using OP_RETURN which are provably unspendable, and therefore can be safely omitted from the UTXO set.

This sounds like a good justification to remove the legacy multi-signature capabilities as well.

>> Thus, given that it is otherwise impossible to stop people from putting arbitrary data values into their transactions, then we rather encourage people who are going to encode their arbitrary data in transaction to use the OP_RETURN outputs in order to avoid UTXO bloat.

You can't make it completely impossible to do that, but you can make it harder and at the same time you can provide a solution for doing what they want to do.

On Fri, Apr 16, 2021 at 1:56 PM Russell O'Connor <roconnor@blockstream.com> wrote:
Firstly, a minor point is that your proposal is a soft-fork, not a hard-fork.

But more importantly, adding limitations on OP_RETURN transactions is not helpful.  Users who want to embed arbitrary data in their transactions can always do so by encoding their data inside the values of legacy multi-signature scriptpubkeys (pubkeys can be generated without knowing the private key in order to encode non-key related data).  Not only can users do this, users have done this in the past.  However, this behaviour is problematic because such multi-signature "data" scriptpubkeys are indistinguishable from "real" multisignature scriptpubkeys, and thus must be kept in the UTXO set.  This differs from outputs using OP_RETURN which are provably unspendable, and therefore can be safely omitted from the UTXO set.

Thus, given that it is otherwise impossible to stop people from putting arbitrary data values into their transactions, then we rather encourage people who are going to encode their arbitrary data in transaction to use the OP_RETURN outputs in order to avoid UTXO bloat.

Also, as it stands, fees already nudge various participants to consolidate their data in the way that you suggest they do.

On Fri, Apr 16, 2021 at 9:32 AM Christopher Gilliard via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
I have created a BIP which can be found here: https://github.com/cgilliard/bips/blob/notarization/bip-XXXX.mediawiki

I'm sending this email to start the discussion regarding this proposal. If there are any comments/suggestions, please let me know.

Regards,
Chris
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev