Home › Topics › Wallets › BIP 81

BIP 81: Hierarchy for Colored Voting Pool Deterministic Multisig Wallets

Also known as: BIP81, BIP-0081.

In plain English: A companion to BIP 80, this proposal defines a standard key structure for voting pool multisignature wallets that handle 'colored coins', bitcoins tagged to represent other assets. Following a common layout lets different wallet software consistently generate and track the same addresses.

Status
Closed
Type
Informational
Authors
Justus Ranvier, Jimmy Song
Assigned
Last changed
Topics
Wallets
Source
bip-0081.mediawiki on GitHub · Markdown

Full specification

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:

m / purpose' / series' / (5 color definition levels) / address_index

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 significant 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

  • btcwallet is the reference Bitcoin wallet for voting pools.

This document is placed in the public domain.

Reference

Questions about BIP 81

What is BIP 81?

BIP 81, “Hierarchy for Colored Voting Pool Deterministic Multisig Wallets”, is an informational Bitcoin Improvement Proposal written by Justus Ranvier and Jimmy Song and assigned in August 2014. A companion to BIP 80, this proposal defines a standard key structure for voting pool multisignature wallets that handle 'colored coins', bitcoins tagged to represent other assets. Following a common layout lets different wallet software consistently generate and track the same addresses.

What is the status of BIP 81?

BIP 81 is Closed: it is no longer being pursued because it was withdrawn, rejected or replaced by a newer proposal.

Who wrote BIP 81?

BIP 81 was written by Justus Ranvier and Jimmy Song. Its number was assigned on August 11, 2014.

Which BIPs build on BIP 81?

1 other BIP references BIP 81: BIP 123 (BIP Classification).

Where can I read the full BIP 81 specification?

The complete text of BIP 81 is on this page, taken unchanged from the official bitcoin/bips repository on GitHub. It is also available as Markdown and JSON.

BIPs that build on BIP 81

  • BIP 123: BIP Classification: Deployed. Sets out a way to classify BIPs into layers, such as consensus, peer services, APIs and applications, according to which part of the system they affect. This helps readers judge how widely a…

Related proposals