Category:Transaction Construction Algorithm (voting pools)

From Open Transactions
Jump to navigation Jump to search

Introduction

In order to avoid an expensive and error-prone consensus process, it is mandatory for wallets to be able to construct withdrawal transactions in a deterministic manner, assuming they are given the withdrawal requests in a deterministic order. Once this is accomplished, then it only becomes necessary for wallets to share signatures among themselves because they know they all signed the exact same bitcoin transaction.

Procedure

Overview

Initial Conditions

The startwithdrawal API call has been received by the wallet, and all the arguments have been checked for errors.

Sequence

The basic flow of the procedure is:

  1. Gather accounting information from the API call arguments
  2. Validate and sort the output list
  3. Start a new transactions
  4. Add outputs to the transaction until either all outputs are added or all inputs are used.
  5. Verify all generated transactions are ready for signing.
  6. Create a list of all signatures which the wallet is capable of generating.
  7. Create a status list containing the deposition of every output the caller specified.
  8. Return the status list and signature list to the caller.

Each step in this chart is more fully described on the pages listed below.

Pages in category "Transaction Construction Algorithm (voting pools)"

The following 11 pages are in this category, out of 11 total.