Subject: Re: [bitcoin-dev] Bitcoin Node Speed Test

From: "Slurms MacKenzie" <[email-masked]>
Date: Thu, 23 Jul 2015 19:12:04 +0200

I was testing against otherwise idle nodes, fetching blocks back from the tip of the chain in an attempt to eliminate any unfair effects of caching. During the time my crawler was running there was no new blocks on the network (luck more than design), so other than initially syncing nodes and transaction broadcasts there should have been no traffic from these peers other than me.

There's unfortunately not enough granularity in my log to tell the difference between nodes which returned bad results (pruned nodes perhaps), and those that timed out. The total number of those was around 10 of 202 successful handshakes, which is fairly insignificant anyway. I'll retool at some point soon and run this a second time with better logging and some other tweaks I've since realised would help get more, cleaner data.

As Peter Todd has pointed out, my numbers are blue sky optimism and should be taken with a grain of salt as far as justifying larger blocks. I'm finding the ceiling of the node pushing a block to a single peer (which is unrealistic on the network), and leaving little headroom for anything else.

Sent: Thursday, July 23, 2015 at 7:36 PM
From: "Leo Wandersleb via bitcoin-dev" <[email-masked]>
To: [email-masked]
Subject: Re: [bitcoin-dev] Bitcoin Node Speed Test

Thank you a lot for doing this test!

Two questions:

1) A node is typically connected to many nodes that would all in parallel
download said block. In your test you measured how fast new blocks that
presumably are being uploaded in parallel to all those other nodes are being
uploaded? Or did you download blocks while those nodes were basically idle?

2) What is your percentage of the very slow connections?

On 07/23/2015 11:19 AM, slurms--- via bitcoin-dev wrote:
> On this day, the Bitcoin network was crawled and reachable nodes surveyed to find their maximum throughput in order to determine if it can safely support a faster block rate. Specifically this is an attempt to prove or disprove the common statement that 1MB blocks were only suitable slower internet connections in 2009 when Bitcoin launched, and that connection speeds have improved to the point of obviously supporting larger blocks.
>
>
> The testing methodology is as follows:
>
> * Nodes were randomly selected from a peers.dat, 5% of the reachable nodes in the network were contacted.
>
> * A random selection of blocks was downloaded from each peer.
>
> * There is some bias towards higher connection speeds, very slow connections (<30KB/s) timed out in order to run the test at a reasonable rate.
>
> * The connecting node was in Amsterdam with a 1GB NIC.
>
>
> Results:
>
> * 37% of connected nodes failed to upload blocks faster than 1MB/s.
>
> * 16% of connected nodes uploaded blocks faster than 10MB/s.
>
> * Raw data, one line per connected node, kilobytes per second http://pastebin.com/raw.php?i=6b4NuiVQ
>
>
> This does not support the theory that the network has the available bandwidth for increased block sizes, as in its current state 37% of nodes would fail to upload a 20MB block to a single peer in under 20 seconds (referencing a number quoted by Gavin). If the bar for suitability is placed at taking only 1% of the block time (6 seconds) to upload one block to one peer, then 69% of the network fails for 20MB blocks. For comparison, only 10% fail this metric for 1MB blocks.
> _______________________________________________
> bitcoin-dev mailing list
> [email-masked]
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

_______________________________________________
bitcoin-dev mailing list
[email-masked]
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev