This project is used to perform poisoning attack on different mining pools which is published in Data Privacy Management, Cryptocurrencies and Blockchain Technology workshop, ESORICS 2018. By deliberately introducing errors under benign miners’ names, this attack can fool the mining pool administrator into punishing any innocent miner; when the top miners are punished, this attack can significantly slow down the overall production of the mining pool. This project experimentally confirms the the effectiveness of this attack scheme against well-known mining pools.
- Slushpool: slushpool.com
- Kanopool: kano.is
- F2pool: f2pool.com
- Mmpool: mmpool.org
- EligiusPool: stratum.mining.eligius.st
- Bixin: stratum.bixin.com
- OzCoinPool: spare.ozco.in
- Multipool: us.multipool.us
- Minergate: pool.minergate.com
- GiveMeCoins: give-me-coins.com
- AntPool: antpool.com
- This a Java project which requires JDK 7 at least.
- Currently different pool address, port number, username and password are hard coded.
- To run it for your specific pool of choice, You have to set it by yourself in the MiningUtility class
You have to call the following method from main method with the required parameter:
MiningUtility.connectToStratumMiningServer(poolServerAddress, poolServerPortNumber, username, password) where default password for mining in most of the pools are empty string.