Pool Detective

Pool Detective

In Bitcoin and other proof-of-work cryptocurrencies, miners are important actors in securing the network. Ever since the inception of the first mining pool in Bitcoin back in 2010, miners have used mining pools as a way to reduce their variance. However, mining pools in this set-up have a large degree of control over what the individual miners’ hardware is working on.

Given that the mining pool has direct control over what our hardware works on, this poses a few risks. There are known attacks that miners can conduct, the most well-known one being selfish mining. By giving control of your mining hardware to a pool, you are entrusting them not to conduct malicious behavior using your hardware.

That’s why I started working on a project called PoolDetective for the DCI in the summer of 2019. The idea is quite simple: we position ourselves between the mining hardware and the mining pool(s), and we archive all communication that happens between the two. We archive the jobs the mining pool instructs our hardware to perform, and the work we produced in return. We are currently monitoring this for 27 pools on 10 cryptocurrencies, with more to be added. We also run full nodes for each of the cryptocurrencies we monitor.

I introduce the Pool Detective in this video that I livestreamed together with three other DCI team members, in which we explain the work the DCI does around proof-of-work security. In the coming months, I’ll be releasing a blog post and video series on this project as well.

Technologies used
Go, PostgreSQL, React

Worked on
Jul 2019 - Present

Worked for
MIT Digital Currency Initiative