Bitcoin Forum
May 06, 2024, 07:54:11 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 3 [All]
  Print  
Author Topic: Is a bitcoin can be divided with more than 8 zeros or not??  (Read 4310 times)
knight22 (OP)
Legendary
*
Offline Offline

Activity: 1372
Merit: 1000


--------------->¿?


View Profile
September 17, 2012, 01:15:43 AM
 #1

I have read some topics that said yes to this answers and other not... So is it technically and easily possible to do that?

Even in the event that an attacker gains more than 50% of the network's computational power, only transactions sent by the attacker could be reversed or double-spent. The network would not be destroyed.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714982051
Hero Member
*
Offline Offline

Posts: 1714982051

View Profile Personal Message (Offline)

Ignore
1714982051
Reply with quote  #2

1714982051
Report to moderator
1714982051
Hero Member
*
Offline Offline

Posts: 1714982051

View Profile Personal Message (Offline)

Ignore
1714982051
Reply with quote  #2

1714982051
Report to moderator
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1024



View Profile
September 17, 2012, 01:20:22 AM
 #2

It would require a protocol change because the protocol operates on discrete units of 1/100000000 BTC, often known informally as a satoshi.  A protocol change is not easy, but if we ever get to the point where 1 protocol unit is a meaningful amount of value, it can be done.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
kokojie
Legendary
*
Offline Offline

Activity: 1806
Merit: 1003



View Profile
September 17, 2012, 01:20:55 AM
 #3

It can be done, and it's not easy. I don't think you need to worry about it for the next 10 years at least.

btc: 15sFnThw58hiGHYXyUAasgfauifTEB1ZF6
SaltySpitoon
Legendary
*
Offline Offline

Activity: 2590
Merit: 2154


Welcome to the SaltySpitoon, how Tough are ya?


View Profile
September 17, 2012, 01:21:20 AM
 #4

"Is a bitcoin can be divided with more than 8 zeros or not??"

You can't divide by a single zero, so I don't know how you would divide by eight zeros.
walruscode
Newbie
*
Offline Offline

Activity: 32
Merit: 0


View Profile
September 17, 2012, 01:28:22 AM
 #5

"Is a bitcoin can be divided with more than 8 zeros or not??"

You can't divide by a single zero, so I don't know how you would divide by eight zeros.
http://i217.photobucket.com/albums/cc22/jpwanabe/gifs/clap.gif
scintill
Sr. Member
****
Offline Offline

Activity: 448
Merit: 254


View Profile WWW
September 17, 2012, 01:32:47 AM
 #6

It can be done, and it's not easy. I don't think you need to worry about it for the next 10 years at least.

I lay awake at night, worrying that by the next day, Bitcoin prices will have gone beyond 10^8 USD and the divisibility limit will be a problem. Wink

1SCiN5kqkAbxxwesKMsH9GvyWnWP5YK2W | donations
cypherdoc
Legendary
*
Offline Offline

Activity: 1764
Merit: 1002



View Profile
September 17, 2012, 01:33:31 AM
 #7

"Is a bitcoin can be divided with more than 8 zeros or not??"

You can't divide by a single zero, so I don't know how you would divide by eight zeros.

isn't there a difference btwn the words with and by?
Etlase2
Hero Member
*****
Offline Offline

Activity: 798
Merit: 1000


View Profile
September 17, 2012, 02:27:43 AM
 #8

Yes let's make fun of someone for not speaking English as a first language. Hilarious.

SaltySpitoon
Legendary
*
Offline Offline

Activity: 2590
Merit: 2154


Welcome to the SaltySpitoon, how Tough are ya?


View Profile
September 17, 2012, 02:52:53 AM
 #9

Yes let's make fun of someone for not speaking English as a first language. Hilarious.

If you say its not a tiny bit amusing, you are lying. There's a difference between poking a bit of fun at bad wording due to translation errors, etc, and being a jerk about it.

English isn't necessarily my first language either, kind of learned it at the same time as Portuguese (because of the area I was in) and I started learning Spanish/German when I was a very young as well.

grondilu
Legendary
*
Offline Offline

