Subject: Re: [bitcoin-dev] Generalized covenants with taproot enable riskless or risky lending, prevent credit inflation through fractional reserve

From: Eric Voskuil <[email-masked]>
Date: Fri, 5 Jul 2019 12:27:59 -0700

> On Jul 4, 2019, at 21:05, ZmnSCPxj <[email-masked]> wrote:
> 
> Good morning Eric,
> 
>> As with Bitcoin mining, it is the consumed cost that matters in this scenario, (i.e., not the hash rate, or in this case the encumbered coin face value). Why would the advertiser not simply be required to burn .1 coin for the same privilege, just as miners burn energy? Why would it not make more sense to spend that coin in support of the secondary network (e.g. paying for confirmation security), just as with the burning of energy in Bitcoin mining?

Good morning ZmnSCPxj,

> Using the unspentness-time of a UTXO allows for someone advertising a service or producer to "close up shop" by simply spending the advertising UTXO.
> For instance, if the advertisement is for sale of a limited stock of goods, once the stock has been sold, the merchant (assuming the merchant used own funds) can simply recover the locked funds, with the potential to reinvest them elsewhere.
> This allows some time-based hedging for the merchant (they may be willing to wait indefinitely for the stock to be sold, but once the stock is sold, they can immediately reap the rewards of not having their funds locked anymore).

This is a materially different concept than proposed by Tamas.

“...he gives up his control of the coins until maturity, he can not use them elsewhere until then.”

> Similarly, an entity renting out a UTXO for an advertisement might allow for early reclamation of the UTXO in exchange for partial refund of fee; as the value in the UTXO is now freed to be spent elsewhere, the lessor can lease it to another advertiser.

You appear to be proposing a design whereby either the owner or the renter (not entirely clear to me which) can spend the “locked up” coin at any time (no maturity constraint), by dropping the covenant.

If the renter can do this he can simply steal the coin from the owner.

If the owner can do this there is no value to the renter (or as a proof of cost), as the owner retains full control of the coin.

If you mean that the age of the encumbrance is the proof of cost, this requires no covenant. I don’t believe this is what you intended, just covering all bases.

> Burnt funds cannot be "un-burnt" to easily signal the end of a term for an advertisement.

And as I have shown above, nor can a “locked-up” coin be unlocked to do the same.

> Similarly for miner fees.

Well that’s the point, money spent is no longer under one’s control. The provable cost of this surrender was your stated objective. Renting at a fractional cost of coin face value is a non-recoverable spend by the renter to the owner. Burning or spending the same amount in a way that is provably not to one’s self achieves the exact same result.

> The best that can be done would be to have the nodes of the classified ads network automatically decay the spent value of older advertisements to let them be dropped from their advertisements pool.

The advertiser can presumably trade control of as space on the ad network. It’s not clear to me why this is not simply an independent chain of limited ad space ownership. It might as well be namecoin.

> Less importantly, burning currently has bad resource usage for practical applications.
> Practical burning requires spending to a provably-unspendable P2PKH or P2SH or similar output.
> This adds UTXO entries to the UTXO database that will never be removed.

If an output is provably unspendable (burned) it is not a UTXO.

It is worth noting that not all full node implementations require a store of UTXOs, this is an implementation detail. For example, libbitcoin uses a flag on each output to indicate its spentness on the strong branch. As such the store size is linear by height.

> This will of course be remedied by compact UTXO representations later, but not today.
> Similarly, it would be very nice to have non-0-amount `OP_RETURN` outputs, as `OP_RETURN` outputs are never stored in the UTXO database.
> However, this will require a change in node relay policy, which again will take time to make possible, and would not be practical today.
> 
> Thus I think use of UTXO is better than burning or mining-fee-spending.

I don’t believe you have shown this.

Best,
Eric

> Also, mostly trivia:
> The use of UTXOs to advertise services is not original to me --- I found the LN channel gossip to be the inspiration for this.
> Publicly-announced channels indicate the backing UTXO that funds the channel.
> The purpose of publicly announcing the channels is to be able to provide the service, of forwarding across the Lightning Network; thus the public announcement serves as an advertisement for the service.
> Channel closure immediately spends the UTXO, and also doubles to "revoke" the existing "advertisement".
> I found this ability to "revoke" the advertisement appealing, and thereby designed the Bitcoin Classified Ads Network around the UTXO spentness mechanism.
> 
> Regards,
> ZmnSCPxj