Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 195 lines (140 sloc) 9.366 kb
9315481b »
2011-10-05 Fixed a bug in exchangeBasket.
1 WHAT IS 'Open Transactions' ?
2 ====================================
3
4 Open-Transactions is a solid, easy-to-use, Financial Crypto and Digital Cash LIBRARY, including a working SERVER, API, CLI, and TEST-GUI.
5
6 ## WHAT DOES IT DO?
7
8 Screenshots (of the TEST GUI):
9 https://github.com/FellowTraveler/Moneychanger
10
11 * Open-Transactions allows users to issue and manipulate digital assets. Users may create many pseudonyms (public keys), each of which may own asset accounts of various types. 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.
12 * 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. Everyone already has an intuitive understanding of these financial instruments, because we use them regularly in our normal daily lives.
13 * 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.
14 * 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.
15 * 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.
dd89eda2 »
2011-12-17 Debugging ZMQ issue.
16 * NEW: Smart Contracts (scriptable clauses.)
17 * NEW: Client-side scripting, with full access to the OT Client API.
9315481b »
2011-10-05 Fixed a bug in exchangeBasket.
18
19 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.
20
21 ## IS IT CENTRALIZED?
22
23 The vision is not of a central server that you must trust.
24 Rather, the vision is of federated servers you don't have to trust.
25
26 ====================================
27
28 ## RESOURCES
29
30 Video Walkthru:
31 Part 1: http://vimeo.com/28141679
32 Part 2: http://vimeo.com/28142096
33
34 Radio Interview:
35 Part 1: http://agoristradio.com/?p=234
36 Part 2: http://agoristradio.com/?p=246
37
38 Mailing list:
39 open-transactions-subscribe@rayservers.com
40
41 Diagrams:
42 Architecture Overview: http://opentransact.nevermeta.com/OT%20Diagram.jpg
43
44 Fully-Anonymous (cash only): http://opentransact.nevermeta.com/OT-Anon-CashOnly.jpg
45
46 Pseudo-Anonymous (using accounts): http://opentransact.nevermeta.com/OT-Pseudonym-Instruments.jpg
47
48 ====================================
49
50 Please see the project page:
51 http://github.com/FellowTraveler/Open-Transactions/wiki
52
53 Downloads:
54 Core: http://github.com/FellowTraveler/Open-Transactions/downloads
55 GUI: http://github.com/FellowTraveler/Moneychanger/downloads
56
57 Use cases:
58 http://github.com/FellowTraveler/Open-Transactions/wiki/Use-Cases
59
60 FAQ:
61 http://github.com/FellowTraveler/Open-Transactions/wiki/FAQ
62
63 Business cases:
64 http://github.com/FellowTraveler/Open-Transactions/wiki/Business-Cases
65
66 Release notes:
67 http://github.com/FellowTraveler/Open-Transactions/wiki/Release-Notes
68
69
70 THIS IS ONLY EXPERIMENTAL SOFTWARE AND IS NOT YET READY FOR PRIME TIME.
71
72
73 "Seeking developers to contribute by writing client software and
74 doing other integrations! I will support you on the OT API. Let's
75 make this happen!" -Fellow Traveler
76
77
78 ====================================
79
80
81 The server itself is a transaction processor in the cypherpunk
82 tradition. In more detail:
83
84 -- Many financial instruments are supported: Users can write
85 cheques, purchase cashier's cheques ('vouchers'), and withdraw in
86 untraceable digital cash. The software uses Chaumian-style, blinded
87 tokens courtesy of the Lucre library by Ben Laurie.
88
89 -- It's like PGP FOR MONEY. The idea is to have many cash
90 algorithms, not just Lucre. I'd like to add Chaum's version, Brands'
91 version, etc. So that, just like PGP, the software should support as
92 many of the top algorithms as possible, and make it easy to swap
93 them out when necessary.
94
95 -- User accounts are pseudonymous. A user account is a public key.
96 (This is like PKTP.) You can open as many user accounts as you want.
97 Full anonymity is possible only for 'cash-only' transactions (where
98 users only perform token exchanges), whereas pseudonymity means that
99 transactions can be linked to the key that signed them. (While the
100 real life identity of the owner is hidden, continuity of reputation
101 becomes possible when using pseudonyms.)
102
103 -- ANY USER CAN ISSUE new digital currencies and digital asset
104 types, by uploading the new currency contract to the server. (This
105 functionality is comparable to Ricardo, the transaction server by
106 IanG.)
107
108 -- No Account History. Client and server are able to conduct
109 transactions, and agree on current holdings, via signed receipts,
110 without the need to store any transaction history (beyond the
111 last receipt itself.) See Bill St. Clair's excellent Truledger
112 (http://truledger.com/) for another example of this concept.
113
114 -- The server cannot forge your signature, and thus cannot change
115 your balance without your signed permission, (since it can't falsify
116 any receipt.) The server is likewise on the hook with the issuer, for
117 the same reason. This is because the receipt IS the account, and
118 because the server cannot sign the receipt until you have signed it
119 first--and the server cannot forge your signature.
120
121 -- Open Transactions also features MARKETS. Any two asset types can
122 be traded against each other. The markets are full-featured and
123 include LIMIT ORDERS, STOP ORDERS, FILL-or-KILL orders, DAY orders
124 (date ranges), and stop limits.
125
126 -- Open Transactions also supports BASKET CURRENCIES. Users can
127 define their own, and the server handles the process of exchanging
128 in and out of basket accounts. Baskets are treated by the software
129 like any other asset type, (you can open accounts, transfer funds,
130 withdraw cash, write cheques, and even trade basket currencies on
131 markets.)
132
133 -- Open Transactions also supports PAYMENT PLANS. Users can sign
134 contracts with each other, and the server will carry out the terms
135 and implement the payment plan. (A future goal is to issue new asset
136 types based on revenue from payment plans--so they can also be
137 traded on markets.)
138
139 -- CONTRACTS, in general, are very important to Open Transactions;
140 they are the building block of the entire library. Open Transactions
141 uses a Ricardian-style contract, and all the various instruments,
142 data files, and messages resemble PGP-signed XML files. All objects
143 serialize to a string.
144
dddff19a »
2011-12-13 Smart contracts are working!
145 -- SMART CONTRACTS are now supported (scriptable clauses). These
dd89eda2 »
2011-12-17 Debugging ZMQ issue.
146 make it possible for users to write their own financial instruments,
dddff19a »
2011-12-13 Smart contracts are working!
147 without having to change the OT code itself. To read more about this
148 concept, see Nick Szabo: http://www.erights.org/smart-contracts/index.html
149
9315481b »
2011-10-05 Fixed a bug in exchangeBasket.
150 -- The philosophy of the software is based around the SEPARATION OF
151 POWERS (issuers and transaction servers being separate entities --
152 See Loom for another example of this.) as well as the DISTRIBUTION
153 OF RISK. For example, assets of a single type can be distributed
154 across many many servers, AND a certain asset type can also be
155 distributed across multiple issuers (via basket currencies.)
156
157 -- Future (possible or planned) instruments include:
158 Interest-bearing bonds, dividend-paying stocks, real bills, and
159 collateralized debt obligations. These features aren't available yet,
160 but they are easy to add given the existing OT infrastructure.
161
162 -- All communications are secured with OpenSSL. All messages are
163 also signed and encrypted. All transactions require signatures from
164 relevant parties including the server.
165
166 -- Open Transactions is free software (GNU), written in C++,
167 object-oriented, and includes a high-level API in Java, Ruby,
168 Python, C, D, C++, Obj-C, C#, Lisp, Perl, PHP, and Tcl. (Also
24baa7c6 »
2011-10-29 Beginning Scripts / SmartContracts work...
169 supporting JRuby, Jython, Groovy, and any other language available
170 on the JVM.)
9315481b »
2011-10-05 Fixed a bug in exchangeBasket.
171
172 -- The software is fully cross-platform: Linux, Mac OS X, FreeBSD,
173 Android, and Windows are supported with makefiles, project files,
174 and instructions.
175
176 -- The library is transfer-protocol neutral as well as storage
177 neutral, and could be utilized across a variety of different
178 transfer protocols and storage systems. The current test server and
179 client use the ZeroMQ library for messages, and a storage abstraction
180 is employed to make it easy for you to swap in any storage method
181 you need. (Filesystem by default, but you can store anywhere.)
182
183 The intention is for this software to be integrated as many places
184 as possible... Games, digital cash wallets, distributed data stores,
185 secure voip apps, anonymous bit torrent networks, mixnets,
186 remailers, nym servers, etc. There are many other potential uses.
187
188 This product includes software developed by Ben Laurie for use in
189 the Lucre project.
190
191
192
193
194
Something went wrong with that request. Please try again.