Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Privacy Aspects and Subliminal Channels in Zcash
Alex Biryukov, Daniel Feher, Giuseppe Vitto
University of Luxembourg
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Introduction to Zcash
I
Zcash is a privacy oriented digital currency.
I
Built on a variety of cryptographic primitives:
I
zkSNARKs, commitment schemes, Merkle trees, encryption, etc.
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Zcash: Addresses
I
Zcash offers two types of addresses:
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Zcash Transaction Types
Public
Hiding
Revealing
Private
t-address
t-address
t-address
z-address
z-address
t-address
z-address
z-address
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Zcash Transaction Layout
Transparent Input(s)
Transparent Output(s)
Hidden Value Balance
Fee
Spend Description 1
Output Description 1
Spend Description 2
Output Description 2
.
.
.
.
.
.
Spend Description K
Output Description L
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Zcash Transaction Layout
Transparent Input(s)
Transparent Output(s)
Hidden Value Balance
Fee
Spend Description 1
Output Description 1
Spend Description 2
Output Description 2
.
.
.
.
.
.
Spend Description K
Output Description L
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Value Fingerprints
I
~97% of shielded transactions use 10
4
Zatoshis as fee.
I
Last 4 digits are not changed by the fee.
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Danaan-Gift Attack
I
What is the success ratio of the attack?
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Zcash Transaction Layout
Transparent Input(s)
Transparent Output(s)
Hidden Value Balance
Fee
Spend Description 1
Output Description 1
Spend Description 2
Output Description 2
.
.
.
.
.
.
Spend Description K
Output Description L
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Zcash Transaction Layout
Transparent Input(s)
Transparent Output(s)
Hidden Value Balance
Fee
Spend Description 1
Output Description 1
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Zcash Transaction Layout
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
The Survival Probability of Fingerprints
I
We have developed a statistical model for the shielded pool.
I
Based on the number of inputs and outputs in a shielded transaction.
I
Markov-chain of all possible scenarios.
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
The Survival Probability of Fingerprints
FP
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
The Survival Probability of Fingerprints
FP
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
The Survival Probability of Fingerprints
FP
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
The Survival Probability of Fingerprints
FP
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
The Survival Probability of Fingerprints
I
The average number of hops a path goes through inside the shielded
pool is only 1.42.
I
The survival probability of good fingerprints is ~16.6%.
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Countermeasures
I
Dust Attack is recognizable: move funds once.
I
Danaan-gift Attack manual defense: do not use default fees.
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Subliminal Channels
I
We found 3 subliminal channels by exploiting malleability of Pedersen’s
commitments and Groth16’s zkSNARKs proofs:
1
Pedersen Subliminal Channel (commitment scheme)
2
Inner Subliminal Channel (zkSNARK)
3
Outer Subliminal Channel (zkSNARK)
I
Key Idea: use re-randomization until a desired subliminal message is
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Shielded Transaction Layout
Transparent Input(s)
Transparent Output(s)
Hidden Value Balance
Fee
Binding Signature
Spend Description Output Description
Spend DATA
Committed Input Note Value
zk-SNARK Proof
Output DATA
Committed Output Note Value
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Pedersen Subliminal Channel
I
A note value v is committed to c with randomness r as
v
−→ c = g
v
h
r
= 0xf2c71e906
I
c can be re-randomized to c
0
as
c −→ c
0
=
c · h
s
=
g
v
h
r +s
I
By selecting different random values s, we found that
c
0
=
c · h
s
= 0x76b760123
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Pedersen Subliminal Channel
Transparent Input(s)
Transparent Output(s)
Hidden Value Balance
Fee
c
in,1= 0xf34aca1c
c
out,1= 0xce10e552
c
in,2= 0xdb1bba91
c
out,2= 0x180c7891
..
.
..
.
c
in,K= 0xc1c41a7a
c
out,L= 0x76b760123
Binding Signature
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Pedersen Subliminal Channel
Transparent Input(s)
Transparent Output(s)
Hidden Value Balance
Fee
g
vin,1= 0xab59a74d
g
vout,1= 0x53b57fe8
g
vin,2= 0xbd18d746
g
vout,2= 0xca6d4be2
..
.
..
.
g
vin,K= 0xbaf072a4
c
out,L= 0x76b760123
Binding Signature
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Pedersen Subliminal Channel
Transparent Input(s)
Transparent Output(s)
Hidden Value Balance
Fee
v
in,1= 1.12 ZEC
v
out,1= 0.05 ZEC
v
in,2= 3.47 ZEC
v
out,2= 2.01 ZEC
..
.
..
.
v
in,K= 5.14 ZEC
c
out,L= 0x76b760123
Binding Signature
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Pedersen Subliminal Channel
Transparent Input(s)
Transparent Output(s)
Hidden Value Balance
= 2.43 ZEC
Fee
v
in,1= 1.12 ZEC
v
out,1= 0.05 ZEC
v
in,2= 3.47 ZEC
v
out,2= 2.01 ZEC
..
.
..
.
v
in,K= 5.14 ZEC
v
out,L= 4.62 ZEC
Binding Signature
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Decoupled Spend Authority
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Decoupled Spend Authority
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
The Inner Subliminal Channel
I
A zkSNARK proof is generated by choosing two different random
values.
I
A malicious proving system can iteratively select different randomness
until the resulting π embeds the subliminal message.
I
‘Inner’ because a message is embedded before π is finalized.
π
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
The Outer Subliminal Channel
I
A proof π can be re-randomized using some non-expensive elliptic
curve operations and without knowing any witness.
I
π
is iteratively re-randomized until the subliminal message is embedded.
I
‘Outer’ because re-randomization is done on an already generated
proof.
π
π
0
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Implementation Results
I
We embedded 9 bytes in a fully shielded transaction with 1 shielded
input and 2 shielded outputs (3 bytes per description).
I
On a standard laptop, it took on average 3.0087s compared to 2.8412s
normally needed (just a 6% increase).
Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Countermeasures
I
Use proof re-randomization to disrupt any embedded subliminal
message.
π
π
I
Combine two (even tagged) proofs for the same statement.
π
π
1π
2Privacy Aspects and Subliminal Channels in Zcash Alex Biryukov, Daniel Feher, Giuseppe Vitto Introduction to Zcash Transaction Linking Subliminal Channels
Summary
I
Two different approaches for transaction tagging and linking in Zcash:
1.
Transaction Linking Attacks:
I
Based on interplay of transparent and hidden transactions;
IVerified with a rigorous statistical model.
2.
Subliminal Channels:
I