¿Qué es un token ERC-20? Guía completa del estándar de tokens de Ethereum (2026)

— By Tony Rabbit in Tutorials

¿Qué es un token ERC-20? Guía completa del estándar de tokens de Ethereum (2026)

¿Qué es un token ERC-20? Guía completa del estándar de tokens de Ethereum: 6 funciones obligatorias, tokens principales, importación de MetaMask, seguridad (aprobar/revocar) y diferencias BEP-20 (2026).

Si alguna vez tuvo un token en Ethereum, negoció en un intercambio descentralizado, usó un moneda estable como USDC, o interactuó con un protocolo DeFi, ha utilizado un token ERC-20. Este estándar único impulsa a la gran mayoría de todos los criptoactivos que no son monedas blockchain nativas. Desde Tether y Chainlink hasta Uniswap y Shiba Inu, casi todos los tokens que puedes nombrar en Ethereum siguen el mismo conjunto de reglas: la especificación ERC-20.

ERC-20 es un estándar técnico que define cómo debe comportarse un token fungible dentro de un contrato inteligente en Ethereum. Le dice a cada billetera, intercambio y protocolo DeFi exactamente qué funciones debe exponer un token, qué eventos debe emitir y cómo deben funcionar las transferencias. Esta previsibilidad es la razón por la que MetaMask puede mostrarle cualquier saldo de token, por qué Uniswap puede enumerar un nuevo token en minutos y por qué los desarrolladores pueden crear primitivas financieras complejas sobre cualquier activo compatible sin escribir un código de integración personalizado.

En esta guía aprenderá qué es realmente ERC-20 a nivel técnico, la diferencia entre funciones obligatorias y opcionales, el famoso patrón de aprobación y transferencia desde que impulsa DeFi, cómo identificar un contrato ERC-20 en Etherscan, cómo compararlo con otros estándares de tokens como ERC-721 y ERC-1155, cómo agregar tokens personalizados a MetaMask y qué riesgos debe tener en cuenta al otorgar aprobaciones. Al final, comprenderá el estándar lo suficientemente bien como para leer un contrato de token, evaluar su seguridad y usarlo con confianza en todo el ecosistema Ethereum en 2026.

Etherscan token tracker page showing ERC-20 contract details for a popular Ethereum token with holder count and transfers
Rastreador de tokens Etherscan que muestra detalles del contrato ERC-20, titulares e historial de transferencias.

¿Qué es un token ERC-20?

ERC-20 significa Solicitud de comentarios de Ethereum, número 20. Fue propuesto por el desarrollador Fabian Vogelsteller en noviembre de 2015 como una forma de estandarizar el comportamiento de los tokens en Ethereum. Antes de que existiera ERC-20, cada token en Ethereum se implementaba de manera diferente, lo que significaba que las billeteras, los intercambios y otros contratos tenían que escribir código personalizado para interactuar con cada uno. El resultado fue fragmentación, errores y una barrera importante para la interoperabilidad.

La propuesta de Vogelsteller finalmente se convirtió en EIP-20 (Propuesta de mejora de Ethereum 20) y se finalizó en septiembre de 2017. El nombre "ERC" se mantuvo a pesar de que la designación formal es EIP-20. El estándar es intencionalmente mínimo. Define un conjunto de funciones y eventos que cualquier contrato de token fungible debe implementar, pero deja la lógica subyacente en manos del desarrollador. Esto significa que un token ERC-20 puede tener un suministro fijo, un suministro acuñable, mecánicas de quema, impuestos sobre transferencias o cualquier otro comportamiento personalizado, siempre que exponga la interfaz estándar.

En esencia, un contrato ERC-20 es esencialmente un contrato inteligente que mantiene un libro de contabilidad de saldos. Dentro del contrato hay un mapeo (una tabla clave-valor) que almacena cuántos tokens posee cada dirección. Cuando "envías" un token ERC-20 a alguien, en realidad no estás transfiriendo ningún objeto. Está llamando a una función en el contrato de token que disminuye su saldo en cierta cantidad y aumenta el saldo del destinatario en la misma cantidad. El token nunca sale del contrato. El contrato simplemente actualiza su libro de contabilidad interno.

Este es un concepto fundamental de entender. a diferencia monedas como ETH o BTC, los tokens ERC-20 no se almacenan en su billetera en ningún sentido significativo. Su billetera simplemente rastrea qué contratos de tokens han registrado su dirección como si tuviera saldo. Si se destruyera un contrato de token (lo cual es posible con ciertas funciones de administración), sus tokens desaparecerían efectivamente, aunque su clave privada siga siendo válida.

Por qué es importante un estándar de token

La razón por la que ERC-20 se convirtió en uno de los estándares más importantes en la historia de las criptomonedas es la interoperabilidad. Debido a que cada token compatible expone las mismas seis funciones y emite los mismos dos eventos, cualquier billetera, intercambio, oráculo, indexador o protocolo DeFi puede interactuar con cualquier token ERC-20 sin necesidad de conocimiento previo de ese token. Uniswap no necesita saber qué hace internamente un token específico. Solo necesita conocer la dirección del contrato y puede llamar inmediatamente. transferFrom() para mover tokens durante un intercambio.

Esta estandarización es lo que permitió la explosión de las finanzas descentralizadas a partir de 2020. Los protocolos de préstamos como Aave y Compound funcionan con miles de tokens diferentes porque todos se comportan de la misma manera a nivel de interfaz. Tokenomía y los experimentos económicos se volvieron baratos de ejecutar, porque implementar un nuevo token solo requiere copiar código probado en batalla. Los exploradores de bloques, los rastreadores de carteras, el software de impuestos y los paneles de análisis pueden indexar cualquier token ERC-20 automáticamente escuchando los mismos eventos estandarizados.

Sin un estándar de token, el ecosistema Ethereum tal como lo conocemos no existiría. Cada token necesitaría integraciones de billetera personalizadas, cada DEX necesitaría un código personalizado por activo y la fricción de lanzar un nuevo proyecto sería enorme. ERC-20 resolvió este problema con una interfaz notablemente simple: seis funciones requeridas y dos eventos requeridos.

Las 6 Funciones Obligatorias ERC-20

La especificación ERC-20 define seis funciones que todo contrato de token compatible debe implementar. Estas funciones son la interfaz pública con la que interactúa todo el código externo. Si a un contrato le falta incluso uno de estos, técnicamente no cumple con ERC-20 y muchas billeteras o protocolos pueden negarse a trabajar con él.

FUNCIÓN 1
suministro total()

Devuelve el número total de tokens existentes actualmente. Utilizado por exploradores, calculadoras de capitalización de mercado y herramientas de auditoría.

FUNCIÓN 2
saldoDe(dirección)

Devuelve el saldo del token para una dirección Ethereum específica. Así es como su billetera sabe cuánto token tiene en su poder.

FUNCIÓN 3
transferencia(a, importe)

Mueve una cantidad específica de tokens desde la dirección de la persona que llama directamente a otra dirección. La operación de envío más sencilla.

FUNCIÓN 4
aprobar(gastador, monto)

Autoriza a otra dirección (a menudo un contrato inteligente) a gastar hasta una cantidad específica de tus tokens en tu nombre.

FUNCIÓN 5
asignación(propietario, gastador)

Devuelve el monto restante que un gastador todavía puede retirar del saldo del propietario. Crucial para el seguimiento de aprobaciones activas.

FUNCIÓN 6
transferenciaDesde(de, a, importe)

Mueve tokens de una dirección a otra usando una asignación previamente aprobada. La base de todos los swaps DEX y depósitos DeFi.

Las tres primeras funciones, totalSupply(), balanceOf(), y transfer(), son los conceptos básicos de la contabilidad de tokens. Permiten que cualquiera lea el suministro, verifique los saldos y envíe tokens directamente. Si ERC-20 solo tuviera estos tres, ya sería útil, pero DeFi como lo conocemos sería imposible.

Las siguientes tres funciones, approve(), allowance(), y transferFrom(), forman el patrón de gasto delegado. Permiten que un usuario autorice un contrato inteligente para extraer tokens de su billetera hasta un límite definido. Esto es lo que permite que los DEX, los protocolos de préstamos, los contratos de participación y los puentes funcionen sin tener que retener sus tokens por adelantado. Profundizaremos en este patrón en detalle más adelante porque también es la fuente de la mayoría de los incidentes de seguridad relacionados con ERC-20.

Las 3 funciones opcionales: nombre(), símbolo(), decimales()

Además de las seis funciones obligatorias, la especificación ERC-20 define tres opcionales. Técnicamente no son necesarios para el cumplimiento, pero en la práctica todos los tokens modernos los implementan porque las billeteras y los intercambios dependen de ellos para fines de visualización.

nombre() devuelve el nombre legible por humanos del token, como "USD Coin" o "Chainlink Token". Esta es la cadena que ves en MetaMask y otras billeteras. símbolo() devuelve el ticker corto, como "USDC" o "LINK", normalmente de tres a cinco caracteres. decimales() devuelve el número de decimales que utiliza el token, que es como el contrato convierte entre los valores enteros que almacena internamente y las cantidades legibles por humanos que ves en la interfaz.

