Author

Topic: Coins checking and snapshotting (Read 9530 times)

full member
Activity: 185
Merit: 100
July 22, 2010, 12:02:46 AM
#8
2100000000000000

Well, sounds pretty convincing. The interesting point is how many circulating coins there will be in the world after some years... We'll see.

Dear eurekafag,

I liked your snapshotting idea so much that I stole it for myself, mashed it around a little, called it "Balance sheets" and posted it here.

https://bitcointalksearch.org/topic/with-balance-sheets-most-of-the-block-chain-can-be-forgotten-505

I hope you like it.

ByteCoin

I'm happy that you build a nice idea upon mine. There is many points to discuss so I'll answer there.
sr. member
Activity: 416
Merit: 277
July 20, 2010, 09:31:39 PM
#7
Another serious question is a snapshotting of coin state.

Dear eurekafag,

I liked your snapshotting idea so much that I stole it for myself, mashed it around a little, called it "Balance sheets" and posted it here.

https://bitcointalksearch.org/topic/with-balance-sheets-most-of-the-block-chain-can-be-forgotten-505

I hope you like it.

ByteCoin
member
Activity: 70
Merit: 11
July 20, 2010, 06:34:39 AM
#6
Well, it's hard to estimate the coins lost so we don't know how many of them currently circulate. Anyway, I'm just interested in _possibility_ of such reclaiming, I don't insist it should be done in the software in any way. Just in theory, can we somehow check when the particular coin was spent last time? If yes, then if (when) in future we'll have too few coins left, there will be a way to reclaim that were lost. The timestamps are stored in blocks, AFAIK, so it may be possible. The check period may be a year or so, if you didn't run your client within a year at least once, your wealth will be treated as lost. To confirm your ownership you can (for example) make a transaction to the special address that won't be counted but accepted as pong. As it will be done once a year, it won't overload the network. Will this scenario potentially work or I completely misunderstand some principles?

It's not really necessary. Each coin right now is divisible into 100 000 000 parts, so in reality we have 2 100 000 000 000 000 (2.1 quadrillion) coins. Even with a total value of 10 billion dollars, the smallest part is only worth 0.0004762 of a cent. Even if we lose 99.99% of all coins (a heck of a feat), then the smallest part will be worth 4.762 cents. A loss of resolution, to be sure, but not the end of the world. There is already talk of extending the precision which would make this problem moot.

There is also no need for us to "know" whether the coins are lost or not. My problem with the whole idea of "checking ownership" is that it's exactly the type of feature that could be open for abuse. In any cash system, people should be able to hold on to their cash for as long as they wish without worrying about whether the system will yank their coins out from under them. Losing coins or not spending them has the same effect on supply and demand. Imagine if you had a ton of gold and either buried it in the ground or dropped it into the ocean in the middle of the sea. You are removing that gold from circulation. It has the same effect on supply and demand, so long as you don't pretend you still have the gold and use it as collateral or make loans based on it Wink


2100000000000000
full member
Activity: 185
Merit: 100
July 20, 2010, 12:37:52 AM
#5
Well, it's hard to estimate the coins lost so we don't know how many of them currently circulate. Anyway, I'm just interested in _possibility_ of such reclaiming, I don't insist it should be done in the software in any way. Just in theory, can we somehow check when the particular coin was spent last time? If yes, then if (when) in future we'll have too few coins left, there will be a way to reclaim that were lost. The timestamps are stored in blocks, AFAIK, so it may be possible. The check period may be a year or so, if you didn't run your client within a year at least once, your wealth will be treated as lost. To confirm your ownership you can (for example) make a transaction to the special address that won't be counted but accepted as pong. As it will be done once a year, it won't overload the network. Will this scenario potentially work or I completely misunderstand some principles?
member
Activity: 70
Merit: 11
July 19, 2010, 07:32:44 PM
#4
I know that they are divisible but it's good to look forward. There must be at least a conception to work around coins loss. I don't speak about implementation, just about the possibility of such things in the current design. Don't know if there are special packet types to make requests or anything that is currently not implemented (by inserting them into the chain) that's what this thread about.

