Difference between revisions of "Voting Pool Withdrawal Process"

From Open Transactions
Jump to navigation Jump to search
(Created page with "==Procedure== ===Initiation=== Category: Voting Pool Operations")
 
Line 2: Line 2:
  
 
===Initiation===
 
===Initiation===
 +
 +
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'''
 +
 +
=== Consensus ===
 +
 +
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 [[Consensus Process (voting pools)|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|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 [[Siglist|signature lists]] for an in-progress transaction, it will send a [[Updatewithdrawal|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.
  
  
 
[[Category: Voting Pool Operations]]
 
[[Category: Voting Pool Operations]]

Revision as of 11:02, 22 September 2014

Procedure

Initiation

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

Consensus

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.