Open-Transactions
- Open-Transactions allows users to issue and manipulate digital assets. Users may create pseudonyms (public keys), issue currencies, and create asset accounts. Users can transfer digital assets securely between accounts (even a server cannot change balances or forge transactions.) Users can also operate "cash-only" (without accounts) for maximum anonymity.
- Open-Transactions supports a range of financial instruments, such as cheques, vouchers, and untraceable digital cash. These are all analogous to the same financial instruments that we all use at normal banks today.
- Open-Transactions also implements higher-level, contract-based transactions such as payment plans and markets with trades. The markets on Open-Transactions support market orders, limit orders, fill-or-kill orders, day orders, stop orders, and stop limits, just like trading on a real market. OT also supports basket currencies.
- All of this is accomplished in such a way that all parties are able to prove, at all times, which transactions have cleared and which instruments are authorized, without having to store their entire transaction history, but instead by merely keeping the last signed receipt.
- Without the special mechanism that makes this possible, all parties would otherwise be forced to store all receipts forever, just to prove their story in the event of a dispute. (Any system where parties cannot "prove their story" will eventually break down and fail.) Thankfully, this is not a problem in Open-Transactions, which proves everything using only the last signed receipt.
- NEW: Smart Contracts (scriptable clauses.)
- NEW: Client-side scripting, with full access to the OT Client API.
The real beauty of Open-Transactions is the as-yet-unwritten future of new ideas that you can build with it, and the future liberty and security of your children that you can help to protect by doing so, in a very real and tangible way.
Features: Untraceable digital cash, destruction of account history, Ricardian Contracts, a large variety of financial instruments, Smart Contracts (scriptable clauses), Markets, Basket currencies, unforgeable account balances, and more.
Contents
The basic principles of OT
Here's a good intro by the creator, FellowTraveller from the Bitcoin Forum.
Ricardian Contracts
The contracts are Ricardian-style contracts, and they are used to denote the servers as well as the asset types. Any new currency on OT is issued by the issuer uploading that currency to any OT server. (The currency will have the same ID across all servers.) You can see a sample currency contract here. The functionality of OT is similar to Ricardo, which is described here (with pictures!), and here is the Ian Grigg URL on Ricardian Contracts.
Triple-Signed Receipts
Triple-Signed Receipts are employed so that servers are unable to forge transactions or change balances. (The server cannot forge your signature on the receipt. The receipt is the account.) The core transaction engine is designed in this way, so that the same protection is afforded to all instruments (such as market receipts, cheque receipts, etc.)
Destruction of Account History
For its core account system and financial instruments, Open-Transactions uses balance agreement and transaction numbers on every receipt, in such a way that the parties to any transaction can prove their balances, and which instruments are valid, without having to store their entire transaction history, and instead by simply producing their last signed receipt. I describe how it all works right here. A similar protocol (Truledger) is very well described here, with examples.
Untraceable digital cash
Open Transactions uses Chaumian Blinding to offer the untraceable cash. See a sample piece of OT cash and an article here. There are various digital cash libraries floating around out there. Currently I am using Lucre.
Many Financial Instruments
Cheques, Cash, Markets, Payment Plans (recurring), Withdrawals and Deposits, Account-to-account transfer, Receipts, Inboxes, Contracts, etc. More coming. See this for more details.
Federated Servers
Instead of a centralized model, OT tries to federate its services wherever possible. For example:
- The same currency could be issued at multiple servers.
- The same currency would have the same ID across all servers.
- The same Nym would have the same ID across all servers.
- Server-to-server transfers are possible through the issuer, since the issuer already has a presence on every server where he's issued.
- Users can trade in basket currencies, which distribute risk across multiple issuers.
- (coming soon) OT Servers will implement voting pools for Bitcoin, meaning a hacker could not steal your Bitcoin from a server unless he'd also hacked 90 of the other servers in the pool, and gotten their private keys and their passphrases.
- A clever wallet software could distribute the assets of a single "account" across multiple servers, and abstract that away in the user interface.
Article: https://github.com/FellowTraveler/Open-Transactions/wiki/CENTRALIZED Diagram: http://billstclair.com/ot/ot-diagram.jpg
So if you were to ask me the principles behind Open Transactions, in a nutshell I'd say:
- Ricardian Contracts
- Signed Receipts
- Unforgeable Balances
- Destruction of Account History
- Chaumian Blinding (Untraceable Cash)
- Many Financial Instruments
- Federated Servers
News & Radio
- 2012-06-03: Open-Transactions v0.82.a has been released, for the first time with AUTOMAKE support
- 2011-04-18: Radio Interview on Agorist Radio (Part 1), (Part 2)
Ripple
Ripple is a concept that can replace the federated server model. more soon...
Resources
- Video Walkthru (1 of 2)
- Video Walkthru (2 of 2)
- Architecture overview diagram
- Diagram: fully-Anonymous (cash only)
- Diagram: pseudo-Anonymous (using accounts)
Plans for incorporating Bitcoin
Bitcoin is special because there is no central issuer. As a result, it will operate as a glue between OT servers, with users converting to BTC (on OT markets), taking the BTC to another server, and converting back again. Bitcoins are thus the "Universal Medium" and good wallet software for OT will probably have Bitcoin client software built it, along with the ability to convert in and out easily from real Bitcoins into OT accounts backed in BTC.
Decentralisation
Smart contracts
Open-Transactions has recently had smart contracts implemented, using the ChaiScript scripting language which embeds into C++.
See also
- FellowTraveler/Open-Transactions
- Open Transactions wiki
- Moneychanger - Java client built on top of Open Transactions
- The Ricardian Contract - this is the foundation concept of Open Transactions even though the actual Ricardian Contract isn't used
- Contract
- Lucre: Anonymous Electronic Tokens v1.8 - Open Transactions uses the Lucre library
- Nick Szabo — The Idea of Smart Contracts
- Project discussion on i2p2.de - (historical)
- Open Transactions on SecondRealm
- Bitcoin
- Online transaction systems
- Money
- Cryptocurrency
- Digital economy
See also the Free software brochure :-)
See also
- Open Source - our article on open source
- Free software - free software we use
- Browse the Web and P2P networks with Deepnet Explorer
- Best software for geeks
- Wikipedia:Software
- Free Software Foundation