I was (re)reading the paper "Practical Covertly Secure MPC for Dishonest Majority–or: Breaking the SPDZ Limits".
One of the key points in this paper is that they present a covertly secure BGV key generation protocol (Protocol B1, p15). The public key is revealed, but the secret key is full-threshold secret-shared among the parties.
They achieve covert security by generating multiple keys, and then opening all-but-one (provably) at random and checking that the parameters were generated correctly.
I understand why this is necessary with the $\epsilon_{i, j}$. If the error parameters are too small, then the underlying lattice problem is not hard enough. But it seems this could be fixed by each party adding an error that is large enough for the lattice problem to be hard. Then the security would be satisfied even if $n-1$ parties submit 0 as their error value. And in the honest case the error would be more than necessary, but definitely within the tolerable amount since BGV supports a lot of (homomorphic) ciphertext additions without the ciphertexts stopping to be decryptable.
Why is it necessary to check the $s_{i, j}$ and $b_{i,j}$? Is there an attack that an adversary controlling up to $n-1$ parties could do where they pick bad $s_{i, j}$ or incorrectly compute $b_{i, j}$ such that they can decrypt ciphertexts without collaborating with the honest players? Or in other words, why is this protocol not secure against malicious adversaries?