<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://opentransactions.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RAM</id>
	<title>Open Transactions - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://opentransactions.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RAM"/>
	<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/Special:Contributions/RAM"/>
	<updated>2026-04-28T23:05:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.2</generator>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=About&amp;diff=2115</id>
		<title>About</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=About&amp;diff=2115"/>
		<updated>2014-05-27T16:33:16Z</updated>

		<summary type="html">&lt;p&gt;RAM: Reverted edits by FellowTraveler (talk) to last revision by Murrekatt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;plainlinks&amp;quot;&amp;gt;&lt;br /&gt;
{| id=&amp;quot;mp-topbanner&amp;quot; style=&amp;quot;width:100%; background:#f6f6f6; margin-top:1.2em; border:1px solid #ddd;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:61%; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;!--        &amp;quot;Welcome to Open-Transactions&amp;quot;        --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; border:none; background:none;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; white-space:nowrap; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:162%; border:none; margin:0; padding:.1em; color:#000;&amp;quot;&amp;gt;About the Open-Transactions project.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;top:+0.2em; font-size:95%;&amp;quot;&amp;gt;Financial cryptography software.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;articlecount&amp;quot; style=&amp;quot;width:100%; text-align:center; font-size:85%;&amp;quot;&amp;gt;[[Special:Statistics|{{NUMBEROFARTICLES}}]] [[Special:Allpages|articles]].&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; max-width: 550px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''What is Open-Transactions?'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Open-Transactions is an [[Use Cases|easy-to-use]], financial crypto, [[Sample Cash|digital cash]] and transaction [[List of Classes|library]].&lt;br /&gt;
* Open-Transactions includes a [[API|client API]], a working [[Otserver|server]], a [[TestGUI|GUI test wallet]] (in Java) and a [[opentxs|command-line]] wallet utility.&lt;br /&gt;
* Open-Transactions features: a large variety of financial instruments, markets, basket currencies, unforgeable account balances, digital cash, destruction of account history, [http://iang.org/papers/ricardian_contract.html Ricardian contracts], Smart Contracts (scriptable clauses), and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''What does it do?'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Open-Transactions allows users to issue and manipulate digital assets.&lt;br /&gt;
* Any issuer can sign and distribute new [[Sample Currency Contract|currency contracts]] in order to create new digital asset types.&lt;br /&gt;
* Users may create many ''pseudonyms'' (public keys), each of which may own ''asset accounts'' of various types, on OT servers.&lt;br /&gt;
* Users can operate '''&amp;amp;quot;cash-only&amp;amp;quot;''' ''(without accounts)'' for maximum anonymity, using '''[[Sample Cash|unlinkable digital cash]]'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Financial Instruments'''&amp;lt;/big&amp;gt;&lt;br /&gt;
* Users can transfer digital assets ''securely and provably'', with [[Triple-Signed Receipts|receipts]] signed by all parties.&lt;br /&gt;
* '''Even an OT server cannot change balances, or forge transactions--since it cannot forge your signature on your receipt.'''&lt;br /&gt;
* Open-Transactions supports a range of '''[[Instruments|financial instruments]]''' such as account transfer, '''[[Sample-Cheque|cheques]]''' and vouchers (aka &amp;amp;quot;cashier's cheques&amp;amp;quot; or &amp;amp;quot;banker's cheques&amp;amp;quot;), in addition to cash.&lt;br /&gt;
* These instruments 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Markets, Basket Currencies, and Smart Contracts'''&amp;lt;/big&amp;gt;&lt;br /&gt;
* Open-Transactions also implements higher-level, '''contract-based transactions''' such as '''payment plans''' and '''markets with trades'''.&lt;br /&gt;
* The [[Markets|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.&lt;br /&gt;
* '''Basket currencies''' are also supported, as well as payment plans (recurring payments.)&lt;br /&gt;
* [[Smart contracts]]: Multi-party agreements with scriptable clauses... including hooks, callbacks, internal state, etc.&lt;br /&gt;
* [[Client-side scripting]]: &amp;lt;code&amp;gt;!/usr/bin/env ot&amp;lt;/code&amp;gt; The entire (mostly) high and low level OT API is available within your scripts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Triple Signed Receipts'''&amp;lt;/big&amp;gt;&lt;br /&gt;
* 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'''.&lt;br /&gt;
* Without the special mechanism that makes this possible, ''all parties would otherwise be forced to store all receipts forever''.&lt;br /&gt;
* Nyms and Asset Types have consistent IDs across all OT servers, since the ID is formed by hashing the relevant contract or public key.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; max-width: 300px; margin: -20px 10px 0 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Diagrams ==&lt;br /&gt;
&lt;br /&gt;
[http://billstclair.com/ot/ot-diagram.jpg Architecture Overview]&lt;br /&gt;
&lt;br /&gt;
[http://billstclair.com/ot/OT-Anon-CashOnly.jpg Fully-Anonymous (cash only)]&lt;br /&gt;
&lt;br /&gt;
[http://billstclair.com/ot/OT-Pseudonym-Instruments.jpg Pseudo-Anonymous (using accounts)]&lt;br /&gt;
 &lt;br /&gt;
== Radio Interviews ==&lt;br /&gt;
&lt;br /&gt;
[http://agoristradio.com/?p=234 Part 1, courtesy of AgoristRadio]&lt;br /&gt;
&lt;br /&gt;
[http://agoristradio.com/?p=246 Part 2, courtesy of AgoristRadio]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=vtJcUM5-TeA Interview with &amp;quot;Let's Talk Bitcoin&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=HSgpStCTw2g Interview with FutureMoneyTrends.com]&lt;br /&gt;
&lt;br /&gt;
== Video Walkthrough ==&lt;br /&gt;
&lt;br /&gt;
[http://goo.gl/Ea6rzq Desktop video 1 - Introduction]&lt;br /&gt;
&lt;br /&gt;
[http://goo.gl/i0J3AF Desktop video 2 - Advanced]&lt;br /&gt;
&lt;br /&gt;
[http://goo.gl/8Dxak1 iPhone video 1 - Introduction]&lt;br /&gt;
&lt;br /&gt;
[http://goo.gl/u6xqHc iPhone video 2 - Advanced]&lt;br /&gt;
&lt;br /&gt;
[http://vimeo.com/28141679 java testclient video 1]&lt;br /&gt;
&lt;br /&gt;
[http://vimeo.com/28142096 java testclient video 2]&lt;br /&gt;
&lt;br /&gt;
[http://open-transactions.github.io/tv/ Official video archive (more videos)]&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
Bitcoin donation address: 1NtTPVVjDsUfDWybS4BwvHpG2pdS9RnYyQ&lt;br /&gt;
&lt;br /&gt;
'''IRC:''' #opentransactions at irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
Mailing list: ot-dev@opentransactions.org&lt;br /&gt;
&lt;br /&gt;
[http://opentransactions.org/mailman/listinfo/ot-dev_opentransactions.org Subscribe to mailing list]&lt;br /&gt;
&lt;br /&gt;
[[Components and GNU Licensing]]&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
Is Open-Transactions '''[[CENTRALIZED|centralized]]?'''&lt;br /&gt;
&lt;br /&gt;
The vision is not of a central server that you must trust. Rather, the vision is of federated servers you don't have to trust.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
[[Vulnerabilities|Potential vulnerabilities]] of Open-Transactions&lt;br /&gt;
&lt;br /&gt;
== Related Systems ==&lt;br /&gt;
&lt;br /&gt;
[http://bitcoin.org/ Bitcoin] - A censorship-resistant global ledger&lt;br /&gt;
&lt;br /&gt;
[https://loom.cc/help Loom] - Asset issuance and transactions&lt;br /&gt;
&lt;br /&gt;
[http://www.csee.umbc.edu/~woodcock/cmsc482/proj1/magmoney.html Magic Money] - PGP-based Chaumian blinding (unlinkable cash)&lt;br /&gt;
&lt;br /&gt;
[http://opencoin.org/ OpenCoin.org] - REST-based blinded tokens&lt;br /&gt;
&lt;br /&gt;
[http://www.opentransact.org/ OpenTransact] - REST-based transaction protocol&lt;br /&gt;
&lt;br /&gt;
[https://payswarm.com/ PaySwarm] - REST-based transaction protocol&lt;br /&gt;
&lt;br /&gt;
[https://www.facebook.com/publickeytransaction PKTP] - Public-Key Transaction Processor&lt;br /&gt;
&lt;br /&gt;
[http://wiki.dgcmagazine.com/index.php?title=Ricardo Ricardo] - Transaction system by Ian Grigg&lt;br /&gt;
&lt;br /&gt;
[https://ripple.com/ Ripple] - Consensus-based debt ledger&lt;br /&gt;
&lt;br /&gt;
[http://truledger.com/ Truledger] - Destruction of account history&lt;br /&gt;
&lt;br /&gt;
[http://www.voucher-safe.com/index.cfm Voucher-Safe] - Secure asset issuance with auditing&lt;br /&gt;
&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
Article: [http://pelagic.wavyhill.xsmail.com/Private_Digital_Economy.html Toward a Private Digital Economy]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; padding-top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== In More Detail... ==&lt;br /&gt;
&lt;br /&gt;
The server itself is a [[Transactions|transaction processor]] in the cypherpunk tradition. In more detail:&lt;br /&gt;
&lt;br /&gt;
* Many '''financial instruments''' are supported: Users can write '''cheques''', purchase '''cashier's cheques''' (&amp;amp;quot;vouchers&amp;amp;quot;), and withdraw in '''[[Sample Cash|unlinkable digital cash]]'''. The software uses Chaumian-style, blinded tokens courtesy of the [http://anoncvs.aldigital.co.uk/lucre/ Lucre] library by Ben Laurie.&lt;br /&gt;
* It's like '''PGP FOR MONEY'''. The idea is to have many cash algorithms, not just Lucre. I’d like to add Chaum’s version, Brands’ version, etc. So that, just like PGP, the software should support as many of the top algorithms as possible, and make it easy to swap them out when necessary.&lt;br /&gt;
* User accounts are '''pseudonymous'''. '''A user account is a public key'''. (This is like [http://pktp.co.cc/ PKTP] by Andrew McMeikan.) You can open as many user accounts as you want. ''Full anonymity'' is possible only for &amp;quot;cash-only&amp;quot; transactions (where users only perform token exchanges, and do not open accounts), whereas ''pseudonymity'' means that transactions can be linked to the key that signed them. (While the real life identity of the owner is hidden, continuity of reputation becomes possible.) ''See full-color diagrams linked above''.&lt;br /&gt;
* '''Any user can issue new digital currencies''' and digital asset types, by uploading the new [currency contract] to the server. (This functionality is comparable to [http://www.systemics.com/docs/sox/overview.html Ricardo] by [http://financialcryptography.com/ Ian Grigg].)&lt;br /&gt;
* '''Users can open asset accounts of any type.''' You can have as many as you want, associated with each user account. (See [http://loom.cc/ Loom] by Patrick Chkoreff.)&lt;br /&gt;
* [[Triple-Signed Receipts|Triple Signed Receipts / No Account History]]. On OT, entities are able to conduct transactions, verify instruments, ''and'' provably agree on current holdings via ''signed receipts'', all without the need to store any transaction history.'' An ''asset account'' on OT is not according to the traditional sense of the word (an account normally being thought of as, &amp;quot;a list of transactions, with a balance, used in double-entry bookkeeping.&amp;quot;) While the word &amp;quot;account&amp;quot; makes things easy to understand, an ''asset account'' on OT exists only in the mind of the account holder himself. He simply asks the server to agree with him that it exists, and to provide him with a signed receipt to that effect. In the user interface, OT is able to mimic the ''account metaphor'', making usage intuitive, even though ''no actual account exists, or need be stored on either side, other than the signed receipt itself!'' (See Bill St. Clair's excellent [http://truledger.com/ Truledger] for an [http://truledger.com/doc/plain-english.html example of this concept].)&lt;br /&gt;
* Open Transactions also features '''markets'''. Any two asset types can be traded against each other. The [[markets]] are full-featured and include '''limit orders, stop orders, fill-or-kill, day orders''' (date ranges), and '''stop limits'''.&lt;br /&gt;
* Open Transactions also supports '''basket currencies'''. Users can define their own, and the server handles the process of exchanging in and out of basket accounts. Baskets are treated by the software like any other asset type, (you can open accounts, transfer funds, withdraw cash, write cheques, and even '''trade basket currencies on markets'''.)&lt;br /&gt;
* [[Smart contracts]]: Multi-party agreements with scriptable clauses... including hooks, callbacks, internal state, etc. This concept was originated by Nick Szabo: [http://szabo.best.vwh.net/contractlanguage.html smart contracts].&lt;br /&gt;
* [[Client-side scripting]]: The entire OT API is now available for use in OTscripts on the client side. Just remember to put this at the top of the file: &amp;lt;pre&amp;gt;#!/usr/local/bin/ot --script&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Open Transactions also supports '''payment plans'''. Users can sign contracts with each other, and the server will carry out the terms and implement the payment plan. (A future goal is to issue new asset types based on revenue from payment plans--so they can also be traded on markets.)&lt;br /&gt;
* '''Contracts''', in general, are very important to Open Transactions; they are the building block of the entire library. Open Transactions uses a Ricardian-style contract, and all the various instruments, data files, and messages resemble '''[[Sample Currency Contract | PGP-signed XML files]]'''. All objects serialize to a string.&lt;br /&gt;
* The philosophy of the software is based around '''separation of powers''' (issuers and transaction servers being separate entities) as well as the '''distribution of risk'''. For example, Asset accounts can be distributed across multiple servers, and asset types can be distributed across multiple issuers (via baskets.) Read about the [[Auditing]] protocol.&lt;br /&gt;
* Potential future instruments include: [http://www.goldstandardinstitute.net/2010/06/what-is-a-real-bill/ Real Bills], dividend-paying stocks (the same mechanism can be used as interest paying bonds) and collateralized debt obligations. (OT supports payment plans, so it would be easy to group tranches of OT's payment plans to pay into a single reserve account, as backing for a new stock offering that could be traded on OT markets.) This is similar to how basket currencies are implemented. Stocks/Bonds would pay shareholders by dropping a cheque into your stock account's inbox. These features aren't available yet, but they are easy to add given the existing OT infrastructure.&lt;br /&gt;
* '''All communications are secured with OpenSSL.''' All messages are also signed and encrypted. All transactions require signatures from relevant parties including the server.&lt;br /&gt;
* Open Transactions is '''open-source''', written in C++, object-oriented, and includes '''Native [[API]]s''' for '''Java, Ruby, Python, PHP, Perl, C, [http://www.digitalmars.com/d/2.0/overview.html D], C++, Objective-C, C#, Tcl, and LISP.''' (Also supporting JRuby, Jython, Scala, Clojure, Groovy, and any other language that works on the JVM.)&lt;br /&gt;
* The software is fully '''cross-platform''': '''Linux, Mac OS X, FreeBSD, Android, and Windows''' are supported with makefiles, project files, and instructions.&lt;br /&gt;
* STORAGE... The library itself is '''storage neutral''', and could be utilized across a variety of different storage systems. All objects serialize to a string, and it is very easy to add support for new storage methods. (Currently OT uses the filesystem with key/value pairs.) '''Adding a new storage method is as easy as subclassing OTDB::Storage and overriding a few methods. Use any DB you want.'''&lt;br /&gt;
* [[Messaging]]... The library itself is '''transfer-protocol neutral''', and can be utilized across a variety of different transfer protocols. The default implementation uses the [http://zeromq.org/ ZeroMQ library] for transport. Transport is implemented as a callback function, so it's very easy (a few dozen lines of code) to swap in some other system, if you wish.&lt;br /&gt;
* OT currently supports '''MsgPack''' and '''protobuf''' for data packing, though new packers can be added by subclassing OTDB::Packer.&lt;br /&gt;
&lt;br /&gt;
The intention is for this software to be integrated as many places as possible... Games, digital cash wallets, distributed data stores, secure voip apps, anonymous bit torrent networks, mixnets, remailers, nym servers, etc. There are many other potential uses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Android_App&amp;diff=2114</id>
		<title>Android App</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Android_App&amp;diff=2114"/>
		<updated>2014-05-27T16:31:43Z</updated>

		<summary type="html">&lt;p&gt;RAM: Created page with &amp;quot;== Open-Transactions Android App Homepage ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Open-Transactions Android App Homepage ==&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=IPhone_App&amp;diff=2113</id>
		<title>IPhone App</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=IPhone_App&amp;diff=2113"/>
		<updated>2014-05-27T16:30:51Z</updated>

		<summary type="html">&lt;p&gt;RAM: Created page with &amp;quot;==Open Transactions iPhone App HomePage==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Open Transactions iPhone App HomePage==&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2108</id>
		<title>Math</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2108"/>
		<updated>2014-05-26T21:44:32Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Math Fomula Formatting ==&lt;br /&gt;
&lt;br /&gt;
The Open Transactions wiki supports some math formatting options described in the [http://www.mediawiki.org/wiki/Manual:Math MediaWiki Math Page], and the [http://meta.wikimedia.org/wiki/Texvc Texcv Background / Instructions Page]. &lt;br /&gt;
&lt;br /&gt;
See also, for installation information: [http://www.mediawiki.org/wiki/Manual:Enable_TeX Enable_Tex], [http://www.mediawiki.org/wiki/Texvccheck Texvccheck], and [http://www.mediawiki.org/wiki/Extension:Math Extension:Math] pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Math testing Area Below here ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\operatorname{erfc}(x) =&lt;br /&gt;
\frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2}\,dt =&lt;br /&gt;
\frac{e^{-x^2}}{x\sqrt{\pi}}\sum_{n=0}^\infty (-1)^n \frac{(2n)!}{n!(2x)^{2n}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*\int_a^x f(\alpha\,)\,dx&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2107</id>
		<title>Math</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2107"/>
		<updated>2014-05-26T09:57:47Z</updated>

		<summary type="html">&lt;p&gt;RAM: /* Math testing Area Below here */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Math Fomula Formatting ==&lt;br /&gt;
&lt;br /&gt;
The Open Transactions wiki supports some math formatting options described in the [http://www.mediawiki.org/wiki/Manual:Math MediaWiki Math Page], and the [http://meta.wikimedia.org/wiki/Texvc Texcv Background / Instructions Page]. &lt;br /&gt;
&lt;br /&gt;
See also, for installation information: [http://www.mediawiki.org/wiki/Manual:Enable_TeX Enable_Tex], [http://www.mediawiki.org/wiki/Texvccheck Texvccheck], and [http://www.mediawiki.org/wiki/Extension:Math Extension:Math] pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Math testing Area Below here ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \operatorname{erfc}(x) =&lt;br /&gt;
 \frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2}\,dt =&lt;br /&gt;
 \frac{e^{-x^2}}{x\sqrt{\pi}}\sum_{n=0}^\infty (-1)^n \frac{(2n)!}{n!(2x)^{2n}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*\int_a^x f(\alpha\,)\,dx&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2106</id>
		<title>Math</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2106"/>
		<updated>2014-05-26T09:57:39Z</updated>

		<summary type="html">&lt;p&gt;RAM: /* Math testing Area Below here */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Math Fomula Formatting ==&lt;br /&gt;
&lt;br /&gt;
The Open Transactions wiki supports some math formatting options described in the [http://www.mediawiki.org/wiki/Manual:Math MediaWiki Math Page], and the [http://meta.wikimedia.org/wiki/Texvc Texcv Background / Instructions Page]. &lt;br /&gt;
&lt;br /&gt;
See also, for installation information: [http://www.mediawiki.org/wiki/Manual:Enable_TeX Enable_Tex], [http://www.mediawiki.org/wiki/Texvccheck Texvccheck], and [http://www.mediawiki.org/wiki/Extension:Math Extension:Math] pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Math testing Area Below here ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \operatorname{erfc}(x) =&lt;br /&gt;
 \frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2}\,dt =&lt;br /&gt;
 \frac{e^{-x^2}}{x\sqrt{\pi}}\sum_{n=0}^\infty (-1)^n \frac{(2n)!}{n!(2x)^{2n}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* \int_a^x f(\alpha\,)\,dx&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2100</id>
		<title>Math</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2100"/>
		<updated>2014-05-26T07:44:41Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Math Fomula Formatting ==&lt;br /&gt;
&lt;br /&gt;
The Open Transactions wiki supports some math formatting options described in the [http://www.mediawiki.org/wiki/Manual:Math MediaWiki Math Page], and the [http://meta.wikimedia.org/wiki/Texvc Texcv Background / Instructions Page]. &lt;br /&gt;
&lt;br /&gt;
See also, for installation information: [http://www.mediawiki.org/wiki/Manual:Enable_TeX Enable_Tex], [http://www.mediawiki.org/wiki/Texvccheck Texvccheck], and [http://www.mediawiki.org/wiki/Extension:Math Extension:Math] pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Math testing Area Below here ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \operatorname{erfc}(x) =&lt;br /&gt;
 \frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2}\,dt =&lt;br /&gt;
 \frac{e^{-x^2}}{x\sqrt{\pi}}\sum_{n=0}^\infty (-1)^n \frac{(2n)!}{n!(2x)^{2n}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2099</id>
		<title>Math</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2099"/>
		<updated>2014-05-26T07:44:20Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Math Fomula Formatting ==&lt;br /&gt;
&lt;br /&gt;
The Open Transactions wiki supports some math formatting options described in the [http://www.mediawiki.org/wiki/Manual:Math MediaWiki Math Page], and the [http://meta.wikimedia.org/wiki/Texvc Texcv Background / Instructions Page]. &lt;br /&gt;
&lt;br /&gt;
See also, for installation instructions: [http://www.mediawiki.org/wiki/Manual:Enable_TeX Enable_Tex], [http://www.mediawiki.org/wiki/Texvccheck Texvccheck], and [http://www.mediawiki.org/wiki/Extension:Math Extension:Math] pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Math testing Area Below here ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \operatorname{erfc}(x) =&lt;br /&gt;
 \frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2}\,dt =&lt;br /&gt;
 \frac{e^{-x^2}}{x\sqrt{\pi}}\sum_{n=0}^\infty (-1)^n \frac{(2n)!}{n!(2x)^{2n}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2098</id>
		<title>Math</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2098"/>
		<updated>2014-05-26T07:44:04Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Math Fomula Formatting ==&lt;br /&gt;
&lt;br /&gt;
The Open Transactions wiki supports some math formatting options described in the [http://www.mediawiki.org/wiki/Manual:Math MediaWiki Math Page], and the [http://meta.wikimedia.org/wiki/Texvc Texcv Background / Instructions Page]. &lt;br /&gt;
&lt;br /&gt;
See also, for installation instructions: [http://www.mediawiki.org/wiki/Manual:Enable_TeX Enable_Tex], [http://www.mediawiki.org/wiki/Texvccheck Texvccheck] and [http://www.mediawiki.org/wiki/Extension:Math Extension:Math] pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Math testing Area Below here ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \operatorname{erfc}(x) =&lt;br /&gt;
 \frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2}\,dt =&lt;br /&gt;
 \frac{e^{-x^2}}{x\sqrt{\pi}}\sum_{n=0}^\infty (-1)^n \frac{(2n)!}{n!(2x)^{2n}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2097</id>
		<title>Math</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2097"/>
		<updated>2014-05-26T07:41:28Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Math Fomula Formatting ==&lt;br /&gt;
&lt;br /&gt;
The Open Transactions wiki supports some math formatting options described in the [http://www.mediawiki.org/wiki/Manual:Math MediaWiki Math Page], and the [http://meta.wikimedia.org/wiki/Texvc Texcv Background / Instructions Page]. &lt;br /&gt;
&lt;br /&gt;
See also, for installation instructions: [http://www.mediawiki.org/wiki/Manual:Enable_TeX Enable_Tex] and [http://www.mediawiki.org/wiki/Extension:Math Extension:Math] pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Math testing Area Below here ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \operatorname{erfc}(x) =&lt;br /&gt;
 \frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2}\,dt =&lt;br /&gt;
 \frac{e^{-x^2}}{x\sqrt{\pi}}\sum_{n=0}^\infty (-1)^n \frac{(2n)!}{n!(2x)^{2n}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2091</id>
		<title>Math</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Math&amp;diff=2091"/>
		<updated>2014-05-25T20:15:15Z</updated>

		<summary type="html">&lt;p&gt;RAM: Created page with &amp;quot;== Math Fomula Formatting ==  The Open Transactions wiki supports some math formatting options described in the [http://www.mediawiki.org/wiki/Manual:Math MediaWiki Math Page]...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Math Fomula Formatting ==&lt;br /&gt;
&lt;br /&gt;
The Open Transactions wiki supports some math formatting options described in the [http://www.mediawiki.org/wiki/Manual:Math MediaWiki Math Page], and the [http://meta.wikimedia.org/wiki/Texvc Texcv Background / Instructions Page].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Math testing Area Below here ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \operatorname{erfc}(x) =&lt;br /&gt;
 \frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2}\,dt =&lt;br /&gt;
 \frac{e^{-x^2}}{x\sqrt{\pi}}\sum_{n=0}^\infty (-1)^n \frac{(2n)!}{n!(2x)^{2n}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2018</id>
		<title>Category:Voting Pools</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2018"/>
		<updated>2014-05-02T06:06:36Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-2&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
== Abstract, Authors List, Keywords ==&lt;br /&gt;
&lt;br /&gt;
Open Transactions is a financial cryptography library and software system featuring client user-interfaces where users can create, store, and transfer digital assets, instruments, and contracts via transaction servers. We describe a &amp;quot;voting pool&amp;quot; protocol for using consensus votes to process cryptocurrency transactions on the Open Transactions network. In the voting pool scheme, digital currencies can be deposited into multi-signature wallets where a spend transaction can only be initiated by a consensus vote signed by a group of independent auditors. Voting pools provide end-users with greater trust because they decentralize control over the deposited funds, ensuring that no individual server operator can transfer user funds without the complicity of a majority of the other voting pool members. Voting pools also provide unique security features such as shared multi-signature hot-and-cold wallet rotation and trusted multi-signed payment requests for deposit addresses. Voting pools allow end-users to deposit, trade, and withdraw cryptocurrencies on the Open Transactions network with greater trust than on any system that doesn't implement voting pools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div center&amp;gt;'''authors''': (to be decided at time of publication)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Keywords''': cryptography, cryptocurrency, Diffie-Hellman, key exchange, currency, FOREX, contracts, Chaumian cash, bitcoin, financial, transactions, multi-signature, encryption, trust, servers, consensus, voting, games theory&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Open-Transactions (OT) is a financial cryptography library that implements triple entry accounting with destructible receipts. OT allows creditors to issue liabilities in the form of digitally signed and notarized receipts whose balances can be traded as currency and are available for manipulation via smart contracts and other financial instruments. Transactions are constructed by users and notarized by [[transaction servers]]. OT maintains a real-time, cryptographically secured state of all liability balances for a given issuance type. Account balances in OT are protected from tampering with strong cryptography, which eliminates the co-mingling of funds between unrelated accounts. As an accounting system, OT does not normally have the ability to manipulate actual underlying assets, such as physical gold reserves.&lt;br /&gt;
&lt;br /&gt;
Bitcoin is a digital asset ledger the includes its own currency and payment system. Bitcoins are not backed by any issuer, and therefore carry no counterparty risk. The validity of the global Bitcoin ledger (blockchain) is enforced by a global P2P network which requires, on average, ten minutes to update.&lt;br /&gt;
&lt;br /&gt;
With regards to OT, Bitcoin (and other cryptocurrencies) form a unique case. Since cryptocurrencies can be manipulated digitally in the way that other assets can not, OT servers can provide additional functions beyond merely ownership accounting. Importantly, in the case of cryptocurrencies, OT can provide auditing and safe storage of reserves on the blockchain itself. Since OT servers can process transactions more rapidly and inexpensively than a blockchain, it is desirable in many cases to allow an OT server to handle financial transactions off-chain, rather than performing them directly on the blockchain itself.&lt;br /&gt;
&lt;br /&gt;
Many services in the cryptocurrency space already require this functionality. Currency exchanges and other trading platforms usually desire to perform order matching more rapidly than what is possible on the blockchain itself. These services accept custody of user funds, perform transactions in a separate off-chain system, and use a database to track customer balances. Typically these services are not cryptographically secured, or independently auditable. Customers also give full control of their deposited funds to the custodial service, which exposes them to the risk of theft or loss of their coins.&lt;br /&gt;
&lt;br /&gt;
Unlike legacy currencies, cryptocurrencies can be irrevocably lost or stolen, and it’s typically not possible to distinguish between insider or external theft. Historically, this ambiguity appears to have been routinely exploited.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an arrangement of OT transaction servers to securely store and account for customer cryptocurrency deposits, and to redeem valid withdrawal requests even in the event the custodial entity has completely disappeared. They are designed to ensure that no single person or organization can ever perform unilateral actions on deposited funds in order to reduce the risk of loss or theft, and custodial liability.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an open standard intended to be a universal replacement for bespoke systems that handle customer cryptocurrency deposits.&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
==Voting Pool Overview==&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
{{:Voting_Pools/Voting_Pool_Overview}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wallet Providers==&lt;br /&gt;
&lt;br /&gt;
==Design Criteria==&lt;br /&gt;
&lt;br /&gt;
In order to achieve the desired security and robustness goals for voting pools, the following criteria are enforced:&lt;br /&gt;
&lt;br /&gt;
#Customers should be strongly discouraged from reusing deposit addresses. The voting pool itself must never intentionally reuse a bitcoin address.&lt;br /&gt;
#All Bitcoin addresses used by the pool must be deterministic for auditing purposes. Each member of the pool should be able to calculate all members’ series of deposit and change addresses.&lt;br /&gt;
#Withdrawal transaction input selection must be deterministic in order to minimise the cost of coordinating transaction signing.&lt;br /&gt;
#It must be possible to keep a majority of the private keys offline for security reasons, and bring them online as needed to process withdrawals.&lt;br /&gt;
#It must be possible to alter the voting pool by adding, removing, or replacing members in a coordinated and secure fashion.&lt;br /&gt;
&lt;br /&gt;
==Security Model==&lt;br /&gt;
&lt;br /&gt;
The goal of the voting pool security model is that users of deposit-accepting services should never experience a loss of deposited funds.&lt;br /&gt;
&lt;br /&gt;
We can group the various ways in which this goal might not be met into two general categories:&lt;br /&gt;
&lt;br /&gt;
;Type 1 Event ('''Theft/Loss''')&lt;br /&gt;
:A user permanently loses their funds because a third party has gained control of them without the user’s consent, or because the private keys needed to spend them have been irrevocably lost.&lt;br /&gt;
&lt;br /&gt;
;Type 2 Event ('''Denial of Service''')&lt;br /&gt;
:A user temporarily loses some or all of their ability to use their funds, but no third party has gained control over them.&lt;br /&gt;
&lt;br /&gt;
Type 0 Events will be used to describe all other abnormal conditions from which the pool must recover which do not directly involve a loss of customer deposits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Voting Pool Security Theorem====&lt;br /&gt;
&lt;br /&gt;
If the probability of &amp;lt;code&amp;gt;m+1&amp;lt;/code&amp;gt; (Type 1 Event) or &amp;lt;code&amp;gt;n-m+1&amp;lt;/code&amp;gt; (Type 2 Event) services simultaneously and identically behaving in a malicious or incompetent manner is lower than the probability of any individual server behaving in a malicious or incompetent manner, user deposits on that service are at less risk of loss if the service is a member of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool than they would be at risk if the service is not a member of a voting pool.&lt;br /&gt;
&lt;br /&gt;
Voting pools can guarantee the integrity of user deposits if, in any given situation, at least &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 1 events and at least &amp;lt;code&amp;gt;n-m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 2 events.&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2014</id>
		<title>Category:Voting Pools</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2014"/>
		<updated>2014-05-02T00:48:23Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Abstract, Authors List, Keywords ==&lt;br /&gt;
&lt;br /&gt;
Open Transactions is a financial cryptography library and software system featuring client user-interfaces where users can create, store, and transfer digital assets, instruments, and contracts via transaction servers. We describe a &amp;quot;voting pool&amp;quot; protocol for using consensus votes to process cryptocurrency transactions on the Open Transactions network. In the voting pool scheme, digital currencies can be deposited into multi-signature wallets where a spend transaction can only be initiated by a consensus vote signed by a group of independent auditors. Voting pools provide end-users with greater trust because they decentralize control over the deposited funds, ensuring that no individual server operator can transfer user funds without the complicity of a majority of the other voting pool members. Voting pools also provide unique security features such as shared multi-signature hot-and-cold wallet rotation and trusted multi-signed payment requests for deposit addresses. Voting pools allow end-users to deposit, trade, and withdraw cryptocurrencies on the Open Transactions network with greater trust than on any system that doesn't implement voting pools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div center&amp;gt;'''authors''': (to be decided at time of publication)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Keywords''': cryptography, cryptocurrency, Diffie-Hellman, key exchange, currency, FOREX, contracts, Chaumian cash, bitcoin, financial, transactions, multi-signature, encryption, trust, servers, consensus, voting, games theory&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Open-Transactions (OT) is a financial cryptography library that implements triple entry accounting with destructible receipts. OT allows creditors to issue liabilities in the form of digitally signed and notarized receipts whose balances can be traded as currency and are available for manipulation via smart contracts and other financial instruments. Transactions are constructed by users and notarized by [[transaction servers]]. OT maintains a real-time, cryptographically secured state of all liability balances for a given issuance type. Account balances in OT are protected from tampering with strong cryptography, which eliminates the co-mingling of funds between unrelated accounts. As an accounting system, OT does not normally have the ability to manipulate actual underlying assets, such as physical gold reserves.&lt;br /&gt;
&lt;br /&gt;
Bitcoin is a digital asset ledger the includes its own currency and payment system. Bitcoins are not backed by any issuer, and therefore carry no counterparty risk. The validity of the global Bitcoin ledger (blockchain) is enforced by a global P2P network which requires, on average, ten minutes to update.&lt;br /&gt;
&lt;br /&gt;
With regards to OT, Bitcoin (and other cryptocurrencies) form a unique case. Since cryptocurrencies can be manipulated digitally in the way that other assets can not, OT servers can provide additional functions beyond merely ownership accounting. Importantly, in the case of cryptocurrencies, OT can provide auditing and safe storage of reserves on the blockchain itself. Since OT servers can process transactions more rapidly and inexpensively than a blockchain, it is desirable in many cases to allow an OT server to handle financial transactions off-chain, rather than performing them directly on the blockchain itself.&lt;br /&gt;
&lt;br /&gt;
Many services in the cryptocurrency space already require this functionality. Currency exchanges and other trading platforms usually desire to perform order matching more rapidly than what is possible on the blockchain itself. These services accept custody of user funds, perform transactions in a separate off-chain system, and use a database to track customer balances. Typically these services are not cryptographically secured, or independently auditable. Customers also give full control of their deposited funds to the custodial service, which exposes them to the risk of theft or loss of their coins.&lt;br /&gt;
&lt;br /&gt;
Unlike legacy currencies, cryptocurrencies can be irrevocably lost or stolen, and it’s typically not possible to distinguish between insider or external theft. Historically, this ambiguity appears to have been routinely exploited.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an arrangement of OT transaction servers to securely store and account for customer cryptocurrency deposits, and to redeem valid withdrawal requests even in the event the custodial entity has completely disappeared. They are designed to ensure that no single person or organization can ever perform unilateral actions on deposited funds in order to reduce the risk of loss or theft, and custodial liability.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an open standard intended to be a universal replacement for bespoke systems that handle customer cryptocurrency deposits.&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
==Voting Pool Overview==&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
{{:Voting_Pools/Voting_Pool_Overview}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wallet Providers==&lt;br /&gt;
&lt;br /&gt;
==Design Criteria==&lt;br /&gt;
&lt;br /&gt;
In order to achieve the desired security and robustness goals for voting pools, the following criteria are enforced:&lt;br /&gt;
&lt;br /&gt;
#Customers should be strongly discouraged from reusing deposit addresses. The voting pool itself must never intentionally reuse a bitcoin address.&lt;br /&gt;
#All Bitcoin addresses used by the pool must be deterministic for auditing purposes. Each member of the pool should be able to calculate all members’ series of deposit and change addresses.&lt;br /&gt;
#Withdrawal transaction input selection must be deterministic in order to minimise the cost of coordinating transaction signing.&lt;br /&gt;
#It must be possible to keep a majority of the private keys offline for security reasons, and bring them online as needed to process withdrawals.&lt;br /&gt;
#It must be possible to alter the voting pool by adding, removing, or replacing members in a coordinated and secure fashion.&lt;br /&gt;
&lt;br /&gt;
==Security Model==&lt;br /&gt;
&lt;br /&gt;
The goal of the voting pool security model is that users of deposit-accepting services should never experience a loss of deposited funds.&lt;br /&gt;
&lt;br /&gt;
We can group the various ways in which this goal might not be met into two general categories:&lt;br /&gt;
&lt;br /&gt;
;Type 1 Event ('''Theft/Loss''')&lt;br /&gt;
:A user permanently loses their funds because a third party has gained control of them without the user’s consent, or because the private keys needed to spend them have been irrevocably lost.&lt;br /&gt;
&lt;br /&gt;
;Type 2 Event ('''Denial of Service''')&lt;br /&gt;
:A user temporarily loses some or all of their ability to use their funds, but no third party has gained control over them.&lt;br /&gt;
&lt;br /&gt;
Type 0 Events will be used to describe all other abnormal conditions from which the pool must recover which do not directly involve a loss of customer deposits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Voting Pool Security Theorem====&lt;br /&gt;
&lt;br /&gt;
If the probability of &amp;lt;code&amp;gt;m+1&amp;lt;/code&amp;gt; (Type 1 Event) or &amp;lt;code&amp;gt;n-m+1&amp;lt;/code&amp;gt; (Type 2 Event) services simultaneously and identically behaving in a malicious or incompetent manner is lower than the probability of any individual server behaving in a malicious or incompetent manner, user deposits on that service are at less risk of loss if the service is a member of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool than they would be at risk if the service is not a member of a voting pool.&lt;br /&gt;
&lt;br /&gt;
Voting pools can guarantee the integrity of user deposits if, in any given situation, at least &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 1 events and at least &amp;lt;code&amp;gt;n-m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 2 events.&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2012</id>
		<title>Category:Voting Pools</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2012"/>
		<updated>2014-05-02T00:17:22Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Abstract, Authors List, Keywords ==&lt;br /&gt;
&lt;br /&gt;
Open Transactions is a financial cryptography library and software system featuring client user-interfaces where users can create, store, and transfer digital assets, instruments, and contracts via transaction servers. We describe a &amp;quot;voting pool&amp;quot; protocol for using consensus votes to process cryptocurrency transactions on the Open Transactions network. In the voting pool scheme, digital currencies can be deposited into multi-signature wallets where a spend transaction can only be initiated by a consensus vote signed by a group of independent auditors. Voting pools provide end-users with greater trust because they decentralize control over the deposited funds, ensuring that no individual server operator can transfer user funds without the complicity of a majority of the other voting pool members. Voting pools also provide unique security features such as shared multi-signature hot-and-cold wallet rotation and trusted multi-signed payment requests for deposit addresses. Voting pools allow end-users to deposit, trade, and withdraw cryptocurrencies on the Open Transactions network with greater trust than on any system that doesn't implement voting pools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div center&amp;gt;'''authors''': (to be decided at time of publication)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Keywords''': cryptography, cryptocurrency, Diffie-Hellman, key exchange, currency, FOREX, contracts, Chaumian cash, bitcoin, financial, transactions, multi-signature, encryption, trust, servers, consensus, voting, games theory&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Open-Transactions (OT) is a financial cryptography library that implements triple entry accounting with destructible receipts. OT allows creditors to issue liabilities in the form of digitally signed and notarized receipts whose balances can be traded as currency and are available for manipulation via smart contracts and other financial instruments. Transactions are constructed by users and notarized by [[transaction servers]]. OT maintains a real-time, cryptographically secured state of all liability balances for a given issuance type. Account balances in OT are protected from tampering with strong cryptography, which eliminates the co-mingling of funds between unrelated accounts. As an accounting system, OT does not normally have the ability to manipulate actual underlying assets, such as physical gold reserves.&lt;br /&gt;
&lt;br /&gt;
Bitcoin is a digital asset ledger the includes its own currency and payment system. Bitcoins are not backed by any issuer, and therefore carry no counterparty risk. The validity of the global Bitcoin ledger (blockchain) is enforced by a global P2P network which requires, on average, ten minutes to update.&lt;br /&gt;
&lt;br /&gt;
With regards to OT, Bitcoin (and other cryptocurrencies) form a unique case. Since cryptocurrencies can be manipulated digitally in the way that other assets can not, OT servers can provide additional functions beyond merely ownership accounting. Importantly, in the case of cryptocurrencies, OT can provide auditing and safe storage of reserves on the blockchain itself. Since OT servers can process transactions more rapidly and inexpensively than a blockchain, it is desirable in many cases to allow an OT server to handle financial transactions off-chain, rather than performing them directly on the blockchain itself.&lt;br /&gt;
&lt;br /&gt;
Many services in the cryptocurrency space already require this functionality. Currency exchanges and other trading platforms usually desire to perform order matching more rapidly than what is possible on the blockchain itself. These services accept custody of user funds, perform transactions in a separate off-chain system, and use a database to track customer balances. Typically these services are not cryptographically secured, or independently auditable. Customers also give full control of their deposited funds to the custodial service, which exposes them to the risk of theft or loss of their coins.&lt;br /&gt;
&lt;br /&gt;
Unlike legacy currencies, cryptocurrencies can be irrevocably lost or stolen, and it’s typically not possible to distinguish between insider or external theft. Historically, this ambiguity appears to have been routinely exploited.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an arrangement of OT transaction servers to securely store and account for customer cryptocurrency deposits, and to redeem valid withdrawal requests even in the event the custodial entity has completely disappeared. They are designed to ensure that no single person or organization can ever perform unilateral actions on deposited funds in order to reduce the risk of loss or theft, and custodial liability.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an open standard intended to be a universal replacement for bespoke systems that handle customer cryptocurrency deposits.&lt;br /&gt;
&lt;br /&gt;
==Voting Pool Overview== &lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====High-Level Overview, Identification of Components==== &lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
Voting pools bridge two worlds - OT and Bitcoin (cryptocurrency). The OT Voting Pool system consists of transaction servers, audit servers, and Bitcoin wallets held by wallet providers. OT tracks the BTC-denominated balances of every user of a service (down to 16 decimal places currently), as well any &amp;quot;service&amp;quot; balances that may be held by the transaction servers. The OT [[Transaction Server (voting pools)|transaction server]] is the portion of a voting pool which is closest to the users themselves. Users can interact with transaction servers through software user-interface &amp;quot;clients&amp;quot; that generate API function calls, or directly through client-side scripts containing OT API function calls. The transaction server acts as a backend processor for a deposit-accepting business (such as a currency exchange or issuer), and handles all issues related to cryptocurrency deposits, withdrawals, and balance updates.&lt;br /&gt;
&lt;br /&gt;
The transaction server and the bitcoin wallet communicate via an [[Audit Server (voting pools)|auditing server]]. The auditing server independently verifies the OT operations of all transaction servers in the voting pool, as well as the bitcoins held by the pool on the blockchain itself. It uses this audit data to know when it should direct the wallet to create a withdrawal transaction, and it is also the component responsible for information sharing and achieving consensus between all members of the pool. It is the audit servers and the wallets who hold the keys to creating transactions at the request of the user, and the audit servers must all act by consensus and with the cooperation of the wallet to create multi-signature blockchain transactions.&lt;br /&gt;
&lt;br /&gt;
In order to manage the actual bitcoins held by the pool, each transaction server has a corresponding Bitcoin [[Wallet (blockchain)|wallet]]. The wallet software manages a hierarchical and deterministic list of addresses and the multi-signature transaction generation. The Bitcoin wallet supports standard cryptocurrency balances and seperate tracking of colored coins. Most funds are held in a cold-wallet system where human interaction by multiple independent audit server operators is required to rotate to a new sequence of hot-wallet addresses, and the bitcoin wallet supports a formal &amp;quot;cold&amp;quot; state for addresses which require a signed consensus message to become &amp;quot;hot&amp;quot;. Wallet providers maintain platforms robust enough to handle peak deposit and withdrawal volumes experienced by a popular service.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Voting Pool Trust Model and Audit Streams====&lt;br /&gt;
&lt;br /&gt;
The basic design promise of voting pools is: Any denial of service attack which can cause customers to lose access to their Bitcoin deposits must involve more than &amp;lt;code&amp;gt;(n minus m)&amp;lt;code&amp;gt; members of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool. Any attack that can result in a permanent loss of customer funds must involve more than &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; members to be successful.&lt;br /&gt;
&lt;br /&gt;
====Communication-Layer: Network Topology, ZMQ, Bitmessage====&lt;br /&gt;
&lt;br /&gt;
The transaction servers are accessible to membership groups or to the public, processing transactions in general everyday-use for markets and exchanges. Transaction servers act on user, script, or client-generated transaction requests (API function calls) sent to them through the zmq layer or through BitMessage, a communications protocol and anonymizing proxy network. The interaction between end-users/clients and transaction servers does not require the use of any anonymizing network, but transaction servers do support anonymous end-user/client requests as long as they are properly signed.&lt;br /&gt;
&lt;br /&gt;
Transactions servers and audit servers make up an inter-communicating mesh network where broadcasts may happen to all members directly via BitMessage. Audit servers are physically separate from the transaction servers and they communicate over a messaging system (Tor, Bitmessage, or equivalent) that obscures the location of the audit servers. This prevents an attacker who manages to compromise a publicly-facing transaction server from identifying the audit servers in order to attempt an attack on the audit server network (see: OT security and attack scenarios).&lt;br /&gt;
&lt;br /&gt;
Audit servers have a direct communication path with the bitcoin wallet, where the audit servers and the bitcoin wallet providers communicate through a private broadcast network. When cryptocurrency transactions are ready to be pushed to a blockchain, the bitcoin wallets communicate to other bitcoin nodes via Tor, I2P, or other anonymizing proxy networks. Again, the use of anonymizing networks is used here to prevent an attacker from identifying the location of the audit server and/or bitcoin wallet based on their broadcast transactions.&lt;br /&gt;
&lt;br /&gt;
====Distribution of Tasks &amp;amp; Trust, Server Providers / Hosts, Server Discovery====&lt;br /&gt;
====Voting Pool Member Management, Automated &amp;amp; Human Layers====&lt;br /&gt;
====How to Become a Member of a Voting Pool====&lt;br /&gt;
&lt;br /&gt;
==Wallet Providers==&lt;br /&gt;
&lt;br /&gt;
==Design Criteria==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to achieve the desired security and robustness goals for voting pools, the following criteria are enforced:&lt;br /&gt;
&lt;br /&gt;
#Customers should be strongly discouraged from reusing deposit addresses. The voting pool itself must never intentionally reuse a bitcoin address.&lt;br /&gt;
#All Bitcoin addresses used by the pool must be deterministic for auditing purposes. Each member of the pool should be able to calculate all members’ series of deposit and change addresses.&lt;br /&gt;
#Withdrawal transaction input selection must be deterministic in order to minimise the cost of coordinating transaction signing.&lt;br /&gt;
#It must be possible to keep a majority of the private keys offline for security reasons, and bring them online as needed to process withdrawals.&lt;br /&gt;
#It must be possible to alter the voting pool by adding, removing, or replacing members in a coordinated and secure fashion.&lt;br /&gt;
&lt;br /&gt;
==Security Model==&lt;br /&gt;
&lt;br /&gt;
The goal of the voting pool security model is that users of deposit-accepting services should never experience a loss of deposited funds.&lt;br /&gt;
&lt;br /&gt;
We can group the various ways in which this goal might not be met into two general categories:&lt;br /&gt;
&lt;br /&gt;
;Type 1 Event ('''Theft/Loss''')&lt;br /&gt;
:A user permanently loses their funds because a third party has gained control of them without the user’s consent, or because the private keys needed to spend them have been irrevocably lost.&lt;br /&gt;
&lt;br /&gt;
;Type 2 Event ('''Denial of Service''')&lt;br /&gt;
:A user temporarily loses some or all of their ability to use their funds, but no third party has gained control over them.&lt;br /&gt;
&lt;br /&gt;
Type 0 Events will be used to describe all other abnormal conditions from which the pool must recover which do not directly involve a loss of customer deposits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Voting Pool Security Theorem====&lt;br /&gt;
&lt;br /&gt;
If the probability of &amp;lt;code&amp;gt;m+1&amp;lt;/code&amp;gt; (Type 1 Event) or &amp;lt;code&amp;gt;n-m+1&amp;lt;/code&amp;gt; (Type 2 Event) services simultaneously and identically behaving in a malicious or incompetent manner is lower than the probability of any individual server behaving in a malicious or incompetent manner, user deposits on that service are at less risk of loss if the service is a member of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool than they would be at risk if the service is not a member of a voting pool.&lt;br /&gt;
&lt;br /&gt;
Voting pools can guarantee the integrity of user deposits if, in any given situation, at least &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 1 events and at least &amp;lt;code&amp;gt;n-m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 2 events.&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2011</id>
		<title>Category:Voting Pools</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2011"/>
		<updated>2014-05-01T22:44:04Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Abstract, Authors List, Keywords ==&lt;br /&gt;
&lt;br /&gt;
Open Transactions is a financial cryptography library and software system featuring client user-interfaces where users can create, store, and transfer digital assets, instruments, and contracts via transaction servers. We describe a &amp;quot;voting pool&amp;quot; protocol for using consensus votes to process cryptocurrency transactions on the Open Transactions network. In the voting pool scheme, digital currencies can be deposited into multi-signature wallets where a spend transaction can only be initiated by a consensus vote signed by a group of independent auditors. Voting pools provide end-users with greater trust because they decentralize control over the deposited funds, ensuring that no individual server operator can transfer user funds without the complicity of a majority of the other voting pool members. Voting pools also provide unique security features such as shared multi-signature hot-and-cold wallet rotation and trusted multi-signed payment requests for deposit addresses. Voting pools allow end-users to deposit, trade, and withdraw cryptocurrencies on the Open Transactions network with greater trust than on any system that doesn't implement voting pools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div center&amp;gt;'''authors''': (to be decided at time of publication)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Keywords''': cryptography, cryptocurrency, Diffie-Hellman, key exchange, currency, FOREX, contracts, Chaumian cash, bitcoin, financial, transactions, multi-signature, encryption, trust, servers, consensus, voting, games theory&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Open-Transactions (OT) is a financial cryptography library that implements triple entry accounting with destructible receipts. OT allows creditors to issue liabilities in the form of digitally signed and notarized receipts whose balances can be traded as currency and are available for manipulation via smart contracts and other financial instruments. Transactions are constructed by users and notarized by [[transaction servers]]. OT maintains a real-time, cryptographically secured state of all liability balances for a given issuance type. Account balances in OT are protected from tampering with strong cryptography, which eliminates the co-mingling of funds between unrelated accounts. As an accounting system, OT does not normally have the ability to manipulate actual underlying assets, such as physical gold reserves.&lt;br /&gt;
&lt;br /&gt;
Bitcoin is a digital asset ledger the includes its own currency and payment system. Bitcoins are not backed by any issuer, and therefore carry no counterparty risk. The validity of the global Bitcoin ledger (blockchain) is enforced by a global P2P network which requires, on average, ten minutes to update.&lt;br /&gt;
&lt;br /&gt;
With regards to OT, Bitcoin (and other cryptocurrencies) form a unique case. Since cryptocurrencies can be manipulated digitally in the way that other assets can not, OT servers can provide additional functions beyond merely ownership accounting. Importantly, in the case of cryptocurrencies, OT can provide auditing and safe storage of reserves on the blockchain itself. Since OT servers can process transactions more rapidly and inexpensively than a blockchain, it is desirable in many cases to allow an OT server to handle financial transactions off-chain, rather than performing them directly on the blockchain itself.&lt;br /&gt;
&lt;br /&gt;
Many services in the cryptocurrency space already require this functionality. Currency exchanges and other trading platforms usually desire to perform order matching more rapidly than what is possible on the blockchain itself. These services accept custody of user funds, perform transactions in a separate off-chain system, and use a database to track customer balances. Typically these services are not cryptographically secured, or independently auditable. Customers also give full control of their deposited funds to the custodial service, which exposes them to the risk of theft or loss of their coins.&lt;br /&gt;
&lt;br /&gt;
Unlike legacy currencies, cryptocurrencies can be irrevocably lost or stolen, and it’s typically not possible to distinguish between insider or external theft. Historically, this ambiguity appears to have been routinely exploited.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an arrangement of OT transaction servers to securely store and account for customer cryptocurrency deposits, and to redeem valid withdrawal requests even in the event the custodial entity has completely disappeared. They are designed to ensure that no single person or organization can ever perform unilateral actions on deposited funds in order to reduce the risk of loss or theft, and custodial liability.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an open standard intended to be a universal replacement for bespoke systems that handle customer cryptocurrency deposits.&lt;br /&gt;
&lt;br /&gt;
==Voting Pool Overview== &lt;br /&gt;
====High-Level Overview, Identification of Components====&lt;br /&gt;
&lt;br /&gt;
Voting pools bridge two worlds - OT and Bitcoin (cryptocurrency). The OT Voting Pool system consists of transaction servers, audit servers, and Bitcoin wallets held by wallet providers. OT tracks the BTC-denominated balances of every user of a service (down to 16 decimal places currently), as well any &amp;quot;service&amp;quot; balances that may be held by the transaction servers. The OT [[Transaction Server (voting pools)|transaction server]] is the portion of a voting pool which is closest to the users themselves. Users can interact with transaction servers through software user-interface &amp;quot;clients&amp;quot; that generate API function calls, or directly through client-side scripts containing OT API function calls. The transaction server acts as a backend processor for a deposit-accepting business (such as a currency exchange or issuer), and handles all issues related to cryptocurrency deposits, withdrawals, and balance updates.&lt;br /&gt;
&lt;br /&gt;
The transaction server and the bitcoin wallet communicate via an [[Audit Server (voting pools)|auditing server]]. The auditing server independently verifies the OT operations of all transaction servers in the voting pool, as well as the bitcoins held by the pool on the blockchain itself. It uses this audit data to know when it should direct the wallet to create a withdrawal transaction, and it is also the component responsible for information sharing and achieving consensus between all members of the pool. It is the audit servers and the wallets who hold the keys to creating transactions at the request of the user, and the audit servers must all act by consensus and with the cooperation of the wallet to create multi-signature blockchain transactions.&lt;br /&gt;
&lt;br /&gt;
In order to manage the actual bitcoins held by the pool, each transaction server has a corresponding Bitcoin [[Wallet (blockchain)|wallet]]. The wallet software manages a hierarchical, deterministic, multisig structure, and can differentiate between standard cryptocurrency balances and colored balances. robust enough to handle the high deposit and withdrawal volumes experienced by a popular service and including the security requirement to hold most funds in cold storage,&lt;br /&gt;
&lt;br /&gt;
====Voting Pool Trust Model and Audit Streams====&lt;br /&gt;
&lt;br /&gt;
The basic design promise of voting pools is: Any denial of service attack which can cause customers to lose access to their Bitcoin deposits must involve more than &amp;lt;code&amp;gt;(n minus m)&amp;lt;code&amp;gt; members of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool. Any attack that can result in a permanent loss of customer funds must involve more than &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; members to be successful.&lt;br /&gt;
&lt;br /&gt;
====Communication-Layer: Network Topology, ZMQ, Bitmessage====&lt;br /&gt;
&lt;br /&gt;
The transaction servers are accessible to membership groups or to the public, processing transactions in general everyday-use for markets and exchanges. Transaction servers act on user, script, or client-generated transaction requests (API function calls) sent to them through the zmq layer or through BitMessage, a communications protocol and anonymizing proxy network. The interaction between end-users/clients and transaction servers does not require the use of any anonymizing network, but transaction servers do support anonymous end-user/client requests as long as they are properly signed.&lt;br /&gt;
&lt;br /&gt;
Transactions servers and audit servers make up an inter-communicating mesh network where broadcasts may happen to all members directly via BitMessage. Audit servers are physically separate from the transaction servers and they communicate over a messaging system (Tor, Bitmessage, or equivalent) that obscures the location of the audit servers. This prevents an attacker who manages to compromise a publicly-facing transaction server from identifying the audit servers in order to attempt an attack on the audit server network (see: OT security and attack scenarios).&lt;br /&gt;
&lt;br /&gt;
Audit servers have a direct communication path with the bitcoin wallet, where the audit servers and the bitcoin wallet providers communicate through a private broadcast network. When cryptocurrency transactions are ready to be pushed to a blockchain, the bitcoin wallets communicate to other bitcoin nodes via Tor, I2P, or other anonymizing proxy networks. Again, the use of anonymizing networks is used here to prevent an attacker from identifying the location of the audit server and/or bitcoin wallet based on their broadcast transactions.&lt;br /&gt;
&lt;br /&gt;
====Distribution of Tasks &amp;amp; Trust, Server Providers / Hosts, Server Discovery====&lt;br /&gt;
====Voting Pool Member Management, Automated &amp;amp; Human Layers====&lt;br /&gt;
====How to Become a Member of a Voting Pool====&lt;br /&gt;
&lt;br /&gt;
==Wallet Providers==&lt;br /&gt;
&lt;br /&gt;
==Design Criteria==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to achieve the desired security and robustness goals for voting pools, the following criteria are enforced:&lt;br /&gt;
&lt;br /&gt;
#Customers should be strongly discouraged from reusing deposit addresses. The voting pool itself must never intentionally reuse a bitcoin address.&lt;br /&gt;
#All Bitcoin addresses used by the pool must be deterministic for auditing purposes. Each member of the pool should be able to calculate all members’ series of deposit and change addresses.&lt;br /&gt;
#Withdrawal transaction input selection must be deterministic in order to minimise the cost of coordinating transaction signing.&lt;br /&gt;
#It must be possible to keep a majority of the private keys offline for security reasons, and bring them online as needed to process withdrawals.&lt;br /&gt;
#It must be possible to alter the voting pool by adding, removing, or replacing members in a coordinated and secure fashion.&lt;br /&gt;
&lt;br /&gt;
==Security Model==&lt;br /&gt;
&lt;br /&gt;
The goal of the voting pool security model is that users of deposit-accepting services should never experience a loss of deposited funds.&lt;br /&gt;
&lt;br /&gt;
We can group the various ways in which this goal might not be met into two general categories:&lt;br /&gt;
&lt;br /&gt;
;Type 1 Event ('''Theft/Loss''')&lt;br /&gt;
:A user permanently loses their funds because a third party has gained control of them without the user’s consent, or because the private keys needed to spend them have been irrevocably lost.&lt;br /&gt;
&lt;br /&gt;
;Type 2 Event ('''Denial of Service''')&lt;br /&gt;
:A user temporarily loses some or all of their ability to use their funds, but no third party has gained control over them.&lt;br /&gt;
&lt;br /&gt;
Type 0 Events will be used to describe all other abnormal conditions from which the pool must recover which do not directly involve a loss of customer deposits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Voting Pool Security Theorem====&lt;br /&gt;
&lt;br /&gt;
If the probability of &amp;lt;code&amp;gt;m+1&amp;lt;/code&amp;gt; (Type 1 Event) or &amp;lt;code&amp;gt;n-m+1&amp;lt;/code&amp;gt; (Type 2 Event) services simultaneously and identically behaving in a malicious or incompetent manner is lower than the probability of any individual server behaving in a malicious or incompetent manner, user deposits on that service are at less risk of loss if the service is a member of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool than they would be at risk if the service is not a member of a voting pool.&lt;br /&gt;
&lt;br /&gt;
Voting pools can guarantee the integrity of user deposits if, in any given situation, at least &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 1 events and at least &amp;lt;code&amp;gt;n-m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 2 events.&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2010</id>
		<title>Category:Voting Pools</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2010"/>
		<updated>2014-05-01T22:43:47Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Abstract, Authors List, Keywords ==&lt;br /&gt;
&lt;br /&gt;
Open Transactions is a financial cryptography library and software system featuring client user-interfaces where users can create, store, and transfer digital assets, instruments, and contracts via transaction servers. We describe a &amp;quot;voting pool&amp;quot; protocol for using consensus votes to process cryptocurrency transactions on the Open Transactions network. In the voting pool scheme, digital currencies can be deposited into multi-signature wallets where a spend transaction can only be initiated by a consensus vote signed by a group of independent auditors. Voting pools provide end-users with greater trust because they decentralize control over the deposited funds, ensuring that no individual server operator can transfer user funds without the complicity of a majority of the other voting pool members. Voting pools also provide unique security features such as shared multi-signature hot-and-cold wallet rotation and trusted multi-signed payment requests for deposit addresses. Voting pools allow end-users to deposit, trade, and withdraw cryptocurrencies on the Open Transactions network with greater trust than on any system that doesn't implement voting pools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div center&amp;gt;'''authors''': (to be decided at time of publication)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Keywords''': cryptography, cryptocurrency, Diffie-Hellman, key exchange, currency, FOREX, contracts, Chaumian cash, bitcoin, financial, transactions, multi-signature, encryption, trust, servers, consensus, voting, games theory&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Open-Transactions (OT) is a financial cryptography library that implements triple entry accounting with destructible receipts. OT allows creditors to issue liabilities in the form of digitally signed and notarized receipts whose balances can be traded as currency and are available for manipulation via smart contracts and other financial instruments. Transactions are constructed by users and notarized by [[transaction servers]]. OT maintains a real-time, cryptographically secured state of all liability balances for a given issuance type. Account balances in OT are protected from tampering with strong cryptography, which eliminates the co-mingling of funds between unrelated accounts. As an accounting system, OT does not normally have the ability to manipulate actual underlying assets, such as physical gold reserves.&lt;br /&gt;
&lt;br /&gt;
Bitcoin is a digital asset ledger the includes its own currency and payment system. Bitcoins are not backed by any issuer, and therefore carry no counterparty risk. The validity of the global Bitcoin ledger (blockchain) is enforced by a global P2P network which requires, on average, ten minutes to update.&lt;br /&gt;
&lt;br /&gt;
With regards to OT, Bitcoin (and other cryptocurrencies) form a unique case. Since cryptocurrencies can be manipulated digitally in the way that other assets can not, OT servers can provide additional functions beyond merely ownership accounting. Importantly, in the case of cryptocurrencies, OT can provide auditing and safe storage of reserves on the blockchain itself. Since OT servers can process transactions more rapidly and inexpensively than a blockchain, it is desirable in many cases to allow an OT server to handle financial transactions off-chain, rather than performing them directly on the blockchain itself.&lt;br /&gt;
&lt;br /&gt;
Many services in the cryptocurrency space already require this functionality. Currency exchanges and other trading platforms usually desire to perform order matching more rapidly than what is possible on the blockchain itself. These services accept custody of user funds, perform transactions in a separate off-chain system, and use a database to track customer balances. Typically these services are not cryptographically secured, or independently auditable. Customers also give full control of their deposited funds to the custodial service, which exposes them to the risk of theft or loss of their coins.&lt;br /&gt;
&lt;br /&gt;
Unlike legacy currencies, cryptocurrencies can be irrevocably lost or stolen, and it’s typically not possible to distinguish between insider or external theft. Historically, this ambiguity appears to have been routinely exploited.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an arrangement of OT transaction servers to securely store and account for customer cryptocurrency deposits, and to redeem valid withdrawal requests even in the event the custodial entity has completely disappeared. They are designed to ensure that no single person or organization can ever perform unilateral actions on deposited funds in order to reduce the risk of loss or theft, and custodial liability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voting pools are an open standard intended to be a universal replacement for bespoke systems that handle customer cryptocurrency deposits.&lt;br /&gt;
&lt;br /&gt;
==Voting Pool Overview== &lt;br /&gt;
====High-Level Overview, Identification of Components====&lt;br /&gt;
&lt;br /&gt;
Voting pools bridge two worlds - OT and Bitcoin (cryptocurrency). The OT Voting Pool system consists of transaction servers, audit servers, and Bitcoin wallets held by wallet providers. OT tracks the BTC-denominated balances of every user of a service (down to 16 decimal places currently), as well any &amp;quot;service&amp;quot; balances that may be held by the transaction servers. The OT [[Transaction Server (voting pools)|transaction server]] is the portion of a voting pool which is closest to the users themselves. Users can interact with transaction servers through software user-interface &amp;quot;clients&amp;quot; that generate API function calls, or directly through client-side scripts containing OT API function calls. The transaction server acts as a backend processor for a deposit-accepting business (such as a currency exchange or issuer), and handles all issues related to cryptocurrency deposits, withdrawals, and balance updates.&lt;br /&gt;
&lt;br /&gt;
The transaction server and the bitcoin wallet communicate via an [[Audit Server (voting pools)|auditing server]]. The auditing server independently verifies the OT operations of all transaction servers in the voting pool, as well as the bitcoins held by the pool on the blockchain itself. It uses this audit data to know when it should direct the wallet to create a withdrawal transaction, and it is also the component responsible for information sharing and achieving consensus between all members of the pool. It is the audit servers and the wallets who hold the keys to creating transactions at the request of the user, and the audit servers must all act by consensus and with the cooperation of the wallet to create multi-signature blockchain transactions.&lt;br /&gt;
&lt;br /&gt;
In order to manage the actual bitcoins held by the pool, each transaction server has a corresponding Bitcoin [[Wallet (blockchain)|wallet]]. The wallet software manages a hierarchical, deterministic, multisig structure, and can differentiate between standard cryptocurrency balances and colored balances. robust enough to handle the high deposit and withdrawal volumes experienced by a popular service and including the security requirement to hold most funds in cold storage,&lt;br /&gt;
&lt;br /&gt;
====Voting Pool Trust Model and Audit Streams====&lt;br /&gt;
&lt;br /&gt;
The basic design promise of voting pools is: Any denial of service attack which can cause customers to lose access to their Bitcoin deposits must involve more than &amp;lt;code&amp;gt;(n minus m)&amp;lt;code&amp;gt; members of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool. Any attack that can result in a permanent loss of customer funds must involve more than &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; members to be successful.&lt;br /&gt;
&lt;br /&gt;
====Communication-Layer: Network Topology, ZMQ, Bitmessage====&lt;br /&gt;
&lt;br /&gt;
The transaction servers are accessible to membership groups or to the public, processing transactions in general everyday-use for markets and exchanges. Transaction servers act on user, script, or client-generated transaction requests (API function calls) sent to them through the zmq layer or through BitMessage, a communications protocol and anonymizing proxy network. The interaction between end-users/clients and transaction servers does not require the use of any anonymizing network, but transaction servers do support anonymous end-user/client requests as long as they are properly signed.&lt;br /&gt;
&lt;br /&gt;
Transactions servers and audit servers make up an inter-communicating mesh network where broadcasts may happen to all members directly via BitMessage. Audit servers are physically separate from the transaction servers and they communicate over a messaging system (Tor, Bitmessage, or equivalent) that obscures the location of the audit servers. This prevents an attacker who manages to compromise a publicly-facing transaction server from identifying the audit servers in order to attempt an attack on the audit server network (see: OT security and attack scenarios).&lt;br /&gt;
&lt;br /&gt;
Audit servers have a direct communication path with the bitcoin wallet, where the audit servers and the bitcoin wallet providers communicate through a private broadcast network. When cryptocurrency transactions are ready to be pushed to a blockchain, the bitcoin wallets communicate to other bitcoin nodes via Tor, I2P, or other anonymizing proxy networks. Again, the use of anonymizing networks is used here to prevent an attacker from identifying the location of the audit server and/or bitcoin wallet based on their broadcast transactions.&lt;br /&gt;
&lt;br /&gt;
====Distribution of Tasks &amp;amp; Trust, Server Providers / Hosts, Server Discovery====&lt;br /&gt;
====Voting Pool Member Management, Automated &amp;amp; Human Layers====&lt;br /&gt;
====How to Become a Member of a Voting Pool====&lt;br /&gt;
&lt;br /&gt;
==Wallet Providers==&lt;br /&gt;
&lt;br /&gt;
==Design Criteria==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to achieve the desired security and robustness goals for voting pools, the following criteria are enforced:&lt;br /&gt;
&lt;br /&gt;
#Customers should be strongly discouraged from reusing deposit addresses. The voting pool itself must never intentionally reuse a bitcoin address.&lt;br /&gt;
#All Bitcoin addresses used by the pool must be deterministic for auditing purposes. Each member of the pool should be able to calculate all members’ series of deposit and change addresses.&lt;br /&gt;
#Withdrawal transaction input selection must be deterministic in order to minimise the cost of coordinating transaction signing.&lt;br /&gt;
#It must be possible to keep a majority of the private keys offline for security reasons, and bring them online as needed to process withdrawals.&lt;br /&gt;
#It must be possible to alter the voting pool by adding, removing, or replacing members in a coordinated and secure fashion.&lt;br /&gt;
&lt;br /&gt;
==Security Model==&lt;br /&gt;
&lt;br /&gt;
The goal of the voting pool security model is that users of deposit-accepting services should never experience a loss of deposited funds.&lt;br /&gt;
&lt;br /&gt;
We can group the various ways in which this goal might not be met into two general categories:&lt;br /&gt;
&lt;br /&gt;
;Type 1 Event ('''Theft/Loss''')&lt;br /&gt;
:A user permanently loses their funds because a third party has gained control of them without the user’s consent, or because the private keys needed to spend them have been irrevocably lost.&lt;br /&gt;
&lt;br /&gt;
;Type 2 Event ('''Denial of Service''')&lt;br /&gt;
:A user temporarily loses some or all of their ability to use their funds, but no third party has gained control over them.&lt;br /&gt;
&lt;br /&gt;
Type 0 Events will be used to describe all other abnormal conditions from which the pool must recover which do not directly involve a loss of customer deposits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Voting Pool Security Theorem====&lt;br /&gt;
&lt;br /&gt;
If the probability of &amp;lt;code&amp;gt;m+1&amp;lt;/code&amp;gt; (Type 1 Event) or &amp;lt;code&amp;gt;n-m+1&amp;lt;/code&amp;gt; (Type 2 Event) services simultaneously and identically behaving in a malicious or incompetent manner is lower than the probability of any individual server behaving in a malicious or incompetent manner, user deposits on that service are at less risk of loss if the service is a member of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool than they would be at risk if the service is not a member of a voting pool.&lt;br /&gt;
&lt;br /&gt;
Voting pools can guarantee the integrity of user deposits if, in any given situation, at least &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 1 events and at least &amp;lt;code&amp;gt;n-m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 2 events.&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2009</id>
		<title>Category:Voting Pools</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2009"/>
		<updated>2014-05-01T22:43:03Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Abstract, Authors List, Keywords ==&lt;br /&gt;
&lt;br /&gt;
Open Transactions is a financial cryptography library and software system featuring client user-interfaces where users can create, store, and transfer digital assets, instruments, and contracts via transaction servers. We describe a &amp;quot;voting pool&amp;quot; protocol for using consensus votes to process cryptocurrency transactions on the Open Transactions network. In the voting pool scheme, digital currencies can be deposited into multi-signature wallets where a spend transaction can only be initiated by a consensus vote signed by a group of independent auditors. Voting pools provide end-users with greater trust because they decentralize control over the deposited funds, ensuring that no individual server operator can transfer user funds without the complicity of a majority of the other voting pool members. Voting pools also provide unique security features such as shared multi-signature hot-and-cold wallet rotation and trusted multi-signed payment requests for deposit addresses. Voting pools allow end-users to deposit, trade, and withdraw cryptocurrencies on the Open Transactions network with greater trust than on any system that doesn't implement voting pools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div center&amp;gt;'''authors''': (to be decided at time of publication)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Keywords''': cryptography, cryptocurrency, Diffie-Hellman, key exchange, currency, FOREX, contracts, Chaumian cash, bitcoin, financial, transactions, multi-signature, encryption, trust, servers, consensus, voting, games theory&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Open-Transactions (OT) is a financial cryptography library that implements triple entry accounting with destructible receipts. OT allows creditors to issue liabilities in the form of digitally signed and notarized receipts whose balances can be traded as currency and are available for manipulation via smart contracts and other financial instruments. Transactions are constructed by users and notarized by [[transaction servers]]. OT maintains a real-time, cryptographically secured state of all liability balances for a given issuance type. Account balances in OT are protected from tampering with strong cryptography, which eliminates the co-mingling of funds between unrelated accounts. As an accounting system, OT does not normally have the ability to manipulate actual underlying assets, such as physical gold reserves.&lt;br /&gt;
&lt;br /&gt;
Bitcoin is a digital asset ledger the includes its own currency and payment system. Bitcoins are not backed by any issuer, and therefore carry no counterparty risk. The validity of the global Bitcoin ledger (blockchain) is enforced by a global P2P network which requires, on average, ten minutes to update.&lt;br /&gt;
&lt;br /&gt;
With regards to OT, Bitcoin (and other cryptocurrencies) form a unique case. Since cryptocurrencies can be manipulated digitally in the way that other assets can not, OT servers can provide additional functions beyond merely ownership accounting. Importantly, in the case of cryptocurrencies, OT can provide auditing and safe storage of reserves on the blockchain itself. Since OT servers can process transactions more rapidly and inexpensively than a blockchain, it is desirable in many cases to allow an OT server to handle financial transactions off-chain, rather than performing them directly on the blockchain itself.&lt;br /&gt;
&lt;br /&gt;
Many services in the cryptocurrency space already require this functionality. Currency exchanges and other trading platforms usually desire to perform order matching more rapidly than what is possible on the blockchain itself. These services accept custody of user funds, perform transactions in a separate off-chain system, and use a database to track customer balances. Typically these services are not cryptographically secured, or independently auditable. Customers also give full control of their deposited funds to the custodial service, which exposes them to the risk of theft or loss of their coins.&lt;br /&gt;
&lt;br /&gt;
Unlike legacy currencies, cryptocurrencies can be irrevocably lost or stolen, and it’s typically not possible to distinguish between insider or external theft. Historically, this ambiguity appears to have been routinely exploited.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an arrangement of OT transaction servers to securely store and account for customer cryptocurrency deposits, and to redeem valid withdrawal requests even in the event the custodial entity has completely disappeared. They are designed to ensure that no single person or organization can ever perform unilateral actions on deposited funds in order to reduce the risk of loss or theft, and custodial liability.&lt;br /&gt;
&lt;br /&gt;
The basic design promise of voting pools is: Any denial of service attack which can cause customers to lose access to their Bitcoin deposits must involve more than &amp;lt;code&amp;gt;(n minus m)&amp;lt;code&amp;gt; members of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool. Any attack that can result in a permanent loss of customer funds must involve more than &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; members to be successful.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an open standard intended to be a universal replacement for bespoke systems that handle customer cryptocurrency deposits.&lt;br /&gt;
&lt;br /&gt;
==Voting Pool Overview== &lt;br /&gt;
====High-Level Overview, Identification of Components====&lt;br /&gt;
&lt;br /&gt;
Voting pools bridge two worlds - OT and Bitcoin (cryptocurrency). The OT Voting Pool system consists of transaction servers, audit servers, and Bitcoin wallets held by wallet providers. OT tracks the BTC-denominated balances of every user of a service (down to 16 decimal places currently), as well any &amp;quot;service&amp;quot; balances that may be held by the transaction servers. The OT [[Transaction Server (voting pools)|transaction server]] is the portion of a voting pool which is closest to the users themselves. Users can interact with transaction servers through software user-interface &amp;quot;clients&amp;quot; that generate API function calls, or directly through client-side scripts containing OT API function calls. The transaction server acts as a backend processor for a deposit-accepting business (such as a currency exchange or issuer), and handles all issues related to cryptocurrency deposits, withdrawals, and balance updates.&lt;br /&gt;
&lt;br /&gt;
The transaction server and the bitcoin wallet communicate via an [[Audit Server (voting pools)|auditing server]]. The auditing server independently verifies the OT operations of all transaction servers in the voting pool, as well as the bitcoins held by the pool on the blockchain itself. It uses this audit data to know when it should direct the wallet to create a withdrawal transaction, and it is also the component responsible for information sharing and achieving consensus between all members of the pool. It is the audit servers and the wallets who hold the keys to creating transactions at the request of the user, and the audit servers must all act by consensus and with the cooperation of the wallet to create multi-signature blockchain transactions.&lt;br /&gt;
&lt;br /&gt;
In order to manage the actual bitcoins held by the pool, each transaction server has a corresponding Bitcoin [[Wallet (blockchain)|wallet]]. The wallet software manages a hierarchical, deterministic, multisig structure, and can differentiate between standard cryptocurrency balances and colored balances. robust enough to handle the high deposit and withdrawal volumes experienced by a popular service and including the security requirement to hold most funds in cold storage,&lt;br /&gt;
&lt;br /&gt;
====Voting Pool Trust Model and Audit Streams====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Communication-Layer: Network Topology, ZMQ, Bitmessage====&lt;br /&gt;
&lt;br /&gt;
The transaction servers are accessible to membership groups or to the public, processing transactions in general everyday-use for markets and exchanges. Transaction servers act on user, script, or client-generated transaction requests (API function calls) sent to them through the zmq layer or through BitMessage, a communications protocol and anonymizing proxy network. The interaction between end-users/clients and transaction servers does not require the use of any anonymizing network, but transaction servers do support anonymous end-user/client requests as long as they are properly signed.&lt;br /&gt;
&lt;br /&gt;
Transactions servers and audit servers make up an inter-communicating mesh network where broadcasts may happen to all members directly via BitMessage. Audit servers are physically separate from the transaction servers and they communicate over a messaging system (Tor, Bitmessage, or equivalent) that obscures the location of the audit servers. This prevents an attacker who manages to compromise a publicly-facing transaction server from identifying the audit servers in order to attempt an attack on the audit server network (see: OT security and attack scenarios).&lt;br /&gt;
&lt;br /&gt;
Audit servers have a direct communication path with the bitcoin wallet, where the audit servers and the bitcoin wallet providers communicate through a private broadcast network. When cryptocurrency transactions are ready to be pushed to a blockchain, the bitcoin wallets communicate to other bitcoin nodes via Tor, I2P, or other anonymizing proxy networks. Again, the use of anonymizing networks is used here to prevent an attacker from identifying the location of the audit server and/or bitcoin wallet based on their broadcast transactions.&lt;br /&gt;
&lt;br /&gt;
====Distribution of Tasks &amp;amp; Trust, Server Providers / Hosts, Server Discovery====&lt;br /&gt;
====Voting Pool Member Management, Automated &amp;amp; Human Layers====&lt;br /&gt;
====How to Become a Member of a Voting Pool====&lt;br /&gt;
&lt;br /&gt;
==Wallet Providers==&lt;br /&gt;
&lt;br /&gt;
==Design Criteria==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to achieve the desired security and robustness goals for voting pools, the following criteria are enforced:&lt;br /&gt;
&lt;br /&gt;
#Customers should be strongly discouraged from reusing deposit addresses. The voting pool itself must never intentionally reuse a bitcoin address.&lt;br /&gt;
#All Bitcoin addresses used by the pool must be deterministic for auditing purposes. Each member of the pool should be able to calculate all members’ series of deposit and change addresses.&lt;br /&gt;
#Withdrawal transaction input selection must be deterministic in order to minimise the cost of coordinating transaction signing.&lt;br /&gt;
#It must be possible to keep a majority of the private keys offline for security reasons, and bring them online as needed to process withdrawals.&lt;br /&gt;
#It must be possible to alter the voting pool by adding, removing, or replacing members in a coordinated and secure fashion.&lt;br /&gt;
&lt;br /&gt;
==Security Model==&lt;br /&gt;
&lt;br /&gt;
The goal of the voting pool security model is that users of deposit-accepting services should never experience a loss of deposited funds.&lt;br /&gt;
&lt;br /&gt;
We can group the various ways in which this goal might not be met into two general categories:&lt;br /&gt;
&lt;br /&gt;
;Type 1 Event ('''Theft/Loss''')&lt;br /&gt;
:A user permanently loses their funds because a third party has gained control of them without the user’s consent, or because the private keys needed to spend them have been irrevocably lost.&lt;br /&gt;
&lt;br /&gt;
;Type 2 Event ('''Denial of Service''')&lt;br /&gt;
:A user temporarily loses some or all of their ability to use their funds, but no third party has gained control over them.&lt;br /&gt;
&lt;br /&gt;
Type 0 Events will be used to describe all other abnormal conditions from which the pool must recover which do not directly involve a loss of customer deposits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Voting Pool Security Theorem====&lt;br /&gt;
&lt;br /&gt;
If the probability of &amp;lt;code&amp;gt;m+1&amp;lt;/code&amp;gt; (Type 1 Event) or &amp;lt;code&amp;gt;n-m+1&amp;lt;/code&amp;gt; (Type 2 Event) services simultaneously and identically behaving in a malicious or incompetent manner is lower than the probability of any individual server behaving in a malicious or incompetent manner, user deposits on that service are at less risk of loss if the service is a member of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool than they would be at risk if the service is not a member of a voting pool.&lt;br /&gt;
&lt;br /&gt;
Voting pools can guarantee the integrity of user deposits if, in any given situation, at least &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 1 events and at least &amp;lt;code&amp;gt;n-m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 2 events.&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2008</id>
		<title>Category:Voting Pools</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2008"/>
		<updated>2014-05-01T19:44:35Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Abstract, Authors List, Keywords ==&lt;br /&gt;
&lt;br /&gt;
Open Transactions is a financial cryptography library and software system featuring client user-interfaces where users can create, store, and transfer digital assets, instruments, and contracts via transaction servers. We describe a &amp;quot;voting pool&amp;quot; protocol for using consensus votes to process cryptocurrency transactions on the Open Transactions network. In the voting pool scheme, digital currencies can be deposited into multi-signature wallets where a spend transaction can only be initiated by a consensus vote signed by a group of independent auditors. Voting pools provide end-users with greater trust because they decentralize control over the deposited funds, ensuring that no individual server operator can transfer user funds without the complicity of a majority of the other voting pool members. Voting pools also provide unique security features such as shared multi-signature hot-and-cold wallet rotation and trusted multi-signed payment requests for deposit addresses. Voting pools allow end-users to deposit, trade, and withdraw cryptocurrencies on the Open Transactions network with greater trust than on any system that doesn't implement voting pools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div center&amp;gt;'''authors''': (to be decided at time of publication)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Keywords''': cryptography, cryptocurrency, Diffie-Hellman, key exchange, currency, FOREX, contracts, Chaumian cash, bitcoin, financial, transactions, multi-signature, encryption, trust, servers, consensus, voting, games theory&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Open-Transactions (OT) is a financial cryptography library that implements triple entry accounting with destructible receipts. OT allows creditors to issue liabilities in the form of digitally signed and notarized receipts whose balances can be traded as currency and are available for manipulation via smart contracts and other financial instruments. Transactions are constructed by users and notarized by [[transaction servers]]. OT maintains a real-time, cryptographically secured state of all liability balances for a given issuance type. Account balances in OT are protected from tampering with strong cryptography, which eliminates the co-mingling of funds between unrelated accounts. As an accounting system, OT does not normally have the ability to manipulate actual underlying assets, such as physical gold reserves.&lt;br /&gt;
&lt;br /&gt;
Bitcoin is a digital asset ledger the includes its own currency and payment system. Bitcoins are not backed by any issuer, and therefore carry no counterparty risk. The validity of the global Bitcoin ledger (blockchain) is enforced by a global P2P network which requires, on average, ten minutes to update.&lt;br /&gt;
&lt;br /&gt;
With regards to OT, Bitcoin (and other cryptocurrencies) form a unique case. Since cryptocurrencies can be manipulated digitally in the way that other assets can not, OT servers can provide additional functions beyond merely ownership accounting. Importantly, in the case of cryptocurrencies, OT can provide auditing and safe storage of reserves on the blockchain itself. Since OT servers can process transactions more rapidly and inexpensively than a blockchain, it is desirable in many cases to allow an OT server to handle financial transactions off-chain, rather than performing them directly on the blockchain itself.&lt;br /&gt;
&lt;br /&gt;
Many services in the cryptocurrency space already require this functionality. Currency exchanges and other trading platforms usually desire to perform order matching more rapidly than what is possible on the blockchain itself. These services accept custody of user funds, perform transactions in a separate off-chain system, and use a database to track customer balances. Typically these services are not cryptographically secured, or independently auditable. Customers also give full control of their deposited funds to the custodial service, which exposes them to the risk of theft or loss of their coins.&lt;br /&gt;
&lt;br /&gt;
Unlike legacy currencies, cryptocurrencies can be irrevocably lost or stolen, and it’s typically not possible to distinguish between insider or external theft. Historically, this ambiguity appears to have been routinely exploited.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an arrangement of OT transaction servers to securely store and account for customer cryptocurrency deposits, and to redeem valid withdrawal requests even in the event the custodial entity has completely disappeared. They are designed to ensure that no single person or organization can ever perform unilateral actions on deposited funds in order to reduce the risk of loss or theft, and custodial liability.&lt;br /&gt;
&lt;br /&gt;
The basic design promise of voting pools is: Any denial of service attack which can cause customers to lose access to their Bitcoin deposits must involve more than &amp;lt;code&amp;gt;(n minus m)&amp;lt;code&amp;gt; members of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool. Any attack that can result in a permanent loss of customer funds must involve more than &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; members to be successful.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an open standard intended to be a universal replacement for bespoke systems that handle customer cryptocurrency deposits.&lt;br /&gt;
&lt;br /&gt;
==Voting Pool Overview== &lt;br /&gt;
====High-Level Overview, Identification of Components====&lt;br /&gt;
&lt;br /&gt;
Voting pools bridge two worlds - OT and Bitcoin (cryptocurrency). OT is responsible for tracking the exact BTC-denominated balances of every user of a service, as well as the service’s balance. The OT [[Transaction Server (voting pools)|transaction server]] is the portion of a voting pool which is closest to the users themselves. The transaction server acts as a backend processor for a deposit-accepting business (such as a currency exchange or issuer), and handles all issues related to cryptocurrency deposits, withdrawals, and balance updates.&lt;br /&gt;
&lt;br /&gt;
The transaction server and the bitcoin wallet communicate via an [[Audit Server (voting pools)|auditing server]]. The auditing server independently verifies the OT operations of all transaction servers in the voting pool, as well as the bitcoins held by the pool on the blockchain itself. It uses this audit data to know when it should direct the wallet to create a withdrawal transaction, and it is also the component responsible for information sharing and achieving consensus between all members of the pool.&lt;br /&gt;
&lt;br /&gt;
====Voting Pool Trust Model and Network Topology====&lt;br /&gt;
====Communication-Layer: ZMQ, Bitmessage, Audit Streams====&lt;br /&gt;
====Distribution of Tasks &amp;amp; Trust, Server Providers / Hosts, Server Discovery====&lt;br /&gt;
====Voting Pool Member Management, Automated &amp;amp; Human Layers====&lt;br /&gt;
====How to Become a Member of a Voting Pool====&lt;br /&gt;
&lt;br /&gt;
==Wallet Providers==&lt;br /&gt;
&lt;br /&gt;
==Design Criteria==&lt;br /&gt;
&lt;br /&gt;
In order to manage the actual bitcoins held by the pool, each transaction server will need a corresponding Bitcoin [[Wallet (blockchain)|wallet]]. The wallet must understand a hierarchical, deterministic, multisig structure and be robust enough to handle the high deposit and withdrawal volumes experienced by a popular service, including the security requirement to hold most funds in cold storage. It must also differentiate between standard balances and colored balances.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order for voting pools to function, the transaction server must be publicly accessible. For this reason the audit servers must be physically separate from the transaction servers and they must communicate over a messaging system (Tor, Bitmessage, or equivalent) that obscures the location of the audit servers. This prevents an attacker who manages to compromise a publicly-facing transaction server from identifying the audit servers in order to attack them and steal from the pool’s hot wallets.&lt;br /&gt;
&lt;br /&gt;
The audit server must have a direct communication path with the bitcoin wallet. The wallet should connect to the rest of the Bitcoin network via Tor, I2P or equivalent in order to prevent an attacker from identifying the location of the audit server and bitcoin wallet based on their broadcast transactions.&lt;br /&gt;
&lt;br /&gt;
In order to achieve the desired security and robustness goals for voting pools, the following criteria are enforced:&lt;br /&gt;
&lt;br /&gt;
#Customers should be strongly discouraged from reusing deposit addresses. The voting pool itself must never intentionally reuse a bitcoin address.&lt;br /&gt;
#All Bitcoin addresses used by the pool must be deterministic for auditing purposes. Each member of the pool should be able to calculate all members’ series of deposit and change addresses.&lt;br /&gt;
#Withdrawal transaction input selection must be deterministic in order to minimise the cost of coordinating transaction signing.&lt;br /&gt;
#It must be possible to keep a majority of the private keys offline for security reasons, and bring them online as needed to process withdrawals.&lt;br /&gt;
#It must be possible to alter the voting pool by adding, removing, or replacing members in a coordinated and secure fashion.&lt;br /&gt;
&lt;br /&gt;
==Security Model==&lt;br /&gt;
&lt;br /&gt;
The goal of the voting pool security model is that users of deposit-accepting services should never experience a loss of deposited funds.&lt;br /&gt;
&lt;br /&gt;
We can group the various ways in which this goal might not be met into two general categories:&lt;br /&gt;
&lt;br /&gt;
;Type 1 Event ('''Theft/Loss''')&lt;br /&gt;
:A user permanently loses their funds because a third party has gained control of them without the user’s consent, or because the private keys needed to spend them have been irrevocably lost.&lt;br /&gt;
&lt;br /&gt;
;Type 2 Event ('''Denial of Service''')&lt;br /&gt;
:A user temporarily loses some or all of their ability to use their funds, but no third party has gained control over them.&lt;br /&gt;
&lt;br /&gt;
Type 0 Events will be used to describe all other abnormal conditions from which the pool must recover which do not directly involve a loss of customer deposits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Voting Pool Security Theorem====&lt;br /&gt;
&lt;br /&gt;
If the probability of &amp;lt;code&amp;gt;m+1&amp;lt;/code&amp;gt; (Type 1 Event) or &amp;lt;code&amp;gt;n-m+1&amp;lt;/code&amp;gt; (Type 2 Event) services simultaneously and identically behaving in a malicious or incompetent manner is lower than the probability of any individual server behaving in a malicious or incompetent manner, user deposits on that service are at less risk of loss if the service is a member of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool than they would be at risk if the service is not a member of a voting pool.&lt;br /&gt;
&lt;br /&gt;
Voting pools can guarantee the integrity of user deposits if, in any given situation, at least &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 1 events and at least &amp;lt;code&amp;gt;n-m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 2 events.&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2007</id>
		<title>Category:Voting Pools</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2007"/>
		<updated>2014-04-26T06:12:38Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Abstract, Authors List, Keywords ==&lt;br /&gt;
&lt;br /&gt;
Open Transactions is a financial cryptography library and software system featuring client user-interfaces where users can create, store, and transfer digital assets, instruments, and contracts via transaction servers. We describe a &amp;quot;voting pool&amp;quot; protocol for using consensus votes to process cryptocurrency transactions on the Open Transactions network. In the voting pool scheme, digital currencies can be deposited into multi-signature wallets where a spend transaction can only be initiated by a consensus vote signed by a group of independent auditors. Voting pools provide end-users with greater trust because they decentralize control over the deposited funds, ensuring that no individual server operator can transfer user funds without the complicity of a majority of the other voting pool members. Voting pools also provide unique security features such as shared multi-signature hot-and-cold wallet rotation and trusted multi-signed payment requests for deposit addresses. Voting pools allow end-users to deposit, trade, and withdraw cryptocurrencies on the Open Transactions network with greater trust than on any system that doesn't implement voting pools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div center&amp;gt;'''authors''': (to be decided at time of publication)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Keywords''': cryptography, cryptocurrency, Diffie-Hellman, key exchange, currency, FOREX, contracts, Chaumian cash, bitcoin, financial, transactions, multi-signature, encryption, trust, servers, consensus, voting, games theory&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Open-Transactions (OT) is a financial cryptography library that implements triple entry accounting with destructible receipts. OT allows creditors to issue liabilities in the form of digitally signed and notarized receipts whose balances can be traded as currency and are available for manipulation via smart contracts and other financial instruments. Transactions are constructed by users and notarized by [[transaction servers]]. OT maintains a real-time, cryptographically secured state of all liability balances for a given issuance type. Account balances in OT are protected from tampering with strong cryptography, which eliminates the co-mingling of funds between unrelated accounts. As an accounting system, OT does not normally have the ability to manipulate actual underlying assets, such as physical gold reserves.&lt;br /&gt;
&lt;br /&gt;
Bitcoin is a digital asset ledger the includes its own currency and payment system. Bitcoins are not backed by any issuer, and therefore carry no counterparty risk. The validity of the global Bitcoin ledger (blockchain) is enforced by a global P2P network which requires, on average, ten minutes to update.&lt;br /&gt;
&lt;br /&gt;
With regards to OT, Bitcoin (and other cryptocurrencies) form a unique case. Since cryptocurrencies can be manipulated digitally in the way that other assets can not, OT servers can provide additional functions beyond merely ownership accounting. Importantly, in the case of cryptocurrencies, OT can provide auditing and safe storage of reserves on the blockchain itself. Since OT servers can process transactions more rapidly and inexpensively than a blockchain, it is desirable in many cases to allow an OT server to handle financial transactions off-chain, rather than performing them directly on the blockchain itself.&lt;br /&gt;
&lt;br /&gt;
Many services in the cryptocurrency space already require this functionality. Currency exchanges and other trading platforms usually desire to perform order matching more rapidly than what is possible on the blockchain itself. These services accept custody of user funds, perform transactions in a separate off-chain system, and use a database to track customer balances. Typically these services are not cryptographically secured, or independently auditable. Customers also give full control of their deposited funds to the custodial service, which exposes them to the risk of theft or loss of their coins.&lt;br /&gt;
&lt;br /&gt;
Unlike legacy currencies, cryptocurrencies can be irrevocably lost or stolen, and it’s typically not possible to distinguish between insider or external theft. Historically, this ambiguity appears to have been routinely exploited.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an arrangement of OT transaction servers to securely store and account for customer cryptocurrency deposits, and to redeem valid withdrawal requests even in the event the custodial entity has completely disappeared. They are designed to ensure that no single person or organization can ever perform unilateral actions on deposited funds in order to reduce the risk of loss or theft, and custodial liability.&lt;br /&gt;
&lt;br /&gt;
The basic design promise of voting pools is: Any denial of service attack which can cause customers to lose access to their Bitcoin deposits must involve more than &amp;lt;code&amp;gt;(n minus m)&amp;lt;code&amp;gt; members of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool. Any attack that can result in a permanent loss of customer funds must involve more than &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; members to be successful.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an open standard intended to be a universal replacement for bespoke systems that handle customer cryptocurrency deposits.&lt;br /&gt;
&lt;br /&gt;
==Voting Pool Overview== &lt;br /&gt;
====High-Level Overview, Identification of Components====&lt;br /&gt;
====Voting Pool Trust Model and Network Topology====&lt;br /&gt;
====Communication-Layer: ZMQ, Bitmessage, Audit Streams====&lt;br /&gt;
====Distribution of Tasks &amp;amp; Trust, Server Providers / Hosts, Server Discovery====&lt;br /&gt;
====Voting Pool Member Management, Automated &amp;amp; Human Layers====&lt;br /&gt;
====How to Become a Member of a Voting Pool====&lt;br /&gt;
&lt;br /&gt;
==Wallet Providers==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Design Criteria==&lt;br /&gt;
&lt;br /&gt;
Voting pools bridge two worlds - OT and Bitcoin (cryptocurrency). OT is responsible for tracking the exact BTC-denominated balances of every user of a service, as well as the service’s balance. The OT [[Transaction Server (voting pools)|transaction server]] is the portion of a voting pool which is closest to the users themselves. The transaction server acts as a backend processor for a deposit-accepting business (such as a currency exchange or issuer), and handles all issues related to cryptocurrency deposits, withdrawals, and balance updates.&lt;br /&gt;
&lt;br /&gt;
In order to manage the actual bitcoins held by the pool, each transaction server will need a corresponding Bitcoin [[Wallet (blockchain)|wallet]]. The wallet must understand a hierarchical, deterministic, multisig structure and be robust enough to handle the high deposit and withdrawal volumes experienced by a popular service, including the security requirement to hold most funds in cold storage. It must also differentiate between standard balances and colored balances.&lt;br /&gt;
&lt;br /&gt;
The transaction server and the bitcoin wallet communicate via an [[Audit Server (voting pools)|auditing server]]. The auditing server independently verifies the OT operations of all transaction servers in the voting pool, as well as the bitcoins held by the pool on the blockchain itself. It uses this audit data to know when it should direct the wallet to create a withdrawal transaction, and it is also the component responsible for information sharing and achieving consensus between all members of the pool.&lt;br /&gt;
&lt;br /&gt;
In order for voting pools to function, the transaction server must be publicly accessible. For this reason the audit servers must be physically separate from the transaction servers and they must communicate over a messaging system (Tor, Bitmessage, or equivalent) that obscures the location of the audit servers. This prevents an attacker who manages to compromise a publicly-facing transaction server from identifying the audit servers in order to attack them and steal from the pool’s hot wallets.&lt;br /&gt;
&lt;br /&gt;
The audit server must have a direct communication path with the bitcoin wallet. The wallet should connect to the rest of the Bitcoin network via Tor, I2P or equivalent in order to prevent an attacker from identifying the location of the audit server and bitcoin wallet based on their broadcast transactions.&lt;br /&gt;
&lt;br /&gt;
In order to achieve the desired security and robustness goals for voting pools, the following criteria are enforced:&lt;br /&gt;
&lt;br /&gt;
#Customers should be strongly discouraged from reusing deposit addresses. The voting pool itself must never intentionally reuse a bitcoin address.&lt;br /&gt;
#All Bitcoin addresses used by the pool must be deterministic for auditing purposes. Each member of the pool should be able to calculate all members’ series of deposit and change addresses.&lt;br /&gt;
#Withdrawal transaction input selection must be deterministic in order to minimise the cost of coordinating transaction signing.&lt;br /&gt;
#It must be possible to keep a majority of the private keys offline for security reasons, and bring them online as needed to process withdrawals.&lt;br /&gt;
#It must be possible to alter the voting pool by adding, removing, or replacing members in a coordinated and secure fashion.&lt;br /&gt;
&lt;br /&gt;
==Security Model==&lt;br /&gt;
&lt;br /&gt;
The goal of the voting pool security model is that users of deposit-accepting services should never experience a loss of deposited funds.&lt;br /&gt;
&lt;br /&gt;
We can group the various ways in which this goal might not be met into two general categories:&lt;br /&gt;
&lt;br /&gt;
;Type 1 Event ('''Theft/Loss''')&lt;br /&gt;
:A user permanently loses their funds because a third party has gained control of them without the user’s consent, or because the private keys needed to spend them have been irrevocably lost.&lt;br /&gt;
&lt;br /&gt;
;Type 2 Event ('''Denial of Service''')&lt;br /&gt;
:A user temporarily loses some or all of their ability to use their funds, but no third party has gained control over them.&lt;br /&gt;
&lt;br /&gt;
Type 0 Events will be used to describe all other abnormal conditions from which the pool must recover which do not directly involve a loss of customer deposits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Voting Pool Security Theorem====&lt;br /&gt;
&lt;br /&gt;
If the probability of &amp;lt;code&amp;gt;m+1&amp;lt;/code&amp;gt; (Type 1 Event) or &amp;lt;code&amp;gt;n-m+1&amp;lt;/code&amp;gt; (Type 2 Event) services simultaneously and identically behaving in a malicious or incompetent manner is lower than the probability of any individual server behaving in a malicious or incompetent manner, user deposits on that service are at less risk of loss if the service is a member of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool than they would be at risk if the service is not a member of a voting pool.&lt;br /&gt;
&lt;br /&gt;
Voting pools can guarantee the integrity of user deposits if, in any given situation, at least &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 1 events and at least &amp;lt;code&amp;gt;n-m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 2 events.&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2006</id>
		<title>Category:Voting Pools</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools&amp;diff=2006"/>
		<updated>2014-04-26T05:37:31Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Abstract, Authors List, Keywords ==&lt;br /&gt;
&lt;br /&gt;
Open Transactions is a financial cryptography library and software system featuring client user-interfaces where users can create, store, and transfer digital assets, instruments, and contracts via transaction servers. We describe a &amp;quot;voting pool&amp;quot; protocol for using consensus votes to process cryptocurrency transactions on the Open Transactions network. In the voting pool scheme, digital currencies can be deposited into multi-signature wallets where a spend transaction can only be initiated by a consensus vote signed by a group of independent auditors. Voting pools provide end-users with greater trust because they decentralize control over the deposited funds, ensuring that no individual server operator can transfer user funds without the complicity of a majority of the other voting pool members. Voting pools also provide unique security features such as shared multi-signature hot-and-cold wallet rotation and trusted multi-signed payment requests for deposit addresses. Voting pools allow end-users to deposit, trade, and withdraw cryptocurrencies on the Open Transactions network with greater trust than on any system that doesn't implement voting pools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div center&amp;gt;'''authors''': (to be decided at time of publication)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Keywords''': cryptography, cryptocurrency, Diffie-Hellman, key exchange, currency, FOREX, contracts, Chaumian cash, bitcoin, financial, transactions, multi-signature, encryption, trust, servers, consensus, voting, games theory&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Open-Transactions (OT) is a financial cryptography library that implements triple entry accounting with destructible receipts. OT allows creditors to issue liabilities in the form of digitally signed and notarized receipts whose balances can be traded as currency and are available for manipulation via smart contracts and other financial instruments. Transactions are constructed by users and notarized by [[transaction servers]]. OT maintains a real-time, cryptographically secured state of all liability balances for a given issuance type. Account balances in OT are protected from tampering with strong cryptography, which eliminates the co-mingling of funds between unrelated accounts. As an accounting system, OT does not normally have the ability to manipulate actual underlying assets, such as physical gold reserves.&lt;br /&gt;
&lt;br /&gt;
Bitcoin is a digital asset ledger the includes its own currency and payment system. Bitcoins are not backed by any issuer, and therefore carry no counterparty risk. The validity of the global Bitcoin ledger (blockchain) is enforced by a global P2P network which requires, on average, ten minutes to update.&lt;br /&gt;
&lt;br /&gt;
With regards to OT, Bitcoin (and other cryptocurrencies) form a unique case. Since cryptocurrencies can be manipulated digitally in the way that other assets can not, OT servers can provide additional functions beyond merely ownership accounting. Importantly, in the case of cryptocurrencies, OT can provide auditing and safe storage of reserves on the blockchain itself. Since OT servers can process transactions more rapidly and inexpensively than a blockchain, it is desirable in many cases to allow an OT server to handle financial transactions off-chain, rather than performing them directly on the blockchain itself.&lt;br /&gt;
&lt;br /&gt;
Many services in the cryptocurrency space already require this functionality. Currency exchanges and other trading platforms usually desire to perform order matching more rapidly than what is possible on the blockchain itself. These services accept custody of user funds, perform transactions in a separate off-chain system, and use a database to track customer balances. Typically these services are not cryptographically secured, or independently auditable. Customers also give full control of their deposited funds to the custodial service, which exposes them to the risk of theft or loss of their coins.&lt;br /&gt;
&lt;br /&gt;
Unlike legacy currencies, cryptocurrencies can be irrevocably lost or stolen, and it’s typically not possible to distinguish between insider or external theft. Historically, this ambiguity appears to have been routinely exploited.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an arrangement of OT transaction servers to securely store and account for customer cryptocurrency deposits, and to redeem valid withdrawal requests even in the event the custodial entity has completely disappeared. They are designed to ensure that no single person or organization can ever perform unilateral actions on deposited funds in order to reduce the risk of loss or theft, and custodial liability.&lt;br /&gt;
&lt;br /&gt;
The basic design promise of voting pools is: Any denial of service attack which can cause customers to lose access to their Bitcoin deposits must involve more than &amp;lt;code&amp;gt;(n minus m)&amp;lt;code&amp;gt; members of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool. Any attack that can result in a permanent loss of customer funds must involve more than &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; members to be successful.&lt;br /&gt;
&lt;br /&gt;
Voting pools are an open standard intended to be a universal replacement for bespoke systems that handle customer cryptocurrency deposits.&lt;br /&gt;
&lt;br /&gt;
==Design Criteria==&lt;br /&gt;
&lt;br /&gt;
Voting pools bridge two worlds - OT and Bitcoin (cryptocurrency). OT is responsible for tracking the exact BTC-denominated balances of every user of a service, as well as the service’s balance. The OT [[Transaction Server (voting pools)|transaction server]] is the portion of a voting pool which is closest to the users themselves. The transaction server acts as a backend processor for a deposit-accepting business (such as a currency exchange or issuer), and handles all issues related to cryptocurrency deposits, withdrawals, and balance updates.&lt;br /&gt;
&lt;br /&gt;
In order to manage the actual bitcoins held by the pool, each transaction server will need a corresponding Bitcoin [[Wallet (blockchain)|wallet]]. The wallet must understand a hierarchical, deterministic, multisig structure and be robust enough to handle the high deposit and withdrawal volumes experienced by a popular service, including the security requirement to hold most funds in cold storage. It must also differentiate between standard balances and colored balances.&lt;br /&gt;
&lt;br /&gt;
The transaction server and the bitcoin wallet communicate via an [[Audit Server (voting pools)|auditing server]]. The auditing server independently verifies the OT operations of all transaction servers in the voting pool, as well as the bitcoins held by the pool on the blockchain itself. It uses this audit data to know when it should direct the wallet to create a withdrawal transaction, and it is also the component responsible for information sharing and achieving consensus between all members of the pool.&lt;br /&gt;
&lt;br /&gt;
In order for voting pools to function, the transaction server must be publicly accessible. For this reason the audit servers must be physically separate from the transaction servers and they must communicate over a messaging system (Tor, Bitmessage, or equivalent) that obscures the location of the audit servers. This prevents an attacker who manages to compromise a publicly-facing transaction server from identifying the audit servers in order to attack them and steal from the pool’s hot wallets.&lt;br /&gt;
&lt;br /&gt;
The audit server must have a direct communication path with the bitcoin wallet. The wallet should connect to the rest of the Bitcoin network via Tor, I2P or equivalent in order to prevent an attacker from identifying the location of the audit server and bitcoin wallet based on their broadcast transactions.&lt;br /&gt;
&lt;br /&gt;
In order to achieve the desired security and robustness goals for voting pools, the following criteria are enforced:&lt;br /&gt;
&lt;br /&gt;
#Customers should be strongly discouraged from reusing deposit addresses. The voting pool itself must never intentionally reuse a bitcoin address.&lt;br /&gt;
#All Bitcoin addresses used by the pool must be deterministic for auditing purposes. Each member of the pool should be able to calculate all members’ series of deposit and change addresses.&lt;br /&gt;
#Withdrawal transaction input selection must be deterministic in order to minimise the cost of coordinating transaction signing.&lt;br /&gt;
#It must be possible to keep a majority of the private keys offline for security reasons, and bring them online as needed to process withdrawals.&lt;br /&gt;
#It must be possible to alter the voting pool by adding, removing, or replacing members in a coordinated and secure fashion.&lt;br /&gt;
&lt;br /&gt;
==Security Model==&lt;br /&gt;
&lt;br /&gt;
The goal of the voting pool security model is that users of deposit-accepting services should never experience a loss of deposited funds.&lt;br /&gt;
&lt;br /&gt;
We can group the various ways in which this goal might not be met into two general categories:&lt;br /&gt;
&lt;br /&gt;
;Type 1 Event ('''Theft/Loss''')&lt;br /&gt;
:A user permanently loses their funds because a third party has gained control of them without the user’s consent, or because the private keys needed to spend them have been irrevocably lost.&lt;br /&gt;
&lt;br /&gt;
;Type 2 Event ('''Denial of Service''')&lt;br /&gt;
:A user temporarily loses some or all of their ability to use their funds, but no third party has gained control over them.&lt;br /&gt;
&lt;br /&gt;
Type 0 Events will be used to describe all other abnormal conditions from which the pool must recover which do not directly involve a loss of customer deposits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Voting Pool Security Theorem====&lt;br /&gt;
&lt;br /&gt;
If the probability of &amp;lt;code&amp;gt;m+1&amp;lt;/code&amp;gt; (Type 1 Event) or &amp;lt;code&amp;gt;n-m+1&amp;lt;/code&amp;gt; (Type 2 Event) services simultaneously and identically behaving in a malicious or incompetent manner is lower than the probability of any individual server behaving in a malicious or incompetent manner, user deposits on that service are at less risk of loss if the service is a member of an &amp;lt;code&amp;gt;m-of-n&amp;lt;/code&amp;gt; voting pool than they would be at risk if the service is not a member of a voting pool.&lt;br /&gt;
&lt;br /&gt;
Voting pools can guarantee the integrity of user deposits if, in any given situation, at least &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 1 events and at least &amp;lt;code&amp;gt;n-m&amp;lt;/code&amp;gt; pool members are well-behaving for Type 2 events.&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Help_talk:Contents&amp;diff=2003</id>
		<title>Help talk:Contents</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Help_talk:Contents&amp;diff=2003"/>
		<updated>2014-04-23T17:47:16Z</updated>

		<summary type="html">&lt;p&gt;RAM: Created page with &amp;quot;April 23rd 2014 - creating page because it was blank before, just adding some usefull links for now. ~RAM&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;April 23rd 2014 - creating page because it was blank before, just adding some usefull links for now. ~RAM&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Help:Contents&amp;diff=2002</id>
		<title>Help:Contents</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Help:Contents&amp;diff=2002"/>
		<updated>2014-04-23T17:46:15Z</updated>

		<summary type="html">&lt;p&gt;RAM: Created page with &amp;quot;Freenode link  FAQ link  Installation link  Usage Cases Link  Using Doxygen  Glossary of Terms  Development Guidelines&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Freenode link&lt;br /&gt;
&lt;br /&gt;
FAQ link&lt;br /&gt;
&lt;br /&gt;
Installation link&lt;br /&gt;
&lt;br /&gt;
Usage Cases Link&lt;br /&gt;
&lt;br /&gt;
Using Doxygen&lt;br /&gt;
&lt;br /&gt;
Glossary of Terms&lt;br /&gt;
&lt;br /&gt;
Development Guidelines&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Glossary_of_Terms&amp;diff=1999</id>
		<title>Glossary of Terms</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Glossary_of_Terms&amp;diff=1999"/>
		<updated>2014-04-23T17:17:18Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;plainlinks&amp;quot;&amp;gt;&lt;br /&gt;
{| id=&amp;quot;mp-topbanner&amp;quot; style=&amp;quot;width:100%; background:#f6f6f6; margin-top:1.2em; border:1px solid #ddd;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:61%; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;!--        &amp;quot;Welcome to Open-Transactions&amp;quot;        --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; border:none; background:none;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; white-space:nowrap; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:170%; border:none; margin:0; padding:.1em; color:#000;&amp;quot;&amp;gt;Full List of Terms and Abbreviations&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;top:+0.2em; font-size:95%;&amp;quot;&amp;gt;with contextual links&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;top:+0.2em; font-size:95%;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| align=center&lt;br /&gt;
||&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:160%;&amp;quot;&amp;gt;&lt;br /&gt;
[[#a|a]] [[#b|b]] [[#c|c]] [[#d|d]] [[#e|e]] [[#f|f]] [[#g|g]] [[#h|h]] [[#i|i]] [[#j|j]] [[#k|k]] [[#l|l]] [[#m|m]] [[#n|n]] [[#o|o]] [[#p|p]] [[#q|q]] [[#r|r]] [[#s|s]] [[#t|t]] [[#u|u]] [[#v|v]] [[#w|w]] [[#x|x]] [[#y|y]] [[#z|z]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Glossary_of_Terms&amp;diff=1998</id>
		<title>Glossary of Terms</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Glossary_of_Terms&amp;diff=1998"/>
		<updated>2014-04-23T16:29:27Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;plainlinks&amp;quot;&amp;gt;&lt;br /&gt;
{| id=&amp;quot;mp-topbanner&amp;quot; style=&amp;quot;width:100%; background:#f6f6f6; margin-top:1.2em; border:1px solid #ddd;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:61%; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;!--        &amp;quot;Welcome to Open-Transactions&amp;quot;        --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; border:none; background:none;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; white-space:nowrap; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:162%; border:none; margin:0; padding:.1em; color:#000;&amp;quot;&amp;gt;Full List of Terms and Abbreviations&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;top:+0.2em; font-size:95%;&amp;quot;&amp;gt;with contextual links&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;top:+0.2em; font-size:95%;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Glossary_of_Terms&amp;diff=1997</id>
		<title>Glossary of Terms</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Glossary_of_Terms&amp;diff=1997"/>
		<updated>2014-04-23T16:28:41Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;plainlinks&amp;quot;&amp;gt;&lt;br /&gt;
{| id=&amp;quot;mp-topbanner&amp;quot; style=&amp;quot;width:100%; background:#f6f6f6; margin-top:1.2em; border:1px solid #ddd;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:61%; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;!--        &amp;quot;Welcome to Open-Transactions&amp;quot;        --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; border:none; background:none;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; white-space:nowrap; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:162%; border:none; margin:0; padding:.1em; color:#000;&amp;quot;&amp;gt;Terms and Abbreviations&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;top:+0.2em; font-size:95%;&amp;quot;&amp;gt;with contextual links&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;top:+0.2em; font-size:95%;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Glossary_of_Terms&amp;diff=1996</id>
		<title>Glossary of Terms</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Glossary_of_Terms&amp;diff=1996"/>
		<updated>2014-04-23T16:28:02Z</updated>

		<summary type="html">&lt;p&gt;RAM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;plainlinks&amp;quot;&amp;gt;&lt;br /&gt;
{| id=&amp;quot;mp-topbanner&amp;quot; style=&amp;quot;width:100%; background:#f6f6f6; margin-top:1.2em; border:1px solid #ddd;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:61%; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;!--        &amp;quot;Welcome to Open-Transactions&amp;quot;        --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; border:none; background:none;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; white-space:nowrap; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:162%; border:none; margin:0; padding:.1em; color:#000;&amp;quot;&amp;gt;Full List of Terms and Abbreviations&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;top:+0.2em; font-size:95%;&amp;quot;&amp;gt;with contextual links&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;top:+0.2em; font-size:95%;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Glossary_of_Terms&amp;diff=1995</id>
		<title>Glossary of Terms</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Glossary_of_Terms&amp;diff=1995"/>
		<updated>2014-04-23T16:26:53Z</updated>

		<summary type="html">&lt;p&gt;RAM: Full List of Terms and Abbreviations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;plainlinks&amp;quot;&amp;gt;&lt;br /&gt;
{| id=&amp;quot;mp-topbanner&amp;quot; style=&amp;quot;width:100%; background:#f6f6f6; margin-top:1.2em; border:1px solid #ddd;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:61%; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;!--        &amp;quot;Welcome to Open-Transactions&amp;quot;        --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; border:none; background:none;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; white-space:nowrap; color:#000;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:162%; border:none; margin:0; padding:.1em; color:#000;&amp;quot;&amp;gt;Full List of Terms and Abbreviations&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;top:+0.2em; font-size:95%;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>RAM</name></author>
		
	</entry>
</feed>