- Nov 19, 2015
- 94
- 191
BU has created the system for mining nodes to signal to the rest of the network their setting for "excessive blocksize" and "acceptance depth", but why not also activation theshold?
For instance if a miners feels like 750 out of the last 1000 blocks is a safe threshold for activation, their block header would say:
EB:8AD:6:AT:750/1000
The "AT" stands for "activation threshold", and it governs how the maximum blocksize is determined. In this example, whatever 75% of the last 1000 blocks determine to be their "excessive blocksize", will be the maximum blocksize that node uses. Right now 1MB is probably going to be the size that will give you validity on 750 out of the last 1000 blocks, so this is basically a way of saying "I think 8 should be the max blocksize, but my node is actually at this time going to enforce 1MB (or whatever it ends up being, because thats what 75% of nodes will accept). Each miner can set their own preference, whether it be 10% or 95% or whatever.
This solves the "median EB fork" issue, or at least makes it more predictable. There could even be a policy of a node that orphans any node that does not have AT higher than, say 75% (configurable or course).
Overall I also think this should make the hard fork more predictable when it actually happens. If we know everyone's strategy for accepting bigger blocks, we can better predict when it will actually happen.
Basically this idea is to use emergent consensus to crowdsource the proper activation threshold.
For instance if a miners feels like 750 out of the last 1000 blocks is a safe threshold for activation, their block header would say:
EB:8AD:6:AT:750/1000
The "AT" stands for "activation threshold", and it governs how the maximum blocksize is determined. In this example, whatever 75% of the last 1000 blocks determine to be their "excessive blocksize", will be the maximum blocksize that node uses. Right now 1MB is probably going to be the size that will give you validity on 750 out of the last 1000 blocks, so this is basically a way of saying "I think 8 should be the max blocksize, but my node is actually at this time going to enforce 1MB (or whatever it ends up being, because thats what 75% of nodes will accept). Each miner can set their own preference, whether it be 10% or 95% or whatever.
This solves the "median EB fork" issue, or at least makes it more predictable. There could even be a policy of a node that orphans any node that does not have AT higher than, say 75% (configurable or course).
Overall I also think this should make the hard fork more predictable when it actually happens. If we know everyone's strategy for accepting bigger blocks, we can better predict when it will actually happen.
Basically this idea is to use emergent consensus to crowdsource the proper activation threshold.