Title: Why do I have to download all blocks before receiving bitcoins Post by: cjg on June 24, 2011, 09:18:54 PM 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? Title: Re: Why do I have to download all blocks before receiving bitcoins Post by: jasonstx on June 24, 2011, 09:44:57 PM 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.
Title: Re: Why do I have to download all blocks before receiving bitcoins Post by: cjg on June 24, 2011, 09:52:00 PM Sure, I understand it for outgoing transactions, otherwise my balance could be wrong.
What about incoming transactions? Title: Re: Why do I have to download all blocks before receiving bitcoins Post by: bitlotto on June 24, 2011, 09:54:14 PM 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.
Title: Re: Why do I have to download all blocks before receiving bitcoins Post by: jasonstx on June 24, 2011, 10:05:48 PM lets say you have every block EXCEPT the last one, but on that last one is your incoming transaction. It won't show up.
Title: Re: Why do I have to download all blocks before receiving bitcoins Post by: cjg on June 24, 2011, 10:21:23 PM 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? Title: Re: Why do I have to download all blocks before receiving bitcoins Post by: bitcola on June 24, 2011, 10:24:28 PM 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.
Title: Re: Why do I have to download all blocks before receiving bitcoins Post by: Kermee on June 24, 2011, 10:55:13 PM 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 Title: Re: Why do I have to download all blocks before receiving bitcoins Post by: dutt on June 24, 2011, 11:00:56 PM 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. Title: Re: Why do I have to download all blocks before receiving bitcoins Post by: Tronlet on June 24, 2011, 11:13:35 PM 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. Title: Re: Why do I have to download all blocks before receiving bitcoins Post by: deepceleron on June 25, 2011, 12:09:18 AM You can have coins sent to your address, you just won't know about it until you have all the blocks.
Title: Re: Why do I have to download all blocks before receiving bitcoins Post by: Mr2001 on June 25, 2011, 12:12:32 AM 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. Title: Re: Why do I have to download all blocks before receiving bitcoins Post by: bitcola on June 25, 2011, 02:18:21 PM 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. Title: Re: Why do I have to download all blocks before receiving bitcoins Post by: kerogre256 on June 25, 2011, 02:29:19 PM 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. Title: Re: Why do I have to download all blocks before receiving bitcoins Post by: luxgladius on June 25, 2011, 05:36:34 PM 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. |