La función decimal merece una explicación más profunda porque es fuente de confusión frecuente. Los contratos inteligentes de Ethereum no pueden manejar de forma nativa números fraccionarios. Todos los saldos se almacenan como números enteros. Para representar fracciones, los tokens ERC-20 utilizan un multiplicador definido por el valor de los decimales. La convención de Ethereum es de 18 decimales, la misma que usa el propio ETH con wei. Entonces, cuando ve un saldo de 1 ENLACE, el contrato en realidad almacena el número entero 1.000.000.000.000.000.000. Su billetera se divide por 10 elevado a 18 antes de mostrarla.

No todos los tokens utilizan 18 decimales. USDC y USDT, por ejemplo, utilizan sólo 6 decimales porque están vinculados al dólar estadounidense y no necesitan una precisión extrema. WBTC utiliza 8 decimales para igualar la precisión satoshi de Bitcoin. Algunas fichas experimentales utilizan 0 decimales para que no sean divisibles. Por eso es fundamental comprobar siempre el valor de los decimales antes de hacer cálculos con los saldos de tokens sin procesar. Un error común en las primeras etapas de DeFi era asumir 18 decimales cuando el token real usaba 6 u 8, lo que generaba transferencias con un factor de error de 100 mil millones o más.

Eventos ERC-20: Transferencia y Aprobación

Las funciones son la forma en que el código externo llama a un contrato. Los eventos son la forma en que un contrato notifica al mundo exterior que algo ha sucedido. El estándar ERC-20 define dos eventos obligatorios que cada token debe emitir. Estos eventos son la base de cómo los exploradores de bloques, los indexadores y las herramientas de análisis rastrean la actividad de los tokens.

El primero es event Transfer, emitido cada vez que los tokens se mueven entre dos direcciones, incluida la acuñación (desde la dirección cero) y la quema (a la dirección cero). Estos registros capturan cada transferencia en el historial completo de un token, y así es exactamente como Etherscan y DexTools pueden mostrarle un historial de transferencia completo para cualquier token ERC-20, sin tener que rastrear toda la cadena de bloques. Simplemente se suscriben a los eventos de transferencia de cada contrato de token y los almacenan en una base de datos indexable.

El segundo es event Approval, emitido cada vez que un propietario autoriza a un gastador a través de la función de aprobación. Herramientas como Revoke.cash, Token Approval Checker de Etherscan y varias extensiones de seguridad de billetera dependen de estos eventos para mostrarle la lista completa de contratos que actualmente tienen permiso para gastar sus tokens. Sin eventos estandarizados, este tipo de monitoreo entre protocolos sería imposible.

Esta arquitectura impulsada por eventos tiene un hermoso efecto secundario. Debido a que los eventos se emiten en cadena y se almacenan en recibos de transacciones, son permanentes, transparentes y criptográficamente verificables. Cualquier herramienta de análisis puede reconstruir de forma independiente el historial completo de cualquier token reproduciendo sus eventos desde el bloque de implementación del contrato. Este es uno de los superpoderes subestimados de las cadenas de bloques públicas y los estándares construidos sobre ellas.

MetaMask wallet interface showing custom ERC-20 token import flow with contract address symbol and decimals fields
Cartera MetaMask que muestra la pantalla de importación de tokens personalizados con dirección de contrato, símbolo y decimales.

El patrón aprobar() / transferirDesde()

Si solo aprendes profundamente una cosa sobre ERC-20, hazlo con este patrón. El flujo de aprobación y transferencia es lo que permite que DeFi exista, y también es lo que causa la mayoría de los drenajes de billetera y los exploits de aprobación cuando se usan descuidadamente.

El problema que resuelve el patrón es este. Los contratos inteligentes no pueden acceder a su billetera y tomar tokens. Necesitan permiso. Pero tampoco puedes enviar tokens a un contrato y esperar que sepa qué hacer con ellos, porque el simple La función transfer() no activa ninguna devolución de llamada ni notifica al destinatario que llegaron los fondos. La solución es un modelo de autorización delegada de dos pasos.

En el paso uno, el usuario llama approve() en el contrato de token, que otorga a un gastador específico (a menudo un enrutador DEX o un grupo de préstamos) el derecho a gastar hasta una cantidad definida de sus tokens. Esto es lo que firmas cuando MetaMask te pide que apruebes un nuevo token antes de tu primer intercambio. En el paso dos, cuando realmente activa el intercambio, el contrato DEX llama transferFrom() en el contrato de token, que verifica la asignación y mueve tokens desde su dirección a donde el DEX los necesite, todo en una sola transacción atómica. Para obtener más contexto sobre este paso de firma, lea nuestro análisis profundo sobre el transacción de aprobación.

