Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

BitcoinErrorLog
Copy link

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)

add placeholder number to attempt passing auto tests
scrub metadata to attempt to pass test
Copy link
Contributor

@murchandamus murchandamus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Contributor

@murchandamus murchandamus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@luke-jr
Copy link
Member

luke-jr commented Apr 12, 2025

How isn't this still decimal?

@slush0
Copy link
Contributor

slush0 commented Apr 12, 2025

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

@katesalazar
Copy link
Contributor

https://imgflip.com/i/9qmhm3

@RandyMcMillan
Copy link
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

BitcoinErrorLog and others added 2 commits April 13, 2025 08:57
Reviewer fixes

Co-authored-by: Mark "Murch" Erhardt <[email protected]>
edit formatting for Bits header
@BitcoinErrorLog
Copy link
Author

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.

@BitcoinErrorLog
Copy link
Author

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.

@BitcoinErrorLog
Copy link
Author

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.

@BitcoinErrorLog
Copy link
Author

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.

@katesalazar
Copy link
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?

Copy link
Contributor

@schildbach schildbach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

'''Perception of Supply:'''
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.
===Addressing Alternative Approaches===
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this paragraph is missing a comparison against the "sats" denomination.

@BitcoinErrorLog
Copy link
Author

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.

@BitcoinErrorLog
Copy link
Author

BitcoinErrorLog commented Apr 13, 2025

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?

@jonatack jonatack changed the title Propose BIP "21Q": Redefinition of Bitcoin’s Base Unit BIP draft: Redefinition of Bitcoin’s Base Unit Apr 13, 2025
@schildbach
Copy link
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.

@BitcoinErrorLog
Copy link
Author

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

@murchandamus
Copy link
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.

Copy link
Contributor

@murchandamus murchandamus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I see what may cause the rendering issue. The code formatting tags need to be closed:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants