On Wed, Sep 16, 2015 at 11:52 PM, Eric Lombrozo <elombrozo@gmail.com> wrote:
The exact numbers (95% vs. 75% etc) don't need to be completely specified to start working on an implementation. What really matters for now is defining the states and trigger mechanisms. I'd rather we not argue over the optimal values for supermajority requirement at this point.

The discussion was about what each state means, not the thresholds exactly.  I agree that can be set later.

On Wed, Sep 16, 2015 at 10:03 PM, Jorge Timón <jtimon@jtimon.cc> wrote:

> I understand your proposal, but I don't see what it accomplishes compared to applying the new rule from the start (in your own blocks)

> and wait for 95% for consensus activation (which is my preference and it's much simpler to implement).
> What are the disadvantages of my approach? What are the advantages of yours?

I agree that miners should apply the rule from the start in their own blocks.

defined

Miners set bit
Miners apply rule to their own blocks
If 75% of blocks of last 2016 have bit set, goto tentative

tentative

Miners set bit
Miners apply rule to their own blocks
Miners enforce rule in blocks with bit set (reject invalid blocks)
If 95% of blocks of last 2016 have bit set, goto locked-in

locked-in

Point of no return
Miners set bit
Miners apply rule to their own blocks
Miners enforce rule in blocks with bit set (reject invalid blocks)
After 2016 blocks goto activated

activated

Miners don't set bit
Reject any block that has the bit set for 10080 blocks (10 diff periods)
Reject blocks that don't follow new rule

The advantage of enforcing the rule when 75% is reached (but only for blocks with the bit set) is that miners get early notification that they have implemented the rule incorrectly.    They might produce blocks that they think are fine, but which aren't.