Voting Pools

From Open Transactions
Revision as of 01:46, 12 April 2014 by Justusranvier (talk | contribs) (Add executive summary of voting pools)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Open-Transactions (OT) is a financial cryptography library that implements triple entry accounting with destructible receipts. OT allows for creditors to issue liabilities in the form of digitally signed and notarized receipts whose balances are tradable as a currency and 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 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.

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.

With regards to OT, Bitcoin (and other crypto-currencies) form a unique case. Since crypto-currencies 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 crypto-currencies, 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.

Many services in the crypto-currency 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.

Unlike legacy currencies, crypto-currencies 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.

Voting pools are an arrangement of OT transaction servers to securely store and account for customer crypto-currency 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.

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 (n minus m) members of an m-of-n voting pool. Any attack that can result in a permanent loss of customer funds must involve more than m members to be successful.

Voting pools are an open standard intended to be a universal replacement for bespoke systems that handle customer crypto-currency deposits. The first implementation of voting pools will be for Bitcoin, and throughout the rest of this document “Bitcoin” should be considered a synonym for crypto-currencies in general.