How does a full node tell the network its blocksize limit?

digitsu

Member
Jan 5, 2016
63
149
If miners don't know what size that most nodes will accept and relay, they probably won't gamble to increase their limit.
It's actually very simple for node to show their blocksize limit value: just put it in the "user agent" field.
Again, this number can't be fake but there is no incentive to do so

Running a full node does cost money, what in it for you to fake it?
And If one runs thousand of fake nodes: It should be easy to identify it by IP address and exclude it.
One twist is that miners need only to know what the other miners are supporting, because they use the relay network to send found block headers to each other.

So they may need a way to communicate to each other (so that they can maximize efficiency, minimize orphans) what the consensus is. Perhaps as a hashed config into coinbase txn. (if provable)
 

solex

Moderator
Staff member
Aug 22, 2015
1,558
4,693
Damn it, that looks good @YarkoL.
This makes BU visibly more advanced when compared to other clients, and rightly so.
 

dgenr8

Member
Sep 18, 2015
62
114
The idea of measuring what blocksize nodes SAY they will accept falls far short of bitcoin-level robustness.

The only way to know what blocksize nodes will actually accept is to produce a large block, and see if they actually accept it.

It is entirely feasible to do this, there are just a couple of hurdles to cross:
- It costs about $15,000 per test block to do it (production cost plus opportunity cost)
- Software to quickly measure nodes' acceptance of test blocks needs to be written
 

Peter R

Well-Known Member
Aug 28, 2015
1,398
5,595
@dgenr8

Yes, completely agree. Personally, I'm looking at the information in the user-agent string as just one more piece of information to help miners decided whether it is worthwhile to attempt to publish a larger block.

Here's an interesting thought experiment along the lines of your comment that the only way is to "just do it":

How could we ever know for sure if the economic majority had upgraded to a client that would support larger blocks?

We can't. Instead, we can talk to people, read comments on forums like this, attend conferences, listen to statements from influential people, and check sites like xtnodes.com to see how many nodes have upgraded.

These could all be "spoofed": people could lie, forum comments could be from sock puppets, conferences could be frauds, influential people might be confused, and xtnodes might be Sybil attacked.

In other words, there is no way to be 100% sure--instead we must make our best judgements. Fortunately, this is fairly easy because most people don't lie, sock puppets are outnumbered, conferences are usually legitimate, influential people have accurate information, and Sybil attacks are often obvious.
 
Last edited:

dgenr8

Member
Sep 18, 2015
62
114
I do agree that the strength of the social element of the system is underestimated.

But if the current debate has taught us anything, it is that statistics can be influenced, selectively gathered, sprinkled with bias, and presented with careful selection of venue by trusted or semi-trusted parties, mixed with FUD to confuse the community and even those who should know better -- miners.

If the base-level data being gathered is nothing more than user-agent strings, the resultant actions will continue to be subject to manipulation. Proof-of-work is at once unfalsifiable, and easily verifiable by everyone, eliminating all need for trust in intermediaries. It should be leveraged for anything affecting critical network operation.
 

freetrader

Moderator
Staff member
Dec 16, 2015
2,806
6,088
@dgenr8

It's just going to be a signal. It will cause eyebrows to be raised, phonecalls to be made, true intent and consensus to be established. So I think it will work quite well, because using it to deceive will not work well in the real world (of miners), at least for those who try to do so.

As the saying goes, fool me once...
 
Last edited:
  • Like
Reactions: solex and Peter R

Aquent

Active Member
Aug 19, 2015
252
667
I do agree that the strength of the social element of the system is underestimated.

But if the current debate has taught us anything, it is that statistics can be influenced, selectively gathered, sprinkled with bias, and presented with careful selection of venue by trusted or semi-trusted parties, mixed with FUD to confuse the community and even those who should know better -- miners.

If the base-level data being gathered is nothing more than user-agent strings, the resultant actions will continue to be subject to manipulation. Proof-of-work is at once unfalsifiable, and easily verifiable by everyone, eliminating all need for trust in intermediaries. It should be leveraged for anything affecting critical network operation.
Absolutely, proof of work is what gives bitcoin robustness. I think we have a BIP (https://bitco.in/forum/threads/buip005-settings-information-via-coinbase-txn-user-agent.696/) to make miners sign their blocks with the blocksize limit they will accept by default. Obviously, they can still lie I suppose, but they'd be able to likewise lie by signaling a different version number by modding their client.

However, you only need 51% and if 51% is lying then we have far bigger problems on our hands. So, not sure how the coordination problem can be made more robust?

In regards to the non-mining nodes communication that's just informative. It obviously can be played so it shouldn't be fully trusted, but it does still take some effort to play it, far more than a simple poll as you need to run a node etc, and of course certain nodes like coinbase/bitpay/bitstamp etc won't really be playing in normal circumstances.
 
  • Like
Reactions: solex

Zangelbert Bingledack

Well-Known Member
Aug 29, 2015
1,485
5,585
@dgenr8

I think @Peter R's point was that miners already have to trust these spoofable social elements in order to not risk $15K a pop, so adding another piece of data to the mix couldn't hurt as it should make it at least marginally harder to spoof.