I thought about how you would attack BitCoin and how to achieve that 51% of the work. My solution is basically to create network partitions (using some DDoS or something to prevent communication) and force a small number of good nodes to start working on your solution. Over time you can rejoin partitions where you will control 51% of the compute eventually converting all of the nodes.