Voting Pool Withdrawal Process

From Open Transactions
Revision as of 11:02, 22 September 2014 by GuilhermeSalgado (talk | contribs)
Jump to navigation Jump to search



Customers will normally request a withdrawal using one of the client applications that talk to the notary. These requests will end up in the auditor stream. The auditor will then validate and batch multiple withdrawal requests and ask the blockchain wallet to construct one or more transactions with one output for every withdrawal.

TODO: explain why batching is important


In order to withdrawal funds from a voting pool, M members must sign the blockchain transaction that moves the coins to the desired addresses. For that reason, auditors will have to periodically agree on a set of parameters for the blockchain transactions. These parameters are then passed on to their wallets, allowing them to generate transactions deterministically.

Transaction Construction

The auditor sends a startwithdrawal command to the wallet, which then attempts to construct blockchain transactions to satisfy the requested ouputs.

Transaction Signing & Broadcasting

Once an auditor receives new signature lists for an in-progress transaction, it will send a updatewithdrawal command to the blockchain wallet, passing those new signatures. Once the blockchain wallet has received the minimum number of required signatures for a given transaction, it will be broadcast.