cryptography on the blockchain

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


Explore More Topics

Stay informed with curated content and fresh updates.