
Una de las características distintivas de Web3 es brindar a los usuarios control total sobre la privacidad y cómo interactúan con sus plataformas. Aprenda a gestionar aprobaciones y permisos en MetaMask.
Incluso si tu experiencia interactuando con blockchains como Ethereum se limita a enviar transacciones simples entre billeteras, habrás aprobado, autorizado o firmado tu transacción. Esto simplemente significa que estás confirmando su envío a la cadena de bloques.
Este mismo proceso se aplica igualmente a la interacción con dapps en Web3: hay mucho que consentir, aprobar y permitir. Pero, ¿qué hay realmente en la aprobación de MetaMask?
Para desglosar esta pregunta, primero necesitaremos cubrir algunos aspectos centrales de la criptografía.
Claves y criptografía: ¿qué es la aprobación?
Toda su actividad criptográfica se basa en criptografía de clave pública. Esencialmente, cada billetera tiene una "clave" pública y privada coincidente generada cuando se crea la billetera. Imagine una puerta que requiere que usted abra un cerrojo y gire un pestillo para entrar, con una llave diferente para cada uno. Poseer una sola llave no te lleva a ninguna parte: necesitas el par.
Aunque es una simplificación excesiva, podemos aceptar el desafío de esta puerta hipotética y aplicar una lógica similar a su billetera criptográfica. Sus claves pública y privada son necesarias para realizar transacciones: la clave privada para que usted demuestre que inició la transacción y la clave pública para que el destinatario verifique el origen. Así es como funciona:
Decide enviar tokens a un contacto.
Como conoces la dirección de la billetera del destinatario, posees su clave pública; la primera es simplemente una versión hash (cifrada) de la segunda. La clave pública se utiliza para cifrar la transacción.
El destinatario, poseedor de la clave privada, recibe la transacción. Dado que sus claves van juntas, sólo la clave privada correspondiente (que sólo ellos poseen) puede descifrar la transacción enviada por su clave pública.
Hasta ahora, todo bien: hemos establecido cómo interactúan los pares de claves públicas y privadas para sustentar las transacciones de blockchain. Sin embargo, para aplicar este conocimiento a las aprobaciones/firmas, invertimos los roles de las claves: en cambio, el remitente cifra el mensaje con su clave privada. Dado que otros pueden encontrar fácilmente la clave pública del remitente (su dirección de billetera), las claves pueden combinarse para descifrar el mensaje, verificando la identidad del remitente. Sólo un par de claves coincidentes revelarán el contenido del mensaje, lo que significa que nadie puede cuestionar el origen.
Estampar una especie de firma en cada transacción garantiza la inmutabilidad, sin que nadie más que usted, el poseedor de su clave privada, pueda imitarlo de manera fraudulenta.
permisos de aplicaciones
El primero de los dos tipos principales de aprobación que encontrará es conectar su billetera a una dapp por primera vez, ya sea DeFi, un servicio como Etherscan o un mercado NFT.
Esto implica otorgar permiso a la dapp para recuperar la dirección de su billetera y es un requisito previo para interactuar con la plataforma. Esto también explica por qué lo verá denominado "un permiso" o "permisos"; sustantivos que describen exactamente lo que estás haciendo. En algunos casos, las dapps te solicitan que des permiso automáticamente; otros requieren que hagas clic en botones etiquetados como "conectar" o similares.
Dar su permiso, en nuestro caso, se verá así:

Aprobación de token
Ya sea que sea un nativo criptográfico experimentado o un principiante total, para interactuar con cualquier contrato inteligente, del tipo que ejecuta dapps (incluidos DeFi, juegos blockchain, compras NFT), debe aprobar su acceso a sus tokens.
Este proceso se conoce de diversas formas, como era de esperar, como aprobación simbólica. Lo que estás haciendo aquí es:
Permitir que el contrato inteligente acceda a su saldo de tokens. Piense en esto como la "etapa del contrato inteligente". MetaMask indicará claramente en este punto cuánto acceso estás cediendo: algunas dapps pueden especificar una cantidad finita de tokens, mientras que otras solicitan acceso ilimitado.
Confirmar que desea completar la transacción en cuestión: es decir, la "etapa de blockchain", donde permite que el contrato inteligente envíe la transacción a la red en su nombre.
Supongamos que desea realizar un intercambio de tokens en Uniswap, el mayor intercambio descentralizado (DEX) por volumen de operaciones. Cuando inicie un intercambio en un par de tokens por primera vez, se le pedirá que apruebe contratos inteligentes para el par de tokens ERC-20 que está intercambiando (aunque no para ETH en sí, que no necesita aprobación). Si bien esto solo ocurre la primera vez que opera con ese par, el siguiente paso (es decir, el paso dos anterior) será necesario cada vez, y significa que los protocolos de Uniswap ejecutarán su operación cuando lo solicite.
Este proceso se parecerá al siguiente:
En primer lugar, la plataforma le pedirá que apruebe el token. Haga clic en el mensaje y MetaMask entrará en acción.
MetaMask le mostrará la dirección del contrato del token, confirmando que solicita la capacidad de acceder y mover sus fondos. Para asegurarse de que está permitiendo el contrato correcto, vale la pena comparar la dirección del token con la que figura en el sitio web de la dapp; generalmente se puede encontrar en su centro de ayuda, base de conocimientos o documentos. Incluso tiene la opción de especificar hasta dónde desea que llegue este permiso; para hacerlo, presione "Editar permiso".
Esta opción le permite ver con precisión cuánto acceso está permitiendo. En este caso, Uniswap quiere acceder a una cantidad prácticamente ilimitada de stETH (1,1659), pero podemos poner un límite a este permiso si es necesario, utilizando el campo "Límite de gasto personalizado".
Con esta característica, MetaMask lo mantiene en control de sus aprobaciones de tokens: nunca necesita permitir ciegamente que una dapp acceda a más de lo que desea, ni asumir riesgos no deseados por probar una nueva plataforma.
La solicitud comercial en sí es donde entra en juego su par de claves: usted firma la transacción con su clave privada. Piense en firmar en la línea de puntos con un bolígrafo; aunque con la criptografía de clave pública, el riesgo de fraude de identidad es insignificante. En nuestro ejemplo, dar consentimiento significa que ha autorizado un contrato inteligente de Uniswap para mover ese token hacia y desde su billetera en su nombre. Cada vez que intenta iniciar un intercambio, el contrato inteligente puede verificar su "mensaje", es decir, las instrucciones para realizar el intercambio, y verificar que usted, como la única persona con acceso a su clave privada, fue el iniciador.
¿Cómo puedo gestionar aprobaciones y permisos?
Una de las características distintivas de Web3 es brindar a los usuarios control total sobre la privacidad y cómo interactúan con sus plataformas. El diseño sin custodia de MetaMask refleja esto. Sin embargo, sus principios se extienden a otras características; Entre ellos se encuentra la capacidad de ver y administrar aprobaciones de contratos inteligentes y dapp.
Ver sitios conectados en MetaMask
MetaMask incluye una función nativa para revisar a qué sitios está conectada su billetera. Se llama "Sitios conectados" (como probablemente se habrá dado cuenta, no nos gusta complicarnos demasiado). Igualmente sencillo es el método para eliminarlos.
Ver aprobaciones de tokens
Etherscan implementó recientemente un verificador de aprobaciones de tokens que le permite ver y revocar, bueno... aprobaciones de tokens.
Se muestra una lista de aprobaciones de tokens una vez que conecta MetaMask y le da permiso a Etherscan para ver su billetera. ¿Le resulta familiar? A continuación, podrá comprobar su relevancia actual y revocarla en consecuencia. De manera útil, también puede ver el activo específico involucrado, a quién aprobó (por ejemplo, qué dapp, al que se hace referencia por nombre) y la cantidad de tokens a los que aprobó el acceso.

