cryptography on the blockchain
play

Cryptography on the Blockchain Vassilis Zikas RPI IACR Summer - PowerPoint PPT Presentation

Cryptography on the Blockchain Vassilis Zikas RPI IACR Summer School on Blockchain Techs Aggelos Kiayias, Hong-Shen Zhou, and Vassilis Zikas, Fair and Robust Multi-Party Computation using a Global Transaction Ledger, EUROCRYPT 2016. Bitcoin


  1. What Crypto can we get from Bitcoin? A public transaction Some economic ledger stuff … A bulletin board with a People (good or bad) filter on what gets want money written there The Model “This cryptography has ( G ledger , G clock )- hybrid been around for a long (G)UC protocols time” JB 2016 • Compatibility with standard crypto-protocols (+ composition theorem) • Cryptographically as useful as having access to (synchronous) stateful broadcast

  2. What Crypto can we get from Bitcoin? A public transaction Some economic ledger stuff … A bulletin board with a People (good or bad) filter on what gets want money written there The Model “This cryptography has ( G ledger , G clock )- hybrid been around for a long (G)UC protocols time” JB 2016 • Compatibility with standard crypto-protocols (+ composition theorem) • Cryptographically as useful as having access to (synchronous) stateful broadcast

  3. Crypto On Blockchain Outline • The functionality offered by blockchains • Leveraging Security Loss with Coins … in Secure Function Evaluation (SFE) • A formal cryptographic (UC) model for security proofs

  4. Crypto On Blockchain Outline • The functionality offered by blockchains • Leveraging Security Loss with Coins … in Secure Function Evaluation (SFE) • A formal cryptographic (UC) model for security proofs

  5. Secure Function Evaluation (SFE) Goal: Parties P 1 ,…,P n with inputs x 1 ,…,x n wish to compute a function f(x 1 ,…,x n ) securely

  6. Secure Function Evaluation (SFE) F f Ideal World x 1 x 2 x n f(x ̅ )=y f(x ̅ ) f(x ̅ ) … P 1 P 2 P n

  7. Secure Function Evaluation (SFE) F f Ideal World x 1 x 2 x n f(x ̅ )=y f(x ̅ ) f(x ̅ ) … P 1 P 2 P n Real World … P 1 P 2 P n

  8. Secure Function Evaluation (SFE) F f Ideal World x 1 x 2 x n f(x ̅ )=y f(x ̅ ) f(x ̅ ) … P 1 P 2 P n ≈ Real World π 1 (x 1 ) π 2 (x 2 ) π n (x n ) … P 1 P 2 P n

  9. Secure Function Evaluation (SFE) F f Ideal World x 1 x 2 x n f(x ̅ )=y f(x ̅ ) f(x ̅ ) … P 1 P 2 P n ≈ Real World π 1 (x 1 ) π 2 (x 2 ) π n (x n ) … P 1 P 2 P n

  10. Secure Function Evaluation (SFE) F f Ideal World x 1 x 2 x n f(x ̅ )=y f(x ̅ ) ??? f(x ̅ ) … P 1 P 2 P n ≈ Real World π 1 (x 1 ) π 2 (x 2 ) π n (x n ) … P 1 P 2 P n

  11. Secure Function Evaluation (SFE) F f Ideal World x 1 x 2 x n f(x ̅ )=y f(x ̅ ) ??? f(x ̅ ) … P 1 P 2 P n Protocol π is secure if for every adversary : ≈ • (privacy) Whatever the adversary learns he could compute by himself • (correctness) Honest (uncorrupted) parties learn their correct outputs Real World π 1 (x 1 ) π 2 (x 2 ) π n (x n ) … P 1 P 2 P n

  12. Fair SFE In fair SFE: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output

  13. Fair SFE In fair SFE: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output F f y ⊥ ⊥ P 1 P 2 P n

  14. Fair SFE In fair SFE: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output F f ✘ (Unfair) y ⊥ ⊥ P 1 P 2 P n

  15. Fair SFE In fair SFE: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output F f ✘ (Unfair) y ⊥ ⊥ P 1 P 2 P n Fair SFE is impossible against corrupted majorities [Cleve86]

  16. Fair SFE In fair SFE: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output F f ✘ (Unfair) y ⊥ ⊥ P 1 P 2 P n Fair SFE is impossible against corrupted majorities [Cleve86] Security against Security with = corrupted majorities abort

  17. Fair SFE In fair SFE: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output F f ✘ (Unfair) y ⊥ ⊥ P 1 P 2 P n Fair SFE is impossible against corrupted majorities [Cleve86] Security against Security with = corrupted majorities abort Discounted security

  18. SFE with Fair(ness) Compensation Idea [AndrychowiczDziembowskiMalinowskiMazurek14]: We can leverage unfairness with $$$ SFE with fair compensation: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output or get compensated.

  19. SFE with Fair(ness) Compensation Idea [AndrychowiczDziembowskiMalinowskiMazurek14]: We can leverage unfairness with $$$ SFE with fair compensation: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output or get compensated. F f y ⊥ ⊥ P 1 P 2 P n ✘ (Unfair) " " !

  20. SFE with Fair(ness) Compensation Idea [AndrychowiczDziembowskiMalinowskiMazurek14]: We can leverage unfairness with $$$ SFE with fair compensation: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output or get compensated. F f y ⊥ ⊥ P 1 P 2 P n ✘ (Unfair) " " ! + + - ! ! #

  21. SFE with Fair(ness) Compensation Idea [AndrychowiczDziembowskiMalinowskiMazurek14]: We can leverage unfairness with $$$ SFE with fair compensation: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output or get compensated. F f y ⊥ ⊥ P 1 P 2 P n ✘ (Unfair) " " ! + + - ✔ (“fair”) ! ! #

  22. SFE with Fair(ness) Comp.: Construction [BentovKumaresan14,15] Tools 1/2 : Authenticated Additive Secret Sharing x=x 1 ⊕ … ⊕ x n , (sk,vk) ← KeyGen … P 1 P n [x] 1 = x 1 ,Sig sk (x 1 ),vk [x] n = x n ,Sig sk (x n ),vk

  23. SFE with Fair(ness) Comp.: Construction [BentovKumaresan14,15] Tools 1/2 : Authenticated Additive Secret Sharing x=x 1 ⊕ … ⊕ x n , (sk,vk) ← KeyGen … P 1 P n [x] 1 = x 1 ,Sig sk (x 1 ),vk [x] n = x n ,Sig sk (x n ),vk • No n-1 parties have info on x • Together all n parties can recover x • No party can lie about its share • Only x might be reconstructed!

  24. SFE with Fair(ness) Comp.: Construction [BentovKumaresan14,15] Tools 2/2 : Claim and Refund Transactions S transfers q coins to R such that

  25. SFE with Fair(ness) Comp.: Construction [BentovKumaresan14,15] Tools 2/2 : Claim and Refund Transactions S transfers q coins to R such that • Time restriction τ

  26. SFE with Fair(ness) Comp.: Construction [BentovKumaresan14,15] Tools 2/2 : Claim and Refund Transactions S transfers q coins to R such that • Time restriction τ time

  27. SFE with Fair(ness) Comp.: Construction [BentovKumaresan14,15] Tools 2/2 : Claim and Refund Transactions S transfers q coins to R such that • Time restriction τ τ time R can claim S can claim coins coins

  28. SFE with Fair(ness) Comp.: Construction [BentovKumaresan14,15] Tools 2/2 : Claim and Refund Transactions S transfers q coins to R such that • Time restriction τ τ time R can claim S can claim coins coins • A predicate (relation) R (state,buffer,tx): • In order to spend the coins the receiver needs to submit a tx satisfying R (at the point of validation).

  29. SFE with Fair(ness) Comp.: Construction [BentovKumaresan14,15] Tools 2/2 : Claim and Refund Transactions S transfers q coins to R such that • Time restriction τ τ time R can claim S can claim coins coins • A predicate (relation) R (state,buffer,tx): • In order to spend the coins the receiver needs to submit a tx satisfying R (at the point of validation). • Supported by Bitcoin scripting language • Captured by Validate(.)

  30. SFE with Fair(ness) Comp.: Construction [BentovKumaresan14,15] Protocol Idea for computing y=f(x 1 ,…,x n ) 1. Run SFE with unfair abort to compute n-out-of-n authenticated sharing [y] of y=f(x 1 ,…,x n ) • E.g., Every P i receives share [y] i such that y=[y] 1 +…+[y] n and public signature on [y] i

  31. SFE with Fair(ness) Comp.: Construction [BentovKumaresan14,15] Protocol Idea for computing y=f(x 1 ,…,x n ) 1. Run SFE with unfair abort to compute n-out-of-n authenticated sharing [y] of y=f(x 1 ,…,x n ) • E.g., Every P i receives share [y] i such that y=[y] 1 +…+[y] n and public signature on [y] i F f x 1 [f(x ̅ )] n x 2 x n [f(x ̅ )] 2 [f(x ̅ )] 1 … P 2 P 1 P n

  32. SFE with Fair(ness) Comp.: Construction [BentovKumaresan14,15] Protocol Idea for computing y=f(x 1 ,…,x n ) 1. Run SFE with unfair abort to compute n-out-of-n authenticated sharing [y] of y=f(x 1 ,…,x n ) • E.g., Every P i receives share [y] i such that y=[y] 1 +…+[y] n and public signature on [y] i F f x 1 [f(x ̅ )] n x 2 x n [f(x ̅ )] 2 [f(x ̅ )] 1 … P 2 P 1 P n Abort at this point is fair

  33. SFE with Fair(ness) Comp.: Construction [BentovKumaresan14,15] Protocol Idea for computing y=f(x 1 ,…,x n ) 2. Use the following reconstruction idea: 2.1. Every P i transfers 1 bitcoin to every P j with the restriction: • P j can claim (spend) this coin in round ρ ij if it submits to the ledger his valid share (and signature) by round ρ ij • if P j has not claimed this coin by the end of round ρ ij , then the coin is “refunded” to P i (i.e., after round ρ ij , P i can spend this coin himself).

  34. SFE with Fair(ness) Comp.: Construction [BentovKumaresan14,15] Protocol Idea for computing y=f(x 1 ,…,x n ) 2. Use the following reconstruction idea: 2.1. Every P i transfers 1 bitcoin to every P j with the restriction: • P j can claim (spend) this coin in round ρ ij if it submits to the ledger his valid share (and signature) by round ρ ij • if P j has not claimed this coin by the end of round ρ ij , then the coin is “refunded” to P i (i.e., after round ρ ij , P i can spend this coin himself). 2.2. Proceed in rounds in which the parties claim the coins from other parties by announcing their shares (and signatures)

  35. SFE with Fair(ness) Comp.: Construction [BentovKumaresan14,15] Protocol Idea for computing y=f(x 1 ,…,x n ) Security (SFE with fair compensation) : Follow the money … • If the adversary announces all his shares then every party: • Sends n coins in phase two (one to each party) • Claims back n coins in phase three (one from each party) • If a corrupted party P j does not announce his share then every party • Sends n coins in phase two (one to each party) • Claims back • n coins in phase three for announcing his shares • the coin that it had sent to P j

  36. Rethinking SFE w Fair(ness) Compensation [BentovKumaresan14,15] Time

  37. Rethinking SFE w Fair(ness) Compensation [BentovKumaresan14,15] Time Protocol Starts

  38. Rethinking SFE w Fair(ness) Compensation [BentovKumaresan14,15] Time Protocol Starts Seconds Sharing is Output, Committed transactions

  39. Rethinking SFE w Fair(ness) Compensation [BentovKumaresan14,15] Time Protocol Starts Seconds Sharing is Output, Committed transactions 1 hour Start reclaiming transactions

  40. Rethinking SFE w Fair(ness) Compensation [BentovKumaresan14,15] Time Protocol Starts Seconds Sharing is Output, Committed transactions 1 hour Start reclaiming transactions several hours output or compensation is settled

  41. Rethinking SFE w Fair(ness) Compensation [BentovKumaresan14,15] Time Protocol Starts Seconds Sharing is Output, Committed transactions 1 hour Start reclaiming transactions several hours output or compensation is settled “several” = • [BentovKumaresan14] linear in players (n) • [BentovKumaresan15] constant

  42. Rethinking SFE w Fair(ness) Compensation What if the adversary aborts before [BentovKumaresan14,15] making the committed transactions? Time Protocol Starts Seconds Sharing is Output, Committed transactions 1 hour Start reclaiming transactions several hours output or compensation is settled “several” = • [BentovKumaresan14] linear in players (n) • [BentovKumaresan15] constant

  43. Rethinking SFE w Fair(ness) Compensation What if the adversary aborts before [BentovKumaresan14,15] making the committed transactions? Time Protocol Starts Seconds Sharing is Output, Committed transactions 1 hour Start reclaiming transactions This can be confirmed here … several hours output or compensation is settled “several” = • [BentovKumaresan14] linear in players (n) • [BentovKumaresan15] constant

  44. Rethinking SFE w Fair(ness) Compensation What if the adversary aborts before [BentovKumaresan14,15] making the committed transactions? Time Protocol Starts Seconds Sharing is Output, Committed transactions 1 hour Start reclaiming transactions This can be confirmed here … … and reclaimed here … several hours output or compensation is settled “several” = • [BentovKumaresan14] linear in players (n) • [BentovKumaresan15] constant

  45. Rethinking SFE w Fair(ness) Compensation What if the adversary aborts before [BentovKumaresan14,15] making the committed transactions? Time Protocol Starts Seconds Sharing is Output, Committed transactions 1 hour Start reclaiming transactions This can be confirmed here … … and reclaimed here … several hours output or compensation is settled “several” = • [BentovKumaresan14] linear in players (n) • [BentovKumaresan15] constant

  46. Rethinking SFE w Fair(ness) Compensation What if the adversary aborts before [BentovKumaresan14,15] making the committed transactions? Time Protocol Starts Seconds Sharing is Output, Committed transactions O(n) times 1 hour Start reclaiming transactions = O(n) This can be confirmed here … hours till … and reclaimed here … output several hours output or compensation is settled “several” = • [BentovKumaresan14] linear in players (n) • [BentovKumaresan15] constant

  47. Rethinking SFE w Fair(ness) Compensation SFE with fair compensation: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output or get compensated. F f y ⊥ ⊥ P 1 P 2 P n ✘ (Unfair) " " ! + + - ✔ (“fair”) ! ! #

  48. Rethinking SFE w Fair(ness) Compensation SFE with fair compensation: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output or get compensated. F f y ⊥ ⊥ P 1 P 2 P n ✘ (Unfair) " " ! + + - ✔ (“fair”) ! ! # + + $ $

  49. Rethinking SFE w Fair(ness) Compensation SFE with fair compensation: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output or get compensated. F f y ⊥ ⊥ P 1 P 2 P n ✘ (Unfair) " " ! + + - ✔ (“fair”) ! ! # + + + DoS $ $ %

  50. Rethinking SFE w Fair(ness) Compensation SFE with fair compensation: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output or get compensated. F f y ⊥ ⊥ P 1 P 2 P n ✘ (Unfair) " " ! + + - ✔ (“fair”) ! ! # + + + DoS ✘ $ $ %

  51. SFE with Robust(ness) Compensation

  52. SFE with Robust(ness) Compensation Fair SFE: If the adversary learns any information beyond (what is derived by) its inputs then every honest party should learn the output

Recommend


More recommend