@@ -12,9 +12,9 @@ to B on one chain, while B is sending coins to A on the other.
1212
13131 . Both parties A and B put their coins into multisignature outputs on each chain
1414 which require both parties' signatures to be spent.
15- 2 . A gives B auxiliary data "adaptor signatures" which allow A to extract a
16- discrete logarithm from a signature on one chain, and conversely to extract a
17- signature from the same discrete logarithm on the other chain.
15+ 2 . A gives B auxiliary data, "adaptorless signatures", for each output. This will allow B to extract a
16+ discrete logarithm from a signature on one chain, and then to adapt A's
17+ signature with the same discrete logarithm on the other chain.
18183 . B then signs to give A her coins on one chain.
19194 . When A signs to take her coins, B is able to extract a discrete logarithm
2020 from her signature.
@@ -38,21 +38,23 @@ with public key `P` is a pair `(s, R)` satisfying the equation
3838```
3939sG = R + H(P || R || m)P
4040```
41- Closely related, an _ adaptor signature_ is a triplet ` (s', R, T) ` satisfying
41+ Closely related, an _ adaptorless signature_ is a triplet ` (s', R, T) ` satisfying
4242```
43- s'G = T + R + H(P || R || m)P
43+ s'G = R + H(P || R + T || m)P
4444```
45- It is easy to see that given a Schnorr signature ` (s, R) ` and adaptor signature
46- ` (s', R, T) ` (notice both ` R ` s are the same) that the discrete logarithm of ` T `
47- can be computed as ` s' - s ` , since subtracting the above equations reveals
48- ` (s' - s)G = T ` .
4945
50- Similarly, given an adaptor signature ` (s', R, T) ` and ` t ` such that ` T = tG ` ,
51- it is easy to compute a Schnorr signature ` (s, R) ` by the equation ` s = s' - t ` .
46+ It is easy to see that given a Schnorr signature ` (s, R + T) ` and adaptor signature
47+ ` (s', R, T) ` that the discrete logarithm of the _ adaptor_ ` T ` ,
48+ can be computed as ` s - s' ` , since subtracting the above equations reveals
49+ ` (s - s')G = R + T - R = T ` .
5250
53- We conclude that given an adaptor signature ` (s', R, T) ` with public key ` P ` ,
54- knowledge of a Schnorr signature with same ` P ` and same ` R ` is equivalent to
55- knowledge of the discrete logarithm of ` T ` .
51+ Similarly, given an adaptorless signature ` (s', R, T) ` and ` t ` such that ` T = tG ` ,
52+ it is easy to compute a Schnorr signature ` (s, R + T) ` by the equation ` s = s' + t ` .
53+
54+ We conclude that given an adaptorless signature ` (s', R, T) ` with public key ` P ` ,
55+ knowledge of a Schnorr signature ` (s, R + T) ` with same ` P ` is equivalent to
56+ knowledge of the discrete logarithm of ` T ` . Schnorr signature ` (s, R + T) ` is an
57+ _ adaptor signature_ for ` (s', R, T) ` because it provides the adaptor.
5658
5759#### Schnorr Multisignatures
5860
@@ -68,17 +70,17 @@ On a lower level, the above scheme works as follows. We assume first that both
6870blockchains use the same group generated by the same fixed generator ` G ` , and
6971that both blockchains support Schnorr signatures.
7072
71- 1 . Each party puts their coins into a multisignature output. They agree on an
73+ 1 . Each party puts their coins into a multisignature output. They agree on a public Schnorr signature nonce
7274 ` R ` for each signature that they'll eventually use to move the coins to their
7375 final destinations.
74- 2 . A chooses a random ` t ` , sets ` T = tG ` , and produces adaptor signatures in place
76+ 2 . A chooses a random ` t ` , sets ` T = tG ` , and produces adaptorless signatures in place
7577 of her contributions to ` s ` . Each signature uses the same ` T ` . She sends these
76- to B.
78+ and ` T ` to B.
77793 . B reveals his contribution to ` s ` for the signature that sends his coins to A.
78- 4 . A reveals her contribution to ` s ` for that signature, completing it, and
80+ 4 . A reveals her contribution to ` s ` for that signature, completing it by adapting previous adaptorless signature , and
7981 publishes it to take her coins.
80- 5 . Using the adaptor signature, B learns ` t ` from the output of step (4), and uses
81- it to compute A's contribution to ` s ` for the signature that sends her coins to
82+ 5 . Using the adaptorless signature, B learns ` t ` from the output of step (4), and uses
83+ it to adapt A's contribution to ` s ` for the signature that sends her coins to
8284 him.
83856 . B adds his contribution to ` s ` , completing the signature, and publishes it to
8486 take his coins.
@@ -90,4 +92,4 @@ aggregation techniques such as [Schnorr
9092"half-aggregation"] ( https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014272.html ) .
9193This is because with aggregation the ` s ` -part in a signature can be
9294re-randomized while staying valid, such that knowledge of a corresponding
93- adaptor signature does not allow to compute the adaptor secret ` t ` as ` s' - s ` .
95+ adaptor signature does not allow to compute the adaptor secret ` t ` as ` s - s' ` .
0 commit comments