Difference between revisions of "Open-Transactions"

From Organic Design wiki
(intro by fellowtravller)
m (The basic principles of OT)
Line 20: Line 20:
  
 
== The basic principles of OT ==
 
== The basic principles of OT ==
[[File:Ot-diagram.jpg|400px|right]]Here's a good intro by the creator, FellowTraveller from the [https://bitcointalk.org/index.php?topic=28565.msg363945#msg363945 Bitcoin Forum].
+
[[File:Ot-diagram.jpg|400px|right]]Here's a good intro by the developer of OT, FellowTraveller from the [https://bitcointalk.org/index.php?topic=28565.msg363945#msg363945 Bitcoin Forum].
 
=== Ricardian Contracts ===
 
=== Ricardian Contracts ===
 
The contracts are [[The Ricardian Contract|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.)
 
The contracts are [[The Ricardian Contract|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.)

Revision as of 17:00, 12 February 2013

The Expulsion From The Temple.jpg

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

The basic principles of OT

Ot-diagram.jpg

Here's a good intro by the developer of OT, 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

Ripple

Ripple is a concept that can replace the federated server model. more soon...

Resources

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

Info.svg This category contains articles for each of the free software we use as part of the Organic Design system. For a more complete list of free software, see our local list, the Free Software Directory, List of free software packages or List of free software project directories.


See also the Free software brochure :-)

See also