También hay varias alternativas, incluidas aprobado.zone, Revoke y Token Allowance Checker (TAC).
No seas sincero
La agencia personal que conlleva la gestión de una billetera sin custodia como MetaMask es un arma de doble filo. Así como mantener segura su frase secreta de recuperación es su responsabilidad personal y requiere vigilancia contra los estafadores, usted es el único que puede administrar los permisos de dapp y las aprobaciones de contratos inteligentes. Si a esto le sumamos lo fácil que es crear un nuevo token ERC-20 (hay aproximadamente 485.000 tokens en el momento de escribir este artículo), los riesgos se vuelven muy evidentes. Si bien la mayoría se realizará de buena fe, cualquiera podría ser creada por un mal actor.
Las aprobaciones de tokens son un vector de ataque relativamente común para las estafas; simplemente consulte rekt.news para tener una idea de la escala y este artículo de Finematics para obtener una idea de los métodos. Como se mencionó anteriormente, las dapps deben especificar a cuántos tokens quieren acceder. MetaMask, por ejemplo, se asegurará de que esta información se muestre en la pantalla de aprobación antes de que usted confirme, brindándole una imagen más clara de exactamente para qué se está registrando.
Las solicitudes de acceso de las dapps pueden variar desde cantidades específicas y limitadas hasta completamente ilimitadas, donde el contrato inteligente puede extraer todo lo que quiera de su billetera. Fundamentalmente, el acceso ilimitado no es un problema ni una señal de alerta en sí mismo: muchas plataformas acreditadas, como los principales DEX, hacen esto para evitarle la molestia de tener que volver a aprobar con frecuencia si usa la dapp con regularidad. El problema viene con las dapps que solicitan acceso ilimitado a sus tokens con la expresa intención de robar.
Antes de aprobar el acceso de un contrato inteligente a cualquier cantidad de tokens, debes revisar una lista de verificación mental para evaluar el riesgo. A menudo verás el acrónimo "DYOR" mencionado en línea: hacer tu propia investigación antes de permitir el acceso es definitivamente un buen hábito a adoptar. Por ejemplo:
¿Qué tan conocido es el proyecto?
¿Cuánto tiempo ha existido?
¿Tiene un canal comunitario activo en Discord, Telegram o Twitter?
¿Los desarrolladores/propietarios de la dapp son transparentes y accesibles públicamente? en Twitter o Discord?
¿Ha tenido recientemente una brecha de seguridad? Vale la pena buscar aquí.
¿Se han sometido a una auditoría de contrato inteligente de terceros?
Verifique la dirección del contrato en el explorador de bloques. Algunos exploradores, como Etherscan, tienen un mecanismo de informes impulsado por el usuario donde se marcan direcciones fraudulentas (contratos o billeteras). Incluso si no están marcados, verifique si hay actividad sospechosa, como grandes entradas o salidas de efectivo en períodos cortos.
Para resumir:
En lugar de ser simplemente un gesto simbólico que indica consentimiento, las aprobaciones simbólicas son un aspecto mundano y esencial de la interacción con Web3. Algunos puntos clave:
La criptografía de clave pública se utiliza para autenticar sus permisos al interactuar con dapps.
Los permisos de Dapp implican permitir que las dapps vean el saldo de su billetera.
Las aprobaciones de tokens implican permitir que el contrato inteligente de una dapp acceda y mueva un token específico en su billetera.
Siempre investigue las credenciales de la dapp y asegúrese de que sea confiable antes de aprobar su contrato inteligente.