Activity: 1288
Merit: 1076


View Profile
September 17, 2012, 03:09:30 AM
 #10

I have read some topics that said yes to this answers and other not... So is it technically and easily possible to do that?

Technically?  Yes.  Any computer can deal with a wide, arbitrary range of numerical values.

Easily?  Almost certainly not.  I'm not in the dev team, but if you look at the code you'll see that the "amount" field is coded with a fixed size integer, not a BigNum or something.  So I guess if we'd really have to divide bitcoins to more than 10^8, a lot of code rewrite would be required.

Also, consider that it would probably require some clear conditional test on the code somewhere:

Code:
if (blocknumber < BLOCK_NUMBER_AT_DIVISIBILITY_CHANGE) {
   // do as normal
   ;
} else {
   // use the new algorithm for increased divisibility
   ;
}

Foxpup
Legendary
*
Offline Offline

Activity: 4354
Merit: 3042


Vile Vixen and Miss Bitcointalk 2021-2023


View Profile
September 17, 2012, 06:01:13 AM
 #11

Technically?  Yes.  Any computer can deal with a wide, arbitrary range of numerical values.
Actually, no computer can, not even one with infinite memory, since an infinite amount of memory can only represent a countably infinite range of values, while the range of real numbers (not integers) is uncountably infinite. Fortunately, it is possible to infinitely divide an infinite range of integers without using non-integers for infinite future expansion (see Hilbert's paradox of the Grand Hotel for details), so this isn't an issue for Bitcoin. Though it's a moot point anyway since no computer in a finite universe can possibly have an infinite amount of memory in the first place, so bitcoins won't really be "infinitely" divisible until we extend the protocol beyond the physical limitations of our universe (this will require a hard fork).

Will pretend to do unspeakable things (while actually eating a taco) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4
I am not on the scammers' paradise known as Telegram! Do not believe anyone claiming to be me off-forum without a signed message from the above address! Accept no excuses and make no exceptions!
scintill
Sr. Member
****
Offline Offline

Activity: 448
Merit: 254


View Profile WWW
September 17, 2012, 06:13:55 AM
 #12

bitcoins won't really be "infinitely" divisible until we extend the protocol beyond the physical limitations of our universe (this will require a hard fork).

Just in case, I created an infinite_divisibility branch we can start working on. Tongue

1SCiN5kqkAbxxwesKMsH9GvyWnWP5YK2W | donations
grondilu
Legendary
*
Offline Offline

Activity: 1288
Merit: 1076


View Profile
September 17, 2012, 07:51:17 AM
 #13

Actually, no computer can, not even one with infinite memory, since an infinite amount of memory can only represent a countably infinite range of values, while the range of real numbers (not integers) is uncountably infinite.

Yeah.  True.   But if you mention that, it's hard not to look like a smart ass, isn't it?

acoindr
Legendary
*
Offline Offline

Activity: 1050
Merit: 1002


View Profile
September 17, 2012, 04:49:01 PM
 #14

The world won't ever need more than 8 decimal places IMO.

Right now U.S. dollars are the world's reserve currency, and there are trillions of them. But those are inflated dollars. That's 1,000,000,000,000 plus (1 followed by 12 zeros).

Have you ever heard people say candy bars used to cost a $0.05 or a gallon of gas $0.10? Now candy bars cost almost $1 and a gallon of gas about $4. That's about 2000% and 3000% inflation respectively.

If there was no inflation then the world's currency supply could be greatly reduced. Just 1 bitcoin could cover the same as $20 to $30 because bitcoins can't be inflated. That's the same as a world currency supply of about 50,000,000,000 dollars (50 billion dollars).

ildubbioso
Sr. Member
****
Offline Offline

Activity: 389
Merit: 250



View Profile
September 17, 2012, 05:05:06 PM
 #15

The more time passes, the more that codebase grows, and
the harder it'll get. A very Y2K-ish type problem.


Yes, I tought it too. Why don't make it as soon as possible? I think everybody would accept this change.
kokojie
Legendary
*
Offline Offline

Activity: 1806
Merit: 1003



View Profile
September 17, 2012, 05:06:10 PM
 #16

The world won't ever need more than 8 decimal places IMO.

Right now U.S. dollars are the world's reserve currency, and there are trillions of them. But those are inflated dollars. That's 1,000,000,000,000 plus (1 followed by 12 zeros).

Have you ever heard people say candy bars used to cost a $0.05 or a gallon of gas $0.10? Now candy bars cost almost $1 and a gallon of gas about $4. That's about 2000% and 3000% inflation respectively.

If there was no inflation then the world's currency supply could be greatly reduced. Just 1 bitcoin could cover the same as $20 to $30 because bitcoins can't be inflated. That's the same as a world currency supply of about 50,000,000,000 dollars (50 billion dollars).



Actually BTC most definitely will need more than 8 decimal places in the distant future, because certain amount of bitcoin gets destroyed per year due to various factors such as carelessness. it's just that the future is so distant, there's no point worrying about it now.

btc: 15sFnThw58hiGHYXyUAasgfauifTEB1ZF6
acoindr
Legendary
*
Offline Offline

Activity: 1050
Merit: 1002


View Profile
September 17, 2012, 05:18:05 PM
 #17

The world won't ever need more than 8 decimal places IMO.

Right now U.S. dollars are the world's reserve currency, and there are trillions of them. But those are inflated dollars. That's 1,000,000,000,000 plus (1 followed by 12 zeros).

Have you ever heard people say candy bars used to cost a $0.05 or a gallon of gas $0.10? Now candy bars cost almost $1 and a gallon of gas about $4. That's about 2000% and 3000% inflation respectively.

If there was no inflation then the world's currency supply could be greatly reduced. Just 1 bitcoin could cover the same as $20 to $30 because bitcoins can't be inflated. That's the same as a world currency supply of about 50,000,000,000 dollars (50 billion dollars).



Actually BTC most definitely will need more than 8 decimal places in the distant future, because certain amount of bitcoin gets destroyed per year due to various factors such as carelessness. it's just that the future is so distant, there's no point worrying about it now.

Right now the market cap for bitcoins is about $90 million (about $10 times 9 million bitcoins in existence). What percentage of bitcoins do you think has been lost since 2009? What percentage of your bitcoin wealth do you lose carelessly yearly?
knight22 (OP)
Legendary
*
Offline Offline

Activity: 1372
Merit: 1000


--------------->¿?


View Profile
September 17, 2012, 05:27:42 PM
 #18

Right now the market cap for bitcoins is about $90 million (about $10 times 9 million bitcoins in existence). What percentage of bitcoins do you think has been lost since 2009? What percentage of your bitcoin wealth do you lose carelessly yearly?

Check this thread to give you an idea:
https://bitcointalk.org/index.php?topic=7253.0

davidspitzer
Hero Member
*****
Offline Offline

Activity: 630
Merit: 500


View Profile
September 17, 2012, 05:48:57 PM
 #19

even if BTC end up being $2000 each eight decimal places is a very small fraction
acoindr
Legendary
*
Offline Offline

Activity: 1050
Merit: 1002


View Profile
September 17, 2012, 05:51:38 PM
 #20

Right now the market cap for bitcoins is about $90 million (about $10 times 9 million bitcoins in existence). What percentage of bitcoins do you think has been lost since 2009? What percentage of your bitcoin wealth do you lose carelessly yearly?

Check this thread to give you an idea:
https://bitcointalk.org/index.php?topic=7253.0


The highest total lost bitcoins I see in that (unofficial) thread is the last post at about 73K BTC.

73,000 is .81% of 9,000,000 - the approximate number of bitcoins now in existence.

What's your point? You don't think a currency could work losing less than one percent of its total every 3 years?

It would take over 300 years to completely deplete it at that rate.

And keep in mind those reported losses are as people get used to dealing with this new currency.
casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1136


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
September 17, 2012, 05:59:59 PM
 #21

By the time we get to a point where 1 Satoshi is a usable value, the blockchain might only be used for large balances and settling balances among institutions the way bankwires are used now.  Imagine one day they decided USD bankwires could only be sent in whole dollar increments... the world wouldn't end, and your checking account would still be in dollars and cents.  Even if the protocol never changes to accommodate this, you might be able to trade in sub-Satoshi units with whatever off-blockchain merchant/banking services evolve between now and then.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
disclaimer201
Legendary
*
Offline Offline

Activity: 1526
Merit: 1001


View Profile
September 17, 2012, 07:01:36 PM
 #22

It won't be a problem. For lower values, just use Litecoins.
Dansker
Hero Member
*****
Offline Offline

Activity: 740
Merit: 500


Hello world!


View Profile
September 17, 2012, 08:39:05 PM
 #23

By the time we get to a point where 1 Satoshi is a usable value, the blockchain might only be used for large balances and settling balances among institutions the way bankwires are used now.  Imagine one day they decided USD bankwires could only be sent in whole dollar increments... the world wouldn't end, and your checking account would still be in dollars and cents.  Even if the protocol never changes to accommodate this, you might be able to trade in sub-Satoshi units with whatever off-blockchain merchant/banking services evolve between now and then.

I think this is very true.

All the worrying in this thread assumes that people will deal directly with bitcoins transfers for everyday use in the future.

If bitcoin value does explode to the point where it needs more than 8 decimals to function for the everyday user, it is very likely that systems have been built on bitcoin, and that other systems overlay those.

This will of course mean less anonymity and control for the basic user, but this is unavoidable if bitcoin is succesful, just look at Apple: They take away user autonomy and control in a trade for ease of use and coolness, and the average user loves it.

franky1
Legendary
*
Offline Offline

Activity: 4214
Merit: 4470



View Profile
September 17, 2012, 08:45:42 PM
 #24

the blockchain only accepts values in whole satoshi's so unless you develop your own system to send more then a / 100000000th of a BTC the block chain will just grab the / 100000000th's of a BTC and leave you with the remaining useless left overs.

goodluck, trying

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
casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1136


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
September 17, 2012, 09:54:30 PM
 #25

Bitcoin amounts are - as of today - encoded as 64 bit integers.

Moving to 128 bit integers would be more than enough to keep
us safe for a *very* long time...
There would be no need to move to 128 bit integers. Not all of the 64 bits are currently being used.

Mmmh. I could be wrong of course, but ... my understanding is that the full 64bit is
used to encode a amount in satoshi and is multiplied by 1e-8 to get an amount of
bitcoins.

Pointers to the code to back your statement ?



Simple math:  64 bits capacity: 1.84x10^19
Maximum number of satoshis in current system: 2.1x10^15
So there's at least 3 decimal places for the taking.
Or better yet, these extra (8+) bits could be used as an exponent, a signed scaling factor of 10^n.  Since all existing amounts will have 0's in these highest bits, we simply declare that this means satoshis * 10^0, which is equal to satoshis * 1, making all existing amounts backward compatible.  Put -2 in this field (11111110), and the remaining bits will be in hundredths of satoshis.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
Etlase2
Hero Member
*****
Offline Offline

Activity: 798
Merit: 1000


View Profile
September 17, 2012, 09:55:22 PM
 #26

I'm not sure what you wrote means znort, but 64 bits is 18.4x10^18, while all the satoshis in existence is 21x10^14, meaning you can get 3 more zeros for free, and a fourth if you presume no one will have more than 9.9999...m bitcoin in a single account.

edit: beaten

kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1024



View Profile
September 17, 2012, 10:06:22 PM
 #27

The width of the field is not the problem, the meaning is.  Hiding silly codes in the top few bits is just as much work as just making the field wider and changing the scaling factor.

And all of this talk of digits makes me sad.  The field is binary.  log22.1e15=~50.899 bits

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
franky1
Legendary
*
Offline Offline

Activity: 4214
Merit: 4470



View Profile
September 17, 2012, 10:09:51 PM
 #28


You entirely missed the point of this thread.



if someone sends you 0.0123456 payment you receive 0.0123456 nothing is lost.

the only loss happens if block chain accepts 0.0123456000000000000000000000000000000000000001 but only returns 0.0123456

try the command bitcoind- sendtoaddress <insert an address> 0.0123456000000000000000000000000000000000000001 and see if the block chain accepts it.

then you will know for sure if you can get anything smaller then a satoshi accepted by the blockchain.

even on exchanges sites they receive payments in BTC (multples of satoshi) and they give out BTC (multiples of satoshi)
it does not matter what thie database of trades shows. its a database of digits that represent BTC not an actual satoshi/BTC itself.

when your cashing out a value inside an exchange, that happens to be more then a 8digit trade listed in database you will only get whole satoshi as oppose to the web exchange database showing more then 8 digits

but try the command. see what happens



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
Etlase2
Hero Member
*****
Offline Offline

Activity: 798
Merit: 1000


View Profile
September 17, 2012, 10:13:02 PM
 #29

The width of the field is not the problem, the meaning is.  Hiding silly codes in the top few bits is just as much work as just making the field wider and changing the scaling factor.

Doesn't require more bandwidth or storage though. Smiley

Quote
And all of this talk of digits makes me sad.  The field is binary.  log22.1e15=~50.899 bits

Could you explain further please.

casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1136


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
September 17, 2012, 10:14:45 PM
Last edit: September 17, 2012, 10:28:03 PM by casascius
 #30

The width of the field is not the problem, the meaning is.  Hiding silly codes in the top few bits is just as much work as just making the field wider and changing the scaling factor.

...and then you have to do some sort of trickery to decide whether any given existing transaction from the past uses the new scaling factor or the old one.

The code isn't silly per se, it is simply decimal floating point.  Decimal floating point is the right choice versus binary, because Bitcoins are meant to be divisible in decimal fractions (unless you're Luke Jr, but fortunately all non-repeating binary numbers are representable in non-repeating decimal, but not so vice versa).

