What are the implications for having multiple implementations of the Bitcoin protocol? Do the positives outweigh the potential bugs and other issues?