And what about snapshotting? I read the paper, Satoshi-san wrote that old transactions are packed into Merkle trees and therefore gets about 4 Mb per year. Looks just perfect but to be profitable it should affect not only diskspace but also bandwidth. Current download speed of all chain isn't fast. I personally downloaded about 10 hours, however I can get about 240 kbytes down and up simultaneously. Of course, new releases may include the chain to date but it's a bit against the p2p spirit to my point of view. Snapshots that peers themselves create and spread would be better. Just all coins state in one big block (looks like this or something close is already implemented in database but it's all local and newcomers have to download the whole chain which is perfectly long in terms of time).

Agreed about including chain in the download, or at least improving the download algorithm.

I still stand by coins remaining a person's property until the end of time; there should be no need to periodically "claim" coins to preveotn them from taken and given to someone else. Deflation in terms of lost coins shouldn't be too big of a deal; even if it happens, it will be on a % basis so the value will simply adjust upwards in compensation. Physical gold gets lost all of the time. We'll just have to make sure that backup and replication schemes are easy to use (perhaps even on by default) in order to make it difficult for this to happen.

Please see the other threads about deflation as these concerns have been addressed Wink
full member
Activity: 185
Merit: 100
July 19, 2010, 03:27:43 PM
#3
I know that they are divisible but it's good to look forward. There must be at least a conception to work around coins loss. I don't speak about implementation, just about the possibility of such things in the current design. Don't know if there are special packet types to make requests or anything that is currently not implemented (by inserting them into the chain) that's what this thread about.

And what about snapshotting? I read the paper, Satoshi-san wrote that old transactions are packed into Merkle trees and therefore gets about 4 Mb per year. Looks just perfect but to be profitable it should affect not only diskspace but also bandwidth. Current download speed of all chain isn't fast. I personally downloaded about 10 hours, however I can get about 240 kbytes down and up simultaneously. Of course, new releases may include the chain to date but it's a bit against the p2p spirit to my point of view. Snapshots that peers themselves create and spread would be better. Just all coins state in one big block (looks like this or something close is already implemented in database but it's all local and newcomers have to download the whole chain which is perfectly long in terms of time).
member
Activity: 70
Merit: 11
July 19, 2010, 12:18:22 PM
#2
The number of bitcoins is limited (this number is big but anyway it's finite). So, I'm interested is there a way to recover lost coins by periodically pinging coins via special blocks? For example, your client once per month inserts pong packet with your coins numbers and if there were no pongs from particular coin within a month it's counted as lost and can be used again (generated?). Sorry, I don't fully understand the overall mechanic but maybe it's a way or at least a point to think of.

...

Let's discuss. I'm not sure if all of this possible, but anyway tell what you think about this.

I think we just need to deal with the loss as an effect of the network. What if somebody doesn't respond to a pong cause they're on vacation or away from the internet for some reason? Not too cool if they suddenly find that their coins belong to someone else. Once someone has coins, it's their property for all time unless spent.

The number of bitcoins isn't an issue cause we can conceivably use millicoins, microcoins, nanocoins, etc...
full member
Activity: 185
Merit: 100
July 19, 2010, 12:29:51 AM
#1
The number of bitcoins is limited (this number is big but anyway it's finite). So, I'm interested is there a way to recover lost coins by periodically pinging coins via special blocks? For example, your client once per month inserts pong packet with your coins numbers and if there were no pongs from particular coin within a month it's counted as lost and can be used again (generated?). Sorry, I don't fully understand the overall mechanic but maybe it's a way or at least a point to think of.

Another serious question is a snapshotting of coin state. The chain will grow long over time and the client should check it from the beginning to the end to validate each transaction. Things will be slower and slower and eat up diskspace and traffic. I guess each client can make a snapshot at any time and assign all bitcoins to their owners, then form a new basic state to start with. This state will be sent to all new clients (it won't grow so fast because it directly depends on owners number, not on transactions made). To prevent scamming this snapshots should be confirmed by lot of clients, which will make this snapshot individually (for example, each 100000 blocks) and the most complied will be accepted.

Let's discuss. I'm not sure if all of this possible, but anyway tell what you think about this.
Jump to: