quisquis an anonymous cryptocurrency based on updatable
play

Quisquis: An Anonymous Cryptocurrency Based on Updatable Public - PowerPoint PPT Presentation

Quisquis: An Anonymous Cryptocurrency Based on Updatable Public Keys Prastudy Fauzi, Sarah Meiklejohn, Rebekah Mercer, Claudio Orlandi @claudiorlandi Blockchain Research Applications Smart Contracts Transaction Layer This talk Consensus


  1. Quisquis: An Anonymous Cryptocurrency Based on Updatable Public Keys Prastudy Fauzi, Sarah Meiklejohn, Rebekah Mercer, Claudio Orlandi @claudiorlandi

  2. Blockchain Research Applications Smart Contracts Transaction Layer This talk Consensus Layer Network Layer

  3. Bitcoin and Anonymity 3

  4. “ ” Bitcoin is like Twitter for your bank account. (Ian Miers) A Fistful of Bitcoins (Meiklejohn et al) 4

  5. Existing Alternatives for Anonymous Payments • Dash • Monero • Zcash • … but, I’m a theoretician! For the rest of the talk I will address ”abstract technologies” not actual products (which are much more complicated).

  6. Existing Techniques for Privacy • Technologies • Questions – Tumblers – Need for coordination? – Ring Signatures – Deniability? – ZK-SNARKS – Provable Anonymity? – Trust in third parties? – Size of UTXO?

  7. Basic Transactions (e.g., Bitcoin) pk1 pk1 pk1 Blockchain pk2 pk2 pk2 UTXO pk3 pk3 pk4 • For context, in November 2017 – Blockchain 130 GB – UTXO 3 GB

  8. Tumblers (1/2) • A wants to give 1 coin to B • C wants to give 1 coin to D • (A, C) create a 2-2 TX with A D receivers (B,D) in random TX order. C B • An external observer cannot determine who sent to whom. • Can be generalized to N senders and N receivers

  9. Tumblers (2/2) • Centralized Tumblers – J Easy (trusted party performs transaction and matches users) – L Need to trust central party for anonymity and security • Decentralized Tumblers – L Hard (how to find other users who want to mix their coins? + protocol require interaction) – J Secure using cryptographic protocol • (Exception: TumbleBit, see talk this morning)

  10. Ring Signatures (1/3) • Sign(pk 0 ,pk 1 ,sk b , m) à s • Ver(pk 0 ,pk 1 ,m,s) à accept • Indistinguishability: • Sign(pk 0 ,pk 1 ,sk 0 , m) ≈ Sign(pk 0 ,pk 1 ,sk 1 , m) • (In general, there are N public keys)

  11. Ring Signatures (2/3) (Ignoring how to prevent double spending) pk1 pk1 pk1 pk2 pk2 pk2 pk3 pk3 pk4 • Was pk1 spent? Can’t tell! J • Also means, cannot remove pk1 from UTXO L

  12. Ring Signatures (3/3) (Ignoring how to prevent double spending) pk1 pk1 pk1 pk1 pk2 pk2 pk2 pk2 pk3 pk3 pk3 pk4 pk4 • Anonymity? pk5 – After 2nd TXs pk1 and pk2 are both spent à 3 rd transaction was made by pk3 with certainty

  13. Zero-Knowledge (come back tomorrow at 10.30!) P(x) V • Completeness “I know x s.t. f(x)=1” – P,V honest à V accepts q • Proof-of-Knowledge a q – If P does not know x à V rejects a • Zero-Knowledge – V learns nothing about x

  14. ZK-SNARKS • Can be seen as extension of ring signatures, using advanced cryptographic protocols – Can hide in sets of arbitrary size - “∞-to-1” transactions – Generation time for transaction high L – Need for trusted setup (CRS) L pk1 pk1 pk1 pk2 pk2 pk2 pk3 pk3 pk4

  15. Entering QuisQuis!

  16. QuisQuis idea: N-to-N transaction without interaction • S wants to send money to R • Add transaction from A R A to B for anonymity TX • Paradox? S B – Move other people money without their approval – While at the same time preventing theft?

  17. Idea that does not work • Add transaction from A to A. • No money stolen J A R TX • No privacy L S A

  18. Idea that might work • What if I could move A’s money to a new ”random looking” A R address which is also TX S A’ owned by A?

  19. Updatable Public Keys r pk’ Update hint pk sk’ Derive Gen sk

  20. Updatable Public Keys r pk’ Update hint pk sk’ Derive Gen sk • Correctness : (pk’,sk’) is a valid key pair

  21. Updatable Public Keys r pk’ Update hint pk sk’ Derive Gen sk • Indistinguishability : (pk,hint) looks like (pk’,hint)

  22. Unforgeability • No A(pk) can output (pk’,sk’,r) such that Update(r,pk) à pk’ AND (pk’,sk’) is a valid pair • Output (r,pk’): trivial! (run update) • Output (pk’,sk’): trivial! (drop pk and run Gen) • Both at the same time should be hard!

  23. Constructions of Updatable Public Key (Main Construction) • Gen à pk=(g s ,g sx )=(u,v), sk=x • Update(pk, r) à pk’ = (u r ,v r ) • Derive(sk) à sk • Correctness : ✔ • Indistinguishability : (u,v, u r ,v r ) ~ (u,v,u r ,v s ) DDH • Unforgeability : given x can output x (break DL)

  24. Constructions of Updatable Public Key (Alternative Construction) • Gen à pk=g x , sk=x • Update(pk, r) à hint=g r , pk’=pk*g y with y=H(pk r ) • Derive(sk, hint) à sk’ = x + H(hint x ) • Correctness : ✔ • Indistinguishability : follows from DDH • Unforgeability : given r,sk’ output sk (break DL) • Bonus! Forward anonymity in RO model – (given sk’ cannot tell if new or derived)

  25. QuisQuis Transaction • Real Input: pkS • Real Output: pkR R R’=Upd(R) A • Run Update(pkR) à pkR’ TX • Choose random pkA from UTXO S B=Upd(A) • Run Update(pkA) à pkB ZK π • ZK proof π for the following statement: – ”I computed N-k outputs as Updates of N-k inputs” (hiding which ones) – “I know the sk corresponding to the remaining input keys”

  26. QuisQuis Transaction • Non-growing UTXO: – all inputs have been spent and can be removed • Theft prevention: – You are free to spend a coin if you know the sk – The other coins did not change owner • Anonymity – Updated keys look ind. from fresh new keys – ZK proof hides links between inputs/outputs

  27. A bit more details… • ZK proofs obtained as combination of Sigma protocols for – ”I know the sk” (“I know the DL”) – “I run Update correctly” (”Proof of DDH tuple”) – “I shuffled some Updated public keys” (from Bayer-Groth shuffle) • Can be made non-interactive using Fiat-Shamir in the Random Oracle model.

  28. Performances

  29. More in the paper! • Formal definitions and proofs of security • How to deal with private, variable amounts – Commitment schemes based on updatable public keys – Split/Merge transactions – …and more!

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend