But high liquidity is required to make it more effective, secure, and more resistant to Sybil Attacks. And how does it achieve a state of high liquidity? Reputation, and I'm sorry Kruw, but it needs a little "trust" from the users or else they won't send their outputs to the coordinator, and therefore might not have the required liquidity.
I don't know how many times I have to continue informing you that
there is no "trust" required. You don't send outputs to the coordinator, your coins don't move at all unless the coinjoin succeeds.
Technically, yes the system is trustless. But we're talking about the social trust required if to use the system or not. It's like those normies who question the feasibility of Bitcoin because "Satashi might come back and change the algorithm".
Satoshi can't change the code running on your node.
The only thing I find difficulty understanding is when listening for round updates. For example, can't the coordinator initiate different rounds in which they continuously use their inputs and only few of the registered inputs each time? For example:
- Alice registers 10 inputs.
- Bob registers 2 inputs.
- Charlie registers 3 inputs.
David (the coordinator) receives 15 inputs that want to be coinjoined. He initiates 15 coinjoins, each of which contains 14 of his inputs and one of the 15 of the registered inputs, resulting in de-anonymization. Why can't this occur?
This can't occur because users choose their own round. Plus, there would be no reason for a coordinator to run multiple rounds in parallel unless there's a MASSIVE amount of liquidity trying to register at the same time (for example, zkSNACKs splits into 2 rounds if over 400 inputs try to register to the same round).