What are the pros and cons of Ripple's consensus as compared with Bitcoin's proof-of-work? One of the major differences between Bitcoin and Ripple is how they process transactions. I can think of three ways in which Ripple's "consensus" scheme is superior to Bitcoin's proof-of-work:


Less energy-intensive
No 51% attack
Faster transactions


What are the other pros and cons of Ripple's consensus as compared with Bitcoin's proof-of-work?
The big advantage on the Bitcoin side is that its technology is now well-proven. Ripple's consensus system is the newcomer. Ripple was designed by people who had the benefit of seeing exactly what Bitcoin was doing and its strengths and weaknesses.

Ripple's consensus process can validate a transaction such that irreversibility is reasonably assured much more quickly. When a validator processes a transaction it signs the resulting final ledger. Those signatures are provided within seconds.

Bitcoin's proof of work scheme isn't path dependent. Ripple's consensus scheme is. This has advantages and disadvantages on both sides. Because proof of work is not path dependent, someone with sufficient hashing power can rewrite the past. However, the lack of path dependence also means that no state is required to determine the right chain. The rule for the winning chain is very simple -- the valid chain with the most work wins.

The biggest difference is how trust works. With a proof of work scheme, you must trust the majority of work. So long as the majority of hashing power remains in the hands of a large number of disjoint organizations, that's fine. However, if hashing power become consolidated, it's not clear what the fix would be.

With Ripple's consensus scheme, you choose who you want to reach a consensus with and declare the system unusable if you cannot. One advantage here is that you can reliably detect if you can't reach consensus. With Bitcoin, if the Internet splits in half and you're on the side with less hashing power, you can only infer it as a statistical probability. With Ripple, if you're not reaching consensus with people, you know it immediately.

Another advantage is that if you ever do have an attack or disruption, you have signed cryptographic proof showing who did it and what they did. You can simply stop trying to reach a consensus with them and then they would have to start over from scratch to attempt such an attack again. Because the effort required is so great and the payoff so low, it's much less likely people will try.

The disadvantage here is that UNLs (lists of who you want to reach consensus with) must be maintained and if your UNL is broken, you can fail in various ways that get worse the more broken your UNL is. The downside of being in control is that you can shoot yourself in the foot. The upside is that you can do something if someone else tries to shoot you in the head.

Bitcoin could fairly easily adopt some of the principles of Ripple's consensus scheme and gain many of these benefits. For example, mining pools could sign a statement indicating which chain they are building on. In the event of a network split, this would make it rapidly clear whether you were still on the same chain as those pools. In the event of a bug-induced chain split, you'd quickly know that something was wrong and would be able to stop relying on transactions automatically rather than having to wait for a manual warning to go out.