fair computation
play

Fair Computation using Enclaves and Shared Ledger Rohit Sinha , Siva - PowerPoint PPT Presentation

Fair Computation using Enclaves and Shared Ledger Rohit Sinha , Siva Gaddam, and Ranjit Kumaresan Open Source Enclaves Workshop 2019 Transparent Mint Transparent Mint Alice Mint Transparent Mint Merchant ID Date Amount Alice 2014-06-03


  1. Fair Computation using Enclaves and Shared Ledger Rohit Sinha , Siva Gaddam, and Ranjit Kumaresan Open Source Enclaves Workshop 2019

  2. Transparent Mint

  3. Transparent Mint Alice Mint

  4. Transparent Mint Merchant ID Date Amount Alice 2014-06-03 
 52544965 $23.00 13:37 PM User’s TX Data … … … 2014-06-29 
 12144989 $48.12 20:49 PM Merchant ID Category 52544965 Restaurants Mint’s 
 Proprietary … … Data 12144989 Gas Stations Mint

  5. Transparent Mint Merchant ID Date Amount Alice 2014-06-03 
 52544965 $23.00 13:37 PM User’s TX Data … … … 2014-06-29 
 12144989 $48.12 20:49 PM Compute 
 Provider Report Merchant ID Category 52544965 Restaurants Mint’s 
 Proprietary … … Data 12144989 Gas Stations Mint

  6. Transparent Mint Merchant ID Date Amount Alice 2014-06-03 
 52544965 $23.00 13:37 PM User’s TX Data … … … 2014-06-29 
 12144989 $48.12 20:49 PM Compute 
 Provider Report Merchant ID Category 52544965 Restaurants Mint’s 
 Proprietary … … Data 12144989 Gas Stations Mint

  7. Transparent Mint Merchant ID Date Amount Alice Bank A 2014-06-03 
 52544965 $23.00 13:37 PM User’s TX Data … … … 2014-06-29 
 12144989 $48.12 20:49 PM Compute 
 Provider Report Merchant ID Category 52544965 Restaurants Mint’s 
 Proprietary … … Data 12144989 Gas Stations Mint Bank B

  8. Towards Transparency via Privacy and Fairness Alice Bank A Compute 
 Provider Report Mint Bank B

  9. 
 Towards Transparency via Privacy and Fairness Alice Bank A Privacy : Only reveal f(Alice_txs, Mint_db) 
 Compute 
 Provider Report Mint Bank B

  10. 
 Towards Transparency via Privacy and Fairness Alice Bank A Privacy : Only reveal f(Alice_txs, Mint_db) 
 Compute 
 Fairness : if anyone gets Provider the output, then so must Report all honest parties 
 Mint Bank B

  11. 
 Towards Transparency via Privacy and Fairness Alice Bank A Privacy : Only reveal f(Alice_txs, Mint_db) 
 Compute 
 Fairness : if anyone gets Provider the output, then so must Report all honest parties 
 Impossible in Malicious Setting [Cleve86] Mint Bank B

  12. Fair Computation ➔ Fair Reconstruction

  13. Fair Computation ➔ Fair Reconstruction (Unfair) Secure Computation { } k 1 { } TEE { } k o k 2

  14. Fair Computation ➔ Fair Reconstruction (Unfair) Secure Computation { } k 1 { } TEE { } k o k 2 Systems based on Intel SGX 
 VC3 for Map-Reduce [SCF+15] Opaque for Spark [ZDB+17] ObliDB [EZ17] , StealthDB [GVG17] for SQL

  15. Fair Computation ➔ Fair Reconstruction (Unfair) Secure Computation { } k 1 { } TEE { } k o k 2 Systems based on Intel SGX 
 VC3 for Map-Reduce [SCF+15] Opaque for Spark [ZDB+17] ObliDB [EZ17] , StealthDB [GVG17] for SQL

  16. Fair Computation ➔ Fair Reconstruction Fair Reconstruction (Unfair) Secure Computation { } Ledger … k 1 { } TEE { } k o TEE TEE k 2 Systems based on Intel SGX 
 k o k o k o VC3 for Map-Reduce [SCF+15] Opaque for Spark [ZDB+17] ObliDB [EZ17] , StealthDB [GVG17] for SQL

  17. Fair Computation ➔ Fair Reconstruction Fair Reconstruction (Unfair) Secure Computation { } Ledger … k 1 { } TEE { } k o TEE TEE k 2 Systems based on Intel SGX 
 k o k o k o VC3 for Map-Reduce [SCF+15] Fair n-party broadcast using 
 Opaque for Spark [ZDB+17] t < n TEE nodes and a shared ledger 
 (corruption threshold t) ObliDB [EZ17] , StealthDB [GVG17] for SQL

  18. Fair Computation ➔ Fair Reconstruction Fair Reconstruction (Unfair) Secure Computation { } Ledger … k 1 { } TEE { } k o TEE TEE k 2 Systems based on Intel SGX 
 k o k o k o VC3 for Map-Reduce [SCF+15] Fair n-party broadcast using 
 Opaque for Spark [ZDB+17] t < n TEE nodes and a shared ledger 
 (corruption threshold t) ObliDB [EZ17] , StealthDB [GVG17] for SQL [CGJ+17]: all n parties need TEE

  19. Fair Collaborative Computation

  20. Fair Collaborative Computation TEE Collective Revenue Capture ML 
 Fair broadcast of model train

  21. Fair Collaborative Computation TEE Collective Revenue Capture ML 
 Fair broadcast of model train ML 
 ML 
 TEE train infer prediction data Crowdsourced Machine Learning 
 Fair exchange of data and prediction

  22. 2-Party Fair Computation: Strawman

  23. 2-Party Fair Computation: Strawman TEE

  24. 2-Party Fair Computation: Strawman { } { } out out TEE

  25. 2-Party Fair Computation: Strawman { } { } out out Enc(pk_Alice, k y ) TEE

  26. 2-Party Fair Computation: Strawman { } { } out out Enc(pk_Alice, k y ) TEE

  27. 2-Party Fair Computation: Strawman { } { } out out Enc(pk_Alice, k y ) TEE

  28. 2-Party Fair Computation: Strawman { } { } out out Enc(pk_Alice, k y ) TEE

  29. Bulletin Board Abstraction [CGJ+17]

  30. Bulletin Board Abstraction [CGJ+17] Ledger …

  31. Bulletin Board Abstraction [CGJ+17] Ledger … • post(x) returns (idx, σ )

  32. Bulletin Board Abstraction [CGJ+17] Ledger … σ x • post(x) returns (idx, σ )

  33. Bulletin Board Abstraction [CGJ+17] Ledger … σ x • post(x) returns (idx, σ ) • getContent(idx) returns (x, σ )

  34. Bulletin Board Abstraction [CGJ+17] Ledger … σ x • post(x) returns (idx, σ ) • getContent(idx) returns (x, σ ) • getHeight() returns (idx)

  35. 2-Party Fair Computation Ledger … TEE

  36. 2-Party Fair Computation Ledger … TEE { } { } out out

  37. 2-Party Fair Computation Ledger … TEE { } { } out out

  38. 2-Party Fair Computation Ledger … Enc(pk_Alice, k y ) || TEE { } { } out out

  39. 2-Party Fair Computation Ledger … Enc(pk_Alice, k y ) || TEE { } { } out out

  40. 2-Party Fair Computation Ledger … Enc(pk_Alice, k y ) || σ TEE { } { } out out

  41. 2-Party Fair Computation Ledger … Enc(pk_Alice, k y ) || σ TEE { } { } out out

  42. n-Party Fair Broadcast: Strawman Ledger … TEE

  43. n-Party Fair Broadcast: Strawman Ledger … TEE

  44. n-Party Fair Broadcast: Strawman Ledger … TEE

  45. n-Party Fair Broadcast: Strawman Ledger … Enc(pk_Alice, k y ) || Enc(pk_BankA, k y ) || Enc(pk_BankA, k y ) TEE

  46. n-Party Fair Broadcast: Strawman Ledger … Enc(pk_Alice, k y ) || Enc(pk_BankA, k y ) || Enc(pk_BankA, k y ) TEE

  47. n-Party Fair Broadcast: Strawman Ledger … Enc(pk_Alice, k y ) || Enc(pk_BankA, k y ) || Enc(pk_BankA, k y ) TEE

  48. n-Party Fair Broadcast: Strawman Ledger … Enc(pk_Alice, k y ) || Enc(pk_BankA, k y ) || Enc(pk_BankA, k y ) TEE Enc(pk_BankA, k y )

  49. n-Party Fair Broadcast

  50. n-Party Fair Broadcast { } out

  51. n-Party Fair Broadcast { } out

  52. n-Party Fair Broadcast { } out Ledger …

  53. n-Party Fair Broadcast { } out Ledger …

  54. n-Party Fair Broadcast { } out Ledger …

  55. n-Party Fair Broadcast { } out Ledger …

  56. n-Party Fair Broadcast { } out Ledger …

  57. n-Party Fair Broadcast { } out Ledger …

  58. n-Party Fair Broadcast { } out Ledger …

  59. n-Party Fair Broadcast { } out Ledger …

  60. n-Party Fair Broadcast { } out Ledger … = E pk_Alice (k y )

  61. n-Party Fair Broadcast { } out Ledger … = E pk_Alice (k y )

  62. n-Party Fair Broadcast { } out Ledger … = E pk_Alice (k y )

  63. n-Party Fair Broadcast { } out Ledger … = E pk_Alice (k y )

  64. n-Party Fair Broadcast { } out Ledger … = E pk_Alice (k y )

  65. Q/A https://eprint.iacr.org/2019/178

Recommend


More recommend