Difference between revisions of "Wallet (cryptocurrency)"

From Open Transactions
Jump to navigation Jump to search
(Initial page creation)
 
m (redirect to correct page)
Line 1: Line 1:
==Definitions==
 
  
In order to avoid ambiguity, the terms "blockchain wallet" and "blockchain address" refers to the cryptocurrency for which is pool is tracking receipts. This differentiation is necessary to avoid confusion with [[wallet_(OT)|OT wallets]] or [[nym|nym addresses]].
+
#REDIRECT [[Wallet (blockchain)]
 
 
==Address Identification==
 
 
 
The wallet used to store the pool’s funds must be capable of creating a hierarchical deterministic structure that generates and understands multisignature outputs.
 
 
 
Any blockchain address relevant to a voting pool participant can be referenced via unique identifier consisting of the following parameters:
 
 
 
;Pool
 
:UUID for a specific voting pool. This UUID is persistent even as members are added or removed.
 
 
 
;Series
 
:An index number that starts at 1 and increases monotonically (from the [[Keyset (voting pools)|Keyset Definition]])
 
 
 
;Server
 
:0 for change addresses, 1-through-n for deposit addresses.
 
 
 
Note the server index represents the position of a server’s [[xpub]] in the standard order for a given series. The audit server must reference the [[Keyset (voting pools)|keyset definition]] to obtain the correct transaction server ID-to-server index mapping for a given series since the standard order may change between series.
 
 
 
;Sequence
 
:The index applied to the [[xpub|xpubs]] in a given series to obtain the desired multisig output script.
 
 
 
 
 
When the audit server needs to query a specific address from the blockchain wallet, will pass the following as an address identifier:
 
 
 
 
 
<code>(pool,series,server,sequence)</code>
 
 
 
 
 
The first two parameters <code>(pool,series)</code> define the wallet identifier. Note that the audit servers never pass raw blockchain addresses to the cryptocurrency wallets, but instead use these identifiers.
 
 
 
==Wallet Creation==
 
 
 
When an audit server first initializes a voting pool contract, it must create the appropriate cryptocurrency wallets via the [[cryptocurrency wallet API#importmultisigwallet|importmultisigwallet]] call to a wallet provider of the appropriate coin type (Bitcoin, Litecoin, etc).
 
 
 
The audit server must call this function for every defined series in the keyset, and must provide the xpubs in standard order (defined below).
 
 
 
When the private keys for a series are brought online, the wallet must call [[cryptocurrency wallet API#updatemultisigwallet|updatemultisigwallet]] to load them into the blockchain wallet.
 
 
 
Extended private keys must be loaded in the same order as their corresponding public keys. An audit server must return an error to the operator if he attempts to load the wrong extended private key.
 
 
 
[[Category:Voting Pools]]
 

Revision as of 19:54, 17 April 2014

  1. REDIRECT [[Wallet (blockchain)]