Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: dyseac on August 20, 2013, 04:04:25 AM



Title: Network synchronization - future problem?
Post by: dyseac on August 20, 2013, 04:04:25 AM
I don't understand a whole lot how the bitcoin client actually works, however today I installed bitcoin-qt onto a new machine and it started synchronizing with "250" weeks behind? - after 10 hours it still has 54 weeks to synchronize.

Is it going through the history of every transaction of bitcoin? - in another 10 years will this take a month + to synchronize??



Title: Re: Network synchronization - future problem?
Post by: bitcoinslider on August 20, 2013, 04:21:08 AM
in 10 years...
  - your internet will be way faster :)
  - other solutions will have no doubt been developed. 

distributing a client with hard-coded checkpoints (already done) as well as block headers up to the checkpoint and the list of unspent transactions would be fine for most users.


Title: Re: Network synchronization - future problem?
Post by: dyseac on August 20, 2013, 04:32:59 AM
in 10 years...
  - your internet will be way faster :)


I don't know about way faster... we're still stuck on 10 year old broadband technology today using a 100 year old copper network... my country sucks. :(


Title: Re: Network synchronization - future problem?
Post by: bitcoinslider on August 20, 2013, 04:37:17 AM
in 10 years...
  - your internet will be way faster :)


I don't know about way faster... we're still stuck on 10 year old broadband technology today using a 100 year old copper network... my country sucks. :(

In that case your country is likely to be invaded and taken over by France within 10 years


Title: Re: Network synchronization - future problem?
Post by: gmaxwell on August 20, 2013, 04:58:51 AM
Whats the big deal here?  Sufficiently advanced software(tm) could just act as a reduced security node while it synchronizes in the background.

(FWIW, on fast hardware with the latest greatest software patches, and reasonably good connectivity sync takes on the order of an hour or so— so later versions will likely improve things for you in the future)

But ultimately, your machine is becoming a part of the Bitcoin distributed network— autonomously validating the rules of the network, preventing inflation and theft on its own terms and without depending on the honesty of other parties. This is no small task, and it's astonishing that it can be accomplished in just a few hours on consumer hardware.


Title: Re: Network synchronization - future problem?
Post by: dyseac on August 20, 2013, 05:10:38 AM

But ultimately, your machine is becoming a part of the Bitcoin distributed network— autonomously validating the rules of the network, preventing inflation and theft on its own terms and without depending on the honesty of other parties. This is no small task, and it's astonishing that it can be accomplished in just a few hours on consumer hardware.


I agree,

I guess its just that 1-2 years ago I think it would take maybe an hour or 2 to synchronize.. now its at least 10x longer, and im thinkin give it another year or 5 and it might take days? - this could piss some people off that need to do urgent transactions but don't have a pre-synched account handy.



Title: Re: Network synchronization - future problem?
Post by: payb.tc on August 20, 2013, 05:27:22 AM
this could piss some people off that need to do urgent transactions but don't have a pre-synched account handy.

tx urgent? import a private key into your blockchain.info wallet
i'm sure there'd be other solutions too


Title: Re: Network synchronization - future problem?
Post by: TierNolan on August 20, 2013, 10:07:33 AM
I guess its just that 1-2 years ago I think it would take maybe an hour or 2 to synchronize.. now its at least 10x longer, and im thinkin give it another year or 5 and it might take days? - this could piss some people off that need to do urgent transactions but don't have a pre-synched account handy.

The problem is that it starts at the genesis block and verifies each block one at a time.  Old blocks contain very old transactions.

They are planning to have a headers first download scheme.  This would download just the block headers (80 bytes every 10 mins) and then work backwards.

Older blocks are inherently less likely to be invalid, since they have been checked over and over.

You could use the network to receive coins and your computer could check that the inputs are known.  If check the last 1000 blocks, then it is likely everything (you have seen so far) is valid.  

Receiving coins that were last used 2-3 years previously would take longer to verify that the inputs are in the block chain (as your compute would have to go back further) .

Most "active" coins change hands often (by definition), and you are likely to receive one of them.

A transaction could have different confirmation strengths

- all inputs verified to be in the chain?
- how deep is the transaction buried?

A transaction with 6 confirms and where all the inputs are in the chain is pretty likely to be valid.

Even if your computer hasn't verified back far enough to confirm all the inputs, it is possible for the sender to prove that the input exists in the chain (but not that there is no double spend).