Hi Bitcoin Developers,
Summary for the last CTV meeting:
Topics:
1)APO version of the simple vault
2)APO as alternative to CTV
3)fiatjaf's CTV spacechain demo
4)Compare CTV with other covenant proposals
5)Recursive covenants
6)Responding to FUD
===================================================
APO version of the simple vault
===================================================
- It is vulnerable to the half-spend problem, where multiple vaulted outputs
(of the same denomination) can be spent together, burning all but the first to
fees. Fixing this requires amending APOAS to cover the current input index.
- The unvault transaction is third-party malleable (it can have more inputs
added to it). One practical implication is that you can't hand a list of the
unvault txids to a watchtower, you have to tell them which outpoints to watch
which is less privacy-preserving. Fixing this requires amending APOAS to cover
the number of inputs.
Both of these issues are fixed by the BIP 118 changes suggested by darosior
(although they still not officially spec'd afaik), which would basically make
APO have a CTV-equivalent hash mode (minus scriptSig of other inputs)
- simple-apo-vault could use APO-as-spec'd with
SIGHASH_SINGLE|SIGHASH_ANYONECANPAY, which would solve the half-spend problem
(but not malleability) and have some other interesting properties, like more
natural dynamic fees (add inputs+change) and the ability spend multiple vaulted
outputs together. This would, however, introduce a tx pinning attack vector and
prevent rate-limited vaults.
===================================================
APO as alternative to CTV
===================================================
- Current APO is unusable as a CTV alternative, (revised)APO seems to be as
useful as CTV is (plus some extra flexibility from existing sighash flags)
- Main drawbacks being the additional witness satisfaction cost, the
network-side full-node validation costs of checking a signature instead of just
a hash, and not being segwit0-compatible (meaning, among others, not
quantumphobic-friendly)
- Its about 3x for APO-in-taproot vs CTV-in-taproot. CTV-in-segwitv0 and
CTV-in-bare-spk get you even more savings
- APO is far from being ready, let alone (revised)APO
- APOv2 would be both better for Eltoo and better for CTV, since you can use a
trick to make the signatures smaller
- "layered commitments" is essential for eltoo to be usable or not is unclear.
AJ Towns thinks it is required while Christian Decker thinks it is not.
===================================================
fiatjaf's CTV spacechain demo
===================================================
https://github.com/fiatjaf/simple-ctv-spacechain
===================================================
Compare CTV with other covenant proposals
===================================================
Unlike crypto primitves (e.g., BLS vs Schnorr), there's not really actually a
defined way to compare them. So one exercise of value would be if everyone
tries to actually either agree to or come up with their own framework for
comparing covenants.
Billy Tetrud's email:
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-May/020402.html
- Prefers CTV for several reasons. Mainly because of being simple,
documentation, code, tools, review and testing.
- Everything else either introduces malleability, infinite recursion, or has
interactions with other proposed opcodes that could introduce potentially
undesirable effects like those.
- Anything involving OP_CAT is out for the time being. There are so many things
it can enable that it seems most people aren't comfortable adding it at the
moment.
- APO wallet vaults seem rather hacky, inefficient, and limited.
- TLUV is built for evictions, TLUV + IN_OUT_AMOUNT and OP_CHECKOUTPUTVERIFY
allows recursive covenants
===================================================
Recursive covenants
===================================================
jamesob:
I don't particularly understand the aversion to infinite recursion, which seems
no different than the risk of potentially burning your coins. It's not like
infinite recursion on bitcoin is some kind of DoS vector or poses execution
overhead like an Ethereum VM bug might.
rgrant:
i think people who want recursion for cool stuff are worried that pedestrian
stuff will prevent it.
jeremyrubin:
i think people are afraid of weird shit happening, less so of recursion in
particular
hsjoberg:
"Recursive covenants" is the boogie man
shesek:
"recursion" translates to "complex black magic" for nondevs' -- recursion is
the new turing completeness
===================================================
Responding to FUD
===================================================
- It could be a good idea to include showing a way to do blacklists in the bug
bounty offer
- The potential concerns about recursive covenants have to clearly explained so
they can be properly examined.
- An article about CTV myths similar to segwit: :
https://blog.blockstream.com/en-segwit-myths-debunked/
- Some users think CTV might delay eltoo
TL;DR
"The initial resistance came from the Speedy Trial proposal. Then later on
rumors and FUD started spreading around regarding CTV and covenants."
- hsjoberg
https://gnusha.org/ctv-bip-review/2022-05-03.log
/dev/fd0
Sent with [ProtonMail](https://protonmail.com/) secure email.
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev