1) Dynamic User: We can observe from the Join algorithm that when a new user wants to join the system, he just needs
to use his public key and some random numbers to interact with C. What the C needs to do is to verify the new user’s
identity and validity, then issues a credential Cred for the new user, and adds the new user’s (id, Cred) to its UL. And we can observe from the Trace algorithm that when multiple messages are linked, C will ask each SM to prove that it has not sent these messages. Then each SM makes zero-knowledge proof to prove its validity. If a SM fails to prove that, C can find out the fault SM. Then, we can discover that when there are new users to join the system or fault users to be removed from the system, C doesn’t need to initial the whole system and it has little influence on other users.