// Paso 1: El usuario autoriza al enrutador DEX a gastar hasta 1000 USDC
USDC.aprobar(enrutador uniswap, 1000 * 10**6);
// Paso 2: el usuario activa un intercambio. El enrutador extrae tokens mediante transferFrom.
enrutador uniswap.intercambiarTokensExactPorTokens(montoEn, ...);
// Internamente el router ejecuta:
USDC.transferirDesde(usuario, grupo, importeIn);
// El contrato de token verifica la asignación[usuario][enrutador] >= cantidadIn,
// disminuye esa asignación y mueve el saldo al grupo.
⚠ Nota de seguridad: Muchos DEX solicitan aprobaciones ilimitadas (2^256 - 1) para ahorrar gasolina en futuros intercambios. Si alguna vez se explota el contrato de gasto, todos los tokens de ese tipo en su billetera pueden drenarse sin mayor consentimiento. Revise siempre los montos de aprobación y revoque las aprobaciones obsoletas.

Este patrón es elegante porque separa la autorización de la ejecución. Usted autoriza una vez, luego puede realizarse cualquier cantidad de operaciones contra esa asignación hasta que se consuma por completo o se revoque. También es reutilizable, lo que significa que la misma aprobación funciona para el siguiente swap, el siguiente depósito de préstamo, etc., hasta que lo canceles. La desventaja, como indica la advertencia anterior, es que las aprobaciones son permisos que persisten hasta que usted los revoca explícitamente, incluso si deja de usar el protocolo por completo.

Cómo identificar un token ERC-20 en Etherscan

Etherscan es el explorador de bloques más utilizado para Ethereum y ofrece potentes herramientas para inspeccionar contratos ERC-20. Saber leer la página Etherscan de un token es una de las habilidades más valiosas para cualquiera que interactúe con nuevos tokens, ya sea comprando monedas meme, investigando nuevos lanzamientos de DeFi o auditando una cartera.

Cuando pega una dirección de contrato de token en Etherscan, accede a la página de seguimiento de tokens. Esta página muestra automáticamente el nombre del token, el símbolo, el suministro total, el número de titulares y las transferencias totales, todo lo cual Etherscan deriva de las funciones y eventos estándar ERC-20 que analizamos anteriormente. La página se genera automáticamente para cualquier contrato ERC-20 que cumpla, sin intervención manual por parte del equipo del proyecto. Ese es el poder de un estándar.

La pestaña Contrato es donde se encuentra la información más útil. Si los desarrolladores han verificado su código fuente, puedes leer el contenido real. Solidity código que define el comportamiento del token. Esto es fundamental porque el estándar sólo aplica la interfaz, no lo que sucede dentro de cada función. Un token puede implementar transfer() de una manera que requiere un impuesto del 10 por ciento, incluye en la lista negra ciertas direcciones, pausa las transferencias por completo o algo peor. Siempre verifique el código fuente verificado antes de interactuar con cualquier token no establecido.

La sección Leer contrato le permite llamar a las funciones de visualización directamente desde su navegador, sin necesidad de realizar ninguna transacción. Podrás verificar el Oferta total, consultar saldos de cualquier dirección o consultar provisiones. La sección Escribir contrato le permite llamar a funciones de cambio de estado si conecta una billetera, pero la mayoría de los usuarios las activarán a través de DEX o interfaces de billetera en lugar de hacerlo directamente. La pestaña Titulares muestra la distribución de la propiedad del token, lo cual es esencial para evaluar el riesgo de concentración antes de comprar un nuevo token. Si las diez carteras principales poseen el 90 por ciento del suministro, eso es una señal de alerta.

ERC-20 frente a otros estándares de tokens

ERC-20 es el estándar de token Ethereum más famoso, pero está lejos de ser el único. Diferentes casos de uso requieren diferentes propiedades y la comunidad Ethereum ha desarrollado una familia de estándares relacionados. Comprender cómo se comparan ayuda a aclarar qué es y qué no es ERC-20.

Estándar Tipo Caso de uso Ejemplos
ERC-20 Fungibles Monedas, monedas estables, gobernanza, tokens de utilidad USDC, UNI, ENLACE
ERC-721 No fungible Activos digitales únicos, arte, coleccionables, identidad CriptoPunks, BAYC
ERC-1155 Ficha múltiple Mixto fungible y no fungible en un solo contrato Artículos de juego, ediciones
ERC-4626 Bóveda tokenizada Activos productivos y contabilidad de acciones Anhelar bóvedas, sDAI

