Hacker News new | ask | show | jobs
by fernly 4572 days ago
Here's two dumb questions you might want to answer in a follow-up (and I encourage you to write more articles).

1. If it's a principle that "everybody" has a copy of the block chain, and the block chain records every transaction ever, isn't that going to be a storage problem? How big is one person's copy of the block chain now, and how many petabytes might it grow to be in a few years?

2. The way to spend a fractional coin is to have one input and two outputs, one back to yourself with the unspent change. But doesn't one's wallet begin to be cluttered with lots and lots of little fractional items? Like having a pocketful of small coins... So is there an automated way to every so often, do a many-small-input, one-big-output payment to yourself to consolidate the change?

3 comments

Trying to answer: 1. https://en.bitcoin.it/wiki/Scalability#Storage 2. This is actually implemented by the client and is not visible to the user, the bitcoin-qt client creates hidden change addresses that are not shown to the user, so you should see it as a "backend implementation" and not something you'll see in your transaction list.
1. This is something that has come up in discussion a fair amount, as the blockchain is already GBs in size and takes a fair amount of time to even sync with peers to download it all. There are a number of proposals for "thin" clients that will hopefully address this:

https://en.bitcoin.it/wiki/Thin_Client_Security

2. I'm not sure what you are asking here. Transactions are almost always fractional as is - you can send as little as 0.00000001BTC at a time. I think I am missing what you are asking.

In the article is the example of paying somebody 0.15 of a bitcoin with the input of 0.20 and two outputs, 0.15 to the payee and 0.05 back to oneself. I am picturing having my wallet cluttered with lots of such little fractional bits, the "change" from transactions. How to tidy up? But maybe the answer is, next time I want to pay somebody 0.10 I just give them two my 0.05 "nickel" pieces... Well, I said it was a dumb question...
If you want to, you could create a transaction that lets you spend all of those "loose change" transactions into a bigger transaction.

You have to do this for assurance contracts [0], for example, where the transaction cannot have any change (a transaction back to yourself).

[0] - https://en.bitcoin.it/wiki/Contracts#Example_3:_Assurance_co...

2. Unspent transaction output (UTXO) bloat exists but today it doesn't really cause any problems. Maybe once ultimate blockchain compression is implemented there will be an incentive for people to merge their UTXOs.