An integer notation scheme for sub-decimal amounts in Bitcoin
Regardless of what wallet software we use, the Bitcoin notation standard, i.e. how the digits appear in your balance, is the primary UX component of our relationship with Bitcoin. The punctuation of money, periods and commas, and where they appear one after the other, gives us important information about our personal wealth and the cost of goods. The notation standard is the drawbridge that we have to cross every time we interact with money.
In this article, I propose a new notation standard for Bitcoin that uses commas to the right of the decimal point, with comma separators at the expected spacing for integers, i.e. all three digits count from right to left. While this is a clear break with the usual notation, it immediately gives the conversion rate between Bitcoin and Sats, and this is its only use.
A shift towards sats
A confluence of factors leads to the fact that the mention of Bitcoin in full in Sats is more and more loudly supported. As sub-decimal bitcoin amounts become more common in the broader economy, awareness of the satoshi unit is growing. On Lightning, for example, where not entire amounts of BTC are used in production, mentioning it in Sats is a must.
Despite the trend towards sats, bitcoin integer denominations are still a part of life. The notation format described above combines Bitcoin and Sats in one visual representation.
What problem does this solve?
If you interact with fractional bitcoin amounts long enough, the basics become second nature. It probably took two years before the idea that 0.5 bitcoins equals 50 million sats became intuitive. But there is a mental barrier to doing this conversion quickly. The difficulty lies in the fact that while sats are generally counted in millions, the word “million” itself is a specific measure to the LEFT of the decimal place.
0.5 BTC = 50,000,000 course.
Fifty million is an integer, not a fraction. We have to deal with the fact that amounts expressed in sats imply a trailing decimal place. The easiest way to orient the user in the notation space is to provide a comma separator for every three digits starting from the right, which corresponds to “million” in traditional notation.
Just because Satoshi himself decided to add eight zeros to Bitcoin instead of nine, we may unconsciously wrestle with this riddle of the third comma in Satoshis. If Bitcoin had been created with nine zeros, the third comma would be in the right place, regardless of whether you were reading from the right or from the left …
But since 1 Bitcoin = 100,000,000 sats and not 1,000,000,000 sats, we have an uncomfortable notation result, namely that in order to really think in sats, we have to insert a mental punctuation mark (a period) where it belongs: at the transition from 90 million to 100 million.
This problem does not exist in traditional finance, as sub-cent values, which only exist in accounting, are always rounded up to the nearest tenth. In fiat terms, there is no one thousandth of a dollar. But for the first time in economic history, Bitcoin requires long chains of sub-decimal values.
Because of the third comma puzzle and the new imperative to express eight-digit, sub-decimal strings, a new notation standard can be helpful. The scheme suggested above provides an instant guide and solves both of these problems.
Take a quick look at the numbers below and as you read tell them about the Sats Transformation in your head. You will find it easily.
This notation standard is most helpful when making mental conversions between BTC and sats for amounts less than a million sats.
Say you come across the following amount:
To convert this to sats, the current notation standard gives the user two options; Either set a conversion table in memory or expand the zeros to the right when switching from BTC to Sats. The result is:
The problem with this exercise is that people are not good at running amounts just by staring at an image. After adding the above zeros, there must be at least one error correction pass, double checking that the correct number of zeros have been added. It’s a slow process.
Here is another example:
To convert this to BTC we need to do the same exercise as above but in reverse, expand the zeros to the left and then add a decimal place. The result is:
Although both conversions are mechanical and simple, they are cumbersome and must be performed with great accuracy. Getting a zero off is an expensive mistake.
The goal then is to create a notation standard that does this conversion instantly using a universally understandable visual language, with built-in value signifiers that allow for error correction on the first pass and allow the user to make value assessments without slowing down on counting, then count the individual zeros again.
The proposal sparked a lot of discussion on Twitter.
The most surprising finding was that I wasn’t the first to think about it.
Mark Nugent recently published this excellent paper. He and I came to the same conclusions independently of one another. His suggestion is to use an apostrophe instead of a comma, which I also find appealing.
Another thing that surprised me was the overwhelming amount of positive feedback.
@BitSimple claims that they will implement this in their app.
Shakepay’s Carlo Campisi also tweeted that they are now looking into it.
The response to the concept has not been 100 percent positive.
Matt Senter from the BTC reward plugin Lolli said: “😬No thanks. But I’ll update the email to use the § notation. “
Some general criticisms popped up among those who didn’t like the idea.
1 – Alternative grouping schemes
My argument against all of the above alternative formats is that they do not reflect the traditional large number format. Remember, this has nothing to do with fiat prices. It is all about the exact conversion between the units. When I see 10,000,000 I know immediately that it means ten million. The commas, their placement, and the amounts they mean are all deeply ingrained.
2 – Future security
It refers to the day 1 BTC = $ 1,000,000, and therefore one sat is equal to $ 0.01, or a penny. My answer is threefold. The first is that any notation change is implemented not at the protocol level, but at the wallet level. It is a display parameter. If Bitcoin Core added digits to the right of the decimal at a later date, the wallet displays could easily be updated to reflect the 9th, 10th, 11th zero … to infinity. The second part of my answer is that a penny, in real purchasing power, is almost non-existent as things stand today. In a world where 1 BTC is worth $ 1 million, I don’t know if the goods are still being sold in pennies at all, so I’m not sure if an even smaller unit is required. After all, this doesn’t become an issue until 1 BTC is worth $ 10 million. Using my logic above, we can then easily reconsider this question.
@oldcryptogeek said: “But then you are kind of forced to always include all integers. So it has to be written 0.12 0.12 000 000, while you could abbreviate it the other way 0.120 0.120.300 0.120.300.02 The other way around it looks odd unless it is always completed to the end 0,12,0 0,12,030 0,12,030,002. “
He’s right. In most cases, you may need to write out the entire number. Most Bitcoin transactions, however, use all eight decimal places anyway. In addition, with this scheme, we increase the conversion to satoshis the more Bitcoin amounts are written out to the last decimal place.
Exactly. For pure sats amounts, which are becoming more and more common in business (especially on Lightning), this notation is becoming more and more useful.
3 – “Just use Sats!”
This was by far the most common criticism.
I think that sats can and will be a prevailing standard. However, this possibility only reinforces the need to help people make the switch to Bitcoin. The more things are priced exclusively in sats, the more important it is for people to internalize this relationship. But no matter how common sats are, integer bitcoin amounts will continue to exist, and integer bitcoin amounts will still be ubiquitous.
In addition, applications like exchanges and blockchain explorers will likely always use BTC as the bitcoin unit of choice because they need to list large and small amounts together in a common format. See this screenshot of a list of unconfirmed transactions … ”- Mark Nugent
Finally, I would like to briefly address the question of unit bias and how this notation contributes to solving the problem in a roundabout way.
Postscript: The decimal number does not correspond to the smallness
The bias towards numbers to the right of the decimal place, the perception that they represent insignificant sums, is perfectly appropriate for an inflationary system in which all values are getting smaller and smaller in real terms. Bitcoin eschews this mindset forever. It will become a daily practice for many of us to measure considerable wealth by a leading point. The Satcomma standard (thanks for the name @ZoltanTokoli) essentially creates whole numbers to the right of the decimal. Used in the context of money, this format trains the mind to perceive the decimal as the door to large sums of money.
This is a guest post by ProgrammableTx. The opinions expressed are solely their own and do not necessarily reflect those of BTC Inc. or Bitcoin Magazine.