Los tokens ERC-20 son fungibles, lo que significa que cada unidad es idéntica e intercambiable. Un USDC es igual que cualquier otro USDC. ERC-721, el estándar para NFT, es todo lo contrario. Cada token tiene una identificación única y propiedades únicas. No puedes intercambiar un CryptoPunk por otro sin un acuerdo explícito, porque no son intercambiables. ERC-1155 es un híbrido que permite que un solo contrato administre tokens fungibles y no fungibles, lo que lo hace especialmente popular en juegos donde un solo contrato puede manejar monedas de oro (fungibles) junto con espadas legendarias (no fungibles).

ERC-4626 es uno de los estándares más nuevos, finalizado en 2022 y ampliamente adoptado en 2024. Es un estándar contenedor construido sobre ERC-20. Una bóveda 4626 acepta depósitos de un token ERC-20 específico y emite acciones que representan la propiedad del grupo subyacente. Las bóvedas de Yearn Finance, el sDAI de MakerDAO y muchos tokens de recibos del mercado de préstamos siguen este patrón. Debido a que 4626 hereda de ERC-20, cada acción de bóveda es en sí misma un token ERC-20 totalmente transferible, lo que significa que puede colocar recibos que generen rendimiento en grupos de Uniswap, usarlos como garantía en otros lugares, etc.

Principales tokens ERC-20 en 2026

El ecosistema ERC-20 incluye decenas de miles de tokens, pero un pequeño conjunto de ellos concentra la gran mayoría del valor y volumen. Estos son algunos de los tokens ERC-20 más importantes que debe tener en cuenta en 2026.

USDC

Moneda estable en USD regulada por Circle, respaldada 1:1 por efectivo y bonos del Tesoro a corto plazo.

USDT

Tether, la stablecoin más negociada del mundo por volumen diario.

DAI

La moneda estable descentralizada de MakerDAO, vinculada suavemente al USD a través de posiciones de deuda colateralizada.

UNI

Token de gobernanza de Uniswap, controla cambios de tarifas y actualizaciones de protocolo.

AAVE

Gobernanza del protocolo Aave, también utilizada para apostar en el módulo de seguridad.

ENLACE

Token de red Oracle Chainlink, la columna vertebral de los precios en DeFi.

SHIB

Shiba Inu, una de las monedas meme más grandes por capitalización de mercado y número de titulares.

PEPE

Token de meme con temática de rana lanzado en 2023, ahora un buque insignia de la cultura de los memes en Ethereum.

Note la diversidad. Las monedas estables como USDC, USDT y DAI son los caballos de batalla de la liquidación en cadena. Los tokens de gobernanza como UNI y AAVE distribuyen el control de los principales protocolos. LINK impulsa la infraestructura crítica. SHIB y PEPE demuestran que incluso los tokens sin utilidad formal pueden alcanzar límites de mercado de miles de millones de dólares cuando el meme capta la atención. Cada uno de ellos utiliza exactamente la misma interfaz ERC-20, por lo que todos funcionan en MetaMask, Uniswap y DexTools sin ninguna integración personalizada.

Cómo agregar un ERC-20 personalizado a MetaMask

Aunque MetaMask muestra automáticamente los tokens ERC-20 más populares, los tokens nuevos o menos comunes requieren importación manual. El proceso es rápido una vez que conoce los pasos y funciona de la misma manera para cualquier ERC-20 compatible en Ethereum o cualquier red compatible con EVM.

Primero, busque la dirección oficial del contrato de una fuente confiable. El sitio web oficial del token, la página Etherscan verificada del proyecto, DexTools o CoinGecko son todos confiables. Nunca copie una dirección de contrato de un mensaje aleatorio de Telegram o una respuesta de Twitter. Los estafadores suelen desplegar tokens falsos con nombres idénticos a los legítimos, con la esperanza de que los usuarios importen el contrato equivocado y pierdan fondos.

A continuación, abra MetaMask y asegúrese de estar en la red correcta. Los tokens ERC-20 en la red principal de Ethereum son contratos diferentes de sus contrapartes en Arbitrum, Base o Polygon. Haga clic en la pestaña Tokens, luego haga clic en "Importar tokens" en la parte inferior de la lista. Pegue la dirección del contrato en el campo de dirección. MetaMask debería completar automáticamente el símbolo y los decimales consultando el contrato. Si esos campos permanecen en blanco, es posible que el contrato no cumpla totalmente con ERC-20, lo que en sí mismo es una señal de advertencia que vale la pena investigar.

Confirmar la importación. El token ahora aparece en la lista de tokens de su billetera y su saldo se muestra según el estado actual del contrato. Recuerda que importar un token no afecta tu saldo. Los tokens ya existen en el contrato bajo su dirección. La importación simplemente le dice a MetaMask qué contratos consultar y mostrar. Puede eliminar un token personalizado en cualquier momento sin perder nada, porque, en primer lugar, los tokens nunca vivieron en MetaMask.

