Looking over the documentation (
https://ripple.com/wiki/) there is a lot of information about the protocol that is not explained. There is certainly nowhere nearly enough information to produce a competing implementation. A lot of important details are swept under the rug. For example, in "How it works", it is claimed that "Ledgers are really hash trees". No further explanation is given.
https://ripple.com/wiki/Ledgerhttps://ripple.com/wiki/Hash_TreeThis nonsense is repeated all over the documentation, with promises that "mathematical proofs are coming soon."
Feel free to ask for details. I'm happy to improve the wiki. From the wiki:
Here's the high-level view on why our algorithm is stable:
1) Every honest node wants a consensus. They will wait as long as it takes in order to get one. We have no fixed amount of time in which a consensus must be reached.
2) There is no moving target during a consensus window. With respect to establishing that consensus, the world is frozen. There is a fixed amount of information to be known about the state, and more information is always gathered by nodes. They don't forget anything. The ratcheting up of the agreement level required ensures a consensus will eventually be reached.
3) Dishonest nodes cannot stop transactions from propagating to the vast majority of honest nodes. A node would have to have every single one of its connections to a dishonest node. (And we imagine 'core' nodes agreeing to directly connect to each other as a safety.)
4) So long as a transaction can be applied to the ledger and the vast majority of nodes see it before the consensus window, there's nothing dishonest nodes can do to stop honest nodes from including it. (Nodes will extend the consensus window if they aren't getting votes or acquiring transaction sets from trusted nodes that have voted.)
5) If a transaction does not get into a consensus set, but is valid, every honest node that has seen that transaction will vote to include it in the next consensus set.
6) No honest node particularly cares what's in the consensus set, provided it includes transactions that were seen well before the consensus window started. There is no way a dishonest party could get something into the transaction set that shouldn't be there and have that cause any harm. Invalid transactions will have no effect, even if they get in the consensus set.
It is said that the ledger achieves consensus between decentralized nodes without proof of work (a bold claim) and yet, no step by step algorithm is provided. The closest it comes to anything resembling detail is that a transaction is either "passed", "soft failed", or "hard failed." With no other information provided. Answers to important questions, like how Ripple peers are discovered, the messages passed between nodes, who manages the central list of "unique nodes" (for every client's UNL) are totally missing.
This is spread throughout the wiki. You're right that's not concentrated in any one place.
https://ripple.com/wiki/Continuous_Ledger_Closehttps://ripple.com/wiki/Ledger_CycleLooking over the Ripple forum and reading some parts of the wiki, it seems that Ripple credits ("XRPs") are distributed by hand by the administrators of the system? In what way is this decentralized?
Once they're distributed, those who hold them can do whatever they want with them, and nobody can create new ones. Large numbers of them will be given away soon.
In the other Ripple thread, people are fawning over this rubbish like it's the second coming of Jesus. I suspect these are non technical individuals who have fallen in love with the idea (which is decent) but don't have any inkling of whether or not it can work at the technical level.
There were several sets of technical discussions about this. Some of them are here:
https://ripple.com/wiki/Unedited_NotesI'm happy to answer your questions and improve the wiki.