I would like to personally thank @Big Bad John for helping me learn that:
1. Bitcoin is specifically an integer based system, that’s how the “21 Million” code is enforced
2. Millisats don’t exist they are a result of lightning using percentages of channel balances.
3. There is no decimal point
Login to reply
Replies (25)
More people need to realize this.
They think they can just "move the decimal" when Bitcoin becomes expensive to use on-chain.
They need to understand that doing that is increasing the supply of Bitcoin units and is a huge fucking deal.
Yes bitcoin is an integer based system but right now there is a decimal point. If there was no decimal point 1 bitcoin would be equal to what is currently called 1 satoshi. Have you read Carvalho’s BIP? Carvalho’s proposal shifts the decimal point for display purposes without creating new units so that 1 bitcoin is 1 satoshi. This doesn’t increase the supply it just gets rid of the decimals and uses the smallest unit.
I’m so thankful for bip-177
carvalho is a silly man
1 bitcoin = 1 bitcoin
1 satoshi = 1 satoshi
the 21 million btc (2.1 quadrillion sats) size is precisely based on the fact that is the nearest power of 10 you can fit into 64 bits
and if you are going to divide the satoshis up (already in protocol to 1000 in lightning) you can devide them again by 21 quadrillion
marvin is a silly man, did i mention that?
lol but the point remains that there are decimals if there were no decimals a satoshi would the unit we use to calculate the total supply.
In the Bitcoin code there is no decimal point. The block reward is currently 312,500,000 base units (call the units whatever you want)
"doing that is increasing the supply of bitcoin units"; I think it's debatable exactly what that means with the word "units" at the end, but it is not debatable that without it, the sentence is flat out wrong. A building doesn't become taller when you measure it in centimeters instead of meters. There is no such thing as "a bitcoin", or "a satoshi". Any more than there is "an inch". It's a measuring unit. You can change measuring units if you like, for all kinds of reasons, but that doesn't change the thing you measure.
The base unit is how we calculate the total supply.
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
if (halvings >= 64)
return 0;
return 50 * COIN >> halvings;
}
The total supply is a function of the halving calculation.
2.1 quadrillion is a bit of a mouthfull compared to 21 million
I’d rather call them nothing at all than call sats bitcoins.
If there is no decimals then why is every exchange, wallet and their mom using decimals? There were discussions on Bitcoin talk about this very subject 12 years ago.
Bitcoin is a number (among other things)
Just like a million has 6 zeros behind it. Bitcoin has 8 zeros.
Base units could be called bitcoins but they are not. 100 million base units are called bitcoins.
Most whole units of anything can be broken into pieces aka decimals.
It doesn’t matter whether decimals are explicitly stated in the whitepaper or code. Decimals are a way to represent fractions. When you say there are no decimals, you are also saying there are no fractions in bitcoin.
It seems like you are misunderstanding something. There are two different issues: integers vs decimal points and size of measuring unit. To illustrate, suppose there were 21 billion and not 21 million bitcoin "units" in Bitcoin. Still all integers, decimal points don't come into it. If we today converted each 1 satoshi into 1000 of "new satoshis", nothing has changed, except a measuring unit. It does not represent "inflation" as some brain dead "economics experts" on twatter think. (just to clarify, such a 1 to 1000 change would be extremely non-trivial code-wise and ecosystem-wise (but not protocol-wise!) .. if nothing else, making it backward compatible sounds not very fun).
The simplest answer; Bitcoin doesn’t use decimals, humans do. Decimal formatting is a convention, it’s not based in reality.
You can call them sats, John can call them Bitcoins, I can call them Chuck E. Cheesy’s, so long as it doesn’t break code consensus, it doesn’t matter what they’re called.
The fact still stands, there is no decimal.
I’ll drink that too 🍻
Bitcoin units are those 2,099,999,997,690,000 things that the software creates and verifies the movement of. It's not a unit of measurement.
Correct, but the nuance of moving the decimal requires you to understand the hard cap.
You can move the decimal over infinitely & yes you'll be creating a smaller, smallest denomination - but you'll never reach the hard cap of 21M just as close as you can get to infinity ♾️.
There is no decimal. Your wallet software just shows it to you that way.
No, there is no such thing as "a bitcoin" or "a satoshi", in the software, in memory on your computer, or in the protocol. This is actually crucial, and not just semantics. If each satoshi were an actual thing, then they could be traced from inputs to outputs. All that exists is an accounting mechanism of (output measured value - input measured value).
Great point.
Great analogy. 🎯
Forgive my ignorance, is this essentially highlighting. That it’s a ledger system and not a token system?
I guess you could put it like that, yes.
Note that chaumian ecash is not this way.
Exactly they are no 'coins', no 'notes', no 'currency units'.
There is only a chain of digital signatures. There is no issuance of currency.
When a new block is found a new special digital signature is created.
The signature announced publicly to anyone who will listen.
They are no wallets because there are only keychains that hold public/private key pair data.
#bitcoin is Text. Data. Speech.
It's not a big deal IMO.
The point is that the network cannot be DEBASED, which is increasing the supply unfairly. Simple increasing further division of the current network total value by adding a few zeros to every user's balance, and thus increasing the total units, every few years is not unfairly affecting anyone and only enhances usability as the value of each satoshi rises.
Also, we can even just keep the total network division as "21M" by leaving the software placed decimal at 1 / 21M of the total.
This debate is only controversial when a Satoshi is still a penny or less. Once a Satoshi becomes worth $1 (~2035~), $10 (~2038~), $100 (~2041~), and so on there will be no debate and consensus will be found to update Bitcoin. Allowing further division as Satoshi himself considered a possibility.


Reification :)