@vbuterin: Two questions.
(1) For dynamic validator sets, do we want to change the definition of justification such that a checkpoint c is justified if and only if the votes forming the supermajority link to c are: (1) included in c's blockchain, and (2) before the child of c—i.e., before block number h(c) * 100 ? This would adjust the adjusted definition of justification to be analogous to the adjusted definition for finalization.
If so, it seems we should add a new bullet for justification for dynamic validator sets.
(2) In the paper, we have:
Due to network delays, it’s possible that clients will disagree whether a given piece of slashing evidence was submitted into a given chain ``on time’’ or as having accepted it too late.
I want to expand this a little bit. When we say “too late”, we mean whether the evidence transaction was submitted before/after a particular vote? I suppose I’d like more clarity on what exactly the rules are for an evidence transaction. Specifically, if I see a slashing evidence transaction, but only on chain A, and the violators are still building on chain B, do still I count it, or is slashing evidence considered “local” to its chain? I personally lean towards it being global.
Also, once I see a slashing evidence transaction, what precise actions am I, a validator, to take?