ERC-20 en otras cadenas

ERC-20 comenzó en Ethereum, pero su diseño es tan simple y útil que se ha copiado en todas las cadenas de bloques compatibles con máquinas virtuales Ethereum que existen. BNB Smart Chain llama a su versión BEP-20, pero es funcionalmente idéntica, con las mismas seis funciones y los mismos dos eventos. Polygon, Arbitrum, Optimism, Base, Avalanche C-Chain, Fantom y docenas de otras cadenas EVM utilizan el estándar ERC-20 de forma nativa.

Es por eso que un token como USDC puede existir en Ethereum, Arbitrum, Base, Polygon, Optimism, Avalanche y muchas otras cadenas. Cada versión es un contrato ERC-20 separado en su cadena respectiva, a menudo vinculado al contrato canónico de la red principal de Ethereum, pero por lo demás se comporta de manera idéntica. Las billeteras como MetaMask manejan cada versión por separado y siempre debes confirmar en qué cadena se encuentra un token antes de enviarlo. El puente de tokens entre cadenas utiliza mecanismos completamente diferentes, que a menudo involucran patrones de bloqueo y acuñación que cubrimos en nuestros tutoriales de puentes.

La blockchain TRON también tiene una versión USDT llamada TRC-20, que tiene un propósito similar al ERC-20 pero no es técnicamente compatible. TRON no es una cadena EVM, por lo que sus contratos inteligentes utilizan diferentes códigos de bytes y convenciones ABI. El resultado es que USDT TRC-20 y USDT ERC-20 no son intercambiables. Enviar TRC-20 a una dirección ERC-20 (o viceversa) normalmente resulta en la pérdida de fondos. Este tipo de confusión entre cadenas es una de las formas más comunes en que los usuarios pierden dinero en criptomonedas.

Seguridad: el exploit Approve y por qué debería revocar aprobaciones antiguas

El patrón de aprobación es una de las características más poderosas de ERC-20 y también su mayor punto débil de seguridad. Cada vez que intercambias un DEX, depositas en un protocolo de préstamo o interactúas con cualquier contrato inteligente de DeFi, otorgas permiso a ese contrato para mover tus tokens. Estas aprobaciones persisten indefinidamente a menos que usted las revoque explícitamente. Muchos usuarios tienen cientos de aprobaciones olvidadas de protocolos que utilizaron hace años.

Revoke cash dashboard listing active ERC-20 token approvals across multiple Ethereum dapps with revoke buttons
Panel de control de Revoke.cash que muestra las aprobaciones ERC-20 activas en múltiples protocolos DeFi.
⚠ Advertencia de seguridad crítica: aprobaciones infinitas

La mayoría de los protocolos DeFi solicitan aprobaciones por la cantidad máxima posible (2^256 menos 1) para ahorrar gas en operaciones futuras. Si el contrato de protocolo es posteriormente explotado, pirateado o contiene una vulnerabilidad, un atacante puede drenar cada token de ese tipo de cada billetera que lo haya aprobado. Esto ha sucedido repetidamente. Siempre periódicamente revocar aprobaciones antiguas usando Revoke.cash o el Comprobador de aprobación de tokens de Etherscan.

La buena noticia es que revocar aprobaciones es sencillo. Herramientas como Revoke.cash mostrarán todas las aprobaciones activas en su billetera en todas las principales cadenas EVM, y con un clic se envía una transacción que restablece la asignación a cero. La mala noticia es que revocar cuesta gas, por lo que los usuarios tienden a ignorarlo hasta que es demasiado tarde. Un hábito razonable es revisar las aprobaciones cada pocos meses, especialmente después de utilizar protocolos nuevos o experimentales, y nunca aprobar cantidades ilimitadas en un protocolo en el que no confíe plenamente.

Una segunda clase de riesgo relacionado con la aprobación implica ataques de firmas de phishing. La extensión del permiso EIP-2612 (que cubrimos en la siguiente sección) permite a los usuarios aprobar tokens con una firma fuera de la cadena en lugar de una transacción dentro de la cadena. Los sitios de phishing engañan a los usuarios para que firmen permisos que parecen inofensivos pero que en realidad otorgan al atacante permiso para drenar sus tokens. Lea siempre lo que está firmando y trate cualquier mensaje de "reclamo gratuito" o "verificar billetera" con extrema sospecha.

La evolución: ERC-777, ERC-1363, EIP-2612, ERC-4626

