5

This question already has an answer here:

I've read that bitcoins are infinitely divisible:

Bitcoins can be divided up and trade into as small of pieces as one wants

How is this possible programmatically? The only thing that comes to mind are floating points which are inaccurate.

Are bitcoins truly infinitely divisible or merely practically?

A link to the relevant source code would be more than welcome.

marked as duplicate by aland, dchapes, Salvador Dali, Murch, Nick ODell Jan 9 '14 at 20:27

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

4

Bitcoins are only divisible down to 8 decimal places (same FAQ you referenced).

Programmatically all calculations are performed in satoshis using integer arithmetic (1 satoshi = 0.00000001 BTC)

  • 6
    If there is a need for them, additional decimal places can be added with concensus of the network. This is why some refer to "infinite" divisibility, because we can select the level that we need as time goes on. – CoinEnablers Jan 1 '14 at 14:27
  • 2
    @CoinEnablers That should be an answer, because it is actually what is being asked. – Murch Jan 3 '14 at 2:14
10

If there is a need for them, additional decimal places can be added with concensus of the network. This is why some refer to "infinite" divisibility, because we can select the level that we need as time goes on.

The current level selected in the code (by Satoshi) is 8 decimal places (1 satoshi = 0.00000001 BTC) hence the nickname for the smallest unit currently possible for bitcoin today.

As a thought exercise, if a consensus of the network (miners, but also clients and server applications for compatibility reasons) decides to update to a version of the protocol that includes 16 decimal places inspired by your post, we could end up with a new base unit (1 satoshi = 100,000,000 gracchi) as well as nanobitcoins (nBTC), picobitcoins (pBTC), and even femtobitcoins (fBTC, 10 gracchi)

I have trouble imagining the need for such a thing, unless destroying bitcoin becomes a prevalent method of use. If it is needed the potential is there and will never dilute your held bitcoins, which actually makes it a problem some would love to see the need to solve.

  • 1
    Thank you CoinEnablers! By that standard, why isn't every crypto infinitely divisible? Thank you so much in advance! – user5107 Jan 4 '14 at 2:03
  • 1
    The values in the bitcoin network are stored as the number of satoshis they are made-up from. I.e. if you add eight more decimals, you have to store that much more data in the blockchain. – Murch Jan 4 '14 at 3:44
  • @ Gracchus In theory, every cryptocurrency modeled after bitcoin could be retrofitted for more (or less) decimal places. Some altcoins have made changes to these parameters already, but so far I have not seen anyone who has tried to alter one after issuance. @Murch, that is an example of one of many technical details that would need to be solved. Check bitcointalk for more detailed discussions, there are several threads along this topic IIRC (with actual core developers commenting.) – CoinEnablers Jan 4 '14 at 15:03
  • Tadge Dryja explains why 8 decimal places is not enough: youtube.com/watch?v=-lgYYz3y_hY&t=13m43s – Janus Troelsen Jun 24 '17 at 14:34