Maybe I'm clueless, maybe this have already been discussed somewhere where I couldn't find it, but anyway, here we go:
A node operator cannot influence the miners during the phase that leads to activation of a consensus change proposal in other ways than waving a flag and hope for the best
Currently a node operator (like me) have hardly no way of influence the progression of the functionality of bitcoin. It is up to the miners to chose which changes are to be made to the consensus rules and for me it's very hard to have any impact on the decisions of the miners.
If I want BIP109 to succeed I can run a client that accepts big blocks, but it's very hard for me to voice my opinion to miners because nothing that I do can influence them directly. And on the contrary, If there is a proposed change that I don't like, it's hard to vote against it.
Of course, if I don't like BIP109, I can just keep on running Core. But if suddenly the miners decided to support BIP109, I can't influence their decisions in other ways than keep running Core (which they could just ignore) and get thrown of the network after the first large block get mined.
In none of these cases can I influence the decisions of the miners through bitcoin mechanisms in the phase leading up to the activation, only old yesterdays meat space manipulations (like going to Hong Kong and lock a door).
Voting by enable acceptable depth to different version bits in blocks makes node operators able to influence the profitability of miners by influencing the orphaning risk
Currently Bitcoin Unlimited's Acceptable Depth mechanism is used to decide which block sizes you accept right away, and how many blocks deep a block with excessive size has to be before accepting the chain that builds on that block.
If that mechanism is used on version bits, I could, as an example, set the acceptable depth 4 on any block that has the bit for BIP109 set, making miners that mines BIP109 blocks to risk greater orphaning risks and being less profitable. The orphaning will also make less BIP109 blocks being accepted in the chain of most work and the activation with 750 out of 1000 blocks will be harder.
On the other hand, I could also set the acceptable depth to -4, meaning that I if a non-BIP109 block comes along, I will accept it in the chain of most work if at least four other blocks builds on that block. This will make the profitability for BIP109-miners higher making it more probable that a non-BIP109 block get orphaned than a BIP109 block. It will also making it easier for the hard fork to occur.
A single node operator can't make much of a difference by setting the acceptable depth, but as in elections, if a lot of nodes votes for the same thing, you can actually influence the politics of bitcoin, and it's consensus rules (which in my eyes are the same).
* * *
Decentralising the power over bitcoin from miners and developers to users
By letting node operators vote, there is more incentive to run a node, you could actually make a difference, not just giving away your services for free. It will also decentralise the power over Bitcoin from Developers and miners, and to node operators.
* * *
Bring on the comments! Do you think this is a good or a bad idea?
EDIT: there's a more detailed explanation further down in the thread with pseudo code.
Last edited: