Author

Topic: Why do I have to download all blocks before receiving bitcoins (Read 1478 times)

newbie
Activity: 28
Merit: 0
It's pretty dumb that bitcoins has this ever expanding file that is necessary and contains details from day 1. But that's just the way it is.

And that's how security of Bitcoins works.  If you find a better way to implement a 'P2P currency' system, we're all ears.

Cheers,
Kermee

I don't care to make one.

Just because there's nothing better yet doesn't make the existing cumbersome nature excusable.

Why have all the blocks?

It's the equivalent of bring out movies on torrent by adding the movie onto the last one. It's not like everyone needs access to all the movies (or transactions). As long as there are enough seeders of the early ones then they will always be available.

All needs to happen is for someone break the blocks up, and MD5 hash them so that transactions can be archived and accessed with confidence.

But yeah, right now, the fact it has an ever expanding file is still pretty dumb.

The thing is that the latest movie doesn't require knowledge of all the past movies. However, in order to prevent double spending, you need at least knowledge of all the transactions between the time the funding transaction output was generated and the present.

The system is set up so that a future client can cut down to just the block headers (just 88 bytes each) and request the transactions that it needs to verify payment. However, because it won't have a full node and can't verify transactions by itself, this future client will have to take a wait-and-see approach to see if the transaction is accepted by the network or rejected because of a double-spend attempt. Either that or used some trusted third party that does have access to the full network history.
full member
Activity: 161
Merit: 100
It's pretty dumb that bitcoins has this ever expanding file that is necessary and contains details from day 1. But that's just the way it is.

And that's how security of Bitcoins works.  If you find a better way to implement a 'P2P currency' system, we're all ears.

Cheers,
Kermee

I don't care to make one.

Just because there's nothing better yet doesn't make the existing cumbersome nature excusable.

Why have all the blocks?

It's the equivalent of bring out movies on torrent by adding the movie onto the last one. It's not like everyone needs access to all the movies (or transactions). As long as there are enough seeders of the early ones then they will always be available.

All needs to happen is for someone break the blocks up, and MD5 hash them so that transactions can be archived and accessed with confidence.

But yeah, right now, the fact it has an ever expanding file is still pretty dumb.
You dont get it...
full member
Activity: 210
Merit: 100
It's pretty dumb that bitcoins has this ever expanding file that is necessary and contains details from day 1. But that's just the way it is.

And that's how security of Bitcoins works.  If you find a better way to implement a 'P2P currency' system, we're all ears.

Cheers,
Kermee

I don't care to make one.

Just because there's nothing better yet doesn't make the existing cumbersome nature excusable.

Why have all the blocks?

It's the equivalent of bring out movies on torrent by adding the movie onto the last one. It's not like everyone needs access to all the movies (or transactions). As long as there are enough seeders of the early ones then they will always be available.

All needs to happen is for someone break the blocks up, and MD5 hash them so that transactions can be archived and accessed with confidence.

But yeah, right now, the fact it has an ever expanding file is still pretty dumb.
newbie
Activity: 42
Merit: 0
What if I give out an address before I've downloaded all the blocks and someone sends something to it? Why would that be bad, I'll just see the balance change in my client once it catches up to the block with the transaction in it, surely?
Correct. They can send you coins before you've caught up, and you'll get them eventually.

Quote
Why do I have to wait until I get all the blocks before someone can send some bitcoins? What if I'm just one block behind?
Your client can't be sure those coins weren't already spent until it catches up to the end of the block chain.

Suppose you disconnect from the network for a few minutes, and when you come back you're one block behind. You receive a transaction from someone claiming to send you coins... but they already gave those coins to someone else while you were away, in a transaction that's in the block you're missing. If your client says you received those coins, it'll be lying, since the transaction where you received them is invalid and will never be confirmed.
legendary
Activity: 1512
Merit: 1036
You can have coins sent to your address, you just won't know about it until you have all the blocks.
full member
Activity: 224
Merit: 100
It's pretty dumb that bitcoins has this ever expanding file that is necessary and contains details from day 1. But that's just the way it is.

The file isn't that big so far. When it does get bigger, there are potential solutions.

The block chain could be archived and distributed around the internet, then hashed and continued from there with nothing but the hash needed to confirm the new block chain's legitimacy.
member
Activity: 135
Merit: 10
I think you can receive stuff, you just won't know you did. That's how offline wallets work, they just generate a bunch of keys you can use without downloading any data at all.
To check the balance you'll have to use blockexplorer or something.
full member
Activity: 154
Merit: 100
It's pretty dumb that bitcoins has this ever expanding file that is necessary and contains details from day 1. But that's just the way it is.

And that's how security of Bitcoins works.  If you find a better way to implement a 'P2P currency' system, we're all ears.

Cheers,
Kermee
full member
Activity: 210
Merit: 100
It's pretty dumb that bitcoins has this ever expanding file that is necessary and contains details from day 1. But that's just the way it is.
cjg
newbie
Activity: 6
Merit: 0
When we are talking about receiving a transaction, presumably that means that someone sends some bitcoins to an address generated by my client.

What if I give out an address before I've downloaded all the blocks and someone sends something to it? Why would that be bad, I'll just see the balance change in my client once it catches up to the block with the transaction in it, surely?

Why do I have to wait until I get all the blocks before someone can send some bitcoins? What if I'm just one block behind?
newbie
Activity: 53
Merit: 0
lets say you have every block EXCEPT the last one, but on that last one is your incoming transaction.  It won't show up.
hero member
Activity: 672
Merit: 500
BitLotto - best odds + best payouts + cheat-proof
Think of it as a financial record book. When you get money or send money it's going to at the end of the book. To understand where everything is you have to read the whole book first. 
cjg
newbie
Activity: 6
Merit: 0
Sure, I understand it for outgoing transactions, otherwise my balance could be wrong.

What about incoming transactions?
newbie
Activity: 53
Merit: 0
each block contains the transaction record of each BTC in that block.  Until you download all of the blocks, you can't see that you received xyz transaction of x amount.  take a look at blockexplorer.  all those addresses for each block and one of them contains your wallet address.  Thats how you can tell you have it to spend and that your outgoing transaction is eventually confirmed.
cjg
newbie
Activity: 6
Merit: 0
On https://en.bitcoin.it/wiki/Using_Bitcoin it says that I "must get all of the blocks in the chain before sending/receiving transactions".

Can anyone tell me why this is the case?
Jump to: