Vitalik Buterin: so I realized that the viper contract may need a bit more work basically, the challenge is this scenario you see 2/3 prepares you commit then there is a short-range fork, and in the fork 2/3 prepares don’t appear until the epoch ends right now, those prepares cannot get included so you need to be able to process prepares even if they come too late at least for the purpose of evaluating slashing conditions on commits what this also implies is that you need to be able to tell at any point in the future whether or not a given validator was in a given dynasty.