Bitcoin Forum
November 15, 2024, 01:33:18 AM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: Why 1BTC should equal 10^8 satoshi ?  (Read 6715 times)
qdoop (OP)
Member
**
Offline Offline

Activity: 119
Merit: 112


_copy_improve_


View Profile WWW
October 11, 2014, 08:11:40 AM
Last edit: October 11, 2014, 08:27:16 AM by qdoop
Merited by vapourminer (1), ABCbits (1)
 #1

If you come from a financial background then obvious choices are:

Code:
    0.0001       : a percentage in point (pip) is a unit of change specifically in foreign exchange markets
   1,000,000.00 : accountants favorite view

BUT if you come from a hacker/programmer or cryptanalyst background the

Code:
   0.00000000  is definitely what you would prefer  because resembles the 8 hex digits of a 4 byte (32bit) integer  0x1234ABCD

also note that values satoshi incide tx's are encoded Little Endian like this:
Code:
   40 4B 4C 00 00 00 00 00  - 0.05 BTC (5000000)
contrary to common practice that everything emitted to the network should encoded Big Endian

Any thoughts or better explanation?


PS: I find a representation like 1000.0001 the most clean for the average.

_copy_improve_
news flow http://www.qdoop.org/
(offline) The simple bitcoin game  http://qdoop.net Testnet3 block explorer   http://pool.qdoop.net:18331/chain/Testnet3
tanaka
Member
**
Offline Offline

Activity: 87
Merit: 10


View Profile
October 11, 2014, 11:54:35 AM
 #2

Have to UP this. The power of math.  Grin

monsterer
Legendary
*
Offline Offline

Activity: 1008
Merit: 1007


View Profile
October 11, 2014, 12:29:10 PM
 #3

What are you asking? I have no idea.

1 satoshi is the smallest unit of bitcoin.
izanagi narukami
Legendary
*
Offline Offline

Activity: 2030
Merit: 1028



View Profile
October 11, 2014, 01:19:27 PM
 #4

What are you asking? I have no idea.

1 satoshi is the smallest unit of bitcoin.

He asking about why 1 BTC = 10 ^8 or 100.000.000 satoshi..

I'm just curious about this also  Grin

Hope will be any explanation

Smiley
phillipsjk
Legendary
*
Offline Offline

Activity: 1008
Merit: 1001

Let the chips fall where they may.


View Profile WWW
October 11, 2014, 01:32:42 PM
 #5


also note that values satoshi incide tx's are encoded Little Endian like this:
Code:
   40 4B 4C 00 00 00 00 00  - 0.05 BTC (5000000)
contrary to common practice that everything emitted to the network should encoded Big Endian


I suspect that that one is just laziness. Satoshi was probably using an x86 compatible machine.

James' OpenPGP public key fingerprint: EB14 9E5B F80C 1F2D 3EBE  0A2F B3DE 81FF 7B9D 5160
jonald_fyookball
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008


Core dev leaves me neg feedback #abuse #political


View Profile
October 11, 2014, 03:06:59 PM
 #6

he wanted to provide greater divisibilty, which is an
important characteristic of a currency, and especially
is needed because of bitcoin's potential for massive
deflation.

So 8 orders of magnitude oughta do the trick
instead of using normal 2 decimals.

Is that the answer you were looking for?

Jamie_Boulder
Sr. Member
****
Offline Offline

Activity: 378
Merit: 250


View Profile WWW
October 11, 2014, 03:12:27 PM
 #7

Not understanding this topic one bit, even after fyookball's explanation...

jonald_fyookball
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008


Core dev leaves me neg feedback #abuse #political


View Profile
October 11, 2014, 03:15:46 PM
 #8

Not understanding this topic one bit, even after fyookball's explanation...

a bitcoin is divisible down to 8 decimal places.  OP is asking "why" Satoshi designed it that way.

odolvlobo
Legendary
*
Offline Offline

Activity: 4508
Merit: 3417



View Profile
October 11, 2014, 04:28:11 PM
 #9

The choice is pretty arbitrary. I can think of two possible reasons.
The first is possibly convenience. It allows you to describe a value as a millionth of a bitcoin with two decimal places.
A second possibility is that the total number of satoshis is about 10 times the total wealth of the world in dollars.

The protocol uses a 64-bit number to represent a number of satoshis and the largest possible number is 9,223,372,036,854,775,807, which is about 4000 times the maximum number of satoshis. So I would either increase the maximum number of bitcoins to 84 billion or make 1 BTC = 1011 satoshis, rather than letting those 12 bits go to waste.

