I became interested in bitcoin mining, mining pools and the bitcoin network last week so please excuse the fresh smell.
After reading the initial Satoshi paper and seeing how the implementation has evolved and differed from the original (and brilliant) design I started to consider the 'dangers' of large bitcoin mining pools. It seems that if a determined attacker was able to compromise just two machines they could compromise the entire bitcoin network[2].. scary stuff for anyone with an investment in bitcoin no? Defeats the purpose of a non centralized trust model too doesn't it? Anyway...
I decided to fire up wireshark on a couple of my mining rigs and set up filters to grab interesting bitcoin related traffic. Using pylibpcap and massaging the data shows interesting statistical information (long poll data), server response time changes(as workers all find out that they need need data), and changes in the data value in the RPC request seem to correlate nicely and filtering out the noise gets easier with a larger number of miners.
Question:
Are there any open source pool hoppers out there that are actually using longpoll to assist in block completion estimation or are they all just scraping APIs and web pages for block completion times?
[1] http://www.bitcoin.org/bitcoin.pdf
[2] *...by gaining the majority of the bitcoin C/GPU vote The pool administrators are active and easily contacted. An attacker with an adobe/java/office 0day could potentially social engineer their way into compromising pool operator personal machines and hop the fence from there. Operators could be coerced. Operators could be malicious.