Seguridad al conectar una billetera cripto
Seguridad al conectar la billetera en palabras sencillas
La clave de tu dirección (el código secreto con el que la billetera aprueba las operaciones) se guarda en la billetera, y la firma de cualquier operación la pone la propia billetera con esa clave (qué es una clave privada). Un sitio solo puede enviar una solicitud. La billetera la abre en una ventana aparte con los detalles, y no pasa nada hasta que tocas «Confirmar».
Imagina una tienda en línea que te manda facturas, y las pagas tú, cada vez. Así funciona una billetera conectada. El permiso approve approve (permiso sobre un token) se parece a una suscripción con débito automático en esa tienda. La tienda cobra por su cuenta, dentro del monto que le permitiste, hasta que canceles la suscripción. Si la tienda resulta ser fraudulenta, la suscripción se convierte en su forma de quedarse con tu dinero. La firma permit arma esa misma suscripción por otro camino.
¿Es peligroso solo conectar la billetera a un sitio?
No. El sitio recibe solo tu dirección, y para mover tus tokens, es decir, la cripto emitida sobre una red ajena, como USDT, necesita una firma de permiso aparte2. Los registros de la red son públicos, por eso, a partir de la dirección, el sitio ve qué cripto hay en ella2.
Qué revisar antes de firmar
Antes de cada firma, revisa cinco cosas:
- la dirección del sitio en la barra del navegador coincide con la oficial, y lo abriste tú, sin un enlace de un anuncio o de un mensaje (cómo se reconocen los sitios clon lo cuenta el artículo sobre phishing y estafas);
- el tipo de solicitud coincide con lo que estás haciendo; por ejemplo, para iniciar sesión en un sitio no hacen falta permisos;
- entiendes a quién le das el derecho y para qué (si no, o si la billetera te advierte de un peligro, detente y sal del sitio);
- el token y el monto son los que necesita la operación;
- la pantalla de tu billetera de hardware, un dispositivo aparte para la clave, si tienes una, muestra los mismos detalles.
La billetera de hardware guarda la clave aparte de la computadora, pero eso no vuelve segura una firma sobre datos que no se entienden. Si en lugar de los detalles la pantalla muestra solo símbolos ilegibles, es una firma a ciegas firma a ciegas (blind signing), y esa firma la aprovechan los estafadores3. Cómo funciona una billetera así lo describe el artículo billetera cripto caliente y fría.
Conviene revisar también un sitio conocido, porque también lo pueden hackear. En diciembre de 2023, un código malicioso entró en un programa con el que los sitios conectan billeteras, y en esos sitios los usuarios recibían solicitudes de firma que se llevaban su cripto4.
Para los sitios nuevos y desconocidos, crea una billetera aparte y ten en ella un monto pequeño para la tarea concreta y un poco de la moneda de la red, es decir, su cripto propia para la comisión. Un permiso firmado desde esa billetera solo afecta a su dirección, y los ahorros que están en otra dirección quedan fuera de alcance. Dónde guardar los ahorros en sí lo explica la guía cómo guardar criptomonedas.
Cómo revocar un permiso
El permiso approve no tiene plazo de vigencia, y desconectar la billetera del sitio no lo anula. El permiso se quita con una operación aparte, la revocación (revoke)5. Los pasos son estos5:
- Abre un servicio para revisar permisos, por ejemplo la sección correspondiente del explorador de bloques Etherscan o el sitio Revoke.cash. dónde consultar: ethereum.org, «How to revoke smart contract access to your crypto funds», la lista de servicios
- Conecta la billetera y elige en el servicio la misma red que en la billetera.
- Busca el contrato inteligente cuyo permiso ya no necesitas y elige revocar.
- Confirma la revocación en la billetera. Es una operación en la red, y por ella se paga una comisión. dónde consultar: la billetera muestra el monto de la comisión antes de confirmar
- Unos minutos después, abre el servicio otra vez y comprueba que el permiso ya no está en la lista.
La revocación le prohíbe al contrato inteligente hacer nuevos retiros. Tus depósitos, préstamos y otras operaciones en ese sitio no los cierra5. Una firma permit sin usar se anula con una operación aparte que cuesta una comisión, y conviene hacerlo solo si estás seguro de haber firmado un permit en un sitio fraudulento6.
Qué hacer si firmaste un permiso para un sitio fraudulento
Revoca de inmediato el permiso que recibió ese sitio7. Transfiere el resto de la cripto de esa dirección a otra dirección tuya, sobre todo si firmaste un permit o no estás seguro de haber encontrado todos los permisos. Si escribiste la frase semilla en el sitio, la revocación no sirve de nada, y hay que pasar todo a una billetera nueva con una frase semilla nueva. Denuncia el robo ante la policía de tu país8. Una transferencia confirmada en la blockchain no se puede revertir, por eso no les pagues a quienes cobran por prometer que recuperarán lo robado. De ese engaño habla el artículo phishing y estafas.
Qué firmas pide el sitio después de la conexión
Las solicitudes de firma más comunes son de cuatro tipos: inicio de sesión, transferencia, permiso approve y firma permit. Al firmar el inicio de sesión, le confirmas al sitio que la dirección es tuya9. Una transferencia retira de inmediato de la dirección el monto indicado o pone en marcha una acción de un contrato inteligente, un programa dentro de la red, y la comisión de la red que se paga por ella la explica el artículo qué es el gas.
| Inicio de sesión | Transferencia | Approve | Permit | |
|---|---|---|---|---|
| ¿Se ve en un servicio de revisión de permisos? | no | no | sí | no1 |
| ¿Requiere comisión de la red al firmar? | no | sí | sí | no2 |
| ¿Da derecho a retirar el token después? | no | no | sí | sí |
Qué es el permiso approve
Approve es esa misma suscripción con la que el contrato inteligente del sitio retira por su cuenta ese token de tu dirección, varias veces, hasta agotar el monto indicado10. Un sitio de intercambio pide un approve antes de tu primera operación con un token nuevo para ti, porque sin el permiso su contrato inteligente no puede tomar el token que estás cambiando7.
¿Por qué la billetera advierte sobre un permiso ilimitado?
La billetera advierte porque un permiso ilimitado le permite al contrato inteligente llevarse de tu dirección todo ese token, sin importar cuánto haya ahora o cuánto llegue después7. Comparado con la suscripción, esto ya es un poder para disponer de todo el dinero en una sola divisa de tu cuenta. Los sitios de intercambio honestos a menudo piden un monto casi ilimitado para no pedir un permiso nuevo antes de cada operación, y los sitios fraudulentos usan el mismo truco7. No les des a los sitios acceso ilimitado: si la billetera te deja cambiar el monto en la ventana del permiso, escribe el que necesita la operación actual5.
Qué es la firma permit
Permit es una firma que le da a un contrato inteligente el mismo derecho sobre tu token que el approve, solo que sin una operación aparte en la red. Tú firmas un mensaje, y otra persona puede registrarlo en la red, por eso no necesitas tener moneda de la red para pagar la comisión11. Cuando en la billetera aparece la palabra Permit, te están pidiendo un permiso sobre un token, aunque el sitio lo llame inicio de sesión o verificación.
Mientras nadie haya usado la firma permit, no está en la blockchain, y no la detectan los servicios de revisión de permisos6.
Más detalles sobre los estándares de tokens, los campos de permit, Permit2 y las firmas para ETH
El approve funciona así en los tokens del estándar ERC-20 en Ethereum y en las redes compatibles, y en los tokens TRC-20 de la red Tron12. En qué se diferencian estos estándares lo explica el artículo estándares de tokens. Los usuarios con experiencia comparan la dirección del contrato inteligente al que le dan el derecho con la que figura en la documentación del sitio.
En el texto de una firma permit figuran la dirección a la que le das el derecho (spender), el monto (value) y el plazo de vigencia (deadline)11. Permit2 es un contrato inteligente común de permisos creado por el equipo del exchange Uniswap. Le das un permiso approve sobre un token una sola vez, y después los sitios que trabajan con Permit2 obtienen el derecho sobre ese token mediante una firma, con un monto y un plazo indicados13.
El permiso approve no puede retirar una moneda de red como ETH, porque funciona con tokens del estándar ERC-20, y ETH apareció antes de ese estándar y no se ajusta a él14. Una moneda así sale de la dirección con una transferencia que firmaste tú o con una firma que le pasa el control de la dirección a un contrato inteligente. Ese tipo de firma llegó con la actualización Pectra de Ethereum15. Si un sitio desconocido te propone «actualizar la cuenta» o «convertirla en una cuenta inteligente», no aceptes. Sobre WETH, la versión en token de ETH, sí se puede dar un permiso14.