How we achieved anonymity on Web3 token-based elections