Join an anti-signature campaign: Click ignore on the members of signature campaigns.
PGP Fingerprint: 6B6BC26599EC24EF7E29A405EAF050539D0B2925 Signing address: 13GAVJo8YaAuenj6keiEykwxWUZ7jMoSLt
jonald_fyookball
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008


Core dev leaves me neg feedback #abuse #political


View Profile
October 11, 2014, 05:30:53 PM
 #10

The choice is pretty arbitrary. I can think of two possible reasons.
The first is possibly convenience. It allows you to describe a value as a millionth of a bitcoin with two decimal places.
A second possibility is that the total number of satoshis is about 10 times the total wealth of the world in dollars.

The protocol uses a 64-bit number to represent a number of satoshis and the largest possible number is 9,223,372,036,854,775,807, which is about 4000 times the maximum number of satoshis. So I would either increase the maximum number of bitcoins to 84 billion or make 1 BTC = 1011 satoshis, rather than letting those 12 bits go to waste.

I don't think optimization in such a manner is necessary. 
Probably Satoshi thought that MORE than 8 digits
would be burdensome for user interface and user experience.

crazy-pilot
Sr. Member
****
Offline Offline

Activity: 860
Merit: 253


SmartFi - EARN, LEND & TRADE


View Profile WWW
October 11, 2014, 05:39:27 PM
 #11

The choice is pretty arbitrary. I can think of two possible reasons.
The first is possibly convenience. It allows you to describe a value as a millionth of a bitcoin with two decimal places.
A second possibility is that the total number of satoshis is about 10 times the total wealth of the world in dollars.

The protocol uses a 64-bit number to represent a number of satoshis and the largest possible number is 9,223,372,036,854,775,807, which is about 4000 times the maximum number of satoshis. So I would either increase the maximum number of bitcoins to 84 billion or make 1 BTC = 1011 satoshis, rather than letting those 12 bits go to waste.
I don't think this would be necessary. It is unlikely that bitcoin will ever have enough value that it will be necessary to have this level of precision.

For the first several years of bitcoin being in existence, QT did not even support displaying the balance in amounts other then by two decimal places

████
██
██
██
██
██
██
██
██
██
██
██
████
...The Open..............
...Lending Platform...
████
████
████
████
████
████
████
████
████
████
████
████
████
▄▄█████████▄▄
▄█████████████████▄
▄██████████▀▀▀▀███████▄
█████████▀        ███████
████████▀        ▄█████████
█████████       ▄▀▀██████████
█████████     ▄▀   ▀█████████
██████████  ▄▀      █████████
█████████▀▀       ▄████████
███████        ▄█████████
▀███████▄▄▄▄██████████▀
▀█████████████████▀
▀▀█████████▀▀
.SMARTFI..████
████
████
████
████
████
████
████
████
████
████
████
████
...Join the SmartFi.....
...Token Sale...
████
██
██
██
██
██
██
██
██
██
██
██
████
████████████████████████████
████████████████████████████
████████████████████████████
█████████████████▀▀  ███████
█████████████▀▀      ███████
█████████▀▀   ▄▄     ███████
█████▀▀    ▄█▀▀     ████████
█████████ █▀        ████████
█████████ █ ▄███▄   ████████
██████████████████▄▄████████
████████████████████████████
████████████████████████████
████████████████████████████
████████████████████████████
████████████████████████████
████████████████████████████
████████▀▀▄██████▄▀▀████████
███████  ▀        ▀  ███████
██████                ██████
█████▌   ███    ███   ▐█████
█████▌   ▀▀▀    ▀▀▀   ▐█████
██████                ██████
███████▄  ▀██████▀  ▄███████
████████████████████████████
████████████████████████████
████████████████████████████
Melbustus
Legendary
*
Offline Offline

Activity: 1722
Merit: 1004



View Profile
October 11, 2014, 06:15:26 PM
 #12

I think the OP is asking: "Why do we call 100,000,000 of the protocol's actual base units (ie, satoshis), '1 bitcoin'? Why not one million base units, or a thousand?"

That is, there are approx 2,100,000,000,000,000 eventual base units ("satoshis"). Those are the units the protocol actually deals with on the network. Why do we happen to call 100million of them "1 bitcoin"?

"1 bitcoin" is just a term. I think Satoshi picked 100,000,000 base units because bitcoin needed a standard denomination size in the early users that felt fairly natural to people. If one cup of coffee cost 27500000 units, it'd be weird/confusing to people. In day to day life, people are used to transacting in single, double, triple, and quadruple digits. Go much beyond that, and people get confused. Worse, use a number with a lot of sub-decimal-point digits and people just can't handle it.

