Bitcoin Forum
November 10, 2024, 06:37:10 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Open-Transactions v0.72b release  (Read 4291 times)
fellowtraveler (OP)
Sr. Member
****
Offline Offline

Activity: 440
Merit: 251


View Profile
October 10, 2011, 12:24:41 AM
 #1


Hi all,

The latest release of Moneychanger / OT supports exchanging in-and-out of basket currencies.

Moneychanger v0.06 GUI:  https://github.com/FellowTraveler/Moneychanger
OT library v0.72b:            https://github.com/FellowTraveler/Open-Transactions/wiki

People might ask, "Didn't OT already do baskets?" Well yes. But now it can do such exchanges inside the GUI itself.
---------------------------------

The markets code is also pretty stable/solid. (Lots of debugging was done in markets for this latest release.)

-FT



co-founder, Monetas
creator, Open-Transactions
jtimon
Legendary
*
Offline Offline

Activity: 1372
Merit: 1002


View Profile WWW
October 10, 2011, 06:22:42 PM
 #2

Great! Thank you.

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?

2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
fellowtraveler (OP)
Sr. Member
****
Offline Offline

Activity: 440
Merit: 251


View Profile
October 10, 2011, 08:42:04 PM
 #3

Great! Thank you.

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 Tongue Voting groups probably before Ripple.)

co-founder, Monetas
creator, Open-Transactions
jtimon
Legendary
*
Offline Offline

Activity: 1372
Merit: 1002


View Profile WWW
October 10, 2011, 10:33:50 PM
 #4

Good to hear that. I completely understand that you have your own priorities in the OT development, specially in the time you spend on it.

But I think that no "credit lines" are needed. The only thing needed is a new order type for the market. The credit lines can be implemented at a higher level.
Some examples:

with credit lines:
A owes 10 usd to B

only with regular accounts:
A balance -30 Ausd +20 Busd
B balance +30 Ausd -20 Busd

Both are equivalent. If you implement credit lines you make sure you always simplify the above balances to:
A balance -10 Ausd
B 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.

2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
Gavin Andresen
Legendary
*
Offline Offline

Activity: 1652
Merit: 2301


Chief Scientist


View Profile WWW
October 10, 2011, 10:45:00 PM
 #5

This forum is for "Technical discussion about Satoshi's Bitcoin client and the Bitcoin network in general. No third-party sites/clients..."

Would Open Transactions discussions be more appropriate in Off-Topic or Alternative Clients ?

How often do you get the chance to work on a potentially world-changing project?
fellowtraveler (OP)
Sr. Member
****
Offline Offline

Activity: 440
Merit: 251


View Profile
October 11, 2011, 02:41:56 AM
 #6

This forum is for "Technical discussion about Satoshi's Bitcoin client and the Bitcoin network in general. No third-party sites/clients..."

Would Open Transactions discussions be more appropriate in Off-Topic or Alternative Clients ?


Sorry about that, feel free to move the thread to that forum.


co-founder, Monetas
creator, Open-Transactions
Retired
Sr. Member
****
Offline Offline

Activity: 490
Merit: 250


View Profile WWW
November 18, 2011, 12:57:12 PM
 #7

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?
fellowtraveler (OP)
Sr. Member
****
Offline Offline

Activity: 440
Merit: 251


View Profile
November 19, 2011, 06:34:57 AM
 #8

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 Traveler
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.

co-founder, Monetas
creator, Open-Transactions
hashcoin
Full Member
***
Offline Offline

Activity: 372
Merit: 114


View Profile
November 19, 2011, 07:23:45 AM
 #9

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:

http://webcache.googleusercontent.com/search?q=cache:http://szabo.best.vwh.net/securetitle.html

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.
fellowtraveler (OP)
Sr. Member
****
Offline Offline

Activity: 440
Merit: 251


View Profile
November 19, 2011, 09:09:06 AM
 #10

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:

http://webcache.googleusercontent.com/search?q=cache:http://szabo.best.vwh.net/securetitle.html

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.

-FT


co-founder, Monetas
creator, Open-Transactions
jtimon
Legendary
*
Offline Offline

Activity: 1372
Merit: 1002


View Profile WWW
November 23, 2011, 09:04:00 AM
 #11

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.

2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
fellowtraveler (OP)
Sr. Member
****
Offline Offline

Activity: 440
Merit: 251


View Profile
November 24, 2011, 09:12:38 AM
 #12

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.

FYI, the OT untraceable cash works through Chaumian blinding. (Blind signatures.)

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.

co-founder, Monetas
creator, Open-Transactions
jtimon
Legendary
*
Offline Offline

Activity: 1372
Merit: 1002


View Profile WWW
December 05, 2011, 10:15:42 AM
 #13

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.

This sounds great.

FYI, the OT untraceable cash works through Chaumian blinding. (Blind signatures.)
...

Thank you. I'll take I deeper look and see if I finally understand it.

2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
jaminunit
Member
**
Offline Offline

Activity: 132
Merit: 14

Co-Founder of TheStandard.io & Vaultoro.com


View Profile WWW
April 02, 2012, 06:46:12 AM
 #14

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?

Sorry if I'm totally missing the mark.

Cheers
Josh

I've been a Bitcoiner since 2010, and currently working on TheStandard.io, a next-generation stablecoin, and lending protocol.
The Standard Protocol Announcement thread
da2ce7
Legendary
*
Offline Offline

Activity: 1222
Merit: 1016


Live and Let Live


View Profile
April 02, 2012, 08:32:52 AM
 #15

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.

One off NP-Hard.
jaminunit
Member
**
Offline Offline

Activity: 132
Merit: 14

Co-Founder of TheStandard.io & Vaultoro.com


View Profile WWW
April 02, 2012, 10:10:52 AM
 #16

Thanks for the great reply da2ce7 That's cleared up allot.

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've been a Bitcoiner since 2010, and currently working on TheStandard.io, a next-generation stablecoin, and lending protocol.
The Standard Protocol Announcement thread
jtimon
Legendary
*
Offline Offline

Activity: 1372
Merit: 1002


View Profile WWW
April 02, 2012, 10:41:05 AM
 #17

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.

2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
jaminunit
Member
**
Offline Offline

Activity: 132
Merit: 14

Co-Founder of TheStandard.io & Vaultoro.com


View Profile WWW
April 02, 2012, 11:26:42 AM
 #18

Ohh!!! right! now I get it!!! The penny has dropped!

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 Cheesy

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.

I've been a Bitcoiner since 2010, and currently working on TheStandard.io, a next-generation stablecoin, and lending protocol.
The Standard Protocol Announcement thread
da2ce7
Legendary
*
Offline Offline

Activity: 1222
Merit: 1016


Live and Let Live


View Profile
April 03, 2012, 09:37:49 AM
 #19

Ohh!!! right! now I get it!!! The penny has dropped!

He. He... you will never be the same again...

No OT doesn’t have any built-in WOT system... however there is another active project for that:

http://privwiki.dreamhosters.com/wiki/Distributed_Web_of_Trust_Proposal_2


Ok... For you windows developers out there...  I've compiled the latest OT to Windows 32 bit, with full debugging symbols:  Here is the link to the binary:

https://github.com/downloads/da2ce7/Open-Transactions/OTBuild_Win32_Debug_03042012.7z

Warning... Still very-much pre-alpha for windows... your mileage may vary.

One off NP-Hard.
unclescrooge
aka Raphy
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1000


View Profile
June 22, 2012, 12:43:29 PM
 #20

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.


+1 (and... bump)

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!