BIP draft: Redefinition of Bitcoin’s Base Unit #1821

pull BitcoinErrorLog wants to merge 13 commits into bitcoin:master from BitcoinErrorLog:master changing 1 files +151 −0
  1. BitcoinErrorLog commented at 11:21 am on April 12, 2025: none

    This BIP proposes redefining the bitcoin unit of account to represent the protocol’s smallest indivisible unit as “1 bitcoin,” eliminating the need for decimal-based UI conventions.

    • Type: Informational
    • No changes to consensus rules or supply
    • Matches Bitcoin’s native integer representation
    • Includes multi-phase rollout recommendations

    Authored by: John Carvalho (@BitcoinErrorLog)

  2. Create bip-tbd.md 870af72397
  3. Delete bip-tbd.md 7400d29ce4
  4. Redefine bitcoin base unit to smallest unit
    Propose BIP 21Q: Redefine bitcoin base unit to smallest indivisible unit
    5c87d1f4fa
  5. Update bip-tbd.mediawiki 82292e7a69
  6. Update bip-tbd.mediawiki 4178195042
  7. Update bip-tbd.mediawiki 66e2fc5418
  8. Update bip-tbd.mediawiki 31745dd602
  9. Rename bip-tbd.mediawiki to bip-9999.mediawiki 659464523d
  10. jonatack added the label New BIP on Apr 12, 2025
  11. Update bip-9999.mediawiki
    add placeholder number to attempt passing auto tests
    54b9dae803
  12. for the tests
    scrub metadata to attempt to pass test
    c58684e296
  13. in bip-9999.mediawiki:9 in c58684e296 outdated
    0@@ -0,0 +1,149 @@
    1+<pre>
    2+BIP: 9999
    3+Title: Redefinition of the Bitcoin Unit to the Base Denomination
    4+Author: John Carvalho <bitcoinerrorlog@gmail.com>
    5+Status: Draft
    6+Type: Informational
    7+Created: 2024-12-10
    8+License: CC0-1.0
    9+</pre>
    


    murchandamus commented at 2:41 pm on April 12, 2025:

    Regarding the number assignment, one of the tests will always fail until a number has been assigned and it’s updated in both the table and the BIP. Don’t worry about passing the tests right now.

    We usually have the preamble indented, and I added the Comments-URI that is required by BIP 2. The Created date is the date a number was assigned, so we will figure that out later.

    0<pre>
    1  BIP: ?
    2  Title: Redefinition of the Bitcoin Unit to the Base Denomination
    3  Author: John Carvalho <bitcoinerrorlog@gmail.com>
    4  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-?
    5  Status: Draft
    6  Type: Informational
    7  Created: ?
    8  License: CC0-1.0
    9</pre>
    
  14. in bip-9999.mediawiki:85 in c58684e296 outdated
    80+'''Perception of Supply:'''
    81+While the total count of base units is roughly 2.1 quadrillion, this proposal does not alter supply in any way. The change is purely representational. Comparisons can be drawn to other currencies like the Japanese yen or Indonesian rupiah, where high unit counts are standard and not perceived as inflationary.
    82+
    83+===Addressing Alternative Approaches===
    84+
    85+== Refuting the "Bits" Proposal ([https://github.com/bitcoin/bips/blob/master/bip-0176.mediawiki BIP 176])
    


    murchandamus commented at 2:46 pm on April 12, 2025:
    I was wondering whether the section header levels got confused here. The Bits proposal might be considered an alternative approach, so was that supposed to be a subsection of the prior section?

    BitcoinErrorLog commented at 7:58 am on April 13, 2025:
    Yes, I am a noob, sorry!
  15. murchandamus commented at 2:51 pm on April 12, 2025: contributor
    Thanks for the submission. This looks pretty complete already, all the sections are there. I have left a couple formatting suggestions and was wondering whether it might have been an oversight that almost the whole document is structured under the Introduction section.
  16. murchandamus commented at 4:40 pm on April 12, 2025: contributor
    Also, the file currently doesn’t render for me in the GitHub preview.—It did render when you had it as a markdown file, but since it was changed to a a mediawiki file it doesn’t. I’m not sure, yet, why. It might be related to the missing indentation in the preformatted text block.
  17. luke-jr commented at 6:08 pm on April 12, 2025: member
    How isn’t this still decimal?
  18. slush0 commented at 7:31 pm on April 12, 2025: contributor
    What a terrible idea of redefining a widely used term by the different meaning.
  19. katesalazar commented at 8:15 pm on April 12, 2025: contributor
    https://imgflip.com/i/9qmhm3
  20. RandyMcMillan commented at 8:58 pm on April 12, 2025: contributor

    It will actually be easier to support the established convention of ₿ 1.000… in accounting software spreadsheets etc… One simply needs to repurpose metric unit conversion logic to implement Bitcoin accounting idioms. Allowing app developers to repurpose metric unit conversion code will actually ease adoption friction more than this proposal or the “bits” proposal. In the long run - languages/words evolve! - this whole debate seems to arise out of people’s need to control the words other people use more than anything really useful.

    Imagine renaming a “penny” to a “dollar” and then trying to force everyone to adopt the new “jargon”. It is as absurd as it sounds!

    NAK

  21. Update bip-9999.mediawiki
    Reviewer fixes
    
    Co-authored-by: Mark "Murch" Erhardt <murch@murch.one>
    2d27bb63ea
  22. Update bip-9999.mediawiki
    edit formatting for Bits header
    1912d8d7ed
  23. BitcoinErrorLog commented at 8:03 am on April 13, 2025: none

    Also, the file currently doesn’t render for me in the GitHub preview.—It did render when you had it as a markdown file, but since it was changed to a a mediawiki file it doesn’t. I’m not sure, yet, why. It might be related to the missing indentation in the preformatted text block.

    Apologies, I was working in md and assumed I needed to submit as mediawiki, which I am unfamiliar with. Happy to adjust any formatting to be correct… with a little help.

  24. BitcoinErrorLog commented at 8:08 am on April 13, 2025: none

    How isn’t this still decimal?

    One of the most prominent and rational feedback to the original version of this proposal was to retain stock ticker denominations. This seems rational to me, where we have BTC and XBT, or the like. Maybe this relegates the “21M” meme and culture to the finance world. I don’t know.

    But otherwise, I hope to simply specify how people could display Bitcoin units as “bitcoin” and thus avoid bad thinking due to ignorance about how Bitcoin uses integers.

    There are a bunch of side benefits to this, but most feedback was otherwise highly subjective or speculative.

  25. BitcoinErrorLog commented at 8:11 am on April 13, 2025: none

    What a terrible idea of redefining a widely used term by the different meaning.

    Thank you for your feedback.

    Please consider that I am merely suggesting we call the only units in Bitcoin “bitcoins” - as well as the other rationale in the document.

  26. BitcoinErrorLog commented at 8:13 am on April 13, 2025: none

    It will actually be easier to support the established convention of ₿ 1.000… in accounting software spreadsheets etc… One simply needs to repurpose metric unit conversion logic to implement Bitcoin accounting idioms. Allowing app developers to repurpose metric unit conversion code will actually ease adoption friction more than this proposal or the “bits” proposal. In the long run - languages/words evolve! - this whole debate seems to arise out of people’s need to control the words other people use more than anything really useful.

    Imagine renaming a “penny” to a “dollar” and then trying to force everyone to adopt the new “jargon”. It is as absurd as it sounds!

    NAK

    Thank you for your misc opinions, but, in the end, I could only consider feedback that maintains the core intent of the proposal.

  27. katesalazar commented at 10:30 am on April 13, 2025: contributor
    Someone explain to me how we moved from there are multiple ways to increase precision to sat is indivisible in less than 3 years?
  28. in bip-9999.mediawiki:84 in 1912d8d7ed outdated
    79+Adopting the smallest unit as the primary measure ensures a consistent standard that can scale smoothly as Bitcoin adoption grows.
    80+
    81+'''Perception of Supply:'''
    82+While the total count of base units is roughly 2.1 quadrillion, this proposal does not alter supply in any way. The change is purely representational. Comparisons can be drawn to other currencies like the Japanese yen or Indonesian rupiah, where high unit counts are standard and not perceived as inflationary.
    83+
    84+===Addressing Alternative Approaches===
    


    schildbach commented at 10:51 am on April 13, 2025:
    I think this paragraph is missing a comparison against the “sats” denomination.
  29. schildbach commented at 10:52 am on April 13, 2025: contributor

    How is this proposal different to the already established “sats” denomination?

    Also, doesn’t the LN already use “fractional satoshis”? If so, the integer-only argument wouldn’t be valid.

  30. BitcoinErrorLog commented at 11:34 am on April 13, 2025: none

    Someone explain to me how we moved from there are multiple ways to increase precision to sat is indivisible in less than 3 years?

    In my opinion, the proposals you linked could all be classified as hard forks, and/or, hacks to support a new subordinate UoA, and/or, entirely fictional hugely controversial consensus changes.

    This BIP on the other hand is generally harmless.

  31. BitcoinErrorLog commented at 11:37 am on April 13, 2025: none

    How is this proposal different to the already established “sats” denomination?

    Also, doesn’t the LN already use “fractional satoshis”? If so, the integer-only argument wouldn’t be valid.

    1. I will re-read the proposal with eye to make sure any “sats” dynamics are clearly addressed. Feel free to contribute!
    2. LN “millisats” do not “exist” exactly, they are just a trusted intra-channel credit feature. Mostly they just confuse people to once again misunderstand how Bitcoin (and Lightning) works. Should I add specs to remove millisats as concept to this BIP too?
  32. jonatack renamed this:
    Propose BIP "21Q": Redefinition of Bitcoin’s Base Unit
    BIP draft: Redefinition of Bitcoin’s Base Unit
    on Apr 13, 2025
  33. schildbach commented at 1:25 pm on April 13, 2025: contributor

    I will re-read the proposal with eye to make sure any “sats” dynamics are clearly addressed. Feel free to contribute!

    Frankly, I don’t see any difference at the moment – other than the name. That’s why I was asking for including this discussion into the “alternatives”.

    LN “millisats” do not “exist” exactly, they are just a trusted intra-channel credit feature. Mostly they just confuse people to once again misunderstand how Bitcoin (and Lightning) works. Should I add specs to remove millisats as concept to this BIP too?

    I take it the definition in this BIP is about Bitcoin the currency (as opposed to Bitcoin the payment system). As such, I think this BIP should consider all existing uses of denominations. There is no point in renaming satoshi to bitcoin just for L1, but not for L2. You would also want it to be used in stock quotes and charts, for example.

  34. BitcoinErrorLog commented at 9:13 am on April 14, 2025: none

    Frankly, I don’t see any difference at the moment – other than the name. That’s why I was asking for including this discussion into the “alternatives”.

    I retained the BTC (XBT, etc) denomination only at the request of the first round of feedback, because I could rationalize stock tickers being a separate system from Bitcoin. I’d be happy to re-remove this concept if the peers here all agree it corrupts the purpose too much.

    I take it the definition in this BIP is about Bitcoin the currency (as opposed to Bitcoin the payment system). As such, I think this BIP should consider all existing uses of denominations. There is no point in renaming satoshi to bitcoin just for L1, but not for L2. You would also want it to be used in stock quotes and charts, for example.

    I suppose the LN community considers their BLiPs and BOLTs and such to be the place to spec for that protocol, or they could otherwise umbrella under BIPs. This BIP, as all, is just a web page in the end, and anyone is welcome to refer to this BIP to replicate this method.

    If everyone likes, I could take the time to specify further how people normally display, abbreviate, and prefix large numbers and denominations of units. I was hoping my example of “2.1M” was enough of a nod…

  35. murchandamus commented at 2:41 pm on April 14, 2025: contributor

    Also, the file currently doesn’t render for me in the GitHub preview.—It did render when you had it as a markdown file, but since it was changed to a a mediawiki file it doesn’t. I’m not sure, yet, why. It might be related to the missing indentation in the preformatted text block.

    Apologies, I was working in md and assumed I needed to submit as mediawiki, which I am unfamiliar with. Happy to adjust any formatting to be correct… with a little help.

    Either Markdown or Mediawiki are acceptable since #1504 got merged in 2023.

  36. in bip-9999.mediawiki:47 in 1912d8d7ed outdated
    42+* Use of the ₿ symbol MAY be used to represent base-unit bitcoins but is OPTIONAL.
    43+
    44+Example 1:
    45+
    46+  * Old display: <code>0.00010000 Bitcoin<code>
    47+  * New display: <code>₿10,000<code> or <code>10,000 bitcoins<code> or <code>0.00010000 BTC<code>
    


    murchandamus commented at 2:51 pm on April 14, 2025:
    0  * Old display: <code>0.00010000 Bitcoin</code>
    1  * New display: <code>₿10,000</code> or <code>10,000 bitcoins</code> or <code>0.00010000 BTC</code>
    
  37. in bip-9999.mediawiki:52 in 1912d8d7ed outdated
    47+  * New display: <code>₿10,000<code> or <code>10,000 bitcoins<code> or <code>0.00010000 BTC<code>
    48+
    49+Example 2:
    50+
    51+  * Old display: <code>10.23486 Bitcoin<code>
    52+  * New display: <code>₿1,023,486,000<code> or <code>1,023,486,000 bitcoins<code> or <code>10.23486 BTC<code>
    


    murchandamus commented at 2:52 pm on April 14, 2025:
    0  * Old display: <code>10.23486 Bitcoin</code>
    1  * New display: <code>₿1,023,486,000</code> or <code>1,023,486,000 bitcoins</code> or <code>10.23486 BTC</code>
    
  38. in bip-9999.mediawiki:57 in 1912d8d7ed outdated
    52+  * New display: <code>₿1,023,486,000<code> or <code>1,023,486,000 bitcoins<code> or <code>10.23486 BTC<code>
    53+
    54+Example 3:
    55+
    56+  * Old display: <code>0.345 BTC<code>
    57+  * New display: No changes required or <code>₿34,500,000<code> or <code>34,500,000 bitcoins<code>
    


    murchandamus commented at 2:52 pm on April 14, 2025:
    0  * Old display: <code>0.345 BTC</code>
    1  * New display: No changes required or <code>₿34,500,000</code> or <code>34,500,000 bitcoins</code>
    
  39. in bip-9999.mediawiki:64 in 1912d8d7ed outdated
    59+NOTE: Traditional number display abbreviations, like <code>2.5M<code> for millions, are also optional.
    60+
    61+'''Conversion:'''
    62+
    63+* Ledger and consensus rules remain unchanged.
    64+* <code>BTC<code> as a currency code remains unchanged (1 BTC = 100,000,000 base units)
    


    murchandamus commented at 2:53 pm on April 14, 2025:
    0* <code>BTC</code> as a currency code remains unchanged (1 BTC = 100,000,000 base units)
    
  40. in bip-9999.mediawiki:110 in 1912d8d7ed outdated
    105+===Backward Compatibility===
    106+
    107+No consensus rules are altered, and on-chain data remains unchanged. Differences arise solely in display formats:
    108+
    109+* '''For Developers:'''  
    110+  Update GUIs, APIs, and documentation to present values as integers. Remove references to fractional Bitcoin. <code>BTC<code> units remain unchanged.
    


    murchandamus commented at 2:53 pm on April 14, 2025:
    0  Update GUIs, APIs, and documentation to present values as integers. Remove references to fractional Bitcoin. <code>BTC</code> units remain unchanged.
    
  41. in bip-9999.mediawiki:133 in 1912d8d7ed outdated
    128+===Test Vectors===
    129+
    130+* Old: <code>1.00000000 Bitcoin<code> → New: ₿100,000,000 (or 100,000,000 bitcoins)
    131+* Old: <code>0.00010000 Bitcoin<code> → New: ₿10,000 (or 10,000 bitcoins)
    132+* Old: <code>0.00500000 Bitcoin<code> → New: ₿500,000 (or 500,000 bitcoins)
    133+* Old: <code>0.005 BTC<code> → New: <code>0.005 BTC<code> (or ₿500,000 or 500,000 bitcoins)
    


    murchandamus commented at 2:54 pm on April 14, 2025:
    0* Old: <code>1.00000000 Bitcoin</code> → New: ₿100,000,000 (or 100,000,000 bitcoins)
    1* Old: <code>0.00010000 Bitcoin</code> → New: ₿10,000 (or 10,000 bitcoins)
    2* Old: <code>0.00500000 Bitcoin</code> → New: ₿500,000 (or 500,000 bitcoins)
    3* Old: <code>0.005 BTC</code> → New: <code>0.005 BTC</code> (or ₿500,000 or 500,000 bitcoins)
    
  42. murchandamus commented at 2:54 pm on April 14, 2025: contributor
    I think I see what may cause the rendering issue. The code formatting tags need to be closed:
  43. Close code formatting tags 92831e1122

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-04-19 01:10 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me