Find Ring Intersections

  1. Run the trim_ring_xmr_xmrv9.py script that is located in the scripts/hardforks/monero-v9 directory.

    python3 trim_ring_xmr_xmrv9.py
    

    This script will replace the fork_indices column in xmr_xmrv9_keyimages with the intersection of the transaction rings.

    Note: This script reads the Python dictionary mapping (ring_amount, index) pairs to the one-time addresses from the file called xmr_xmrv9_addr.dat. Ensure that this file is in the same directory as the script.

  2. You can query the number of transaction rings where the actual output being spent has been identified by running the following query in the psql shell.

    SELECT COUNT(*) FROM xmr_xmrv9_keyimages WHERE ARRAY_LENGTH(fork_indices,1) = 1 AND ARRAY_LENGTH(distinct_ring_indices, 1) <> 1 AND block_height <= 2530000;
    

    The result of this query was 187. Note that the query restricts the block height to 2530000.