Subject: Re: [bitcoin-dev] BIP - limiting OP_RETURN / HF

From: Ruben Somsen <[email-masked]>
Date: Tue, 20 Apr 2021 21:07:00 +0200

Hi Yanmaani,

>Merged mining at present only needs one hash for a merkle root, and that's
stored in the coinbase.

Yes, but that method is not "blind", meaning BTC miners have to
validate the merged-mined chain, which is a significant downside.

>It would be even simpler to add the following rules

That would require a specific soft fork, whereas the method described in my
post avoids doing that.

>do I need to put in a transaction that burns bitcoins for the tx fee

The blind merged-mined chain (which I call a "spacechain") needs its own
native token in order to pay for fees. The mechanism I proposed for that is
the perpetual one-way peg, which allows fair "spacecoin" creation by
burning BTC, and circumvents creating bad speculative altcoin incentives.
Anyone can create a spacechain block and take the fees, and then try to get
BTC miners to include it by paying a higher fee than others (via RBF).

>That isn't free in terms of storage

It's not necessary for everyone to burn individually. My preferred design
is to only let BMM block creators burn BTC, then others will have to buy
spacecoins from them. This limits the potential burn outputs to one per
block (likely much less, because BTC will logically only get burned when
spacecoin demand increases). It's also possible to create more spacechains
inside the initial spacechain, at no additional storage cost to Bitcoin.

I highly recommend checking out the links in my prior post
<https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-April/018803.html>
if you wish to learn more, particularly the video
<https://youtu.be/N2ow4Q34Jeg>.

Cheers,
Ruben

On Tue, Apr 20, 2021 at 3:23 AM <[email-masked]> wrote:

> > If only one hash is allowed per block, then those who wish to utilize
> > the hash will have to out-bid each other ("fee-bidding"). This hash can
> > then be used to create another chain ("merged-mining")
>
> Merged mining at present only needs one hash for a merkle root, and
> that's stored in the coinbase. It would be even simpler to add the
> following rules:
>
> 1) No OP_RETURN transactions allowed at all
> 2) If you want to commit data, do so in that one transaction in the
> coinbase
>
> Also curious about how you'd handle the payment - do I need to put in a
> transaction that burns bitcoins for the tx fee? That isn't free in terms
> of storage either.
>