ERC-20 es intencionalmente mínimo y, a lo largo de los años, la comunidad ha desarrollado extensiones para abordar sus limitaciones. Ninguno de estos ha reemplazado completamente al ERC-20, pero todos son un contexto importante para comprender el panorama moderno de los tokens Ethereum.

ERC-777 se propuso en 2017 como un estándar de token fungible más avanzado. Introdujo ganchos que permitían que los contratos reaccionaran a los tokens entrantes, eliminando la necesidad de aprobar y transferir en dos pasos desde el baile. Tenía un diseño elegante pero, en última instancia, controvertido. Los ganchos de reentrada resultaron peligrosos cuando se combinaron con contratos ingenuos de DeFi, y un notable exploit de Uniswap V1 que involucraba un token ERC-777 llevó a que la mayoría de los protocolos principales rechazaran explícitamente los tokens 777. Como resultado, la adopción nunca despegó.

ERC-1363 es una extensión de token pagable que agrega Funciones transferAndCall , que permiten que una sola transacción transfiera tokens y active una acción en el contrato receptor. Es totalmente compatible con ERC-20, ya que simplemente agrega nuevas funciones además. La adopción ha sido modesta pero está creciendo en protocolos más nuevos.

EIP-2612 introdujo la función de permiso, una forma de otorgar aprobaciones mediante firmas fuera de la cadena en lugar de transacciones dentro de la cadena. Esto significa que un usuario puede firmar un mensaje en su billetera y un tercero puede enviar esa firma al contrato del token junto con la transferencia real, todo en una sola transacción. El usuario no paga gasolina por la aprobación. El permiso es ampliamente compatible con tokens más nuevos, incluidos DAI, USDC y muchos otros. Es conveniente pero también introduce el vector de phishing mencionado anteriormente, ya que los usuarios no ven una transacción de aprobación clara en su billetera.

ERC-4626 ya lo cubrimos anteriormente. Estandariza la forma en que las bóvedas con rendimiento emiten acciones, lo que permite conectar cualquier bóveda a cualquier protocolo DeFi. Las funciones depositar, retirar, acuñar, canjear, totalAssets, convertToShares y convertToAssets forman una interfaz unificada que cualquier bóveda puede implementar.

Creando tu propio token ERC-20

Crear un token ERC-20 es una de las formas más sencillas de enviar un contrato inteligente. La biblioteca de contratos de OpenZeppelin proporciona implementaciones auditadas y probadas en batalla del estándar que puede ampliar en solo unas pocas líneas de Solidity. Casi todos los tokens importantes en Ethereum usan OpenZeppelin directamente o se bifurcan a partir de él.

Un token ERC-20 mínimo que utiliza OpenZeppelin tiene aproximadamente veinte líneas de código. Usted hereda del contrato base ERC20, le da a su token un nombre y símbolo en el constructor, opcionalmente crea un suministro inicial para el implementador y listo. Las extensiones opcionales incluyen ERC20Burnable para permitir a los usuarios quemar sus propios tokens, ERC20Capped para hacer cumplir un suministro máximo, ERC20Pausable para pausas de emergencia y ERC20Votes para el seguimiento del poder de voto habilitado para la gobernanza con puntos de control.

El flujo de trabajo de implementación normalmente utiliza Foundry, Hardhat o Remix. Foundry se ha convertido en el marco favorito de los desarrolladores serios debido a su velocidad, pero Remix sigue siendo el punto de entrada más fácil para los principiantes, ya que se ejecuta completamente en el navegador. Después de escribir y compilar su contrato, lo implementa en su red de destino y luego verifica el código fuente en Etherscan para que todos puedan ver y leer su código. La verificación es fundamental para generar confianza, especialmente para los tokens que esperan atraer liquidez y cotizaciones.

Sin embargo, implementar un token es solo el primer paso. Un token exitoso requiere liquidez en un DEX, una comunidad, una narrativa clara e idealmente prácticas de distribución honestas. Cada mes se implementan decenas de miles de tokens, la gran mayoría de los cuales no logran atraer ningún volumen de operaciones significativo. La tokenómica convincente, la adquisición transparente de derechos, la liquidez bloqueada y la renuncia a la propiedad son señales comunes que los equipos legítimos utilizan para diferenciarse de los tirones y las estafas.

Preguntas frecuentes

¿Qué significa ERC-20?

ERC-20 significa Solicitud de comentarios de Ethereum, número 20. Se refiere a la vigésima propuesta presentada bajo el proceso de Solicitud de comentarios de Ethereum, que es como se proponen y discuten formalmente los estándares técnicos para el protocolo Ethereum. El estándar finalmente se formalizó como Ethereum Improvement Proposal 20, o EIP-20, pero el nombre ERC-20 sigue siendo el término coloquial en el uso diario.

¿USDC es un token ERC-20?

Sí, el USDC en la red principal de Ethereum es un token ERC-20. Su dirección de contrato es 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 y ha sido totalmente compatible con ERC-20 desde su lanzamiento en 2018. USDC también existe en muchas otras cadenas (Solana, Stellar y varias cadenas EVM), pero esas versiones son contratos separados que utilizan cualquier estándar de token local que se aplique. La versión Ethereum es el canónico ERC-20 USDC y representa una gran parte del suministro total de USDC.

¿Cuál es la diferencia entre ERC-20 y BEP-20?

BEP-20 es el estándar de token en BNB Smart Chain. Funcionalmente es esencialmente idéntico a ERC-20, utilizando las mismas firmas de funciones, los mismos eventos y el mismo patrón de aprobación. La diferencia es la cadena de bloques subyacente. ERC-20 vive en Ethereum y se beneficia de la seguridad y el ecosistema de Ethereum, mientras que BEP-20 vive en BNB Smart Chain y se beneficia de tarifas más bajas y bloques más rápidos. Los tokens como el USDT existen en versiones ERC-20 y BEP-20, y no son intercambiables sin puente.

¿Puedo crear mi propio token ERC-20?

Sí, cualquiera puede crear un token ERC-20 en solo unas pocas líneas de Solidity usando bibliotecas como OpenZeppelin. La implementación cuesta gasolina (normalmente entre veinte y unos cientos de dólares en la red principal de Ethereum, según la complejidad del contrato y las condiciones de la red). Sin embargo, crear un token es la parte fácil. Desarrollar una utilidad real, atraer tenedores y proporcionar liquidez en un DEX son los desafíos más difíciles que determinan si un token tiene algún valor más allá de su implementación.

¿Cuál es el coste del gas de un transfer ERC-20?

Una transferencia ERC-20 típica en la red principal de Ethereum cuesta alrededor de 65,000 unidades de gas cuando el destinatario ya tiene un saldo del token, o aproximadamente 50,000 gas cuando el destinatario es una dirección nueva (el costo ligeramente mayor se compensa con otras dinámicas). A un precio del gas de 20 gwei, esto se traduce en aproximadamente 0,0013 ETH por transferencia. El costo real en dólares depende completamente del precio actual de ETH y de la congestión de la red. Los paquetes acumulativos de capa 2 como Arbitrum y Base reducen estos costos entre diez y cien veces.

¿Por qué los tokens ERC-20 usan 18 decimales?

Dieciocho decimales es la convención porque el propio ETH está denominado en wei, que es una quintillónésima parte (10 elevado a menos 18) de un éter. Alinear tokens con la misma precisión evita confusión al hacer cálculos entre ETH y tokens en contratos inteligentes. Sin embargo, ERC-20 no exige 18 decimales. Las monedas estables como USDC y USDT utilizan 6 decimales porque están vinculadas al dólar y no necesitan una precisión extrema. WBTC utiliza 8 decimales para reflejar el sistema satoshi de Bitcoin. Siempre verifique los decimales antes de hacer aritmética en saldos de tokens sin procesar.

Conclusión

ERC-20 es el héroe anónimo de toda la criptoeconomía. Es una especificación engañosamente simple, solo seis funciones requeridas y dos eventos requeridos, pero ha permitido billones de dólares en emisión de tokens, todo el ecosistema DeFi y un nivel de interoperabilidad con el que las finanzas tradicionales solo pueden soñar. Cada moneda estable, cada token de gobernanza, cada moneda meme y cada bóveda con rendimiento en Ethereum y en cada cadena compatible con EVM, en última instancia, habla el mismo lenguaje definido por EIP-20 en 2015.

Comprender ERC-20 al nivel que cubrimos en esta guía le brinda una ventaja real. Ahora puede leer un contrato de token en Etherscan, evaluar su superficie de aprobación, identificar señales de alerta, importar tokens personalizados a MetaMask sin cometer errores y razonar por qué los protocolos DeFi se comportan como lo hacen. También comprende el punto débil más peligroso del estándar, el patrón de aprobación y transferencia desde, lo suficientemente bien como para administrarlo de manera segura con revocaciones periódicas y cuidadosos hábitos de firma.

La norma seguirá evolucionando. Las firmas de permisos, la abstracción de cuentas y nuevas extensiones como ERC-4626 están remodelando la forma en que los usuarios interactúan con los tokens. Pero la interfaz central ERC-20 está tan profundamente integrada en cada billetera, intercambio, indexador y protocolo que en realidad es una infraestructura permanente. Si solo aprende un estándar técnico en criptografía, aprenda este. Casi todas las interacciones que tendrá en la cadena se realizan a través de ella.