Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: SebastianJu on August 15, 2015, 12:25:17 PM



Title: Bitcoin P2P-System
Post by: SebastianJu on August 15, 2015, 12:25:17 PM
Can it be that the p2p-System of bitcoin-qt never was updated since the start?

I mean the most common critics on bitcoin-qt is the space needed and the enourmous amount of time needed to download the blockchain. While it mostly isn't limited to the internet connection a node has that tries to download the full blockchain, i wonder if it isn't because of the p2p-system itself. I mean every other p2p-filesharing system seems to run faster than the downloading of the blockchain. And i believe you only can connect to 8 nodes.

That doesn't make sense to me when you need to download the whole blockchain. It should be fast. Or faster at least. There is no reason to raise the number of nodes you can connect to to a higher amount when you need it that time. The other nodes still can decide how much bandwith they will use for that client.

Besides that... recently i often read of crashes and reindexing and redownloading of the blockchain. I think these things really should run smoother. It would be disadvantageous to bitcoin adaption when this is not easy, fast and stable.

Saying that... i don't even use bitcoin-qt because of it's downsides. But i think the current status is worse than it has to be.

At least it looks that way to me, maybe i miss something.


Title: Re: Bitcoin P2P-System
Post by: unamis76 on August 15, 2015, 12:32:11 PM
I don't think the p2p system has issues. As you said, problems aren't only limited to internet connection... They are mostly not caused by internet connection problems: the hardware is to blame. It's easier to have a 100+MB connection than a nicely equipped computer. If you browse the forums you can see feedback of people syncing the blockchain pretty quickly. Obviously not everyone has access to an 8+GB RAM computer, 256GB+ SSD and a fast processor. But what I mean is, the impact that a fast computer has on syncing a blockchain is much bigger than a faster connection.

As for issues with Bitcoin-qt, I haven't had much in 2 years of using the software. Some problems are simply between the keyboard and the chair :)


Title: Re: Bitcoin P2P-System
Post by: SebastianJu on August 15, 2015, 12:40:30 PM
I don't think the p2p system has issues. As you said, problems aren't only limited to internet connection... They are mostly not caused by internet connection problems: the hardware is to blame. It's easier to have a 100+MB connection than a nicely equipped computer. If you browse the forums you can see feedback of people syncing the blockchain pretty quickly. Obviously not everyone has access to an 8+GB RAM computer, 256GB+ SSD and a fast processor. But what I mean is, the impact that a fast computer has on syncing a blockchain is much bigger than a faster connection.

As for issues with Bitcoin-qt, I haven't had much in 2 years of using the software. Some problems are simply between the keyboard and the chair :)

So how many connections are there nowadays? Maybe you are experienced enough to get connected to fast nodes then. While others, who didn't run the wallet since weeks or months, might only find slow nodes.

Is there still the 8 nodes limit? If so then this sounds like a possible explaination that you get it downloaded and confirmed fast and others not.

And CPU and harddisc? I somehow doubt that. Copying some GB on a harddisc is a matter of minutes and confirming the whole blockchain is the same. So someone would need to have a really bad computer to have to wait many hours or days.


Title: Re: Bitcoin P2P-System
Post by: SebastianJu on August 15, 2015, 12:42:50 PM
I only now read that answer from gmaxwell:
We used to; but since 0.10 the blockchain is now download in parallel and verified concurrently. Using the seperate download, even via bittorrent, then loading it is now usually slower than just syncing directly.

I wonder how much this speeds up the downloading. And were the limits raised too?

Anyway... there are many complaints about 0.10.xx that it crashes and things like redownloading and reindexing and so on happens all the time. I don't know if that is fixed already.


Title: Re: Bitcoin P2P-System
Post by: unamis76 on August 15, 2015, 02:17:18 PM
I don't think the p2p system has issues. As you said, problems aren't only limited to internet connection... They are mostly not caused by internet connection problems: the hardware is to blame. It's easier to have a 100+MB connection than a nicely equipped computer. If you browse the forums you can see feedback of people syncing the blockchain pretty quickly. Obviously not everyone has access to an 8+GB RAM computer, 256GB+ SSD and a fast processor. But what I mean is, the impact that a fast computer has on syncing a blockchain is much bigger than a faster connection.

As for issues with Bitcoin-qt, I haven't had much in 2 years of using the software. Some problems are simply between the keyboard and the chair :)

So how many connections are there nowadays? Maybe you are experienced enough to get connected to fast nodes then. While others, who didn't run the wallet since weeks or months, might only find slow nodes.

Is there still the 8 nodes limit? If so then this sounds like a possible explaination that you get it downloaded and confirmed fast and others not.

And CPU and harddisc? I somehow doubt that. Copying some GB on a harddisc is a matter of minutes and confirming the whole blockchain is the same. So someone would need to have a really bad computer to have to wait many hours or days.

I am not very experienced. I have a home node that is connected whenever my computer is connected and I've setup full nodes for Bitcoin and alts. I don't exactly have a special config either, nor do I have a set of nodes I usually connect to. What I know is, as an example, my home computer is 6 years old and takes slightly more than a day to sync the blockchain and the handicap is clearly hardware. My connection is constantly idle while syncing. A day doesn't seem that much to setup something so resource demanding.

The node limit still seems to be applied. My computer is far from fast downloading the blockcahin. That's why my copy of it is quite a few years old :D I just keep it in a separate drive in case I have to format, and when I update Bitcoin Core I point it to that folder.

Syncing the blockchain isn't as simple as copying files. The files are just copied. The blockchain is downloaded and verified :)

As I said I'm not an expert. I'm just replying based of what I know and experienced while setting up this kind of software :)

As for 0.10+ being faster, I seriously don't know, and I'm not willing to test and go a whole day without having my Bitcoin Core not operational ;D But I've heard several reports of it being faster than downloading the bootstrap file.


I still don't think the p2p interface is flawed. Maybe it's too 2009-ish, who knows? I'm not the right person to judge that. I don't think it's ill implemented. But there might be better ways now to make it, but that would probably require a rebuild of Bitcoin Core, and the changes that are usually made are more on the conservative side.


Title: Re: Bitcoin P2P-System
Post by: SebastianJu on August 18, 2015, 12:31:04 PM
I don't think the p2p system has issues. As you said, problems aren't only limited to internet connection... They are mostly not caused by internet connection problems: the hardware is to blame. It's easier to have a 100+MB connection than a nicely equipped computer. If you browse the forums you can see feedback of people syncing the blockchain pretty quickly. Obviously not everyone has access to an 8+GB RAM computer, 256GB+ SSD and a fast processor. But what I mean is, the impact that a fast computer has on syncing a blockchain is much bigger than a faster connection.

As for issues with Bitcoin-qt, I haven't had much in 2 years of using the software. Some problems are simply between the keyboard and the chair :)

So how many connections are there nowadays? Maybe you are experienced enough to get connected to fast nodes then. While others, who didn't run the wallet since weeks or months, might only find slow nodes.

Is there still the 8 nodes limit? If so then this sounds like a possible explaination that you get it downloaded and confirmed fast and others not.

And CPU and harddisc? I somehow doubt that. Copying some GB on a harddisc is a matter of minutes and confirming the whole blockchain is the same. So someone would need to have a really bad computer to have to wait many hours or days.

I am not very experienced. I have a home node that is connected whenever my computer is connected and I've setup full nodes for Bitcoin and alts. I don't exactly have a special config either, nor do I have a set of nodes I usually connect to. What I know is, as an example, my home computer is 6 years old and takes slightly more than a day to sync the blockchain and the handicap is clearly hardware. My connection is constantly idle while syncing. A day doesn't seem that much to setup something so resource demanding.

The node limit still seems to be applied. My computer is far from fast downloading the blockcahin. That's why my copy of it is quite a few years old :D I just keep it in a separate drive in case I have to format, and when I update Bitcoin Core I point it to that folder.

Syncing the blockchain isn't as simple as copying files. The files are just copied. The blockchain is downloaded and verified :)

As I said I'm not an expert. I'm just replying based of what I know and experienced while setting up this kind of software :)

As for 0.10+ being faster, I seriously don't know, and I'm not willing to test and go a whole day without having my Bitcoin Core not operational ;D But I've heard several reports of it being faster than downloading the bootstrap file.


I still don't think the p2p interface is flawed. Maybe it's too 2009-ish, who knows? I'm not the right person to judge that. I don't think it's ill implemented. But there might be better ways now to make it, but that would probably require a rebuild of Bitcoin Core, and the changes that are usually made are more on the conservative side.

Even with a few years old computer, i can't see what should take so much time. I mean your computer surely is no ASIC, but checking ONE hash per block should be done in no time. Even the 370k blocks or so, that bitcoin has now should take not more than a minute. Maybe i misinterprete the complexity of the calculation needed to PROOF the hash of one block. But i doubt it will be so very much time consuming.

So you say your internet connection is idling. But are you sure that you only don't get enough data from the 7 or so nodes you are connected to? Is your CPU process for the wallet maxed out? The harddrive should not be able to be maxed out by that.


Title: Re: Bitcoin P2P-System
Post by: amaclin on August 18, 2015, 12:38:28 PM
I mean your computer surely is no ASIC, but checking ONE hash per block should be done in no time.
The client checks all transactions in block and builds a database of utxo


Title: Re: Bitcoin P2P-System
Post by: SebastianJu on August 19, 2015, 01:32:05 PM
I mean your computer surely is no ASIC, but checking ONE hash per block should be done in no time.
The client checks all transactions in block and builds a database of utxo

Hm, okay... you are right. That has to be checked. Guess then this is really a bottleneck, maybe THE bottleneck. I never had this seen pointed out when the topic was "blockchain is downloading too slow". Thanks for the hint. :)