mirror of
https://github.com/bitcoin/bips.git
synced 2024-11-19 01:40:05 +01:00
76 lines
2.8 KiB
Plaintext
76 lines
2.8 KiB
Plaintext
<pre>
|
|
BIP: 81
|
|
Title: Hierarchy for Colored Voting Pool Deterministic Multisig Wallets
|
|
Author: Justus Ranvier <justus@opentransactions.org>
|
|
Jimmy Song <jimmy@monetas.net>
|
|
Comments-Summary: No comments yet.
|
|
Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0081
|
|
Status: Deferred
|
|
Type: Informational
|
|
Created: 2014-08-11
|
|
License: PD
|
|
</pre>
|
|
|
|
==Abstract==
|
|
|
|
This BIP defines a logical hierarchy for colored coin voting pool deterministic multisig wallets based on an algorithm described in BIP-0032 (BIP32 from now on) and purpose scheme described in BIP-0043 (BIP43 from now on).
|
|
|
|
This BIP is a particular application of BIP43 and is based on BIP44.
|
|
|
|
==Motivation==
|
|
|
|
The hierarchy proposed in this paper allows the handling of multiple color definitions from a single seed.
|
|
|
|
==Path levels==
|
|
|
|
We define the following 8 levels in BIP32 path:
|
|
|
|
<pre>
|
|
m / purpose' / series' / (5 color definition levels) / address_index
|
|
</pre>
|
|
|
|
Apostrophe in the path indicates that BIP32 hardened derivation is used.
|
|
|
|
Each level has a special meaning, described in the chapters below.
|
|
|
|
===Purpose===
|
|
|
|
Purpose is a constant set following the BIP43 recommendation to: the ASCII value of "81" with the most signifigant bit set to indicate hardened derivation (0x80000051). It indicates that the subtree of this node is used according to this specification.
|
|
|
|
Hardened derivation is used at this level.
|
|
|
|
===Color Definition===
|
|
|
|
Index values which can be applied to a BIP32 node are limited to 4 bytes (32 bits).
|
|
|
|
Since this is not sufficient to identify color definitions without a risk of collision, multiple levels are used.
|
|
|
|
Color definitions are first shortened to 20 bytes using the Bitcoin hash160 function.
|
|
|
|
The resulting 20 bytes are split into five groups in little endian format, and where each group is used as the seed for the five levels of color definition levels
|
|
|
|
Public derivation is used at these levels, even when the index exceeds 2^31.
|
|
|
|
===Index===
|
|
|
|
Public/private keypairs are numbered from index 0 in sequentially increasing manner. This number is used as child index in BIP32 derivation.
|
|
|
|
Public keys obtained at this level of the hierarchy are used to construct multisig deposit scripts, using a schema that is shared between the members as an out-of-band contract.
|
|
|
|
Public derivation is used at this level.
|
|
|
|
==Compatible wallets==
|
|
|
|
* [[https://github.com/btcsuite/btcwallet|btcwallet]] is the reference Bitcoin wallet for voting pools.
|
|
|
|
==Copyright==
|
|
|
|
This document is placed in the public domain.
|
|
|
|
==Reference==
|
|
|
|
* [[bip-0032.mediawiki|BIP32 - Hierarchical Deterministic Wallets]]
|
|
* [[bip-0043.mediawiki|BIP43 - Purpose Field for Deterministic Wallets]]
|
|
* [[bip-0044.mediawiki|BIP44 - Multi-Account Hierarchy for Deterministic Wallets]]
|
|
* [[bip-0080.mediawiki|BIP80 - Hierarchy for Non-Colored Voting Pool Deterministic Multisig Wallets]]
|