Professional Documents
Culture Documents
Slides
Slides
{z· · · + G}
|G + G +
n times
2 / 25
Elliptic Curve Cryptography
This is a homomorphism: xG + yG = (x + y )G .
3 / 25
Elliptic Curve Cryptography
4 / 25
Elliptic Curve Commitments
5 / 25
Taproot and Pay-to-Contract
6 / 25
Taproot and Pay-to-Contract
This is Taproot.
7 / 25
ECDSA and EC-Schnorr
sk = e + rx (ECDSA)
s = k + ex (Schnorr)
8 / 25
Sign-to-Contract
9 / 25
ECDSA and EC-Schnorr
10 / 25
ECDSA and EC-Schnorr
11 / 25
ECDSA and EC-Schnorr
ksR = eG + r xP (ECDSA)
sG = kR + exP (Schnorr)
12 / 25
ECDSA and EC-Schnorr
s1 G = R1 + eP1
s2 G = R2 + eP2
(s1 + s2 )G = (R1 + R2 ) + e(P1 + P2 )
s1 R1 = eG + rP1
s2 R2 = eG + rP2
13 / 25
Multisignatures
P = P1 + · · · + Pn
R = R1 + · · · + Rn
e = H(PkRkm)
P
then each compute si = ki + xi e. Writing si = si , we then
have
X X X
sG = si G = Ri + e Pi = R + eP
14 / 25
Multisignatures
P
Suppose that the nth party chose Pn = P − i<n Pi for some
key P that xe knows the secret key to.
P
Then P = Pi is actually entirely controlled by the nth
party, who can produce signatures without anyone else’s
involvement.
15 / 25
Multisignatures
This is a bad fit for Bitcoin where the signers don’t necessarily
choose the public key (the sender does).
16 / 25
Multisignatures
C = H(P1 k · · · kPn )
µi = H(C ki) for each i
X
P= µ i Pi
i
19 / 25
Adaptor Signatures
si = ki + eµi xi
si G = ki G + eµi xi G
si G = Ri + eµi Pi
20 / 25
Adaptor Signatures
si0 = ki + eµi xi + ti
si0 G = Ri + eµi Pi + Ti
and anyone who knows si0 will learn a valid signature si on the
same hash e if and only if they learn ti .
21 / 25
Adaptor Signatures
3
And suppose that he adds a Taproot commitment to a timelocked refund.
22 / 25
Adaptor Signatures and ZKCP
23 / 25
Adaptor Signatures and Atomic Swaps
More specifically, both Alice and Bob put coins into jointly
controlled outputs. They start to sign transactions that send
Alice’s coins to Bob and Bob’s coins to Alice, but once again
Alice first provides adaptor signatures in place of real partial
signatures.
24 / 25
Thank You
25 / 25