Thanks, glad to hear this could be useful to your nullifier scheme at OpenPassport! To answer your questions:
It is possible to add and remove nodes via a resharing protocol! We designed a resharing protocol to be run at each epoch, upon which active nodes and nodes waiting to join can form the new n. All old shares are invalidated at each epoch, and the new shares are shares of the same private key. In this protocol, similar to the DKG, new n and t values are chosen, and corresponding new shares (k_i, K_i) are chosen for the i nodes in a set Q, for a new epoch e+1.
The bad news: the economic strategy actually doesn’t work because of resharing – for any secret sharing protocol where “standard” resharing exists, incl. Shamir’s, t nodes can just run a resharing protocol to get new shares which aren’t linked to a particular node. They can even frame nodes though, since by knowing the polynomial they can derive any node’s keyshare and thus “frame” innocent nodes for the collusion!
The good news: there are non-economic ways of protecting against collusion. My favorite is the idea of a semi-trusted node or a paranet. Say you have two parallel Mishti networks with keys k_1 and k_2 respectively. Recall their goal is just multiplying their key by an input point.
You request to both networks with input point P and recieve (k_1*P, k_2*P).
Even though the networks have not communicated, you can treat their output as if it came from a single network with public key K1+K2 by adding them to get
(k_1*P+k_2*P)
(k_1+k_2)*P
By treating both independent networks as a joint network, both must be corrupt and collude with each other. When one network is a single node, you have a case we are calling a “semi-trusted node.” It cannot see any secret but is trusted to not collude. Even if the decentralized network colludes, as long as this node doesn’t the collusion can’t do damage. Instead of a single node it could instead be a collection of credibly neutral organizations, like how drand is set up.
Now there are other ways too of preventing collusion, like enclaves, but I like this more.