For the attestation committee case, we can first look at the probability that a fraction f can produce a block, for which they need SSize/2 attestations of the parent block.
Assuming that SSize is large (\approx 100 - 1000), this probability is sigmoid-like in the number of attesters available in the fraction f:
- After 0 skips, the probability is \approx 0 for f<1/2, \approx 1 for f>1/2
- After 1 skips, the probability is \approx 0 for f<1/4, \approx 1 for f>1/4
- After 2 skips, the probability is \approx 0 for f<1/6, \approx 1 for f>1/6
- After 3 skips, the probability \approx 0 for f<1/8, \approx 1 for f>1/6
and so on. So to produce blocks after s skips, the fraction implementing the new rule must be greater than 1/(2s). If it is smaller than that, the probability of being able to produce a valid block will be very close to zero; however, producing a valid block is not enough, it will also have to be accepted as the main chain.
1st case: Fork choice = longest chain
In order to produce the longest chain, the nodes in f cannot allow to have skips of length >1, as the main chain would almost certainly outrun their chain. So the interesting chains that the rule-breakers can produce are XOX, XOXOX, XOXOXOX, etc. where X is a block produced by someone in the fraction f and O is a skipped block (supposed to be produced by the remaining nodes). This chain has a 50% chance of winning against the “slow” chain, which will be of the same length (XXO vs XOX, XXOXO or XOXXO vs. XOXOX, etc.), depending on which of these chains the next block producer will accept as their head.
- Nodes from the fast chain fraction f will lose 50% of their validator rewards (other than the ones voting for the first block), as their chain will lose 50% of the time
- The remaining nodes will lose 3/4 of their rewards when the fast chain wins, and 1/4 of their votes when the slow chain wins, so in expectation also 50% [this is because, after every second block, with probability 1/2, they will consider the fast chain their head, meaning that they will attest the fast chain 1/4 of the time].
Overall, this only creates more side chains and nodes implementing a rule change will lose just as much as other nodes.
2nd case: GHOST
In GHOST, the case is pretty hopeless for anyone skipping ahead. If we analyse the chain XOX above, once the “slow” chain has produced XX everyone on the slow chain will attest to it, as it is the head and the skip block is not yet valid for the slow validators. Then there would be one skip as the third producer has already produced its block on the fast chain; but at XXO (if I understand the fork choice rule correctly, see my question under [Attestation committee based full PoS chains, version 2]), the slow chain attesters would still all consider XXO to be the valid chain (because more have already attested to XX compared to XOX, so the other attesters should consider this the valid head). So they would still vote for XXO and not XOX. So unless f are already in the majority, their chain will not become part of the main chain if it has skips.
3rd case: Slow GHOST
The extreme resistance against a fast minority suggests that maybe there is an advantage to be gained for being slower than everyone else.
So what happens if a fraction f instead delays their own attestations, ignoring blocks up to t-\delta t where t is the real time?
Assume that the main chain skips one of their blocks, producing the chain XOX. This chain would have S(1-f) voters attesting for its last block. The slow chain XX would get Sf votes. However, once the time for the third block arrives, as long as f<1/2, even the slow attesters should agree that the XOX-chain has more votes for it, thus changing their head to the fast (normal) chain. The slow chain would not get attested.
Does recursive proximity to justification as fork choice rule change the game
For the definition, see here: Immediate message-driven GHOST as FFG fork choice rule
- f with faster time: XXO from above would get S(1-f) votes from the second slot, whereas XOX only Sf votes from the third block. [I assume that only attestations in the same slot and not from later slots would count toward justification]. The chain would therefore lose
- Same thing happens if f slow down their clocks
In conclusion, I currently think that the attestation committee approach makes changing the clock away from the majority, even with special fork choice rules, a bad strategy.
What we haven’t looked at show this could change with a distribution of clock skews/network delays. It’s well possible that this will favour some deviation from the network mean time.