<p>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.</p>

<p>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.</p>

<p>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.</p>

<p>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.</p>

<p>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.</p>

<p>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.</p>

CC BY-SA 3.0
2013-02-16T08:32:35.833Z
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
CC BY-SA 3.0
2013-02-16T10:38:33.030Z
In the last paragraph you meant Ripple instead of Bitcoin, right?
o0'.
CC BY-SA 3.0
2013-02-16T14:58:24.900Z
@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
CC BY-SA 3.0
2013-02-17T07:37:40.717Z
@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
CC BY-SA 3.0
2013-02-17T23:16:25.587Z
@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
CC BY-SA 3.0
2013-02-18T11:01:46.107Z
The currency issuer *cannot* prevent the OT servers from processing
transactions, since they are separate entities. An OT server, meanwhile, cannot prevent
its users from performing transactions, since they can just use another server instead. You are right that
OT always redeems an instrument using the same OT server it was drawn on (just as a web browser
will connect to the same web server that's listed in a URL being rendered.) But no one is ever held *captive* to an OT server --
even if it disappears entirely, everyone still has their receipts, and the issuer still has the gold.
Fellow Traveler
CC BY-SA 3.0
2013-02-18T14:51:57.817Z
Aren't the receipts are useless without the cooperation of the server they were drawn on? There's no way to tell from a receipt whether the receipt holder still holds the asset or transferred it to someone else.
David Schwartz
CC BY-SA 3.0
2013-02-18T16:07:51.653Z
My last receipt contains the server's signature on my account balance. My balance cannot change except where I sign to authorize it. There is a copy of this receipt on client and server; it enables both to prove the state of things without storing any other history. The currency is issued on multiple servers, and the issuer already should have access to audit data for them all (in order to prevent inflation.) He also already has accounts on all servers where his currency is issued, and can move funds between servers, and even re-issue funds if necessary (like when a server up and disappears.)
Fellow Traveler
CC BY-SA 3.0
2013-02-18T16:12:50.570Z
Can you contact me elsewhere so we can hash this out and I can improve my answer? (Sorry I missed you in SF Saturday.)
David Schwartz
CC BY-SA 3.0
2013-06-30T01:29:43.603Z
I'm interested in any updates you have to this answer...
makerofthings7
CC BY-SA 3.0
2013-02-15T11:40:28.743Z
2013-02-16T15:02:20.373Z
2013-02-16T15:02:20.373Z
David Schwartz
<p>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:</p>

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

<p>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.</p>

<p>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.</p>

<hr>

<p>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.)</p>

<p>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.</p>

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

<p>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.</p>

<p>BTW, it wouldn't be too hard to build Ripple into OT, I already worked it out in my notes here: <a href="https://github.com/FellowTraveler/Open-Transactions/wiki/Markets" rel="nofollow">https://github.com/FellowTraveler/Open-Transactions/wiki/Markets</a></p>

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

<p>*edit: article describing the trust differences between OT and Ripple: <a href="http://opentransactions.org/forum/index.php?topic=3759.0" rel="nofollow">http://opentransactions.org/forum/index.php?topic=3759.0</a></p>

CC BY-SA 3.0
2013-02-16T09:44:09.597Z
2014-01-21T10:56:49.183Z
2014-01-21T10:56:49.183Z
Fellow Traveler
<p>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.</p>

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

<ripple><open-transactions>
What is the different between Open Transactions and Ripple?
MaxSan
# What is the different between Open Transactions and Ripple?

(Asked by: username_0 on 2013-02-15)

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?

**Tags:** ripple, open-transactions


---

## 2 answers

### Answer by username_2 on 2013-02-16. Score: 7 | Accepted answer

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/username_2/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>


---

### Answer by username_1 on 2013-02-15. Score: 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.

> **Comments:**
> **username_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.  
> **username_3**: In the last paragraph you meant Ripple instead of Bitcoin, right?  
> **username_1**: @username_2: 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.  
> **username_2**: @username_1: 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.  
> **username_1**: @username_2: 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.)  
> **username_2**: The currency issuer *cannot* prevent the OT servers from processing transactions, since they are separate entities. An OT server, meanwhile, cannot prevent its users from performing transactions, since they can just use another server instead. You are right that OT always redeems an instrument using the same OT server it was drawn on (just as a web browser will connect to the same web server that's listed in a URL being rendered.) But no one is ever held *captive* to an OT server -- even if it disappears entirely, everyone still has their receipts, and the issuer still has the gold.  
> **username_1**: Aren't the receipts are useless without the cooperation of the server they were drawn on? There's no way to tell from a receipt whether the receipt holder still holds the asset or transferred it to someone else.  
> **username_2**: My last receipt contains the server's signature on my account balance. My balance cannot change except where I sign to authorize it. There is a copy of this receipt on client and server; it enables both to prove the state of things without storing any other history. The currency is issued on multiple servers, and the issuer already should have access to audit data for them all (in order to prevent inflation.) He also already has accounts on all servers where his currency is issued, and can move funds between servers, and even re-issue funds if necessary (like when a server up and disappears.)  
> **username_1**: Can you contact me elsewhere so we can hash this out and I can improve my answer? (Sorry I missed you in SF Saturday.)  
> **username_4**: I'm interested in any updates you have to this answer...  

---

