accountability
play

Accountability Andrew Poelstra Director of Research, Blockstream 4 - PowerPoint PPT Presentation

Threshold Signatures and Accountability Andrew Poelstra Director of Research, Blockstream 4 February 2019 1 / 23 Schnorr Signatures P = xG R = kG e = H ( P , R , m ) sG = kG + exG 2 / 23 Schnorr Signatures P = xG R = kG e = H ( P , R , m )


  1. Threshold Signatures and Accountability Andrew Poelstra Director of Research, Blockstream 4 February 2019 1 / 23

  2. Schnorr Signatures P = xG R = kG e = H ( P , R , m ) sG = kG + exG 2 / 23

  3. Schnorr Signatures P = xG R = kG e = H ( P , R , m ) sG = kG + exG 3 / 23

  4. Sign-to-Contract P = xG R 0 = kG R = R 0 + H ( R 0 � c ) G e = H ( P , R , m ) sG = ( k + H ( R 0 � c )) G + exG 4 / 23

  5. Sign-to-Contract P = xG R 0 = kG R = R 0 + H ( R 0 � c ) G e = H ( P , R , m ) sG = ( k + H ( R 0 � c )) G + exG 5 / 23

  6. Sign-to-Contract Replay Attack Suppose k = H ( x � m ). s = ( k + H ( R 0 � c )) + ex − s = ( k + H ( R 0 � c ′ )) + e ′ x 0 = H ( R 0 � c ) − H ( R 0 � c ′ ) + ( e − e ′ ) x So we’d better have k = H ( x � m � c )! 6 / 23

  7. Sign-to-Contract as an Anti-Nonce-Sidechannel Measure If the hardware device knows c before producing R 0 it can grind k so that ( k + H ( R 0 � c )) has detectable bias. If it doesn’t know c how can it prevent replay attacks? Send hardware device H ( c ) and receive R 0 before giving it c . Then k = H ( x � m � H ( c )). 7 / 23

  8. Schnorr Multisignatures µ i = H [ H ( P 1 � P 2 � · · · � P n ) � i ] P i = µ i x i G � P = P i R i = k i G � R = R i e = H ( P , R , m ) s i G = k i G + e µ i x i G � � sG = k i G + µ i ex i G 8 / 23

  9. Schnorr Multisignatures µ i = H [ H ( P 1 � P 2 � · · · � P n ) � i ] P i = µ i x i G � P = P i R i = k i G � R = R i e = H ( P , R , m ) s i G = k i G + e µ i x i G � � sG = k i G + µ i ex i G 9 / 23

  10. Schnorr Multisignatures µ i = H [ H ( P 1 � P 2 � · · · � P n ) � i ] P i = µ i x i G � P = P i R i = k i G � R = R i e = H ( P , R , m ) s i G = k i G + e µ i x i G � � sG = k i G + µ i ex i G 10 / 23

  11. Verifiable Secret Sharing Suppose a party with secret x i wants to split her secret such that k parties may produce a signature with it. p i ( X ) = x i + γ i , 1 X + γ i , 2 X 2 + · · · + γ i , k X k − 1 ζ i , j G = p i ( j ) G = x i G + j γ i , 1 G + j 2 γ i , 2 G + · · · + j k − 1 γ i , k − 1 G p i (0) = x i � = λ i , j ζ i , j j ∈ signers 11 / 23

  12. Verifiable Secret Sharing Suppose a party with secret x i wants to split her secret such that k parties may produce a signature with it. p i ( X ) = x i + γ i , 1 X + γ i , 2 X 2 + · · · + γ i , k X k − 1 ζ i , j G = p i ( j ) G = x i G + j γ i , 1 G + j 2 γ i , 2 G + · · · + j k − 1 γ i , k − 1 G p i (0) = x i � = λ i , j ζ i , j j ∈ signers 12 / 23

  13. Verifiable Secret Sharing � xG = µ i x i G i ∈ everyone � = µ i p i (0) G i ∈ everyone � � = µ i λ i , j ζ i , j G i ∈ everyone j ∈ signers   � � = λ i , j µ i ζ i , j G   j ∈ signers i ∈ everyone � . . � . . � = . . j j ∈ signers 13 / 23

  14. Signing With VSS µ i = H [ H ( P 1 � P 2 � · · · � P n ) � i ] � . . � . . � P = . . G j j R j = k j G � R = R j e = H ( P , R , m ) � . . � . . s j G = k j G + e . . G j � . . � . . � � sG = k j G + . . e G j 14 / 23

  15. Signing With VSS µ i = H [ H ( P 1 � P 2 � · · · � P n ) � i ] � . . � . . � P = . . G j j R j = k j G � R = R j e = H ( P , R , m ) � . . � . . s j G = k j G + e . . G j � . . � . . � � sG = k j G + . . e G j 15 / 23

  16. Accountability � . . � . . Recall the equation P = � . . . j ∈ signers j What is this set “signers”? In fact any set will do; λ i , j depends on the particular set but nothing else does. Importantly the signature does not depend on this set . Such signatures are unaccountable . 16 / 23

  17. Accountability What does an accountable signature look like? Satoshi-style “concatenate individual signatures” threshold signatures, for one. Can we get a constant-size accountable signature? I doubt it. 17 / 23

  18. Accountability µ i = H [ H ( P 1 � P 2 � · · · � P n ) � i ] � . . � . . � P = . . G j j R j = k j G R 0 = � R j R = R 0 + H ( R 0 � c ) G e = H ( P , R , m ) � . . � . . s j G = k j G + e . . G j � . . � . . � � sG = k j G + e . . G j 18 / 23

  19. Accountability µ i = H [ H ( P 1 � P 2 � · · · � P n ) � i ] � . . � . . � P = . . G j j R j = k j G R 0 = � R j R = R 0 + H ( R 0 � c ) G e = H ( P , R , m ) � . . � . . s j G = k j G + e . . G j � . . � . . � � sG = k j G + e . . G j 19 / 23

  20. Semi-Accountability Suppose that c commits to an accountable threshold signature. Then we have an unaccountable signature that commits to an accountable signature . Signers can refuse to participate if this commitment is missing or invalid; hardware enforced. 20 / 23

  21. Semi-Accountability Then assuming at least one party in the signature is honest and will publish the committed accountable signature, the result is “accountable”. (Of course, this doesn’t help if nobody is honest, which is often what you need accountability for. . . ) 21 / 23

  22. Open Questions Can we construct a commitment that can be reconstructed or brute-forced by third parties? Can we get deniability, i.e. can a non-participant prove non-participation without help? Extension to BLS which has no space for committing data? 22 / 23

  23. Thank you. Andrew Poelstra clauspschnorr@wpsoftware.net 23 / 23

Recommend


More recommend