Post
Topic
Board Development & Technical Discussion
Re: Block size increase proposal: Consensus based on the mempool
by
Schnibble
on 01/04/2017, 22:03:45 UTC
people can run nodes that are blocks only. They would not be able to validate a block under this rule.
These people aren't running full nodes. They would not be able to temporarily reject undesirable block but still can validate it.
In a good way this node should be considered as misbehaving node unless it reported to all connected nodes that have an intention to evict transactions.

You are also assuming that all nodes will keep all transactions
I don't assume that. I've proposed to make them required to keep and relay all transactions.

and receive them at roughly the same time
I don't assume that. Miners can adjust their delay parameter as much as needed.

there could be a race condition where a bunch of low fee transactions are evicted just before a block is received by the node so this evicted transactions are no longer in the mempool
minTxRelayFee parameter becomes part of the consensus and cannot be higher than 20 satoshies/byte

a newly started node will fail to properly sync because it would consider all blocks invalid
The chain becomes valid anyway, when it receives two or three valid blocks. Also we can bypass this rule for some time after the launch.

Suppose the miner who found A is super lucky, and found B, then C very quickly. Now all miners will be using the chain including the invalid block
Not invalid, just undesirable.

and that invalid block could be maliciously crafted to create transactions which allows the miner who found the block to spend the Bitcoin
No. The worst possible thing that could occur is acceptance the undesirable block consisting of spam.

With SPV mining, it is very possible that miners will end up mining on top of an invalid block and thus extending the chain for that block and find enough blocks so that its is valid
Nothing serious. Besides, nobody will mine on top of invalid (or undesirable) block unless 51% attack is performed...

Standardness  rules are not consensus rules, they are local node policy rules.
Why do you think so? What about 1MB block size limit rule?

Anyone can change their local node policy
If node violates some mandatory rule and for example sets minTxRelayFee parameter to 30 sat/byte it should be considered as misbehaving node, unless it reported to all connected nodes that have an intention to evict transactions.

Relying on standardness rules is not enough to say that you know what transactions are in everyone's mempools
It is enough to always come to consensus. Miners just need to adjust their delay parameter.

which is entirely possible given that many miners do SPV mining
My proposal assumes hard fork, so miners/pools/SPV servers will have to update their soft.

With your proposal, they now have an incentive to produce invalid blocks because in that invalid block they can make a ton of money
No. The worst possible thing that could occur is acceptance the undesirable block consisting of spam.