Gemini dollar (GUSD), a USD-pegged stablecoin created by the Winklevoss-founded Gemini exchange, can be frozen by its custodian at any time, a researcher has found.
In a code review of the Gemini dollar smart contract, published in Good Audience, Alex Lebed demonstrates that the implementation of GUSD can become non-transferrable or frozen at any moment.
GUSD uses an ERC20Proxy contract that gives Gemini, as the custodian, the ability to upgrade the contract once every 48 hours, giving it the power to simultaneously render all tokens non-transferable.
“The custodian can generate infinite amount of tokens, and every 48 hours it can totally change the implementation, making all tokens non-transferable or pretty much anything else,” writes Lebed. “But this actually doesn’t matter. This project has another single point of failure: the company. They can just say one day: ‘you know what, sorry, we don’t want to change your tokens for dollars anymore’.”
Gemini explicitly mentions this feature in its whitepaper, claiming it is a way of reacting to unforeseen circumstances. “[Gemini can] pause, block, or reverse token transfers in response to a security incident (i.e., catastrophic event),” it states.
It adds that because issuing a cryptocurrency whose value is tied to physical assets involves some element of trust, that token must have oversight, “ensuring its integrity and engendering market confidence”.
Lebed admits the ability to freeze token transfers is considered best practice for evolving smart contracts, but argues people need to spread awareness of the feature “if you care about the future of truly decentralised and censorship-resistant monetary systems”.