Pages:
Author

Topic: When to "move the decimal points" ? (Read 17737 times)

legendary
Activity: 2128
Merit: 1120
April 23, 2014, 03:53:53 AM
There is no decimal point in the ledger. The protocol doesn't see a decimal point. There are none.

Yes but it is on every clients, every exchanges, every services and in all conversations.
sr. member
Activity: 448
Merit: 250
April 23, 2014, 03:48:27 AM
There is no decimal point in the ledger. The protocol doesn't see a decimal point. There are none.
legendary
Activity: 1708
Merit: 1007
February 01, 2014, 05:17:48 PM
It's not for display.

why would someone set a constant MAX_MONEY = 21000000 * COIN; for display purposes? The display would never go past that so it would be useless to set that constant just to control display.

So in fact, the BTC value is set in code.

The transaction fee per kB is also set in the code. That doesn't mean that it can't be changed.

COIN is used in various places in the code to make BTC amounts easier for programmers to read. MAX_MONEY = 21000000 * COIN is the same as MAX_MONEY = 2100000000000000. Except in a small amount of code very close to the UI, all Bitcoin values in the code are stored as integer satoshi amounts. (MAX_MONEY is used in transaction verification, but its unit is not BTC.)

In general, changing the code equals changing the rules. Hey, I thought we were done with centralised regulation. Think about it, a miner gets 25 BTC today, which is a fixed portion of the total amount of 21 million BTC (2 100 000 000 000 000 units). Bitcoin is fine as it is; the only minor problem is defining a nice and catchy pricing notation. By definition (design) 1 BTC is 1/21 millionth of the total amount, because of the mining strategy (50, 25, 12.5, and so on).
It will be very confusing/misleading/deceiving if you/they change the already familiar symbol BTC, or its abbreviation BTC, for something else than 1 BTC; i.e. 1/21 millionth of its totality.

Some of the code impliments the protocol; within exists rules that cannot be broken, and others that are more flexible within constraints.  All the rest of the code within a given client is there for users' ease, and can be modified without problems.  How the client displays the stored value is of the latter type, for the protocol doesn't specify a display unit and isn't even aware of one besides the satoshi, and not even by that name.  There are many aspects of the system that are like this.  This is not an example of centralization.
legendary
Activity: 1437
Merit: 1002
https://bitmynt.no
February 01, 2014, 04:27:55 PM
Or is this the stupidest idea yet?
Yes, it is.  The SI system already help you remember the number of decimal places, and even currencies adopt it.  Think of a cent as a centieuro.  Creating a new one is just confusing.
hero member
Activity: 644
Merit: 500
One Token to Move Anything Anywhere
February 01, 2014, 11:05:07 AM
How about:

Bitcoin = 1
Bitcoi (pronounced like Russian ballet company the "Bolshoi") = 0.1
Bitco = 0.01
Bitc (pronounced Bitsey) = 0.001
Bit = 0.0001
Bi (pronounced "bi"cycle) = 0.00001
B = 0.000001
Nak (Nakamoto) = 0.0000001
Satoshi = 0.00000001

I think it will help people to remember the number of decimal places - before learned by heart you can count the missing letters to remind you where you are behind the decimal point.

Or is this the stupidest idea yet?
Xav
member
Activity: 78
Merit: 10
February 01, 2014, 05:04:34 AM
It's not for display.

why would someone set a constant MAX_MONEY = 21000000 * COIN; for display purposes? The display would never go past that so it would be useless to set that constant just to control display.

So in fact, the BTC value is set in code.

The transaction fee per kB is also set in the code. That doesn't mean that it can't be changed.

COIN is used in various places in the code to make BTC amounts easier for programmers to read. MAX_MONEY = 21000000 * COIN is the same as MAX_MONEY = 2100000000000000. Except in a small amount of code very close to the UI, all Bitcoin values in the code are stored as integer satoshi amounts. (MAX_MONEY is used in transaction verification, but its unit is not BTC.)

In general, changing the code equals changing the rules. Hey, I thought we were done with centralised regulation. Think about it, a miner gets 25 BTC today, which is a fixed portion of the total amount of 21 million BTC (2 100 000 000 000 000 units). Bitcoin is fine as it is; the only minor problem is defining a nice and catchy pricing notation. By definition (design) 1 BTC is 1/21 millionth of the total amount, because of the mining strategy (50, 25, 12.5, and so on).
It will be very confusing/misleading/deceiving if you/they change the already familiar symbol BTC, or its abbreviation BTC, for something else than 1 BTC; i.e. 1/21 millionth of its totality.
sr. member
Activity: 427
Merit: 250
February 01, 2014, 04:38:45 AM
I get the point now.

But see, even the programmers need something that "makes it easier for them to read" as theymos stated. The average person also needs something that makes their everyday lives "easier to read". That's the point of shifting decimal numbers.

It's unfortunate that the decimal place is not defined in core. Maybe for some people it doesn't make sense to define this in core but I think that at least it should be as a form of unification and guidance to client software.

There must be some connection between programmers and the people who are supposed to use cryptocurrency. Some are excellent programmers but fail to understand the mind of average people.

Imagine some unprivileged people in Africa fleeing their country in civil war with trouble understanding what 0.0128974 is.. I guess some people here will tell them they are "too ignorant" to use Bitcoin.

Imagine another scenario, someone dealing with another person in another country. In one's country, BTC is worth 100,000,000 satoshis, in the other country BTC is worth 100,000 satoshis. It's possible right? You guys told us that everyone can pick whatever they like for their units right? You can picture the confusion right there.

administrator
Activity: 5166
Merit: 12850
February 01, 2014, 02:17:04 AM
It's not for display.

why would someone set a constant MAX_MONEY = 21000000 * COIN; for display purposes? The display would never go past that so it would be useless to set that constant just to control display.

So in fact, the BTC value is set in code.

The transaction fee per kB is also set in the code. That doesn't mean that it can't be changed.

COIN is used in various places in the code to make BTC amounts easier for programmers to read. MAX_MONEY = 21000000 * COIN is the same as MAX_MONEY = 2100000000000000. Except in a small amount of code very close to the UI, all Bitcoin values in the code are stored as integer satoshi amounts. (MAX_MONEY is used in transaction verification, but its unit is not BTC.)
sr. member
Activity: 427
Merit: 250
February 01, 2014, 01:18:50 AM
It's not for display.

why would someone set a constant MAX_MONEY = 21000000 * COIN; for display purposes? The display would never go past that so it would be useless to set that constant just to control display.

So in fact, the BTC value is set in code.
legendary
Activity: 1708
Merit: 1007
February 01, 2014, 12:53:33 AM
Quote from: Its About Sharing

So, as thms said (or rather discovered  Grin), the base unit is actually a Satoshi and not a BTC (in the code.)

I'm really having trouble understanding this concept. Yes, the base unit is satoshi, fine. But the definition of 1 BTC = 100,000,000 satoshis is just set on paper then?

Not even on paper.  It's just an arbitrary unit that Satoshi decided upon early, because the value of any bitcoin unit would be so small to start with.  The transactions hold the value as a 64 bit integer, Satoshi just added a decimal in the middle of the base-10 representation of that 64 bit integer, with 32 bits to either side.  Again, that's nowhere in the code or protocol, just something Sathoshi decided upon to make the mental math easier for users.

So what these lines in  bitcoin / src / util.h are for?

Code:
static const int64_t COIN = 100000000;
static const int64_t CENT = 1000000;

and then in bitcoin / src / core.h we see this:

Code:
static const int64_t MAX_MONEY = 21000000 * COIN;

Taht's just the display code.
sr. member
Activity: 427
Merit: 250
February 01, 2014, 12:42:49 AM
 
     
Quote from: Its About Sharing
     We could do a 1000 for 1 split and put 1 BTC close in value to a dollar.
      Of course, what this would do is open the floodgates for new buyers, guaranteed.
      
     That I agree, it's 100% confirmed that more people would buy if the decimal point is shifted to the right place
  
You can only speak for yourself, although you probably are here. This argument is why I pointed out that the market has already decided how to handle it.

The market is continuously deciding and can always change how to handle it.

There is nothing for us to debate, no one has any power to effect this kind of change if the users don't wish to do it themselves.

Look who's also speaking for himself... You don't want to debate it is very different from there's nothing to debate. And if currently 1 BTC corresponds to 100,000,000 units, it means that someone changed or set it in the past right? If it was possible in the past, then sure it must be possible today. This is just logical thinking, no idealism here.

The unit of display isn't decided by the code or protocol. If you don't like how your client displays the unit, change it.  You can in your own client anytime you like.

You are confusing things, we are not discussing the unit of display!! Even if we shift and unshift the decimal point, the unit of display will always be configurable.. Two different things.. BTW see my post above where the BTC value is set in code.

If people don't buy bitcoins because the price of a whole bitcoin is $800, why does it matter if they might buy a millibit for 80 cents?  Their economic ignorance isn't a reflection on you, is it?  Nor is it a reflection on Bitcoin itself.  If Bitcoin fails, it won't be because a portion of the potential user pool doesn't understand the unit.

You need to know more about how the average person thinks, not just how you think. Wasn't one of Bitcoin's goals to support people who are explored by the banking system? Guess what, people in this category are "economically ignorant" as you put it...
sr. member
Activity: 427
Merit: 250
February 01, 2014, 12:17:20 AM
Quote from: Its About Sharing

So, as thms said (or rather discovered  Grin), the base unit is actually a Satoshi and not a BTC (in the code.)

I'm really having trouble understanding this concept. Yes, the base unit is satoshi, fine. But the definition of 1 BTC = 100,000,000 satoshis is just set on paper then?

Not even on paper.  It's just an arbitrary unit that Satoshi decided upon early, because the value of any bitcoin unit would be so small to start with.  The transactions hold the value as a 64 bit integer, Satoshi just added a decimal in the middle of the base-10 representation of that 64 bit integer, with 32 bits to either side.  Again, that's nowhere in the code or protocol, just something Sathoshi decided upon to make the mental math easier for users.

So what these lines in  bitcoin / src / util.h are for?

Code:
static const int64_t COIN = 100000000;
static const int64_t CENT = 1000000;

and then in bitcoin / src / core.h we see this:

Code:
static const int64_t MAX_MONEY = 21000000 * COIN;
legendary
Activity: 1442
Merit: 1000
Antifragile
January 31, 2014, 06:57:20 PM
Quote from: Its About Sharing
We could do a 1000 for 1 split and put 1 BTC close in value to a dollar.
Of course, what this would do is open the floodgates for new buyers, guaranteed.

That I agree, it's 100% confirmed that more people would buy if the decimal point is shifted to the right place


You can only speak for yourself, although you probably are here.

This argument is why I pointed out that the market has already decided how to handle it.  There is nothing for us to debate, no one has any power to effect this kind of change if the users don't wish to do it themselves.  The unit of display isn't decided by the code or protocol.  This whole thread is like arguing how many angels can dance on the head of a pin!  There is nothing that any of us can do!  Even if we could all agree.

If you don't like how your client displays the unit, change it.  You can in your own client anytime you like.  It would have zero effect on your net spending power, nor would it have any effect whatever on your ability to buy bitcoins in any fraction or number you are able.  If people don't buy bitcoins because the price of a whole bitcoin is $800, why does it matter if they might buy a millibit for 80 cents?  Their economic ignorance isn't a reflection on you, is it?  Nor is it a reflection on Bitcoin itself.  If Bitcoin fails, it won't be because a portion of the potential user pool doesn't understand the unit.

True to a point, but if we just change the name of the unit on e.g. our wallet, then we will be saying e.g. 1 mBTC, right? That is a problem right there. It is no longer a "bitcoin", it is a "milibitcoin". I think we are talking about more than an adjustment in perception, now that you bring up that good point. Unlike regular money, we don't yet have the familiarity with the equivalent  of say "a penny" in our Bitcoin vocabulary. And it sounds so geeky to say "milibitcoin" for Grandma! LOL But who knows, really...

Perhaps we can easily make the adjustment. It is an interesting part of the experiment, eh? Having a money that increases so much in value that you have to start refering to it in thousandths or the like.

Outside of the core Bitcoin community, I suspect that units will have many names across nations, cultures and languages, and I don't think there is any way to avoid that.   So why try?  There is no need to have an "official" unit name, people who trade across borders will make it their business to be aware of the differences in unit nomiclature and division.  People who don't trade across borders don't give a shit what it's called elsewhere.  Note that gold has 200+ names.

EDIT:  BTW, if you're willing to dig into the archives of this forum, you'll find that I'm the person who suggested that the smallest unit be called a satoshi.  Yes, me, personally.  I really have been here that long.  The reason that I gave then was that most people chaff at using scientific names, and that (much like the faces on the US currencies) the most important historical characters tend to be on display on the smallest units of currency, so that they will be seen more often.  That's why George Washington is on the $1 bill (first US president under the constitution, not the first Us president) and Ben Franklin is on the $100 bill (founding father, not a president ever).  For this reason, and the fact that the names were so uncommon, I proposed that the smallest unit be called a satoshi and the smallest unit times 1000 be called a GAvin.  That stuck because it was a good idea and was received well by the community at the time, not because I had any authority over the matter.

That last story is pretty amazing. I was just Skyping a friend and joking with him about when the Universe intervenes or directs us in a moment to listen... Check.
Great way to come up with the Satoshi. And at some time soon GAvin may be a highly used word when talking btc units. And then the Satoshi will come! LOL

Regarding your point of view on naming or the nomenclature here, I was really throwing that idea out. I'm not strongly tied to it, though i have wondered about it. You make some good points but I guess it will come down to what it comes down to... I never though AOL would succeed with there CD everywhere campaign, but I was wrong. Though I called that internet thing pretty well...

Back to units of measurement, I was considering calling .01 btc "bank disruptors" (or a de-Lawskies, CK's (Corruption Killers), FED Ups or something like that. Funnily possible). What do you think?
"How much for the Wiki Leaks lifetime member membership? A - 100 Bank Disrupters." Nice reminder and prophetic meme propagator. (What a proud memory that would be! And congrats on your coming up with the Satoshi name, truly. In hindsight, it HAD to be that way. Well done.)
Xav
member
Activity: 78
Merit: 10
January 31, 2014, 06:43:46 PM
Code:
* Example: 0104835800816115944e077fe7c803cfa57f29b36bf87c1d358bb85e
 *          <><><--------------------------------------------><---->
 *          |  \                  |                             /
 *    version   code             vout[1]                  height
 *
 *    - version = 1
 *    - code = 4 (vout[1] is not spent, and 0 non-zero bytes of bitvector follow)
 *    - unspentness bitvector: as 0 non-zero bytes follow, it has length 0
 *    - vout[1]: 835800816115944e077fe7c803cfa57f29b36bf87c1d35
 *               * 8358: compact amount representation for 60000000000 (600 BTC)
 *               * 00: special txout type pay-to-pubkey-hash
 *               * 816115944e077fe7c803cfa57f29b36bf87c1d35: address uint160
 *    - height = 203998
 *
 *
 * Example: 0109044086ef97d5790061b01caab50f1b8e9c50a5057eb43c2d9563a4eebbd123008c988f1a4a4de2161e0f50aac7f17e7f9555caa486af3b
 *          <><><--><--------------------------------------------------><----------------------------------------------><---->
 *         /  \   \                     |                                                           |                     /
 *  version  code  unspentness       vout[4]                                                     vout[16]           height
 *
 *  - version = 1
 *  - code = 9 (coinbase, neither vout[0] or vout[1] are unspent,
 *                2 (1, +1 because both bit 2 and bit 4 are unset) non-zero bitvector bytes follow)
 *  - unspentness bitvector: bits 2 (0x04) and 14 (0x4000) are set, so vout[2+2] and vout[14+2] are unspent
 *  - vout[4]: 86ef97d5790061b01caab50f1b8e9c50a5057eb43c2d9563a4ee
 *             * 86ef97d579: compact amount representation for 234925952 (2.35 BTC)
 *             * 00: special txout type pay-to-pubkey-hash
 *             * 61b01caab50f1b8e9c50a5057eb43c2d9563a4ee: address uint160
 *  - vout[16]: bbd123008c988f1a4a4de2161e0f50aac7f17e7f9555caa4
 *              * bbd123: compact amount representation for 110397 (0.001 BTC)
 *              * 00: special txout type pay-to-pubkey-hash
 *              * 8c988f1a4a4de2161e0f50aac7f17e7f9555caa4: address uint160
 *  - height = 120891

https://github.com/bitcoin/bitcoin/blob/master/src/coins.h

Also, miners "earn" a fixed (predefined; 25 at this moment) amount of BTC and fees are charged depended on fractions of 1 BTC and a few other conditions.
legendary
Activity: 1708
Merit: 1007
January 31, 2014, 06:25:08 PM
Quote from: Its About Sharing
We could do a 1000 for 1 split and put 1 BTC close in value to a dollar.
Of course, what this would do is open the floodgates for new buyers, guaranteed.

That I agree, it's 100% confirmed that more people would buy if the decimal point is shifted to the right place


You can only speak for yourself, although you probably are here.

This argument is why I pointed out that the market has already decided how to handle it.  There is nothing for us to debate, no one has any power to effect this kind of change if the users don't wish to do it themselves.  The unit of display isn't decided by the code or protocol.  This whole thread is like arguing how many angels can dance on the head of a pin!  There is nothing that any of us can do!  Even if we could all agree.

If you don't like how your client displays the unit, change it.  You can in your own client anytime you like.  It would have zero effect on your net spending power, nor would it have any effect whatever on your ability to buy bitcoins in any fraction or number you are able.  If people don't buy bitcoins because the price of a whole bitcoin is $800, why does it matter if they might buy a millibit for 80 cents?  Their economic ignorance isn't a reflection on you, is it?  Nor is it a reflection on Bitcoin itself.  If Bitcoin fails, it won't be because a portion of the potential user pool doesn't understand the unit.

True to a point, but if we just change the name of the unit on e.g. our wallet, then we will be saying e.g. 1 mBTC, right? That is a problem right there. It is no longer a "bitcoin", it is a "milibitcoin". I think we are talking about more than an adjustment in perception, now that you bring up that good point. Unlike regular money, we don't yet have the familiarity with the equivalent  of say "a penny" in our Bitcoin vocabulary. And it sounds so geeky to say "milibitcoin" for Grandma! LOL But who knows, really...

Perhaps we can easily make the adjustment. It is an interesting part of the experiment, eh? Having a money that increases so much in value that you have to start refering to it in thousandths or the like.

Outside of the core Bitcoin community, I suspect that units will have many names across nations, cultures and languages, and I don't think there is any way to avoid that.   So why try?  There is no need to have an "official" unit name, people who trade across borders will make it their business to be aware of the differences in unit nomiclature and division.  People who don't trade across borders don't give a shit what it's called elsewhere.  Note that gold has 200+ names.

EDIT:  BTW, if you're willing to dig into the archives of this forum, you'll find that I'm the person who suggested that the smallest unit be called a satoshi.  Yes, me, personally.  I really have been here that long.  The reason that I gave then was that most people chaff at using scientific names, and that (much like the faces on the US currencies) the most important historical characters tend to be on display on the smallest units of currency, so that they will be seen more often.  That's why George Washington is on the $1 bill (first US president under the constitution, not the first Us president) and Ben Franklin is on the $100 bill (founding father, not a president ever).  For this reason, and the fact that the names were so uncommon, I proposed that the smallest unit be called a satoshi and the smallest unit times 1000 be called a GAvin.  That stuck because it was a good idea and was received well by the community at the time, not because I had any authority over the matter.
legendary
Activity: 1442
Merit: 1000
Antifragile
January 31, 2014, 06:10:39 PM
Quote from: Its About Sharing
We could do a 1000 for 1 split and put 1 BTC close in value to a dollar.
Of course, what this would do is open the floodgates for new buyers, guaranteed.

That I agree, it's 100% confirmed that more people would buy if the decimal point is shifted to the right place


You can only speak for yourself, although you probably are here.

This argument is why I pointed out that the market has already decided how to handle it.  There is nothing for us to debate, no one has any power to effect this kind of change if the users don't wish to do it themselves.  The unit of display isn't decided by the code or protocol.  This whole thread is like arguing how many angels can dance on the head of a pin!  There is nothing that any of us can do!  Even if we could all agree.

If you don't like how your client displays the unit, change it.  You can in your own client anytime you like.  It would have zero effect on your net spending power, nor would it have any effect whatever on your ability to buy bitcoins in any fraction or number you are able.  If people don't buy bitcoins because the price of a whole bitcoin is $800, why does it matter if they might buy a millibit for 80 cents?  Their economic ignorance isn't a reflection on you, is it?  Nor is it a reflection on Bitcoin itself.  If Bitcoin fails, it won't be because a portion of the potential user pool doesn't understand the unit.

True to a point, but if we just change the name of the unit on e.g. our wallet, then we will be saying e.g. 1 mBTC, right? That is a problem right there. It is no longer a "bitcoin", it is a "milibitcoin". I think we are talking about more than an adjustment in perception, now that you bring up that good point. Unlike regular money, we don't yet have the familiarity with the equivalent  of say "a penny" in our Bitcoin vocabulary. And it sounds so geeky to say "milibitcoin" for Grandma! LOL But who knows, really...

Perhaps we can easily make the adjustment. It is an interesting part of the experiment, eh? Having a money that increases so much in value that you have to start refering to it in thousandths or the like.
legendary
Activity: 1708
Merit: 1007
January 31, 2014, 05:53:13 PM
Where does this nonsense come from that the base unit is the satoshi? Its is agreed upon to stick to 8 decimal places for time being (can be changed to 6 or 10 or whatever) and its called a Satoshi.
If someone wants to be cheap i am sure he can find some crappy coin on a crappy exchange.

Well, I first noticed it when I read Satoshi's white paper.  I've been told by many of the developers that the satoshi is the base unit as well.  Can't see any reason to call it nonsense, myself.
legendary
Activity: 1708
Merit: 1007
January 31, 2014, 05:49:48 PM
Quote from: Its About Sharing
We could do a 1000 for 1 split and put 1 BTC close in value to a dollar.
Of course, what this would do is open the floodgates for new buyers, guaranteed.

That I agree, it's 100% confirmed that more people would buy if the decimal point is shifted to the right place


You can only speak for yourself, although you probably are here.

This argument is why I pointed out that the market has already decided how to handle it.  There is nothing for us to debate, no one has any power to effect this kind of change if the users don't wish to do it themselves.  The unit of display isn't decided by the code or protocol.  This whole thread is like arguing how many angels can dance on the head of a pin!  There is nothing that any of us can do!  Even if we could all agree.

If you don't like how your client displays the unit, change it.  You can in your own client anytime you like.  It would have zero effect on your net spending power, nor would it have any effect whatever on your ability to buy bitcoins in any fraction or number you are able.  If people don't buy bitcoins because the price of a whole bitcoin is $800, why does it matter if they might buy a millibit for 80 cents?  Their economic ignorance isn't a reflection on you, is it?  Nor is it a reflection on Bitcoin itself.  If Bitcoin fails, it won't be because a portion of the potential user pool doesn't understand the unit.
legendary
Activity: 1442
Merit: 1000
Antifragile
January 31, 2014, 03:19:02 PM
Where does this nonsense come from that the base unit is the satoshi? Its is agreed upon to stick to 8 decimal places for time being (can be changed to 6 or 10 or whatever) and its called a Satoshi.
If someone wants to be cheap i am sure he can find some crappy coin on a crappy exchange.

The "nonsense" comes from a few places. I've heard it on the Let's Talk Bitcoin podcast and here it is in the first line of the Bitcoin Wiki:
Quote
Bitcoin is a decentralized digital currency created by developer Satoshi Nakamoto. It does not rely on a central server to process transactions or store funds. There are a maximum of 2,100,000,000,000,000 Bitcoin elements (called satoshis), currently most commonly measured in units of 100,000,000 known as BTC.

Perhaps you can list your sources. Did you get your information from the source code? I imagine since you are calling the other information "nonsense", you must have.

And regarding your derogatory remark of "If someone wants to be cheap..." - I don't think any of us implied or alluded to that at all. We are talking about an ease of use in denominations for the AVERAGE user, not IT or tech guys. Even IT guys or technical people (like a few of the hosts of LTBTC) got the different denomination conventions mixed up on more than one occasion.

With posts like yours it makes fewer people want to take part in a discussion.
So, learn some manners Manfred.

ITS ABOUT SHARING
legendary
Activity: 966
Merit: 1001
Energy is Wealth
January 31, 2014, 02:02:14 PM
Where does this nonsense come from that the base unit is the satoshi? Its is agreed upon to stick to 8 decimal places for time being (can be changed to 6 or 10 or whatever) and its called a Satoshi.
If someone wants to be cheap i am sure he can find some crappy coin on a crappy exchange.
Pages:
Jump to: