Subject: Re: [bitcoin-dev] A Proposed Compromise to the Block Size Limit

From: Raystonn <[email-masked]>
Date: Sat, 27 Jun 2015 22:34:23 -0700

Full nodes by default are limited to 133 connections.  This is 8 outgoing connections and 125 incoming connections.  These defaults are rarely, if ever, changed except to further decrease the limit by some node operators.

Regardless of the number of full nodes deployed globally, after nodes have hit this limit the Bitcoin network will have O(n) scaling, n representing number of transactions. Once your full node reaches 133 connections, it will see no further increase in load even if the number of nodes were to increase tenfold. Only transaction rate will affect the load on your node.

It seems past analysis of the effect of scaling on total work performed by the network, as well as load on individual nodes, has been clearly lacking. This oversight has led developers and the community at large to fear larger blocks based on an assumption of exponential growth of work, which just isn't the case.

Decentralisation is planned to scale down once the 133 connection limit is hit. Like it or not, this is the current state of the code. This is what *is* now. Scaling beyond that simply is not the difficult problem most have been led to believe, unless you plan to change this, which would probably be yet another controversial modification to node behaviour. This is one reason a future increase to max block size was not considered controversial by Satoshi.

On 27 Jun 2015 11:48 am, Peter Todd <[email-masked]> wrote:

On Sat, Jun 27, 2015 at 02:02:05PM -0400, Jameson Lopp wrote:
> > For Bitcoin to have O(n) scaling you have to assume that the number of
> > validation nodes doesn't scale with the number of users, thus resulting
> > in a system where users trust others to do validation for them. That is
> > not a global consensus system; that's a trust-based system.
> >
> >
> Why does it matter what the "total work" of the network is? Anyone who is
> participating as a node on the network only cares about the resources
> required to run their own node, not the resources everyone else needs to
> run their nodes.
>
> Also, no assumption needed, it is quite clear that the number of nodes is
> not scaling along with the number of users. If anything it appears to be
> inversely proportional.

Which is a huge problem.

Concretely, what O(n^2) scaling means is that the more Bitcoin is
adopted, the harder it is to use in a decentralized way that doesn't
trust others; the blocksize limit puts a cap on how centralized Bitcoin
can get in a given technological landscape.

--
'peter'[:-1]@petertodd.org
0000000000000000007fc13ce02072d9cb2a6d51fae41fefcde7b3b283803d24