Home › Browse › BIP 176

BIP 176: Bits Denomination

In plain English: Proposes "bits" as the standard name for one millionth of a bitcoin (100 satoshis). The goal is to make everyday amounts easier to express without long strings of decimal places.

Status
Complete
Type
Informational
Authors
Jimmy Song
Assigned
Last changed
Topics
Transactions
Source
bip-0176.mediawiki on GitHub · Markdown

Abstract

Bits is presented here as the standard term for 100 (one hundred) satoshis or 1/1,000,000 (one one-millionth) of a bitcoin.

Motivation

The bitcoin price has grown over the years and once the price is past $10,000 USD or so, bitcoin amounts under $10 USD start having enough decimal places that it's difficult to tell whether the user is off by a factor of 10 or not. Switching the denomination to "bits" makes comprehension easier. For example, when BTC is $15,000 USD, $10.05 is a somewhat confusing 0.00067 BTC, versus 670 bits, which is a lot clearer.

Additionally, reverse comparisons are easier as 59 bits being $1 is easier to comprehend for most people than 0.000059 BTC being $1. Similar comparisons can be made to other currencies: 1 yen being 0.8 bits, 1 won being 0.07 bits and so on.

Potential benefits of utilizing "bits" include:

  1. Reduce user error on small bitcoin amounts.
  1. Reduce unit bias for users that want a "whole" bitcoin.
  1. Allow easier comparisons of prices for most users.
  1. Allow easier bi-directional comparisons to fiat currencies.
  1. Allows all UTXO amounts to need at most 2 decimal places, which can be easier to handle.

Specification

Definition: 1 bit = 100 satoshis. Plural of "bit" is "bits." The terms "bit" and "bits" are not proper nouns and thus should not be capitalized unless used at the start of a sentence, etc.

All bitcoin-denominated items are encouraged to also show the denomination in bits, either as the default or as an option.

Rationale

As bitcoin grows in price versus fiat currencies, it's important to give users the ability to quickly and accurately calculate prices for transactions, savings and other economic activities. "Bits" have been used as a denomination within the Bitcoin ecosystem for some time. The idea of this BIP is to formalize this name. Additionally, "bits" is likely the only other denomination that will be needed for Bitcoin as 0.01 bit = 1 satoshi, meaning that two decimal places will be sufficient to describe any current utxo.

Existing terms used in bitcoin such as satoshi, milli-bitcoin (mBTC) and bitcoin (BTC) do not conflict as they operate at different orders of magnitude.

The term micro-bitcoin (µBTC) can continue to exist in tandem with the term "bits."

Backwards Compatibility

Software such as the Bitcoin Core GUI currently use the µBTC denomination and can continue to do so. There is no obligation to switch to "bits."

The term "bit" has many different definitions, but the ones of particular note are these:

  • 1 bit = 1/8 dollar (e.g., that candy cost me 2 bits {or 1/4 dollar})
  • bit meaning some amount of data (e.g., the first bit of the version field is 0)
  • bit meaning strength of a cryptographic algorithm (e.g., 256-bit ECDSA is used in Bitcoin)

The first is a bit dated and isn't likely to confuse people dealing with Bitcoin. The second and third are computer science terms and context should be sufficient to figure out what the user of the word means.

This BIP is licensed under the BSD 2-clause license.

Credit

It's hard to ascertain exactly who invented the term "bits," but the term has been around for a while and the author of this BIP does not take any credit for inventing the term.

Related proposals

  • BIP 11: M-of-N Standard Transactions: Deployed. Made "M-of-N" transactions, which require any M signatures out of N possible keys, a standard type that nodes relay. This enabled shared-control arrangements such as escrow or wallets needing two of…
  • BIP 12: OP_EVAL: Closed. Proposed a new script command, OP_EVAL, that would let the receiver of coins define the conditions for spending them instead of the sender. It was abandoned over security concerns and replaced by…
  • BIP 16: Pay to Script Hash: Deployed. Introduced Pay to Script Hash (P2SH), letting a sender pay to a short fingerprint of spending rules that the recipient reveals only when spending. This shifted the cost and complexity of setups like…
  • BIP 31: Pong message: Deployed. Adds a "pong" reply that a node sends back when it receives a "ping" containing a random number. This lets software reliably tell whether a connection to another node is still alive.
  • BIP 47: Reusable Payment Codes for Hierarchical Deterministic Wallets: Deployed. Introduces reusable payment codes that someone can publish once, for example on a website, without the privacy loss of reusing an address. Senders use the code to derive fresh addresses for each…
  • BIP 53: Disallow 64-byte transactions: Draft. Proposes making transactions that are exactly 64 bytes long (excluding signature data) invalid. Such transactions can be confused with internal pieces of a block's Merkle tree, the structure…