In bitcoin's early years, it seemed reasonable/natural that "50" units would be mined every 10 minutes. Early adopters could mine a few hundred in a day, and then play around by sending amounts like "10", "75", "200" around to each other. If, instead, "1 bitcoin" meant "1000 base units", those numbers all would've had a lot of zeros after them and been cumbersome to look at and deal with.

So I think it was just a balance issue, with a goal of keeping the reasonable day-to-day transaction amounts in-line with what people are used to. Note that at this point, today, with bitcoin's dramatically increased purchasing power, it would be more convenient if "1 bitcoin" meant "100,000 base units" or even "100 base units". We wouldn't be dealing with sub-decimal-point numbers for buying a cup of coffee. Hence the push people were making last year to consider "millis" the day-to-day standard, and now the push being made for "bits".

Obviously no matter how you chop up the nomenclature, you control the same percentage of the total supply, so it doesn't matter in an economic sense. But humans are difficult, so there are certainly ease-of-use and familiarity concerns to optimize.

Bitcoin is the first monetary system to credibly offer perfect information to all economic participants.
wingding
Hero Member
*****
Offline Offline

Activity: 770
Merit: 504



View Profile
October 11, 2014, 07:18:30 PM
 #13

There is a line in the code like this:
COIN=100000000;

It tells the wallet how many satoshis that shall be called a BTC. Nothing more. if the line is changed to, for example
COIN=100;
and you had 1 bitcoin, your wallet would now say that you had 1 million bitcoins. But it would not make you any richer, because the code works only with with satoshis 'under the hood', and does not really care how many satoshi we choose to make up one bitcoin.

But why the choice of such a high number like 10^8 ? My guess: If bitcoin were to become widespread, most people would have to do with only small fraction of a single bitcoin. Not vey practical. But as I explained above, the code can very easy be changed to denominate the unit. I think Satoshi or whoever wrote the code thought that such denominations should take place as the coin spread out. Why? Maybe because such denominations it would also make it less evident how much the bitcoin money supply favorizes early adapters?
qdoop (OP)
Member
**
Offline Offline

Activity: 119
Merit: 112


_copy_improve_


View Profile WWW
October 11, 2014, 08:23:33 PM
Last edit: October 11, 2014, 08:34:13 PM by qdoop
 #14

Thanks for your really awesome answers.

After carefully reading them here are some extra facts
https://en.wikipedia.org/wiki/Integer_(computer_science)

A 32bit signed integer can represent numbers from −2,147,483,648 to 2,147,483,647

if you wanted to do accounting for modern currencies with pure integers due to denomination factor of 100 (1$ = 100 cents)
then the obvious choice is to work in cents
Code:
        1 -> 1 cent
     100 -> 1 $
in such a system the most you can represent is slight above 21 million $
Code:
    from  −21,474,836.48 $      to       21,474,836.47 $
Note that left of side of the dot there are 8 digit/decimal places (21 xxx xxx).
Lets assume 1BTC worth(represents) 1 $.
To make it symmetric the dynamic logarithmic range has to be [ 10E-8 , 10E8 ]
This range permits exponential growth or decay for 2*8 orders of magnitude!
Code:
21 xxx xxx . yyy yyy 01

 Roll Eyes

_copy_improve_
news flow http://www.qdoop.org/
(offline) The simple bitcoin game  http://qdoop.net Testnet3 block explorer   http://pool.qdoop.net:18331/chain/Testnet3
franky1
Legendary
*
Offline Offline

Activity: 4410
Merit: 4766



View Profile
October 11, 2014, 08:43:23 PM
 #15

its the whole joke of satoshi being japanese and their superstition and love of the number 8

end of

I DO NOT TRADE OR ACT AS ESCROW ON THIS FORUM EVER.
Please do your own research & respect what is written here as both opinion & information gleaned from experience. many people replying with insults but no on-topic content substance, automatically are 'facepalmed' and yawned at
qdoop (OP)
Member
**
Offline Offline

Activity: 119
Merit: 112


_copy_improve_


View Profile WWW
October 11, 2014, 08:53:17 PM
Last edit: October 11, 2014, 09:07:18 PM by qdoop
 #16

its the whole joke of satoshi being japanese and their superstition and love of the number 8

end of

 Grin Grin Grin Grin I can verify this!!!!



PS: Greeks prefer (ε) , (ω) and of course https://en.wikipedia.org/wiki/Greeks_(finance)