And all of this talk of digits makes me sad.  The field is binary.  log22.1e15=~50.899 bits

Yes, that's right.  So you mean log10111011101011111000001011010000001110100000000000000 = ~110010.11100110001110010011101010111001 bits  Grin

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
September 17, 2012, 10:22:32 PM
 #31

Technically?  Yes.  Any computer can deal with a wide, arbitrary range of numerical values.
Actually, no computer can, not even one with infinite memory, since an infinite amount of memory can only represent a countably infinite range of values, while the range of real numbers (not integers) is uncountably infinite. Fortunately, it is possible to infinitely divide an infinite range of integers without using non-integers for infinite future expansion (see Hilbert's paradox of the Grand Hotel for details), so this isn't an issue for Bitcoin. Though it's a moot point anyway since no computer in a finite universe can possibly have an infinite amount of memory in the first place, so bitcoins won't really be "infinitely" divisible until we extend the protocol beyond the physical limitations of our universe (this will require a hard fork).
A countably infinite amount of memory can represent any member of a continuum, which real numbers, complex numbers, etc. are. In fact, a countably infinite amount of memory can represent a countably infinite number of members of a continuum.
dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
September 17, 2012, 10:33:56 PM
 #32

A countably infinite amount of memory can represent any member of a continuum, which real numbers, complex numbers, etc. are. In fact, a countably infinite amount of memory can represent a countably infinite number of members of a continuum.

No, unless I misunderstood Cantor.
You probably did.


It follows that:
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1024



View Profile
September 17, 2012, 10:40:40 PM
 #33

but try the command. see what happens

No thanks.  I already know how the protocol works: it uses discrete units.

Nothing stops a third party from keeping track of fractions of protocol units, but they can't be exchanged on the network.

The width of the field is not the problem, the meaning is.  Hiding silly codes in the top few bits is just as much work as just making the field wider and changing the scaling factor.

Doesn't require more bandwidth or storage though. Smiley

Quote
And all of this talk of digits makes me sad.  The field is binary.  log22.1e15=~50.899 bits

Could you explain further please.

Meh.  8 more bytes per output isn't a huge deal.  By the time one protocol unit is a meaningful amount of value, 8 bytes will really be nothing.

The field doesn't have "digits", it has bits.  It has 64 of them, so it can represent any value from 0 to 264-1.  But, because of other network rules, it will never be higher than:

00000000 00000111 01110101 11110000 01011001 11100100 00000000 10010000

The width of the field is not the problem, the meaning is.  Hiding silly codes in the top few bits is just as much work as just making the field wider and changing the scaling factor.

...and then you have to do some sort of trickery to decide whether any given existing transaction from the past uses the new scaling factor or the old one.

The code isn't silly per se, it is simply decimal floating point.  Decimal floating point is the right choice versus binary, because Bitcoins are meant to be divisible in decimal fractions (unless you're Luke Jr, but fortunately all non-repeating binary numbers are representable in non-repeating decimal, but not so vice versa).

The trickery in question has a name, tx.version.

The silliness of floating point here is up for debate.  I think that the simplicity of regular old binary math more than makes up for the 8 bytes per txout cost.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
grondilu
Legendary
*
Offline Offline

Activity: 1288
Merit: 1076


View Profile
September 17, 2012, 10:42:20 PM
Last edit: September 17, 2012, 10:54:14 PM by grondilu
 #34

You probably did.


Yes.  But I notice that you are using all your memory to encode just one number.  Well ok, why not.

Quote
It follows that:


I'm not sure it is obvious that this is a consequence.  Seems interesting though.

I don't have your tool to include maths.  I'll use N to represent the integer set, and R for the real set.

What I would agree on, is that:

2^N = R^n,  where n is any finite integer.

Because you can basically use the hospital paradox to alternate location for each real.   The i-th real will have its bits on position numbers that are equal to i modulo n.   So that's fine.

But I very much doubt you can go to the limit and write:

2^N = R^N

dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
September 17, 2012, 11:07:14 PM
 #35

Quote
It follows that:

I'm not sure it is obvious that this is a "consequence".  Seems interesting though.  
Although it is a simple derivation from the theorems of set theory, the intuitive explanation can be complex. Here's an example that should demonstrate how a countably infinite amount of reals between 0 and 1 and be stored. We start with our infinite tape, beginning at position zero and storing a single bit each. We can encode the numbers in binary, with the "0." being assumed and only the decimal point encoded, and assume uniqueness of representation is not important (if it is, we can define the unique representation as the one ending in only zeroes when there is a choice). From position zero, each position's bit is used in exactly one number. Here's the mapping:

