Are you considering my "set of orders to be executed atomically" suggestion for markets that would enable OT to be used as an alternative ripple implementation?

1) Absolutely. At some point in the future OT will provide an implementation of Ripple, including atomic ripplepays.

2) However it's a bigger job than you might realize. There needs to be a few classes added. For example, one for managing a Nym's various "creditlines." (The various issuer accounts a Nym will have for each asset type, as well as his own accounts denominated in the creditlines issued by his friends.) The object will be responsible for managing those accounts on behalf of each user, sending credit requests back and forth between the users, etc. There will also need to be a class for managing a Nym's Ripple offers and finding the paths for the Ripplepays. Such a class will probably make use of the existing OT market code, and will perform the atomic transactions that you speak of.

3) Coming ASAP. (I do this stuff in my spare time so it might take a few months Voting groups probably before Ripple.)

Both are equivalent. If you implement credit lines you make sure you always simplify the above balances to:A balance -10 AusdB balance +10 Ausd

But I don't think that's really important and as said it can be implemented at a higher level.What I fear is that maybe two OT servers can't make two different market trades atomically.Maybe I should study the code a little bit to find out what's feasible and what's not with the current OT infrastructure.But I really think that the only things needed to implement ripple are:

1) Enable every user to issue its own currency (already done in OT)2) Implement a market to exchange these currencies (already done in OT)3) Enable an atomic transaction with a collection of trades. This operation can allow you to exchange a currency you issue for a currency the recipient (the one you want to pay) issues. Or better, for a receipt that he has been paid with its own currency.

Thread added to my notification list. The work you are doing is awesome: I really believe this is much better than the original release.When is the first stable release scheduled to be published?

Hi Retired,

Thank you for your kind words. The software is a work-in-progress, and has been a personal project, so I don't really have any schedules or timetables. I work on OT when I can.

I encourage you to fork Moneychanger, or develop a Chrome plugin, or Android app, for OT. There is an endless mountain of work.

A shout-out to da2ce7 who has recently been contributing pull requests to OT and developing related projects: https://github.com/da2ce7

-Fellow TravelerP.S. My latest project, which I will be announcing soon, is a full implementation of smart contracts, agnostic to scripting language, which will allow users to design their own financial instruments by adding scripted clauses to their contracts. If you are curious to see the progress, look at the github code for OT, there is a "smartcontracts" branch where I have been checking in commits every night (lately.) It's not done yet.

IMO the thing that is needed for all these things (OT, iWAT, ripple) is to decouple the ISSUER from the OWNERSHIP REGISTRY. Transfers should not require any contact with the original issuer. Until this happens these things are not going to take off IMO, because the kind of people who have interesting things to offer are unlikely to be the same set of people capable of running highly-available internet services. The right way to do it is via byzantine quorum as explained by Szabo:

IMO the thing that is needed for all these things (OT, iWAT, ripple) is to decouple the ISSUER from the OWNERSHIP REGISTRY. Transfers should not require any contact with the original issuer. Until this happens these things are not going to take off IMO, because the kind of people who have interesting things to offer are unlikely to be the same set of people capable of running highly-available internet services. The right way to do it is via byzantine quorum as explained by Szabo:

I should be able to issue certificates to people and then go offline, only to return when the certificate is redeemed back to me. I shouldn't need to sign every transfer.

FYI, this is accurate for OT.

The issuer sends a signed message to OT, issuing the currency. The issuer can then go offline while users continue transacting the currency without him.

The issuer could issue the same currency on multiple OT servers. It's like Diaspora: each user has their own data, and can switch to any Diaspora seed they wish, and while there are multiple seeds, the users only see a single, giant social web, since the connections to the various seeds are handled behind the scenes. OT is the same way. The OT wallet may redeem one instrument here, and another there, which is intended to be as seamless to the user as possible. (Still a true OT client has yet to be written, since Moneychanger is only a test client, and does not have the GUI flow that a real client will have.)