_copy_improve_
news flow http://www.qdoop.org/
(offline) The simple bitcoin game  http://qdoop.net Testnet3 block explorer   http://pool.qdoop.net:18331/chain/Testnet3
jonald_fyookball
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008


Core dev leaves me neg feedback #abuse #political


View Profile
October 11, 2014, 09:39:02 PM
 #17

Thanks for your really awesome answers.

After carefully reading them here are some extra facts
https://en.wikipedia.org/wiki/Integer_(computer_science)

A 32bit signed integer can represent numbers from −2,147,483,648 to 2,147,483,647

if you wanted to do accounting for modern currencies with pure integers due to denomination factor of 100 (1$ = 100 cents)
then the obvious choice is to work in cents
Code:
        1 -> 1 cent
     100 -> 1 $
in such a system the most you can represent is slight above 21 million $
Code:
    from  −21,474,836.48 $      to       21,474,836.47 $
Note that left of side of the dot there are 8 digit/decimal places (21 xxx xxx).
Lets assume 1BTC worth(represents) 1 $.
To make it symmetric the dynamic logarithmic range has to be [ 10E-8 , 10E8 ]
This range permits exponential growth or decay for 2*8 orders of magnitude!
Code:
21 xxx xxx . yyy yyy 01

 Roll Eyes

That is interesting. 

I would say that in a vast majority of computing applications,
optimizing how one types variables is of little importance.

Obviously there are exceptions, such as databases, or
the situation when you've mistakenly truncated data.

But usually, software development projects
have a hard enough time being completed on schedule,
within budget, while fulfilling requirements and
providing adequate robustness.   
 






p2pbucks
Hero Member
*****
Offline Offline

Activity: 642
Merit: 500


Evolution is the only way to survive


View Profile
October 12, 2014, 12:37:27 AM
 #18

maybe , Nakamoto thought 1 bitcoin could be a very large unit in the future ( 1 BTC = 100,000,000 USD ) . So 1 satoshi would be the basic unit of value
Cryddit
Legendary
*
Offline Offline

Activity: 924
Merit: 1132


View Profile
October 12, 2014, 03:28:14 AM
Merited by LoyceV (6), ABCbits (6), vapourminer (4), o_e_l_e_o (4), d5000 (1)
 #19

I remember this discussion, actually. 

Finney, Satoshi, and I discussed how divisible a Bitcoin ought to be.  Satoshi had already more or less decided on a 50-coin per block payout with halving every so often to add up to a 21M coin supply.  Finney made the point that people should never need any currency division smaller than a US penny, and then somebody (I forget who) consulted some oracle somewhere like maybe Wikipedia and figured out what the entire world's M1 money supply at that time was. 

We debated for a while about which measure of money Bitcoin most closely approximated; but M2, M3, and so on are all for debt-based currencies, so I agreed with Finney that M1 was probably the best measure. 

21Million, times 10^8 subdivisions, meant that even if the whole word's money supply were replaced by the 21 million bitcoins the smallest unit (we weren't calling them Satoshis yet)  would still be worth a bit less than a penny, so no matter what happened -- even if the entire economy of planet earth were measured in Bitcoin -- it would never inconvenience people by being too large a unit for convenience.

Melbustus
Legendary
*
Offline Offline

Activity: 1722
Merit: 1004



View Profile
October 12, 2014, 03:55:19 AM
 #20

I remember this discussion, actually. 

Finney, Satoshi, and I discussed how divisible a Bitcoin ought to be.  Satoshi had already more or less decided on a 50-coin per block payout with halving every so often to add up to a 21M coin supply.  Finney made the point that people should never need any currency division smaller than a US penny, and then somebody (I forget who) consulted some oracle somewhere like maybe Wikipedia and figured out what the entire world's M1 money supply at that time was. 

We debated for a while about which measure of money Bitcoin most closely approximated; but M2, M3, and so on are all for debt-based currencies, so I agreed with Finney that M1 was probably the best measure. 

21Million, times 10^8 subdivisions, meant that even if the whole word's money supply were replaced by the 21 million bitcoins the smallest unit (we weren't calling them Satoshis yet)  would still be worth a bit less than a penny, so no matter what happened -- even if the entire economy of planet earth were measured in Bitcoin -- it would never inconvenience people by being too large a unit for convenience.



Assuming you're Ray Dillinger - is that conversation public anywhere? I don't recall reading it on http://www.mail-archive.com/cryptography%40metzdowd.com/msg10005.html

Bitcoin is the first monetary system to credibly offer perfect information to all economic participants.
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!