@cypherdoc @Peter R
We are in full agreement in enabling market based decisions and moving decisions from miners/users and away from developers. That said, I think full nodes (which download the blockchain) should operate in a manner that supports and follows miner preferences (miners are the source of security).
I think there are disadvantages to having nodes on the network that operate with preferences below miners. Such nodes are leechers and in P2P networks leechers cause significant negative effects.
For example, let's say miners start to build 100MB blocks. Most home users find their upload pipe fully saturated so they set their preference to not transmit blocks larger than 10MB so they can continue to run a full node. Such nodes become leechers, they download the blockchain but do not contributed to uploading to others. If lets say 50% (or more) nodes start to do this, this puts significant upload pressure on the remaining nodes. Bittorrent networks do not function with too many leechers, and neither will Bitcoin's I'd believe.
The simple fact is nodes which can not contribute to the valid chain built by miners, should switch to SPV clients. Otherwise they leech bandwidth from the network and do not contribute, such users would be better moved to SPV clients.
My view is it is best for BU to either:
1) accept unlimited blocks or
2) follow the BIP101 schedule or
3) follow BIP100 voting.
And not set their own limit below all of these, such users should move from full nodes to SPV clients.
This means preference should really be set by the miners with the blocks they mine being the sole source of votes. Nodes should follow whatever the miners vote for (provided they validate and agree with the transactions included). That is the security model of bitcoin IMHO.