covenants scale bitcoin by making promises to pay you. typically these promises are ones that you can verify because they’re written into the chain

those promises risk becoming “unenforceable” where youve been promised bitcoin that is forever uneconomical to ever claim outright. It’s worth paying attention to the talk about how easy it is to add fees later to different covenants designs, etc. who pays the fees to make good on that “promise” of the bitcoin belonging to you is generally an open question, and the ability to do so (and how) is under active research/exploration right now (imo)

an old theme of layer-2 design is “whos permission do you need to exit”; covenants add the additional question of “how much does it cost to exit”

a lot of the L2 protocols that “use” covenant primitives (in whatever form) rely on the idea of swapping ownership of those promises. how you update the underlying contracts to reflect that changed ownership is where the protocol design comes in

maybe something worth using as a lens when comparing different protocols that rely on covenants “to scale”

Reply to this note

Please Login to reply.

Discussion

lightning protocol devs are again at a pretty prime spot wrt understanding these challenges and trade offs, as theyve been actively building systems with these constraints for the past number of years

The LN network is a very rudimentary covenants system, no body likes it when they have to pay to resolve those covenants onchain (force closes)

and LN has a pretty easy setup for funding that onchain unrolling, given that there’s only two parties and the “liability” of going to chain is (or at least historically was) fully funded

(anchor outputs changed this; onchain fees for force closes are now optionally held by each node in a separate account. it’s fully possible to be transacting with coins you cant recover if they go onchain due to lack of sats in your “anchor tank”)

So these tx’s are similar to utxos that are small and fees are higher than the sats you’re trying to move?

So covenants aren’t useful in their current state to scale L1?

no it’s a reduction in the amount of data you need to write to chain; instead of writing in a pubkey you write in the promise to pay a bunch of pubkeys at some point, in the future

and in fact that bitcoin cant be used for anything else

then you have a promise and not a utxo, which is pretty worthless if you want to use that promise to pay someone else

so people are trying to design ways to pay each other with promises instead

in theory paying with promises is less data than paying to pubkeys, so it costs less to transact

the protocol for doing this hasn’t been fully built + proposed yet; Ark is probably the thing closest to existing

I get how these covenants work, where a tx doesn’t have to be mined in order for me to send these tx’s to you, hence it can scale, but I’m talking about the part where you mentioned these promises are unenforceable and not economical to claim outright

So are you saying you’re stuck with these promises and that you might not be able to claim onchain due to fees require to mine the tx?

yes. how did you think it works?

My understanding was that you pass an unbroadcasted hash as many times you like without incurring any fees and if the receiver wants to exit, you only need to hit onchain once and only when you do exit, it shouldn’t be expensive

that’s certainly an ideal form, but i havent seen a protocol proposal that achieves that. i might be behind the times tho

do you have a link to where you saw that proposal?

ah, also: note that in order to setup the covenant, you’re going to need to make a tx. you can’t just start sending hashes around without at least one party committing something to chain ⛓️

It’s not a proposal but I have a tweet with an explanation of covenants and doesn’t go deep on how existing the covenants would looks like

Sorry when I said a hash, I meant a tx

https://x.com/owenkemeys/status/1741575353716326835

how does this differ from ark? seems extremely similar

For Ark you need Ark Service Provider (ASP)

For ctv it looks like it’s diy tx’s

doesn’t ark use ctv?

Yes ark needs* ctv, but ctv doesn’t need asp’s

why isn’t ark using the diy design you outlined then? I don’t understand how an opcode gets you something that ark, built with that opcode, doesn’t?

#Ark goes up and away from the chain = layer 2

#Ctv goes deep into the chain = layer 1.0* 😭😭😭😭

Think of ark as being similar to #ecash , you get privacy but less chances of getting rug pulled

ctv is a primitive that lets you build protocols, like ark

saying ctv gets you “shared utxos” is meaningless without a protocol for *how* that sharing works. ark is one such protocol. you mentioned a diy one — what were you referring to?

Ctv is a script, you don’t need a protocol to pool your utxo’s.

DIY = you commit your utxo and then share the tx off chain