EE Department, IIT Bombay
October 24, 2023
A proposal for a privacy-focused cryptocurrency (circa 2013)
Monero is the most popular CryptoNote implementation, with several improvements
Ring signatures which also reveal a one-way function of the private key
Key image calculation in CryptoNote
RingCT = Ring confidential transactions
Pre-RingCT ring selection
RingCT ring selection
Example of overlap: Q_1= P_4 and Q_2 = P_5
Transaction outputs contain unique public keys
\mathcal{K}_h: Set of all key images that have appeared on the blockchain until block height h
\mathcal{O}_h: Set of all outputs that have appeared in at least one transaction ring
CryptoNote transaction graph
Suppose a transaction has a ring \{P_1, P_2, \ldots, P_k\} and a key image I
Definition: The signing key is the public key P_i such P_i = xG and I = x H_{\text{p}}(P_i) for a secret key x
Definition: A transaction ring is said to be traceable if the true signing key is correctly identified with probability 1
Traceable rings reveal the true output being spent
Consider three rings \{P_1\}, \{P_1, P_2\}, \{P_1, P_2, P_3, P_4\} with key images I_1, I_2, I_3
Cascade attack needs zero-mixin transactions to start
Yu et al (FC 2019) proposed the closed set (CS) attack
Naive implementation of the CS attack is infeasible
Yu et al proposed an approximation called the clustering algorithm
Our contribution: Polynomial algo to implement CS attack
Find all closed sets in the transaction graph
Remove edges from closed-set outputs to “other” key images
If an output has only one outgoing edge, it is traceable
Key Observation: Closed sets have a one-to-one correspondence with minimum covers of the transaction graph
The Dulmage-Mendelsohn decomposition (1958) finds all minimum covers of a bipartite graph
Recognized that the DM decomposition finds all closed sets
Implemented DM, cascade, and closed set attacks
Computed empirical performance on Monero with and without information from hard forks
Saravanan Vijayakumaran
sarva@ee.iitb.ac.in