ashidetector.py
is a Python-based tool for tracing the lineage of Whirlpool CoinJoin transactions on the Bitcoin blockchain.
It starts from the first Whirlpool transactions for pool and follows on for analysis of anonymity sets over time.
- Blockchain Sync: Syncs with the Bitcoin blockchain via blockstream.info to find the transactions.
- Local Database: Uses a local SQLite database (
whirlpool.db
) to store data and progress. You can pause/resume without losing data. - Whirlpool Detection: Identifies valid Whirlpool CoinJoins (5-input, 5-output).
- Anonymity Set Tracking: Tracks unspent outputs (UTXOs) currently in anonymity sets.
- Reporting: Generates CSV reports for time-series analysis and trend visualization.
git clone https://github.com/Ziya-Sadr/Ashi-Whirlpool-Analysis.git
cd Ashi-Whirlpool-Analysis
python3 -m venv venv
source venv/bin/activate
pip install requests python-bitcoinlib
The tool is CLI-based and supports multiple modes.
python ashidetector.py run
- On the first run, it fetches the first transactions and scans from the earliest block.
- You can stop (Ctrl+C) and resume anytime.
To start fresh:
python ashidetector.py run --fresh
python ashidetector.py stats
Displays the current anonymity set state based on synced data.
python ashidetector.py simplereport
With a custom block interval:
python ashidetector.py simplereport --interval 100
python ashidetector.py report
With a custom block interval:
python ashidetector.py report --interval 500
This project is licensed under the MIT License.
See the LICENSE
file for more details.