Esta mañana leí el tuit de Justin. Me interesa poco el proceso judicial de ellos, pero hay una frase en el artículo de Justin que sí despertó mi curiosidad: dice que $USD1 podría haber una puerta trasera.

En realidad, si te refieres a congelar activos, no solo USD1 tiene esa función; los otros USDT y USDC también la tienen. Aunque no sea lo suficientemente descentralizado, para el ajetreado mundo cripto de Black Forest también es algo positivo.

Así que me interesé y hice una comparación: puse el contrato inteligente de USD1, USDT y USDC uno al lado del otro para ver hasta qué punto los emisores de estas tres stablecoins pueden hacer “gestión de riesgos” con los activos de los usuarios.

1. Los permisos de USDC son relativamente los más contenidos.

Circle puede agregar una dirección a la lista negra. Una vez incluida en la lista negra, esa dirección básicamente ya no puede enviar ni recibir USDC; al mismo tiempo, Circle también puede pausar todo el contrato de USDC.

Pero por el momento, el contrato de USDC no ofrece una función de administrador que pueda transferir directamente USDC desde una dirección en lista negra, y tampoco tiene una función como destroyBlackFunds de USDT, que pueda destruir todo el saldo de una dirección en lista negra directamente.

Eso sí, USDC es un contrato actualizable: Circle controla el Proxy Admin, lo que le permite reemplazar la implementación del contrato con una nueva. Por eso, lo que se dice aquí solo refleja lo que se puede hacer en la versión actual, y no significa que Circle vaya a dejar de añadir esas capacidades de permisos en el futuro.

2. El poder de USDT da un paso más allá.

Además de poder congelar cualquier dirección de USDT mediante addBlackList, Tether también cuenta con una forma muy directa de destruir fondos: destroyBlackFunds.

Después de que una dirección se agregue a la lista negra, Tether puede llamar a esta función para poner directamente a cero el saldo de USDT de esa dirección, y al mismo tiempo deducirlo del suministro total de USDT.

Así que aunque 10 millones de USDT estén en tu propia billetera fría y la clave privada la sepas solo tú, mientras Tether agregue esa dirección a la lista negra, los USDT en la cadena todavía pueden congelarse; y después incluso pueden ser destruidos.

3. Los permisos de USD1 son un poco diferentes.

USD1 también tiene permisos de administrador como congelar, descongelar, pausar, acuñar más y destruir. Pero en el contrato V2 que está en ejecución también hay dos funciones muy sensibles: drain. Con drain y reallocate, después de que una dirección se haya congelado, se puede transferir todo el USD1 de esa dirección a una dirección controlada por el administrador.

reallocate puede reasignar directamente el USD1 de una dirección congelada a otra dirección.

Así que si una billetera tiene 10 millones de USD1, los permisos del administrador no se limitan a impedir que esos 10 millones estén temporalmente inmovilizados. En cambio, una vez que se cumplan las condiciones de permisos del contrato, el administrador también puede transferir esos 10 millones de USD1 directamente desde la billetera original, o reasignarlos a otras direcciones.

Visto todo junto, más o menos es esto:

USDC: congelar

USDT: congelar + destruir

USD1: congelar + desviar + reasignar

Por supuesto, las tres son stablecoins centralizadas. USDT y USDC nunca se han comprometido a resistir la censura, así que que USD1 tenga permisos de administrador no tiene nada de particularmente especial.

USD1 es bastante especial en que ofrece un conjunto muy completo de funciones para gestionar posteriormente los saldos de usuarios ya congelados. El administrador no necesita la firma del usuario ni obtener la clave privada del usuario; puede cambiar, a nivel de contrato inteligente, el destino final de ese USD1.

Dicho de la manera más dura: el permiso máximo de USD1 permite transferir el USD1 de una cuenta a su propia billetera o a la de otra persona sin necesidad de contar con el consentimiento del usuario. No importa si tu billetera es fría o multisig: no hay forma de evitarlo.

En cuanto a la “puerta trasera” que dijo Justin, creo que hay que distinguirla.

Si con “puerta trasera” te refieres a que los desarrolladores esconden un fragmento de código malicioso que nadie conoce, por ahora no hay evidencia de que USD1 tenga una puerta trasera así. Las funciones freeze, drain y reallocate se pueden ver en contratos públicos.

Pero si la puerta trasera de la que habla la gente es que el dinero está, de hecho, guardado en la propia billetera en su cadena, y que la clave privada solo la controla uno mismo, mientras que el emisor aun conserva un conjunto de permisos de administrador especiales que le permiten congelar e incluso reasignar esos activos. Entonces sí, USD1 tiene un mecanismo así.

Claro, decir eso no significa que USD1 vaya a transferir los activos de los usuarios sin motivo, ni que USD1 oculte a propósito. Al fin y al cabo, el código está en el propio contrato: es una especie de “transferencia de fondos” que quizá no se explica con detalle, pero que efectivamente existe.

Además, cuando investigué, descubrí un problema aún más clave:

El código fuente de USD1 mostrado por el GitHub oficial de World Liberty no es el código que realmente ejecuta USD1 en la red en línea.

El repositorio oficial de GitHub de World Liberty no muestra funciones drain ni reallocate en el código fuente de USD1 que se publica actualmente, pero el USD1 que se ejecuta en la práctica, en StablecoinV2 después de la actualización de abril de 2026, ya puede ejecutar drain y reallocate sobre saldos congelados. Es decir, ya cuenta con esos dos permisos. Por lo tanto, si alguien solo mira el GitHub oficial, subestimará el control centralizado actual de USD1.