Quisquis: An Anonymous Cryptocurrency Based on Updatable Public Keys
Prastudy Fauzi, Sarah Meiklejohn, Rebekah Mercer, Claudio Orlandi @claudiorlandi
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
Quisquis: An Anonymous Cryptocurrency Based on Updatable Public Keys
Prastudy Fauzi, Sarah Meiklejohn, Rebekah Mercer, Claudio Orlandi @claudiorlandi
Blockchain Research
Network Layer Consensus Layer Transaction Layer Smart Contracts Applications This talk
Bitcoin and Anonymity
Bitcoin is like Twitter for your bank account. (Ian Miers)
Existing Alternatives for Anonymous Payments
will address ”abstract technologies” not actual products (which are much more complicated).
Existing Techniques for Privacy
– Tumblers – Ring Signatures – ZK-SNARKS
– Need for coordination? – Deniability? – Provable Anonymity? – Trust in third parties? – Size of UTXO?
Basic Transactions (e.g., Bitcoin)
pk3 pk3 pk4 pk2UTXO Blockchain
– Blockchain 130 GB – UTXO 3 GB
Tumblers (1/2)
receivers (B,D) in random
determine who sent to whom.
senders and N receivers
A C B D TXTumblers (2/2)
– J Easy (trusted party performs transaction and matches users) – L Need to trust central party for anonymity and security
– L Hard (how to find other users who want to mix their coins? + protocol require interaction) – J Secure using cryptographic protocol
Ring Signatures (1/3)
Ring Signatures (2/3)
pk1 pk2 pk2 pk1 pk1 pk3 pk3 pk4 pk2(Ignoring how to prevent double spending)
– After 2nd TXs pk1 and pk2 are both spent à 3rd transaction was made by pk3 with certainty
Ring Signatures (3/3)
(Ignoring how to prevent double spending)
Zero-Knowledge (come back tomorrow at 10.30!)
P(x) V
“I know x s.t. f(x)=1”
ZK-SNARKS
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 pk2 pk2 pk1 pk1 pk3 pk3 pk4 pk2Entering QuisQuis!
QuisQuis idea: N-to-N transaction without interaction
A S R B TXmoney to R
A to B for anonymity
– Move other people money without their approval – While at the same time preventing theft?
Idea that does not work
A S R A TXfrom A to A.
Idea that might work
A S R A’ TXA’s money to a new ”random looking” address which is also
Updatable Public Keys
Gen
pk sk r pk’
Update
hint
Derive
sk’
Updatable Public Keys
Gen
pk sk r pk’
Update
hint
Derive
sk’
Updatable Public Keys
Gen Update Derive
pk sk r pk’ hint sk’
(pk,hint) looks like (pk’,hint)
Unforgeability
Update(r,pk) à pk’ AND (pk’,sk’) is a valid pair
Constructions of Updatable Public Key
(Main Construction)
Constructions of Updatable Public Key
(Alternative Construction)
– (given sk’ cannot tell if new or derived)
QuisQuis Transaction
– ”I computed N-k outputs as Updates of N-k inputs” (hiding which ones) – “I know the sk corresponding to the remaining input keys”
ZK π R’=Upd(R)QuisQuis Transaction
– all inputs have been spent and can be removed
– You are free to spend a coin if you know the sk – The other coins did not change owner
– Updated keys look ind. from fresh new keys – ZK proof hides links between inputs/outputs
A bit more details…
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)
Random Oracle model.
Performances
More in the paper!
– Commitment schemes based on updatable public keys – Split/Merge transactions – …and more!