Open KeeJef opened 4 years ago
Summary of some discussion on this: Validator quorum "ownership" is a potential problem right now in that if someone gets 7/11 validation spots at some point (and this could happen at any time, so every block you'd get another chance) then they can effectively choose any random number they want for future quorum makeups, and thus could "take control" of all block generation by always putting in a random number that gives themselves 7/11 (or more) of future quorums.
Yeah i think the best idea is to incorporate the Validator ineligibility and Multi block seeding ideas, this should make it very unlikely for you to have successive majority swarm control
There is also a bit of a nothing-at-stake problem here for alternate block producers: since they get to pay themselves a block reward out of order, they will always want to push an alternative out. I think we might lessen this by stipulating that the alternative block still has to pay the primary producer the SN reward. Not sure who should get tx fees in such a scenario: if the original producers gets them then there is no incentive to include any txes, but if the alternate producer does then there is still an incentive (albeit smaller) to push an alt block aggressively.
Another point:
Instead of [H-11], [H-10], ..., [H-1] we should lag these heights, so that the quorum for height H is determined from [H-21], [H-20], ..., [H-11] which is very likely to be entirely (or at least mostly) checkpoint immutable. This also helps with a potential alternate block situation Kee and I discussed where some delay in quorum A (maybe a slow clock or node timeouts) and some very fast quorum B results in two competing blocks going out on the network, B0 that has either Ba or Bb following it. We can leave this resolved for the next quorum, C, but the problem becomes a lot easier to deal with if C doesn't depend on which of Ba or Bb becomes the dominate block. Instead the proposer proposes based on whatever he first received and the quorum validators can sign off on it (even if it is building on what they see as an alternate block). Then once C is done, B0 - Ba - Bc (or possible B0 - Bb - Bc) becomes the resolved chain that everyone moves to.
Request for comments on design of LIP-5