10

I have been watching the Open Transactions project. Since Ripple has recently came up I am curious as to their relation to each other and if they are trying to achieve the same thing but with a different framework.

At first glance they do appear to be doing the same thing (I think) but what are the differences?

7

I haven't seen the Ripple code so I can't comment on the latest endeavor, but Ripple as a concept (by Ryan Fugger FYI) is the combination of 2 mechanisms:

  1. The ability to extend a credit line to any of your friends, in any currency.
  2. The ability to make payments that hop across these credit lines, P2P, like a "Six degrees of separation" from sender to recipient.

I've always felt like this concept was important because it eliminates exchanges (such as MtGox) as a bottleneck, since it enables people to access the system, and move funds in and out, directly through their own friends.

If the current Ripple venture departs from that in any way, perhaps one of the Ripple guys can post a comment giving further detail. But that's my understanding of it.


Open-Transactions, on the other hand, is a software library for financial cryptography, including a prototype server and a high-level client API (available in most languages.)

The OT server is able to process all sorts of transactions... issuers can issue currencies onto any OT server (or preferably onto many OT servers.) Then users can open accounts in these currencies, and send payments to each other using a variety of financial instruments such as account transfers, cheques, and untraceable digital cash.

Open-Transactions also supports markets (for offers and trading, like you might see on MtGox or other exchanges) as well as basket currencies.

Open-Transactions also features a full client-side scripting engine, so you can create your own financial scripts using the OT API. There are also scriptable contracts ("Smart Contracts"), which can be signed by multiple parties and then activated on an OT server for processing. OT comes with a few sample smart contracts, such as Escrow, and Two-Way Trade.

BTW, it wouldn't be too hard to build Ripple into OT, I already worked it out in my notes here: https://github.com/FellowTraveler/Open-Transactions/wiki/Markets

(Who knows if/when I'll ever get around to adding that, however.)

*edit: article describing the trust differences between OT and Ripple: http://opentransactions.org/forum/index.php?topic=3759.0

5

They're both trying to do the same thing in the sense that they're both trying to make it possible to use existing fiat currencies such as dollars and Euros in many of the same ways that you can use Bitcoins.

Open transactions can provide a higher degree of anonymity than Ripple does. With OT, a transaction need only be seen by the sender, recipient, and issuer. And the issuer need not know the identity of either the sender or the recipient at all. With Ripple, transactions are always public so it provides a level of anonymity comparable to Bitcoin.

With OT, a specific key owned by a specific entity moderates transfers of each asset. This means the system cannot compel assets to act as they have been promised to act. In contrast, everyone can process all Ripple transactions, so an issuer cannot prevent the system from enforcing their promises.

Open transactions doesn't have any support for exchanging between assets without asset holders actively making and enforcing orders. Ripple maintains order books and does path finding to find a payment path between people who use different currencies or different issuers. A Ripple offer is a comittment the system can enforce.

This is key to Ripple because it forms an "invisible hand" that gives people what they mutually want. For example, say I get paid in dollars but prefer to hold gold. I can place an offer to buy gold. Not only can someone take that offer because they specifically want to sell gold for dollars, but they can take that offer without even realizing it if there's someone else who needs to sell gold and that helps make their payment work. For example, if gold is available cheaply for Euros and they have Euros, they can buy that gold, sell it me for dollars, and use those dollars to buy lunch without even realizing their transaction involved gold.

Because the entire system state is public in Ripple, you can always see who has issued what, who holds what, and who trusts what. This allows you to easily form very efficient transactions and to make rational judgments about what to do and who to trust. However, it also means a reduced level of privacy.

  • 2
    In Open-Transactions there is a distinction between the issuer and the transaction server. A transaction occurs between the sender, the recipient, and the transaction server (not the issuer, who is actually just another user.) Once the issuer has issued units into existence, he doesn't have to be involved in a transaction between other users who happen to be using his currency. Thus in OT, the issuer can't prevent the system from enforcing his promises. OT does have support for exchanging between assets. OT has markets and trading, just like you might see on MtGox or other exchanges. FYI. – Fellow Traveler Feb 16 '13 at 8:32
  • In the last paragraph you meant Ripple instead of Bitcoin, right? – o0'. Feb 16 '13 at 10:38
  • @FellowTraveler: The idea is right, I've just misused the term "issuer". OT solves the double spend problem by making each asset transferable by one and only one entity which is under no technical obligation to validate or transfer it. Is that correct? OT's exchanges don't have the invisible hand property that Ripple does because, among other things, offers are not commitments. – David Schwartz Feb 16 '13 at 14:58
  • 1
    @David: OT utilizes transaction servers. An issuer might issue his currency onto many transaction servers. (Federated...) It is true on OT, that any transaction must occur through a transaction server, (not through the issuer, who is just another user) and thus while the servers cannot perform fraudulent transactions, they can refuse to process a transaction. There's no incentive for them to do this, since transaction servers are normally in the business of earning transaction fees. But worst case, I can always just take my business to a different transaction server, if one refuses me. – Fellow Traveler Feb 17 '13 at 7:37
  • @FellowTraveler: If more than one server could process a transaction, what stops two of them from doing it? I thought that OT solved the double spend problem by having one and only one entity that could validate a given token. (This could be a misunderstanding on my part.) – David Schwartz Feb 17 '13 at 23:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.