The end result of any transaction is a signed receipt in the hands of the user, which can be redeemed at the issuer in the event that the OT transaction server disappears, and re-issued onto a new server, if you wish.

Every party (the server, the issuer, and the other users) is able to prove which instruments are valid, and which transactions have closed, as well as his current balance, using only his last signed receipt.

The server cannot forge any of your transactions, or change your balance. (YOU must sign first.)

-----------------------

I think the only possible improvement, in terms of decentralized registration of ownership, is to use a blockchain, such as Bitcoin or Namecoin, which I think is the best way to do this.

But in that case, you also lose certain capabilities inherent in OT, such as untraceable cash, and instant finality of settlement.

Therefore I prefer to use Bitcoin / Namecoin as layers, just as OT is just another layer, in a larger overall solution. In fact, Bitcoin will solve very specific problems for OT that are not, so far, solvable in any other way.

P.S. My latest project, which I will be announcing soon, is a full implementation of smart contracts, agnostic to scripting language, which will allow users to design their own financial instruments by adding scripted clauses to their contracts. If you are curious to see the progress, look at the github code for OT, there is a "smartcontracts" branch where I have been checking in commits every night (lately.) It's not done yet.

Great! I proposed to add an scripting language similar to bitcoin's for the decentralized ripple protocol.I've been thinking lately that a common language that could be useful for other systems would be preferable. I focused on bitcoin and ripple since I don't really understand how OT untraceable cash works yet.Probably abstracting the scripting language would be better. Maybe a higher level language compilable to different languages (like bitcoin scripts)?Thank you for your work.

P.S. My latest project, which I will be announcing soon, is a full implementation of smart contracts, agnostic to scripting language, which will allow users to design their own financial instruments by adding scripted clauses to their contracts. If you are curious to see the progress, look at the github code for OT, there is a "smartcontracts" branch where I have been checking in commits every night (lately.) It's not done yet.

Great! I proposed to add an scripting language similar to bitcoin's for the decentralized ripple protocol.I've been thinking lately that a common language that could be useful for other systems would be preferable. I focused on bitcoin and ripple since I don't really understand how OT untraceable cash works yet.Probably abstracting the scripting language would be better. Maybe a higher level language compilable to different languages (like bitcoin scripts)?Thank you for your work.

The smart contracts (coming soon) are coded such that it's very easy to swap in different scripting languages. So if you want to play around with that on OT, you will be able to do so.

So for example, if you want to withdraw, say, 100 clams, then you send a withdrawal request, including a random ID that's been blinded using the 100 clam key (public key) for that mint.

The server doesn't know the ID for the token, since you blinded it (encrypted it) before sending the request. The server just signs it using the 100 clam (private key) for the clams mint. The server also removes 100 clams from your account.

When you receive the reply, your client software (moneychanger, for example, or any software using the OT API) then UNBLINDS it using the (public key) for the clams mint.

You now have a valid, server-signed 100 clam token. The server does not know the ID for that token (since it was blinded when the server signed it.)

When the 100 clam token is redeemed (by whoever I paid it to), then server is able to verify that the signature on the token is valid. However, the server is unable to see where the token originally came from, since the server is seeing the ID for the first time.

After redemption, the ID is then stored in a spent-token database in order to prevent anyone from spending it again.

Once the mint expires (they rotate) then you can delete the spent token database for that series, which eliminates any need to store the (growing) spent token database forever. (No one will run a server if they have to store a growing database forever....)

I'm currently using Ben Laurie's Lucre library to do the actual blinding. You can read the white paper here: http://anoncvs.aldigital.co.uk/lucre/

Someday soon I will also add credlib, since OT is designed to make it easy to add new algorithms.

I love love love this concept! I think a decentralized exchange is the biggest need for bitcoin.

one question.

I understand this working for bitcoin and game tokens because they are virtual but I dont understand how it works wth silver grams (like in your demo) how does this work with physical currencies? Do I send the physical silver after the transaction is complete on open transactions? how do you stop people from ripping you off by not sending their end? is there a contract rating system built in?

Bitcoin + Open Transactions + Web Of Trust are the building blocks for a complete replacement of the traditional finance industry. They each solve a different problem.

Bitcoin:Provides: Low-Trust transfer of Value between two parties.Needs: Way to transfer ownership of real-life goods and service contracts. (Open Transactions)Needs: Trust network so people can have more confidence that they are dealing with somebody whom is trusted and respected. (Web-Of-Trust)

Open Transactions:Provides: Tools to transfer the ownership of anything that can be described in a contract.Needs: Low-Trust transfer of value, without the risk of counter-party. (Bitcoin)Needs: Trust Network, so the contracts can have some ‘reputation’ backing them. Web-Of-Trust

Web-Of-Trust:Provides: Reputation system so there is consequences if somebody scams (nobody will trade with them), and good reputations have value.Needs: Low-Trust transfer of value, so parties with no reputation can build a good reputation: (Bitcoin)Needs: Formal way to describe contracts, that can describe the transfer of ownership in a un-deniable way: (Open Transactions)

Each technology provides a solution to a different problem… When working together, they provide the basis for a very secure, strong, and comprehensive financial system.

But what happens in open transactions when Person A sends Person B 100 oz of silver and that's all sorted in open transactions but the silver never arrives. But your open transactions is down 100 oz of silver. How do you rectify it?

Also does this make open transactions purely an accounting tool to keep track of what cash you have and what is owed to you?

I haven't read the code, just part of the wiki, but let's see if I can clear your doubts.

OT allows Minters to issue untraceable tokens that can represent currencies.The user of a currency must trust the minter (the person who stores the actual silver backing the currency).The point is that the users don't have to trust the server and can prove what they're owed at any time even if the server explodes.

I know they're working on reducing the needed trust for minters that issue bitcoin backed tokens, but you just can't do the same things with silver.

So I could have 2000 KG of silver in a vault and have a good online reputation and then hand out certificates of ownership to other people. who can claim it at anytime but also trade the certificates on to other people that trust me as a holder.

Is there anything stopping minters from practicing fractional reserve banking? I guess just their online reputation and minters could offer 3rd party auditing like Bullion Vault does.

Sorry answering my own questions

So will OT have a web-of-trust or feedback/ebay style mechanism to it?

Well done to the devs of this! I think this has the potential of being the mot disruptive tech since bitcoin it's self.

I haven't read the code, just part of the wiki, but let's see if I can clear your doubts.

OT allows Minters to issue untraceable tokens that can represent currencies.The user of a currency must trust the minter (the person who stores the actual silver backing the currency).The point is that the users don't have to trust the server and can prove what they're owed at any time even if the server explodes.

I know they're working on reducing the needed trust for minters that issue bitcoin backed tokens, but you just can't do the same things with silver.

Bitcoin + Open Transactions + Web Of Trust are the building blocks for a complete replacement of the traditional finance industry. They each solve a different problem.

Bitcoin:Provides: Low-Trust transfer of Value between two parties.Needs: Way to transfer ownership of real-life goods and service contracts. (Open Transactions)Needs: Trust network so people can have more confidence that they are dealing with somebody whom is trusted and respected. (Web-Of-Trust)

Open Transactions:Provides: Tools to transfer the ownership of anything that can be described in a contract.Needs: Low-Trust transfer of value, without the risk of counter-party. (Bitcoin)Needs: Trust Network, so the contracts can have some ‘reputation’ backing them. Web-Of-Trust

Web-Of-Trust:Provides: Reputation system so there is consequences if somebody scams (nobody will trade with them), and good reputations have value.Needs: Low-Trust transfer of value, so parties with no reputation can build a good reputation: (Bitcoin)Needs: Formal way to describe contracts, that can describe the transfer of ownership in a un-deniable way: (Open Transactions)

Each technology provides a solution to a different problem… When working together, they provide the basis for a very secure, strong, and comprehensive financial system.