Any thought to reduce downloading time of blockchain ?

Maxwell

Member
It takes me whole 4 weeks to download bitcoin blockchain, is there any way to reduce downloading time?
i dont know if this is feasible:
take a balance snapshot for all the address existed before a special block,and take the result as a new genesis block,then continue grow the chain from after this special block.the cost of this method is we lose all the transaction detail before that point. and we can choose a right snapshot interval to do the procedure.may be it can be implemented as an option that users can choose. how was ya'll experience?
 

Yael

New member
It takes me whole 4 weeks to download bitcoin blockchain, is there any way to reduce downloading time?
It looks like either your hardware or Internet connection is at fault. While your node is synchronising, CPU verifies each block one by one. Also, upgrading to an SSD makes a difference in the sync time. Even a Raspberry Pi should be able to finish it in just a few days. How many nodes are you connected to and what's your maximum Internet speed?
take a balance snapshot for all the address existed before a special block,and take the result as a new genesis block,then continue grow the chain from after this special block.the cost of this method is we lose all the transaction detail before that point. and we can choose a right snapshot interval to do the procedure.may be it can be implemented as an option that users can choose. how was ya'll experience?
That's out of the question. Some people share their copies of the blockchain via torrent. It could be faster for you.
 

Juelz

New member
I wouldn't download the blockchain via torrent... Not as safe as downloading the blocks from several peers, and you still need to verify and parse the blocks... My advice to you would be to either find the bottleneck on your system or switch to an SPV wallet... SPV wallets only download the block headers, it takes a couple minutes to sync and uses a couple dozen Mb of diskspace.
 

Anakin

New member
Why do you need to download whole Bitcoin Blockchain? If you don't plan to run Bitcoin full node or only want to have a Bitcoin wallet, you could use SPV wallet such as Electrum.

On a side note, your idea is called UTXO commitment.
any idea how to share copies via torrent
You need to look for people who share Bitcoin's blockchain on BitTorrent protocol, But overall time to download and verify blockchain remains same.
 

Marquis

New member
You're not just downloading the blockchain, but you're also validating that every block is correct which also takes some time.

This guarantees that you can verify any transaction validity without having to trust any 3rd party, I'd say that's worth the 4 weeks of downloading.

However, there are some improvements being made by protocol developers to make the IBD (initial block download) faster, such as assumeutxo.
 

Darwin

New member
the actual assumevalid and assumeutxo idea above is not good protocol for actually validating every transaction from genesis till now. and has many flaws such as sybil attacks by someone using a bitcoin fork could slide their chain in if the checkpoints matched(the fork of differing blocks occured after checkpoint).

EG imagine an assumevalid/utxo checkpoint was done chosen for 2016. yes all transactions and blockhashes match so sniffing peers results would pass the test that everyone has the same hash result. but the transactions after which your then independently testing wont. and thats where things get problematic.

EG someone can fork btc into a private network, start making their own blocks at a lower hashrate. and then have some specially designed sybil nodes. that sniff out new users and filling up their 8 node connections with 8 sybil nodes. thus controlling everything the user gets and sees.

separately
.. the actual issue people have is not that it takes them 4 weeks to download. but that their node is stuck with a 'downloading blockchain' message and no other function until the blockchain is uptodate.

this is where the blockchain should be downloaded as normal validating EVERY transaction and block since genesis. but where instead of waiting and twiddling thumbs doing nothing for 4 weeks, the node can grab a snapshot of a UTXOset quick, so that people can just get on and transact. and then they wont notice the real blockchain stuff going on as it becomes a hidden background thing not interrupting their plans

for those not wanting to be part of the network as a seed for other to download from them ('the cries of bandwidth costs of doing so') then can just forget being fullnodes and just be litenodes and just grab a utxo snapshot

as for concerns about spending funds where a person accidentality gets a bad UTXO set.. well thats what the relay network and miners mempool is for. to reject invalid transactions......

an approach to ensure your getting a good set is by having it where you are trying to download from 1000 different peers.. but makes you a bad 'leacher' in download terms. which is why most devs agree that its best to only do it via 8-10 peers.. but these 8-10 peers could be sybil nodes and when doing hash checks you would obviously get the same results as they are the only peers your connected to.
what some have suggested is to allow 1000 connections to random peers. not to download the blockchain. but to have more scope of the hash checks to make sure what your getting from the 8-10 peers is good data. rathr than just hash checking with the very same people that gave you the data
 

Bode

New member
Get off Windows 10 if you are using it. I've been able to sync' my blockchain without any problems for a few years, and that is using public WiFi. Following the latest major upgrade of Windows 10, i'm getting dumped by quite a few peers, and it is becoming difficult to maintain the blockchain. I need to see if Mint supports the Brave browser, and go back to Linux.
 

Aziel

New member
If you're feeling incredibly brave, you can test out the pull requests from this user on github which all together can apparently cut the IBD time by ~14%.

But 14% is not big enough to justify such a risky move, these are testing changes, and as such are not for real-world use in their current state. Although this particular change has been pulled into 0.19.0 release candidate, and is perhaps lower risk. I would still advise against it if you're expecting stability, there is a big risk that the full consequences of these changes have not yet been observed, as they've only seen limited testing.
 
Top