Saltar al contenido
Boring Security
Perfil
Firmas y Aprobaciones

¿Por qué necesitamos WEth?

Quizá uno de los temas más confusos para nuestros estudiantes sea por qué necesitamos exactamente Wrapped ETH (WETH) y en qué se diferencia de ETH. Una de las primeras cosas que nos gusta aclarar a los estudiantes es cómo funcionan realmente los tokens. Los estándares de los tokens, los Marketplaces y el software de las billeteras ocultan lo que ocurre realmente cuando se interactúa con un token. Incluso aplicaciones como Revoke.Cash confunden a la gente, y constantemente se hacen preguntas como “¿Por qué no puedo revocar todas estas aprobaciones a la vez?”. Espero responder a algunas de estas preguntas y más en este artículo.

WETH_04.gif

Imagen tomada del desaparecido weth.io que ilustra el proceso de envoltura/desenvoltura.

¿Qué es Wrapped Ethereum (wETH)?

Wrapped Ethereum es la versión de ETH compatible con ERC-20 que utiliza un contrato no actualizable con cinco funciones básicas: Aprobar, Transferir, TransferirDesde, Depositar y Retirar. Cada token en la red Ethereum es sólo un contrato inteligente que puede o no ajustarse a un conjunto de estándares. Es importante tener en cuenta que cuando interactúas con un token en tu billetera, sólo puedes hacer con él lo que el contrato de ese token permite. Por lo tanto, siempre que gastes, muevas o des permiso a uno de tus tokens, debe ocurrir en el propio contrato. Esta es la razón por la que insistimos en que la gente use Marcadores para los contratos de los tokens que almacena en su billetera, ¡ya que te alertará si alguien está intentando interactuar con un contrato de algún token en particular en tu cartera! Para obtener más información sobre esto, echa un vistazo a nuestro artículo: Todo sobre las aprobaciones.

Nombre de la FunciónDescripción
AprobarPermite a las direcciones de contrato u otras direcciones EOA utilizar el wETH de tu billetera como si fuera propiedad de la dirección aprobada. Esto es comúnmente utilizado por los marketplaces para permitir a los usuarios pujar, etc.
TransferirCuando quieras mover tokens de tu billetera a otra, la acción recomendada es llamar a la función transferencia.
TransferirDesdeTransferirDesde puede utilizar el método Aprobación de arriba. Si una billetera tiene una Aprobación para usar tokens en su billetera, el método TransferirDesde es llamado para facilitar la acción de Transferencia. La diferencia se explica con un poco más de detalle en este artículo. También puedes llamar a este método cuando transfieras tokens, y a menudo los marketplaces te pedirán este método también, incluso cuando no estés haciendo una transferencia masiva.
DepositarLa función Depositar deposita ETH en el contrato Wrapped Ethereum, y mintea al depositante una cantidad igual de WETH.
RetirarLa función Retirar retira WETH del contrato Wrapped Ethereum, y devuelve el ETH que había en el contrato.

Envolver ETH en wETH le da a ETH compatibilidad ERC-20, lo que hace que ETH sea interoperable con otros tokens ERC-20 en la red Ethereum, y les permite ser intercambiados sin problemas, y tratados con los mismos métodos en protocolos DeFi populares como Uniswap, GMX o Aave. El término "envoltorio" es un término un poco equívoco, que en realidad sólo se refiere a intercambiar su ETH por wETH (o viceversa) a través de este contrato para tener un token que se puede utilizar de manera más fluida a través de plataformas DeFi, y para hacer pujas/ofertas en NFT Marketplaces como Opensea.

WETH_03.gif

Imagen tomada del ya desaparecido weth.io que ilustra el intercambio sin fricciones de tokens y WETH en Smart Contracts.

Por desgracia, no podemos hacerlo con el propio ETH, ya que existía antes de que se creara el estándar ERC-20. En este sentido, llamamos a ETH el "Prototoken de la red Ethereum". ¡Hubo una propuesta para hacer ETH ERC-20 compatible (que a su vez haría wETH innecesario), pero con los desafíos de UI / UX de carteras que tenemos hoy en día, y la proliferación de estafas billetera de drenaje, !nos alegramos de que no ha sucedido todavía! Más sobre esto más adelante...

ERC-20s y Un vistazo a Etherscan

Como hemos enlazado anteriormente, cada vez que interactuamos con un token, simplemente estamos interactuando con el contrato inteligente que lo controla. Abre Etherscan y mira algunos de los métodos disponibles en algunos de tus tokens ERC-20 favoritos. ¿Notas algo interesante en ellos?

  1. Apecoin: Fíjate que tiene un par de métodos que el contrato wETH no tiene. Muchos tokens ERC-20 tienen un método llamado "Increase Allowance". Esto es funcionalmente lo mismo que Aprobar para los contratos ERC-20 y ha estado en la cabeza de muchos hacks y estafas en DeFi, incluyendo el infame hack a BadgerDAO que embaucó a nuestro fundador en 2021. Porque incluso más de un año después, Metamask todavía muestra el método Increase Allowance como debería (captura de pantalla a continuación), lo que hace que sea difícil para los usuarios entender lo que está sucediendo. Hablamos más sobre esto en nuestro artículo Todo sobre las aprobaciones.

  1. USDC: Notará que este contrato es lo que llamamos un contrato "Proxy". Hablaremos de esto con más detalle en nuestra clase 102 y en un futuro artículo (¡lo enlazaremos aquí una vez hecho!), pero por ahora, sólo tienes que saber que son contratos que pueden ser "mejorados" y tener la lógica de su contrato ejecutada fuera del contrato principal.

  2. Echa un vistazo a Coingecko y haz clic en algunos nombres de monedas que reconozcas o no. Verás que en la parte superior, bajo el título hay Información, si se trata de un token ERC-20, tendrá un contrato con un enlace etherscan justo ahí. ¡Curiosea y explora!

¿Pero por qué no podemos usar simplemente ETH?

Un reto que me gusta plantear a nuestros alumnos es "Si quisieras ir directamente al "Contrato de ETH" para manipular ETH en Etherscan, ¿dónde irías?". Este contrato, por supuesto, no existe, y todo lo que ETH puede hacer está incorporado en el código central del propio Ethereum. ETH está limitado en lo que puede hacer. Puedes transferirlo, usarlo para pagar el gas y añadirlo como coste de un método (piensa en Mint, por ejemplo). Más allá de eso, no puedes hacer nada demasiado complicado con el.

WETH_02.gif

Este gráfico fue tomado por el ya desaparecido weth.io demostrando la Incompatibilidad ERC-20 de ETH

Si no tuviéramos Wrapped Ethereum (WETH), ¿cómo funcionarían los marketplaces de NFT? Bueno, para empezar, no podrías tener ofertas abiertas en múltiples plataformas con la misma cantidad de ETH. ¡Cualquiera que haya hecho alguna oferta en Blur sabe exactamente de lo que estoy hablando! En esa plataforma tienes que depositar ETH en su plataforma, lo que efectivamente te "bloquea" en ese ecosistema. El beneficio de wETH es que puedo hacer ofertas en múltiples marketplaces NFT a la vez, y sólo tengo el dinero retirado de mi billetera una vez que una oferta es aceptada en dicho mercado

La gran clave es que no puedes hacer una Aprobación en ETH, por lo que ninguna de estas ofertas es posible de hacer de la misma manera. Tendrías que bloquear ese dinero, que es efectivamente el sistema que Superrare y Foundation utilizan para su mecanismo de pujas/subastas. El beneficio de este método para la plataforma es que saben que las ofertas no pueden ser invalidadas en el último minuto revocando el acceso de tu wETH a la plataforma, eliminando la posibilidad de pujas falsas. Pero para el usuario medio, poder hacer ofertas simplemente realizando  una firma fuera de la cadena es mucho más preferible desde una perspectiva de ahorro de costes que enviar ETH cada vez. No hay dinero bloqueado, y una vez hecha la aprobación, ¡no hay que pagar más gas!

¿Beneficios en cuanto a ciberseguridad ETH<>WETH?

Tener WETH representa un enorme obstáculo de usabilidad y seguridad para web3 y para el blockchain de ethereum en general. Al principio de nuestros cursos gratuitos 102 en Boring Security, siempre hacemos la siguiente pregunta: "¿Puede alguien decirme qué &*$% es wETH y por qué lo necesitamos?". Obtenemos un montón de respuestas que van desde "porque los mercados lo utilizan" a "es más barato de usar" o "no lo sé hermano, dímelo". Es muy raro que un alumno acierte la respuesta correcta antes de que se la expliquemos. Hay que tener en cuenta que estos estudiantes suelen ser usuarios y compradores de NFT relativamente experimentados. Esto representa un enorme reto para el ecosistema.

Dicho esto, saber cómo utilizar aprobaciones, firmas y múltiples carteras de forma efectiva puede ayudarte a proteger tu WETH y otros tokens como NFTs, apecoin, etc. Además, es importante tener en cuenta que ETH NO PUEDE ser tomado de tu billetera a menos que a) estés jugando con la configuración avanzada del monedero y firmes un tipo de firma obsoleta, b) pierdas tu frase semilla, o c) pagues ETH como parte de un coste tx (por un método como "Mintear/Reclamar[estafa común]/Actualización de seguridad[estafa común]"). Entonces, ¿cómo usamos wETH correctamente? Pues bien:

  1. Sólo aprueba una pequeña cantidad de wETH al mercado que estás utilizando. Puedes editar la cantidad de wETH que puedes usar con el artículo enlazado. ¡Hacer cantidades infinitas es una mala práctica!

  2. Mantén la mayoría de tus fondos en ETH, ya que no pueden ser retirados de tu billetera con Aprobaciones y ETH es seguro siempre y cuando ¡tu frase semilla sea segura!

  3. Revoke.Cash y Approvals.xyz son buenos para comprobar periódicamente no sólo WETH, sino todos tus tokens. Ambos servicios actualizarán las cantidades aprobadas que queden (así que si originalmente aprobaste 5WEth a una plataforma, gastaste 3WEth, mostrará 2WEth aprobados) mientras que el comprobador de aprobación de tokens de etherscan no hace esto.

  4. Entender cómo funcionan las firmas. Es posible firmar sin saberlo si no tienes cuidado con qué y dónde firmas los mensajes. Aprende más sobre esto en nuestro artículo Firma Segura 101.

¿Quieres más información sobre WETH?

Este artículo de Cointelegraph explica cómo adquirirlo, además de explicarlo.

Un artículo de Opensea que explica wETH con capturas de pantalla en profundidad sobre cómo usarlo y adquirirlo en su marketplace.

¿Tienes alguna pregunta o quieres saber más sobre ciberseguridad en web3 y estar al día de la información, los fraudes y las tácticas de seguridad más recientes? Unéte a nosotros en un nuestro discordhttps://discord.gg/boringsecurity . BoringSecurityicon.png

Artículos