I agree with you David. I think rather unconstrained covenants are incredibly useful and important. Yes you can burn coins with them, you can also permanently limit the usability of certain coins (which is less destructive than burning them). But as Jeremy said, people are free to burn their coins. People would also be free (in general) to reject coins encumbered by weird government provisions or unknown provisions in hidden scripts. A person/wallet shouldn't accept coins encumbered by scripts it doesn't recognize.

Even if 99% of bitcoins became permanently encumbered by weird covenants, the other 1% could still be plenty of bitcoins to run the economy, because of its potentially infinite divisibility. Losing these coins, or someone basically turning them into altcoin-like bitcoins shouldn't be a concern really. What's the risk exactly? That people will be forced to take these encumbered coins? A government can already force people to take whatever altcoin they want to force on people - covenants don't make this worse.

Shinobi asks: "What if you extorted users with your 51% attack to move into those?"

Well, you could do this anyway even without covenants existing already. The 51% attack could simply extort people to use whatever rules they want just as easily (which isn't to say that easily - most users would probably refuse to be extorted in either case). So I don't really think this is very valid. 

On Sun, Jul 4, 2021 at 1:33 PM David A. Harding via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
On Sun, Jul 04, 2021 at 11:39:44AM -0700, Jeremy wrote:
> However, I think the broader community is unconvinced by the cost benefit
> of arbitrary covenants. See
> https://medium.com/block-digest-mempool/my-worries-about-too-generalized-covenants-5eff33affbb6
> as a recent example. Therefore as a critical part of building consensus on
> various techniques I've worked to emphasize that specific additions do not
> entail risk of accidentally introducing more than was bargained for to
> respect the concerns of others.

Respecting the concerns of others doesn't require lobotomizing useful
tools.  Being respectful can also be accomplished by politely showing
that their concerns are unfounded (or at least less severe than they
thought).  This is almost always the better course IMO---it takes much
more effort to satisfy additional engineering constraints (and prove to
reviewers that you've done so!) than it does to simply discuss those
concerns with reasonable stakeholders.  As a demonstration, let's look
at the concerns from Shinobi's post linked above:

They seem to be worried that some Bitcoin users will choose to accept
coins that can't subsequently be fungibily mixed with other bitcoins.
But that's already been the case for a decade: users can accept altcoins
that are non-fungible with bitcoins.

They talk about covenants where spending is controlled by governments,
but that seems to me exactly like China's CBDC trial.

They talk about exchanges depositing users' BTC into a covenant, but
that's just a variation on the classic not-your-keys-not-your-bitcoins
problem.  For all you know, your local exchange is keeping most of its
BTC balance commitments in ETH or USDT.

To me, it seems like the worst-case problems Shinobi describes with
covenants are some of the same problems that already exist with
altcoins.  I don't see how recursive covenants could make any of those
problems worse, and so I don't see any point in limiting Bitcoin's
flexibility to avoid those problems when there are so many interesting
and useful things that unlimited covenants could do.

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