Pos#nth real number encoded
00
.
10
21
.
30
41
52
.
60
71
82
93
.
100
111
122
133
144
.
150
161
172
183
194
205
...

This is a variation of Cantor's proof that the rationals are countable, and in fact the derivation of the theorem relies on the countability of an ordered pair of members of a countable set. Hopefully this sheds some light.
grondilu
Legendary
*
Offline Offline

Activity: 1288
Merit: 1076


View Profile
September 17, 2012, 11:13:54 PM
 #36

Although it is a simple derivation from the theorems of set theory, the intuitive explanation can be complex. Here's an example that should demonstrate how a countably infinite amount of reals between 0 and 1 and be stored. We start with our infinite tape, beginning at position zero and storing a single bit each. We can encode the numbers in binary, with the "0." being assumed and only the decimal point encoded, and assume uniqueness of representation is not important (if it is, we can define the unique representation as the one ending in only zeroes when there is a choice). From position zero, each position's bit is used in exactly one number. Here's the mapping:

Pos#nth real number encoded
00
.
10
21
.
30
41
52
.
60
71
82
93
.
100
111
122
133
144
.
150
161
172
183
194
205
...

This is a variation of Cantor's proof that the rationals are countable, and in fact the derivation of the theorem relies on the countability of an ordered pair of members of a countable set. Hopefully this sheds some light.

