0% found this document useful (0 votes)
202 views40 pages

QuisQuis Anonymous Cryptocurrency

This document summarizes a presentation on a new design for anonymous cryptocurrencies called QuisQuis. The presentation includes: 1) An outline that discusses Bitcoin and anonymity, anonymous cryptocurrencies and their limitations, the basic QuisQuis design using updatable public keys, the full QuisQuis design with accounts and variable balances, and benchmarking results. 2) Details on the basic QuisQuis design which allows N-to-N transactions without interaction by using updatable public keys that can change a public key to a "random looking" new public key while maintaining ownership. 3) Details on extending QuisQuis to support accounts with variable balances stored in committed formats,

Uploaded by

allybrk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
202 views40 pages

QuisQuis Anonymous Cryptocurrency

This document summarizes a presentation on a new design for anonymous cryptocurrencies called QuisQuis. The presentation includes: 1) An outline that discusses Bitcoin and anonymity, anonymous cryptocurrencies and their limitations, the basic QuisQuis design using updatable public keys, the full QuisQuis design with accounts and variable balances, and benchmarking results. 2) Details on the basic QuisQuis design which allows N-to-N transactions without interaction by using updatable public keys that can change a public key to a "random looking" new public key while maintaining ownership. 3) Details on extending QuisQuis to support accounts with variable balances stored in committed formats,

Uploaded by

allybrk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

QuisQuis:

A New Design for Anonymous


Cryptocurrencies

Prastudy Fauzi, Aarhus University

Joint work with: Claudio Orlandi (AU),


Sarah Meiklejohn (UCL), Rebekah Mercer (AU)

*Original slides by Claudio Orlandi


(modified by Prastudy Fauzi)
Blockchain Research

Applications

Smart Contracts

This talk Transaction Layer

Consensus Layer

Network Layer
Outline
• Bitcoin and Anonymity
• Anonymous Cryptocurrencies and Limitations
• Basic QuisQuis (1 public key = 1 coin)
– Updatable public keys
– N-to-N transactions without interaction
• Full QuisQuis (accounts with variable balance)
• Benchmarking & Conclusions
Outline
• Bitcoin and Anonymity
• Anonymous Cryptocurrencies and Limitations
• Basic QuisQuis (1 public key = 1 coin)
– Updatable public keys
– N-to-N transactions without interaction
• Full QuisQuis (accounts with variable balance)
• Benchmarking & Conclusions

Bitcoin is like Twitter for your bank account.
(Ian Miers)


A Fistful of Bitcoins (Meiklejohn et al)

5
Basic Transactions (e.g., Bitcoin)
pk1 pk1 pk1

Blockchain
pk2 pk2 pk2

UTXO
pk3 pk3

pk4

• For context, in January 2019


– Blockchain 190+ GB
– UTXO ~3 GB
Outline
• Bitcoin and Anonymity
• Anonymous Cryptocurrencies and Limitations
• Basic QuisQuis (1 public key = 1 coin)
– Updatable public keys
– N-to-N transactions without interaction
• Full QuisQuis (accounts with variable balance)
• Benchmarking & Conclusions
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).
Existing Techniques for Privacy
• Technologies • Questions
– Tumblers – Need for coordination?
– Ring Signatures – Plausible deniability?
– Zero-Knowledge/SNARKS – Provable anonymity?
– Trust in third parties?
– Size of UTXO?
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
TX
receivers (B,D) in random order. C B
• An external observer cannot
determine who sent to whom.
• Can be generalized to N senders
and N receivers
Tumblers (2/2)
• Centralized Tumblers
–  Easy (trusted party performs transaction and
matches users)
–  Need to trust central party for anonymity and
security
• Decentralized Tumblers
–  Hard (how to find other users who want to mix
their coins? + protocol require interaction)
–  Secure using cryptographic protocol
• (See e.g., TumbleBit by Heilman et al.)
Ring Signatures (1/3)
• Sign(pk0,pk1,skb, m) s
• Ver(pk0,pk1,m,s) accept

• Indistinguishability:
• Sign(pk0,pk1,sk0, m) ≈ Sign(pk0,pk1,sk1, m)

• (In general, there are N public keys)


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! 


• Also means, cannot remove pk1 from UTXO 
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  3rd transaction was made
by pk3 with certainty
Zero-Knowledge (1/2)

P(x) V • Completeness
“I know x s.t. f(x)=1” – P,V honest  V accepts
q
a
q • Proof-of-Knowledge
– If P does not know x  V rejects
a

• Zero-Knowledge
– V learns nothing about x

• Non-Interactive: proofs can be made non-interactive


using CRS or the RO model.
Zero-Knowledge (2/2)
• Can be seen as extension of ring signatures, using
advanced cryptographic protocols (SNARKS)
– Can hide in sets of arbitrary size - “∞-to-1” transactions
– Generation time for transaction high 
– Need for trusted setup (CRS) 

pk1 pk1 pk1

pk2 pk2 pk2

pk3 pk3

pk4
• Numbers taken from benchmarking in October 2018
• Machine: Core i7 server, 3.5 GHz CPU, 32 GB RAM
Outline
• Bitcoin and Anonymity
• Anonymous Cryptocurrencies and Limitations
• Basic QuisQuis (1 public key = 1 coin)
– Updatable public keys
– N-to-N transactions without interaction
• Full QuisQuis (accounts with variable balance)
• Benchmarking & Conclusions
Basic QuisQuis idea
N-to-N transaction without interaction

• S wants to send
money to R
A R
• Add transaction from
TX A to B for anonymity
S B • Paradox?
– Move other people
money without their
approval
– While at the same time
preventing theft?
Idea that does not work

• Add transaction
from A to A.
A R • No money stolen 
TX
S A • No privacy 
Idea that might work

• What if I could move


A’s money to a new
A R ”random looking”
TX address which is also
S A’
owned by A?
Updatable Public Keys
r

Update
pk’
pk

Ver 1
Gen sk

• Correctness: (pk’,sk) is a valid key pair


Updatable Public Keys
r

Update
pk’
pk

Ver 1
Gen sk

• Indistinguishability:
pk and pk’ are computationally indist.
Updatable Public Keys
r

Update
pk’
pk

Ver 1
Gen sk

• Unforgeability:
Given pk, can’t learn sk of updated public key
pk’ = Update(pk, r)
Unforgeability
• No A(pk) can output (pk’,sk,r) such that
Update(pk,r)  pk’
AND
(pk’,sk) is a valid pair

• Idea:
– Output (pk’,r): trivial! (run Update)
– Output (pk’,sk): trivial! (drop pk and run Gen)
– Both at the same time should be hard!
Constructions of Updatable Public Key
• Gen  pk=(gs,gsx)=(u,v), sk=x
• Update(pk, r)  pk’ = (ur,vr)

• Correctness: ✔
• Indist.: (u,v, ur,vr) ~ (u,v,ur,vs) (assuming DDH)
• Unforgeability: output x = break DL
Basic QuisQuis Transaction
• Real Input: pkS
A R
R’=Upd(R) • Real Output: pkR
TX
• Run Update(pkR)pkR’
S B=Upd(A) • Pick random pkA from UTXO
ZK π
• Run Update(pkA) pkB
• ZK proof π for the following statement:
– ”N-1 public keys were updated correctly
(hiding which ones)”
– “I know the sk corresponding to the last public key
(and I can therefore spend it)”
Outline
• Bitcoin and Anonymity
• Anonymous Cryptocurrencies and Limitations
• Basic QuisQuis (1 public key = 1 coin)
– Updatable public keys
– N-to-N transactions without interaction
• Full QuisQuis (accounts with variable balance)
• Benchmarking & Conclusions
Towards the full construction…
• In the basic construction, we assumed every
PK held exactly 1 coin
– Unrealistic assumption

• We want to deal with variable amounts


associated to keys
– While hiding the amounts
– Allowing anonymous transactions
QuisQuis: ideas
• Each public key has associated a balance bl
– The balance is stored in committed (”encrypted”)
format.
– The commitment is homomorphic, the balance
can be modified.
• Transactions are now ”redistribution of value”
QuisQuis: redistribution of value

S loses 3
A v = (0, -3, 1, 2) S’

S R2’ R2 gains 2

TX({A, S, R}, v)
A
R1 A’ unchanged

R2 S account
R1’ R1 gains 1
balance ≥ 3
Accounts
• Accounts are pairs of public keys and
commitments to the balance of the public key

• E.g., acct = ( pk, Com(pk,bl) )

• In QuisQuis: pk = (u,v)
Com(pk,bl) = (ur, gbl vr)
Accounts can be updated too
• Update(acct=(pk,c),v)
– pk’ = Update(pk)
– c’ = c * Com(pk,v)
– Output acct’ = (pk’,c’)

• Note:
– the secret key did not change
– The value can be increased/decreased by v
– acct’ cannot be linked to acct!
QuisQuis Transactions
”Redistribution of Value”
• Real Sender: acctS (loses v)
R’=Upd(R,+v)
A
TX
• Real Reciever: acctR (gains v)
• Pick random acctA from UTXO
S A’=Upd(A,0)
• Run Update(acctR,+v)acctR’
ZK π
R S’=Upd(S,-v) • Run Update(acctS,-v)acctS’
• Run Update(acctA,0)acctA’

• Construct ZK π that everything was done correctly e.g.,


– All accounts were updated correctly and with amounts ≥ 0.
– Except one, for which I knew the sk, and whose balance ≥ v.
QuisQuis Transaction Properties
• Non-growing UTXO:
– Only the last version of the accounts is stored
• Theft prevention:
– You can withdraw from your account (e.g., if you know sk),
as long as the balance is positive
– The other accounts only receive non-negative updates
• Anonymity
– Updated accounts in the output are unlinkable to the
accounts in the input set
– The commitments hide the value
– The ZK proof hides the relationship between
inputs/outputs, and the value which was transferred
Outline
• Bitcoin and Anonymity
• Anonymous Cryptocurrencies and Limitations
• Basic QuisQuis (1 public key = 1 coin)
– Updatable public keys
– N-to-N transactions without interaction
• Full QuisQuis (accounts with variable balance)
• Benchmarking & Conclusions
Performances
• See the paper for details on ZK proofs:
– Combination of Sigma protocols for DL relations
– Bayer-Groth Shuffle
– Bulletproof (range proofs)
• Implemented in Go
Comparison

• Monero: 2 new outputs (TXOs), ring size 10


• QuisQuis: 1 S, 3 R, 12 A, set size 16
• Monero’s values updated: they now also use
Bulletproofs, taking n + v to n + log(v)
Conclusions
• Quisquis shows an alternative approach to
designing anonymous cryptocurrencies
• Open problems
– Empirical analysis of anonymity
– Theoretical and practical optimizations
– Other applications for updatable public keys and
Quisquis design principle?
Thank you!

Available at: eprint.iacr.org/2018/990

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy