@@ -12,9 +12,9 @@ to B on one chain, while B is sending coins to A on the other.
12
12
13
13
1 . Both parties A and B put their coins into multisignature outputs on each chain
14
14
which require both parties' signatures to be spent.
15
- 2 . A gives B auxiallary 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.
18
18
3 . B then signs to give A her coins on one chain.
19
19
4 . When A signs to take her coins, B is able to extract a discrete logarithm
20
20
from her signature.
@@ -38,21 +38,23 @@ with public key `P` is a pair `(s, R)` satisfying the equation
38
38
```
39
39
sG = R + H(P || R || m)P
40
40
```
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
42
42
```
43
- s'G = T + R + H(P || R || m)P
43
+ s'G = R + H(P || R + T || m)P
44
44
```
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 ` .
49
45
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 ` .
52
50
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.
56
58
57
59
#### Schnorr Multisignatures
58
60
@@ -68,17 +70,17 @@ On a lower level, the above scheme works as follows. We assume first that both
68
70
blockchains use the same group generated by the same fixed generator ` G ` , and
69
71
that both blockchains support Schnorr signatures.
70
72
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
72
74
` R ` for each signature that they'll eventually use to move the coins to their
73
75
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
75
77
of her contributions to ` s ` . Each signature uses the same ` T ` . She sends these
76
- to B.
78
+ and ` T ` to B.
77
79
3 . 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
79
81
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
82
84
him.
83
85
6 . B adds his contribution to ` s ` , completing the signature, and publishes it to
84
86
take his coins.
@@ -90,4 +92,4 @@ aggregation techniques such as [Schnorr
90
92
"half-aggregation"] ( https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014272.html ) .
91
93
This is because with aggregation the ` s ` -part in a signature can be
92
94
re-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