Oh yeah, I think I get it.  A group of one, then a group of two, then a group of three...   So you can indeed store an infinite number of reals.    That's pretty smart.  Thanks.  I've learnt something today.

DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4616



View Profile
September 17, 2012, 11:31:25 PM
 #37

Technically?  Yes.  Any computer can deal with a wide, arbitrary range of numerical values.
Actually, no computer can, not even one with infinite memory. . .
Foxpup, I believe you are mistaken.  Until you mentioned it, this topic never had anything to do with infinitely divisible.

The OP asked only about more than 8 decimal places:
. . . So is it technically and easily possible to do that?

and grondilu, whom you replied to, only spoke of an arbitrary range.

Computers can certainly deal with more than 8 decimal places. I suppose deciding if it can deal with a "wide, arbitrary range" would depend on the definition of "wide".
franky1
Legendary
*
Offline Offline

Activity: 4214
Merit: 4470



View Profile
September 18, 2012, 12:34:12 AM
 #38

i love seeing when people spasm at theories of relativity, time and worm holes trying to argue they know best without putting any practical testing into such theories. but your missing the fundamental point,

when mining the blockchain. if you managed to mess around with a block to make it 50 decimals long for instance. giving it back to the chain it would get rejected,

and as its only a 'copy' of a block other nodes have, it will just get forgotten about as if it never happened.. REJECTED basically

no loss, but your time in trying.

unlike getting a FIAT penny coin and cutting it into metal shards.. it is not forgotten about it as you still have the metal fillings in your hand. the only difference is that no one will want metal shards off of you..

the benefit of crypto block chain over FIAT transactions is that everything is confirmed and verified and rejects get ignored.

you will never find a 50 decimal bitcoin transaction on the system, it will just get ignore and basically appear as if the transaction never occurred.

if you ever managed to send a fresh transaction into the blockchain with 50 decimals it would not get accepted by the nodes and forgot about. leaving your transaction history only showing before the transaction occurred.

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
grondilu
Legendary
*
Offline Offline

Activity: 1288
Merit: 1076


View Profile
September 18, 2012, 12:50:12 AM
 #39

i love seeing when people spasm at theories of relativity, time and worm holes trying to argue they know best without putting any practical testing into such theories. but your missing the fundamental point,

when mining the blockchain. if you managed to mess around with a block to make it 50 decimals long for instance. giving it back to the chain it would get rejected,

and as its only a 'copy' of a block other nodes have, it will just get forgotten about as if it never happened.. REJECTED basically

no loss, but your time in trying.

As mentioned earlier in this thread, the protocol would necessarily have to proceed blocks differently, depending on the height of the block in the block chain.

franky1
Legendary
*
Offline Offline

Activity: 4214
Merit: 4470



View Profile
September 18, 2012, 12:52:39 AM
 #40


changing the protocol to allow nodes to accept blocks containg EG 50 decimals is not something one can do alone on ones own system as the other users will still be using the bitcoin standard protocol, 
so it would have to be a world wide change that affects every person.... basically getting everyone to download a new client and stop using the old one.

while your at it.. call it BBBBBBBitcoin as its no longer the 8decimal coin we use now.

thats not breaking a satoshi.. thats called inventing a new currency

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
grondilu
Legendary
*
Offline Offline

Activity: 1288
Merit: 1076


View Profile
September 18, 2012, 01:02:26 AM
 #41


changing the protocol to allow nodes to accept blocks containg EG 50 decimals is not something one can do alone on ones own system as the other users will still be using the bitcoin standard protocol, 
so it would have to be a world wide change that affects every person.... basically getting everyone to download a new client and stop using the old one.

while your at it.. call it BBBBBBBitcoin as its no longer the 8decimal coin we use now.

thats not breaking a satoshi.. thats called inventing a new currency

That may create a fork indeed.  A consensus would be required.

But the idea of allowing the code to behave differently depending on the height of the block was mentioned by Satoshi himself on this forum, iirc.

BkkCoins
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1009


firstbits:1MinerQ


View Profile WWW
September 18, 2012, 01:32:48 AM
 #42

thats not breaking a satoshi.. thats called inventing a new currency
This is just newbie sillyness. The devs have mentioned many times that an extension of decimal places could be coded into the blockchain if ever required. I don't know why people are wasting so much effort on this topic as this is way, way off in some imaginary future that will require other client/blockchain adjustments before getting to this point. None of this means a new currency is created - only that changes are made to the client and consensus among users to accept and use the new client.

The 0.7.0 release today has 3 new BIP in it. Extending the decimals is likely discussed, coded and accepted in a similar way.

Foxpup
Legendary
*
Offline Offline

Activity: 4354
Merit: 3042


Vile Vixen and Miss Bitcointalk 2021-2023


View Profile
September 18, 2012, 10:23:34 AM
 #43

Oh yeah, I think I get it.  A group of one, then a group of two, then a group of three...   So you can indeed store an infinite number of reals.    That's pretty smart.  Thanks.  I've learnt something today.
Erm, no, you can store an infinte number of rational numbers. Representing the set of all real numbers (both rational and irrational) is harder, and may pose a potential security risk for the infinite divisibility fork: creation of infinite bitcoins through an infinite overflow caused by sending an irrational number of bitcoins (proving that bounds checking is still important, even when dealing with infinite memory).

Foxpup, I believe you are mistaken.  Until you mentioned it, this topic never had anything to do with infinitely divisible.

The OP asked only about more than 8 decimal places:
. . . So is it technically and easily possible to do that?

and grondilu, whom you replied to, only spoke of an arbitrary range.

Computers can certainly deal with more than 8 decimal places. I suppose deciding if it can deal with a "wide, arbitrary range" would depend on the definition of "wide".
It was a joke. People are constantly claiming that bitcoins are "infinitely" divisibile, which is of course completely ridiculous. And an "arbitrary" range is equally ridiculous if it is taken to mean "anything up to infinity", I was just pointing that out by taking that statement to it's logical extreme. I wasn't really expecting my comment to derail the whole thread. Oh well.

Will pretend to do unspeakable things (while actually eating a taco) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4
I am not on the scammers' paradise known as Telegram! Do not believe anyone claiming to be me off-forum without a signed message from the above address! Accept no excuses and make no exceptions!
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1024



View Profile
September 18, 2012, 11:13:25 AM
 #44

It was a joke. People are constantly claiming that bitcoins are "infinitely" divisibile, which is of course completely ridiculous. And an "arbitrary" range is equally ridiculous if it is taken to mean "anything up to infinity", I was just pointing that out by taking that statement to it's logical extreme. I wasn't really expecting my comment to derail the whole thread. Oh well.

The term "arbitrary" has a long history in computing.  It is always understood to mean "no particular artificial limit", and not "infinite".  Computer science may be a branch of mathematics, but it is not a branch that cares about literal infinity.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4616



View Profile
September 18, 2012, 01:41:02 PM
 #45

Erm, no, you can store an infinte number of . . .
Until you mentioned it, this topic never had anything to do with infinitely divisible. . .
It was a joke. . .
Obviously it was a joke. I was just pointing out that it your comedic timing was off a bit.  The joke would work better if you waited until someone mentioned infinite divisibility before making your joke about countable infinity vs. uncountable infinity.
exdirrk
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
September 18, 2012, 03:05:49 PM
 #46

It can be done, and it's not easy. I don't think you need to worry about it for the next 10 years at least.

I lay awake at night, worrying that by the next day, Bitcoin prices will have gone beyond 10^8 USD and the divisibility limit will be a problem. Wink

Counting down the days. Wink
dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
September 18, 2012, 09:44:51 PM
 #47

Oh yeah, I think I get it.  A group of one, then a group of two, then a group of three...   So you can indeed store an infinite number of reals.    That's pretty smart.  Thanks.  I've learnt something today.
Erm, no, you can store an infinte number of rational numbers. Representing the set of all real numbers (both rational and irrational) is harder, and may pose a potential security risk for the infinite divisibility fork: creation of infinite bitcoins through an infinite overflow caused by sending an irrational number of bitcoins (proving that bounds checking is still important, even when dealing with infinite memory).
With an countably infinite memory, you can store a countably infinite number of real numbers. This is easily derived through basic set theory. However, the process of storing the real numbers will take a countably infinite amount of time, unless the operation is atomic, so in practice even given an infinite memory, storing arbitrary reals is impossible.
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!