public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Peter Todd <pete@petertodd•org>
To: Christopher Allen <ChristopherA@lifewithalacrity•com>,
	Bitcoin Protocol Discussion
	<bitcoin-dev@lists•linuxfoundation.org>,
	Christopher Allen via bitcoin-dev
	<bitcoin-dev@lists•linuxfoundation.org>
Subject: Re: [bitcoin-dev] Debate: 64 bytes in OP_RETURN VS taproot OP_FALSE	OP_IF OP_PUSH
Date: Tue, 31 Jan 2023 21:07:16 -0500	[thread overview]
Message-ID: <764E460B-C0C6-47B8-A97E-F7CBC81FD645@petertodd.org> (raw)
In-Reply-To: <CACrqygAMsO1giYuxm=DZUqfeRjEqGM7msmEnZ-AHws3oA2=aqw@mail.gmail.com>



On January 31, 2023 7:46:32 PM EST, Christopher Allen via bitcoin-dev <bitcoin-dev@lists•linuxfoundation.org> wrote:
>All other things being equal, which is better if you need to place a
>64-bytes into the Bitcoin blockchain? A traditional OP_RETURN or a spent
>taproot transaction such as:
>
>OP_FALSE
>OP_IF
>OP_PUSH my64bytes
>OP_ENDIF

What's wrong with OpPush <data> OpDrop?

>I know that the anti-OP_RETURN folk would say “neither.” But if there was
>no other choice for a particular protocol, such as a timestamp or a
>commitment, which is better? Or is there a safer place to put 64 bytes that
>is more uncensorable but also does not clog UTXO space, only spent
>transaction `-txindex` space?
>
>My best guess was that the taproot method is better, but I suspect there
>might be some who disagree. I'd love to hear all sides.

An important consideration with using taproot is that you need to have the data you are committing too to be able to to spend the txout in the future. OpReturn doesn't have that problem, meaning that in a situation like a hard drive failure, you can still recover the funds from a wallet seed.

Also, it is incorrect to say that OpReturn outputs "clog UTXO space". The whole point of OpReturn is to standardize a way to keep such outputs out of the UTXO set. There is the 75% discount to using witness space. But considering the size of a transaction as a whole using taproot instead of OpReturn doesn't save much.

Finally, _64_ bytes is more than a mere 32 byte commitment. What specific use case do you actually have in mind here? Are you actually publishing data, or simply committing to data? If the latter, you can use ECC commitments and have no extra space at all.


  reply	other threads:[~2023-02-01  2:07 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-01  0:46 Christopher Allen
2023-02-01  2:07 ` Peter Todd [this message]
2023-02-01  2:22   ` Christopher Allen
2023-02-01  8:36     ` Kostas Karasavvas
2023-02-01 12:51       ` Peter Todd
2023-02-01 14:02   ` Andrew Poelstra
2023-02-02 11:22     ` Peter Todd
2023-02-02 11:45       ` Aymeric Vitte
2023-02-02 11:49         ` Peter Todd
2023-02-02 12:24           ` Aymeric Vitte
2023-02-01 12:59 ` Aymeric Vitte
2023-02-02 13:25 ` Rijndael
2023-02-03 11:15   ` Aymeric Vitte
2023-02-03 18:47     ` Christopher Allen
2023-02-04 14:11       ` Kostas Karasavvas
2023-02-04 17:01         ` Aymeric Vitte
2023-02-04 18:54           ` Christopher Allen
2023-02-04 20:55             ` Aymeric Vitte
2023-02-04 22:18               ` Christopher Allen
2023-02-04 23:09                 ` Aymeric Vitte
2023-02-05  0:04                   ` Peter Todd
2023-02-05 11:40                     ` Aymeric Vitte
2023-02-05 12:06                       ` Peter Todd
2023-02-05 12:47                         ` Aymeric Vitte
2023-02-05  0:11                   ` Russell O'Connor
2023-02-05  2:01                     ` Peter Todd
2023-02-05 18:12                       ` Russell O'Connor
2023-02-12 16:23                         ` Aymeric Vitte
2023-02-16 18:23                           ` Aymeric Vitte
2023-02-16 19:59                             ` Claus Ehrenberg
2023-02-17 10:56                               ` Aymeric Vitte
2023-02-05 18:06                     ` Andrew Poelstra
2023-02-17 12:49                     ` Anthony Towns
2023-02-18 18:38                       ` Aymeric Vitte

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=764E460B-C0C6-47B8-A97E-F7CBC81FD645@petertodd.org \
    --to=pete@petertodd$(echo .)org \
    --cc=ChristopherA@lifewithalacrity$(echo .)com \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox