Ok, lets us try to define what the problem is:
There is a global set of validators that is registered in a smartcontract. Out of these validators we can assume that some (say less than 1/3) are Byzantine.
Validators register to be block proposers for a particular epoch.
We do not want them to be known until the epoch starts.
Once the epoch starts, it is ok for them to be known.
We do not want non-validators to register, and then do a no-show.
We want (?) to punish validators for registering and non-proposing.
I hope, that 1. ,2., 3., 4., 5, 6 correctly describe the goal …
Several things that I am confused about:
a) since some of the validators may be byzantine, they can potentially pass ring signature private keys to any number of non-validators. So it is not clear to me what the security of the ring signature is … Potentially any byzantine validator can pass her key to a 1000 non-validators, they can all sign up for the epoch and do a no-show, unless you ask for a deposit that is slashed in case of bad behavior (for instance no-show)
b) If 1/3 of the global set of validators is byzantine, how do we protect against a lot of byzantine validators massively registering for a particular epoch and then forming a majority …
I think generally there is some confusion in this thread, since it is not clear in general what the exact definition of the problem is …