Blockchain Protocols : The Adversary is in the Details