Skip to content

Commit acf1f35

Browse files
committed
News165: edits to darosior section for jnewbery feedback (thanks!)
1 parent 3036e75 commit acf1f35

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

_includes/specials/taproot/en/11-vaults-with-taproot.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ due to the use of merkle branches and shorter BIP340 signatures (especially for
2929
For instance, the *unvault* output script in a multi-party setup with 6 "cold" keys and 3 "active" keys
3030
(with a threshold of 2) could be represented as a Taproot of depth 2 with leaves:
3131

32-
- `<X> CSV <active key 1> CHECKSIGADD <active key 2> CHECKSIGADD 2 EQUAL`
33-
- `<X> CSV <active key 2> CHECKSIGADD <active key 3> CHECKSIGADD 2 EQUAL`
34-
- `<X> CSV <active key 3> CHECKSIGADD <active key 1> CHECKSIGADD 2 EQUAL`
32+
- `<X> CSV DROP <active key 1> CHECKSIGADD <active key 2> CHECKSIGADD 2 EQUAL`
33+
- `<X> CSV DROP <active key 2> CHECKSIGADD <active key 3> CHECKSIGADD 2 EQUAL`
34+
- `<X> CSV DROP <active key 3> CHECKSIGADD <active key 1> CHECKSIGADD 2 EQUAL`
3535
- `<cold key 1> CHECKSIGADD <cold key 2> CHECKSIGADD <cold key 3> CHECKSIGADD <cold key 4> CHECKSIGADD <cold key 5> CHECKSIGADD <cold key 6> CHECKSIGADD 6 EQUAL`
3636

3737
This is about 76.5 vbytes for the cheapest (happy) spending path and about 176.0 vbytes for the costliest (dispute) one.
@@ -55,14 +55,17 @@ Finally, vault protocols, like most pre-signed transactions protocols, would lar
5555
further proposed Bitcoin upgrades based on taproot such as [BIP118][]'s [SIGHASH_ANYPREVOUT][topic sighash_anyprevout]. Although requiring further caution
5656
and protocol tweaks, `ANYPREVOUT` and `ANYPREVOUTANYSCRIPT` would enable rebindable *cancel*
5757
signatures, which could largely reduce interactivity and allow 0(1) signature storage. This is
58-
particularly interesting for the *emergency* signature in the Revault protocol, as it would largely
59-
reduce the DoS attack surface. `ANYPREVOUTANYSCRIPT` signatures would also enable some forms of
60-
covenants that could eventually be made more flexible by the introduction of new sighash types.
58+
particularly interesting for the *emergency* signature in the [Revault protocol][], as it would largely
59+
reduce the DoS attack surface. By having an `ANYPREVOUTANYSCRIPT` signature in an output you are
60+
effectively creating a covenant by restricting how the transaction
61+
spending this coin can create its outputs. Even more customizable
62+
future signature hashes would permit more flexible restrictions.
6163

6264
[^0]:
6365
If known in advance you could pre-sign the *spend* transaction with a specific nSequence, but then
6466
you don't need an alternative spending path with "active" keys at all. Also, you don't usually know
6567
how you are going to spend your coins by the time you receive them.
6668

6769
[darosior]: https://github.com/darosior
68-
[revault]: https://revault.dev/
70+
[revault]: https://github.com/revault
71+
[revault protocol]: https://github.com/revault/practical-revault/raw/master/revault.pdf

0 commit comments

Comments
 (0)