Ripple supposedly incorporates transactions into the ledger using a consensus protocol. I have been looking everywhere for a clear, formal, and precise specification of the protocol and could not find one.
Several related questions, e.g.,
What are the pros and cons of Ripple's consensus as compared with Bitcoin's proof-of-work?
and
How does Ripple solve the double-spend problem?
Only provide a vague description. More specifically, I am trying to understand the essence of the consensus: what happens if the Ripple network is split in half (for example if all communication lines between Europe and the US suddenly stop working), and each half of the network approves a ledger with a conflicting transaction. What happens when the network reconnects? How are the conflicting ledgers resolved?
your answer suggests that things that were previously considered to be in the ledger may after some time (following a network join) be removed (similarly to what happens in Bitcoin). Am I right? Is there a point where once can say this will happen with low probability without observing the full state of the network?
Can't the trust graph be such that both sides think that they are in the majority, thus maintaining the inconsistency?