Haha, good one
How's the Ripple-style multi-hop transaction routing functionality coming along in Open-Transactions? Let me know if I can help at all. Ripple is great, but I think it would be nice to also have a multi-hop system where transactions aren't published to the whole world. I'm sure they can be made to interoperate at some point down the line too...
It will be similar but not the same.
In Ripple, IMO the critical concept is the P2P issuance of credit lines. Based on this, it becomes possible to route payments across those credit lines, converting from one currency to the next at each "hop."
Whereas in Open-Transactions, each server has its own market. If a user is connected to 12 different servers, for example, then his "order book" exists on the client side, and is an amalgamation of the orders on those 12 servers. Software clients will be able to provide arbitrage between those servers, which should normalize prices.
Trades should happen instantly.But what if there are other offers, on other servers, which might offer a better price? This is where we intend to use Bitmessage as a discovery layer, to allow users to discover other users and other servers for trading on. There is a bigger delay here (introduced by Bitmessage) but it's only at the point of discovery, and not for all trades. (And of course faster discovery layers are possible, though Bitmessage will be the first implementation.)
From there, it's actually preferable
not to convert into 4 or 5 currencies along the way, since that is more expensive than converting directly from one currency to the other. (I expect that arbitrage and market makers will make this easy and accessible to people.) Even Ripple, presumably, is designed to save money by
"finding the shortest path."In the odd case where it's actually necessary to convert into several currencies along the way, this can be handled by the client, versus building it into the network itself. This does
not guarantee atomicity, but I don't think that's a very big concern. The OT client will only operate within price limits defined by the user, and such rare trades will be performed only when all "hops" are available for trade.
In the end, the functionality will be the same, but it will not involve credit lines and rarely will require more currencies other than the basic 1 or 2 preferred by the 2 parties.
(In one case, a party simply sends funds to another party, who then converts those funds on any market if he wishes to do so. In the other case, a party will place a market offer in one currency, which will be purchased by the other party with the second currency.)