comparte
Los tokens ERC-20 son criptomonedas que funcionan en la cadena de bloques Ethereum. Se alimentan de contratos inteligentes de la red Ethereum, la utilizan para realizar transacciones e interactuar con sus direcciones y carteras. Al mismo tiempo, los tokens ERC 20 tienen sus propios tickers, tasas de suministro, precio y otros parámetros. Por ejemplo, aunque EOS es un token de Ethereum, tiene una capitalización de mercado de 11.500 millones de dólares, que es más de lo que puede decirse de la mayoría de las criptomonedas obtenidas mediante minería.

Gracias a la accesibilidad de la arquitectura ERC20, es bastante fácil crear y desplegar tu propio token y distribuirlo (por ejemplo, durante una ICO). En las ICO y otros tipos de ofertas, se realizan preventas para atraer financiación de los inversores. El proceso de creación de fichas se denomina TGE, abreviatura de Evento de Generación de Fichas. Los proyectos emiten un número determinado de tokens ERC 20 y los venden a todos los participantes de una preventa por bitcoins o ETH.
Hay que tener en cuenta que, aunque los tokens ERC-20 son criptomonedas de pleno derecho que pueden acabar en las criptobolsas más populares, no significa necesariamente que lo vayan a hacer. Un token erc20 puede arrasar en el mundo de las criptomonedas o quedarse para siempre en el balance de su creador.
Usos prácticos del ERC20
Al principio, los tokens se utilizaron durante la recaudación inicial de fondos para el desarrollo de la empresa. Eran activos digitales con obligaciones fijas. Las fichas se compraban directamente a los desarrolladores y no podían venderse ni comprarse en ningún otro sitio.
La ICO de Ethereum tuvo lugar en 2014 y recaudó más de 16 millones de dólares. Ethereum ha llamado la atención de representantes de muchas industrias, ya que puede utilizarse para optimizar y digitalizar procesos empresariales ineficaces en el futuro.
Un token ERC-20 puede considerarse criptomoneda si puede negociarse en criptointercambios. Los tokens ERC20 también pueden evolucionar hasta convertirse en ecosistemas enteros con sus propias blockchains. Algunos ejemplos de tokens ERC20 que han creado su propia blockchain son Tron y EOS. Tron creó su propia blockchain por su visión: los juegos de blockchain son cada día más populares. EOS es un competidor de Ethereum, utilizado principalmente para intercambios descentralizados y juegos de azar.
Un token de Ethereum puede utilizarse como un activo y una forma de dinero; también puede representar objetos de valor de cualquier tipo y conceder membresías en un programa o servir como medio para confirmar la propiedad. Cualquier activo del mundo real, físico o no, puede tokenizarse y negociarse en criptointercambios.

Los tokens ERC-20 más populares
La cadena de bloques Ethereum es el hogar de facto de las criptomonedas, ya que alberga la mayoría de las mayores altcoins actuales. Los tokens más famosos son los ERC20, y la mayoría de las DApps del ecosistema criptográfico están construidas sobre la red Ethereum. Se sabe que algunas stablecoins del estándar ERC20 dominan el mercado de las criptomonedas.
USDC
Aparte de USDT de Tether, una de las mayores stablecoins ERC20 de la red Ethereum es USDC.

Lanzado por Coinbase en colaboración con Circle, USDC suele ser visto como una alternativa más fiable a USDT por quienes tienen una postura crítica hacia Tether.
El estándar BEP20 de Binance está alojado en la cadena inteligente de Binance, que a su vez deriva de la red Ethereum. Por lo tanto, los dos tokens nativos de Binance - BNB y BUSD - también pueden considerarse técnicamente tokens de Ethereum.
Un único estándar, la facilidad de creación y la compatibilidad con las plataformas han llevado a la distribución generalizada de los tokens ERC20. A continuación encontrarás algunos ejemplos de fichas populares que utilizan el protocolo ERC20.
USDT Tether

En 2015, Tether Limited emitió una stablecoin USDT indexada al USD. Basada en el estándar ERC 20, desde entonces se ha convertido en la stablecoin a la que recurren la mayoría de criptooperadores e intercambios de todo el mundo. El valor de USDT Tether está respaldado por dólares estadounidenses en las cuentas de la empresa.
Otras monedas fiduciarias tienen sus propias stablecoins. Por ejemplo, Binance GBP está respaldado por la libra esterlina, y STASIS por el euro.
El antiguo sistema se basaba en el protocolo Omni, basado en la cadena de bloques Bitcoin. Debido a las elevadas comisiones y al largo tiempo de confirmación, la empresa decidió migrar a la cadena de bloques Ethereum.
Bitcoin y éter envueltos

ETH, o éter, es la moneda base de Ethereum. WETH es "ETH envuelto" o "Éter en una cáscara". Se introdujo porque ETH apareció antes de la adopción de la norma ERC20 y, por tanto, no la cumplía.
Las plataformas descentralizadas basadas en Ethereum intercambian fichas entre usuarios basándose en contratos inteligentes. Para que se produzca un intercambio, las fichas deben pertenecer al mismo estándar.
WETH se utiliza para intercambiar tokens ETH por el correspondiente protocolo ERC20.
Numerosos usuarios de la red, incluidas grandes empresas con capital, están interesados en el desarrollo de la moneda base.
Entre ellas:
- el sistema Wrapped Ether, que posee más de 2 millones de ETH por valor de 380 millones de dólares;
- a una de las principales bolsas de criptomonedas, Binance, 370 millones de dólares;
- Intercambio Bitfinex, menos de 2 millones de ETH.

Bitcoin también tiene una versión ERC20 envuelta llamada WBTC. El BTC original es el token nativo de la cadena de bloques de Bitcoin y no es compatible con Ethereum. Al igual que WETH, WBTC pretende arreglar eso: siempre está vinculado al precio de Bitcoin y es totalmente compatible con la red Ethereum. Los tokens envueltos se utilizan sobre todo para transferir tokens entre diferentes redes que no son compatibles entre sí.
LCS
LocalCoinSwap es una plataforma descentralizada que ofrece a los usuarios la oportunidad de comprar y vender directamente criptomonedas utilizando cualquiera de los métodos de pago disponibles.

LCS te permite encontrar un comprador o vendedor de moneda y realizar una transacción sin necesidad de sitios web ni monederos. La plataforma utiliza un sistema de depósito tradicional, que almacena fondos de criptomoneda que pueden intercambiarse. Cuando el comprador y el vendedor confirman el pago, el sistema envía monedas al comprador. La plataforma da derecho a recibir dividendos en una proporción de 1 a 1 al final del trimestre.
Etherscan: El hogar de los tokens ERC 20
Los contratos de tokens ERC20 pueden verse en Etherscan.io — el rastreador nativo de la red Ethereum.

Junto con sus tickers y breves descripciones, puedes controlar sus cifras de oferta total, capitalización de mercado (en cadena y en circulación), número de poseedores y cifras de precios y variaciones de precios.

Para ver todos los contratos de tokens ERC20 en la red Ethereum, tienes que hacer clic en Tokens en la parte superior derecha y luego seleccionar tokens ERC20. Todos los nuevos tokens con una capitalización de mercado más o menos competitiva aparecerán aquí.
En el momento de escribir esto, hay al menos 625.000 Contratos Token ERC20 desplegados en la red Ethereum. También puedes consultar otras normas de tokens de Ethereum aquí: ERC721 para tokens no fungibles (NFT) y ERC155 para multitokens.
El aspecto técnico de un token ERC 20
Esencialmente, los tokens ERC-20 son contratos inteligentes en la blockchain de Ethereum. El ERC-20 es una norma unificada, que incluye un conjunto de reglas básicas que debe seguir un contrato. La norma garantiza la compatibilidad de todas las fichas dentro de la red.
ERC son las siglas de "Ethereum Request for Comments", y 20 es su número identificador.
El ERC-20 se concibió en 2015 y se hizo mundial en 2017. Antes, todos los contratos inteligentes eran bastante heterogéneos, lo que provocaba problemas de compatibilidad entre ellos, y los monederos tenían que lidiar con montones de código para reconocer cada token específico.
Tokens ERC20 y EVM
EVM (Ethereum Virtual Machine) es un entorno informático virtual, un ordenador distribuido responsable de ejecutar algoritmos en la red Ethereum (contratos inteligentes).
El EVM se considera Turing-completo, lo que significa que teóricamente es capaz de manejar cualquier tarea computacional que pueda realizarse en los ordenadores (dados los recursos suficientes).
Como pago por la ejecución de contratos inteligentes, el EVM utiliza "gas", medido en ‘gwei’, la fracción más pequeña posible de ETH; el gas está incluido en el coste de la transacción. La cantidad concreta de gas que el usuario debe pagar depende de la complejidad de los cálculos realizados y de la carga de trabajo actual de la cadena de bloques de Ethereum.
Los contratos inteligentes que siguen una estructura de datos definida en el EVM se utilizan para crear tokens ERC-20. Esta estructura de datos controla la denominación, la distribución, la cantidad de suministro y la supervisión del token.
ERC20 = ¿Código?
Muchos se preguntan si el ERC 20 puede considerarse código. La respuesta no es exacta: un token ERC20 sirve más como un conjunto de directrices destinadas a esbozar las reglas básicas para operar dentro de la red Ethereum.
El estándar sirve para varios propósitos, como llevar un registro de todas las transacciones, el saldo actual de tokens de un usuario, el ticker del token y las tasas totales de suministro; el estándar de tokens ERC 20 también garantiza la compatibilidad de las diferentes DApps (Aplicaciones Descentralizadas) de la red.
Dentro de un contrato de token ERC 20
La norma ERC20 describe seis funciones obligatorias y tres opcionales que deben seguirse para que un contrato inteligente funcione correctamente.
Cada ficha debe tener un nombre y un símbolo (también conocido como ticker). También tienes que especificar sus decimales, es decir, cuántas veces se puede dividir por 10. A continuación, encontrarás un conjunto de las funciones obligatorias, que a algunos les pueden resultar un poco difíciles de entender al principio:
function () public view returns (uint256);
function balanceOf(address tokenOwner) public view returns (uint);
function allowance(address tokenOwner, address spender)
public view returns (uint);
function transfer(address to, uint tokens) public returns (bool);
function approve(address spender, uint tokens) public returns (bool);
function transferFrom(address from, address to, uint tokens) public returns (bool);
Esto es lo que representan estas funciones:
- SuministroTotal: El número total de fichas que se emitirán;
- SaldoDe: El saldo de la cuenta del propietario de un token;
- Transferencia: Ejecuta automáticamente transferencias de un número especificado de fichas a una dirección especificada para transacciones que utilicen la ficha;
- TransferenciaDesde: Ejecuta automáticamente transferencias de un número especificado de fichas desde una dirección especificada utilizando la ficha;
- Aprobar: Permite a un gastador retirar un número determinado de fichas de una cuenta específica, hasta una cantidad concreta;
- Asignación: Devuelve un número determinado de fichas de un gastador al propietario;
- Transferencia: Evento que se activa cuando una transferencia tiene éxito (un evento);
- Aprobación: Registro de un acontecimiento aprobado (un evento).
Con la debida autorización, las funciones de ERC20 permiten a una entidad externa, por ejemplo una aplicación de cripto-cartera, ver su saldo y transferir tokens entre usuarios.
Hay dos tipos de eventos reconocidos por el contrato inteligente:
event Approval(address indexed tokenOwner, address indexed spender,
uint tokens);
event Transfer(address indexed from, address indexed to,
uint tokens);
Los acontecimientos pueden ser:
- invocado
- emitido
Cualquiera de los dos ocurre una vez que una cuenta de Ethereum ha concedido a alguien derechos para retirar tokens de ella y después de que los tokens se hayan transferido realmente. Según la norma, la "función transferencia" debe emitir el evento Transferencia cuando la transferencia de fichas se realice correctamente.
function allowance(address owner, address spender) external view returns (uint256);2
La norma ERC-20 permite a una dirección dar una autorización a otra dirección para que pueda recuperar fichas de ella. Este getter devuelve el número restante de fichas que el gastador podrá gastar en nombre del propietario. Esta función es un getter y no modifica el estado del contrato, y debe devolver 0 por defecto.
Creación de un token ERC 20
Paso 1
- Сoge un nombre, por ejemplo, Mejor Moneda
- Сhoose, un símbolo, que sea BEC
- Decide la oferta total
- Decide si las fichas serán divisibles y, en caso afirmativo, cuántos decimales serán como máximo
Paso 2
Despliega el Token
Introduce los siguientes datos en el contrato inteligente disponible en el enlace. Descarga los dos archivos .sol. Ve al editor remix. Descarga ambos archivos.

Los archivos se cargan con el botón Cargar(Abrir). Selecciona ambos archivos.
Abre NewToken.sol, pon los valores necesarios en
totalSuministro - número total de fichas
nombre - el nombre completo del token
decimal - el número de zacks después del punto decimal. El hecho es que en los contratos, todo se almacena sólo en números enteros. Por tanto, debes especificar el número de caracteres si quieres poder acreditar un número no entero de fichas.
- Símbolo - un símbolo para los intercambios
- Comprar anuncios
- Desenchufa
Debería resultar algo así:
Guárdalo. Queda subir el contrato a la red. Por ejemplo, instálalo en la red de pruebas Ropsten. Se necesitará cualquier cliente para el despliegue. Utilicemos MetaMask: no sabe compilar contratos inteligentes en Solidity, así que compilaremos primero.
En la parte derecha del editor de remezclas, abre la pestaña de compilación. Por defecto, el contrato se compila automáticamente. Seleccionando tu contrato en Seleccionar y haciendo clic en Detalles, puedes ver el bytecode y otra información.
Para desplegar, haz clic en Ejecutar, selecciona Web3 Inyectada, y selecciona la Cuenta que vamos a desplegar (debería cargarse automáticamente si tienes MetaMask instalado en el navegador). Introduce la información necesaria en los campos (gas, valor), y haz clic en Crear.

MetaMask recoge la acción de la página.
Haz clic en Enviar. Tu contrato está sellado. El envío se confirma en MetaMask mediante un icono con un documento (lleva a la página de la transacción) y la inscripción "Contrato publicado".

Un contrato inteligente sellado es un token.
Paso 3
Operaciones con fichas
Las transacciones de tokens basadas en Ethereum requieren dos monederos: el que ya los tiene (por defecto, el creador del contrato, el estándar ERC20) y el que necesita transferirlos.
Realizar operaciones con nuestro token (transferirlo, por ejemplo). Podemos hacerlo en la página del contrato inteligente etherscan (enlace en MetaMask) o en la página remix.

Aquí azul - operaciones de lectura, rosa - operaciones de escritura.
Para transferir fichas ERC-20, introduce la dirección del destinatario y la cantidad. Después de eso (y de introducir los datos en la cadena de bloques, por supuesto), puedes comprobar tu saldo o el saldo del receptor de los tokens con la operación balanceOf.
¡Hecho!
Los problemas del estándar de tokens ERC 20
Hay dos niveles de emisión de fichas ERC 20. Hay dos capas: la del usuario y la del desarrollador.
Para usuarios de tokens
Para los usuarios comunes, los inconvenientes más extendidos son:
- Bajo rendimiento - La red Ethereum se ha atascado cuando las dapps han experimentado una gran demanda, como CryptoKitties (que desde entonces se ha trasladado a su propia blockchain Flow). Cuando esto ocurre, la red se ralentiza y las transacciones se encarecen.
- Transacciones lentas - El tiempo de bloqueo es de unos 14 segundos, por lo que las transacciones pueden tardar hasta un minuto en procesarse. Esto puede ser adecuado para algunos usos o demasiado lento para otros.
- ETH para pagos de gas - Cuando se realizan transacciones con tokens ERC-20, se necesita una segunda criptomoneda para pagar las comisiones de la transacción. Esto puede añadir tiempo y costes, ya que puede dar lugar a acumular un saldo de "polvo" en diferentes plataformas.
Para desarrolladores de tokens
Los tokens ERC20 tienen dos problemas críticos que se sabe que causan pérdidas monetarias. Son:
- Falta de gestión de las transacciones.
Hay dos formas de realizar una transacción en fichas ERC20:
- función de transferencia.
- aprobar + mecanismo transferFrom.
El saldo de tokens es sólo una variable dentro del contrato de tokens.
La transacción de un token es una alteración de las variables internas del contrato inteligente (el saldo actual del emisor disminuirá, y el del receptor aumentará).
La función de transferencia no notificará al destinatario que se ha realizado una transacción. ¡El destinatario no puede reconocer la transacción entrante! Esto puede dar lugar a transacciones no tramitadas y pérdidas monetarias.
Como resultado, si el destinatario es un contrato inteligente, los usuarios deben transferir sus tokens erc20 utilizando el algoritmo approve +transferFrom. Si el destinatario es una dirección de cuenta externa, los usuarios deben transferir sus fichas mediante la función de transferencia.
Si un usuario comete un error y elige la función equivocada, entonces el token quedará atascado dentro del contrato inteligente, y la transacción no será reconocida. Por tanto, será imposible recuperar las fichas erc20 atascadas.
Se han perdido al menos 400.000 dólares a causa de este problema.
- El mecanismo aprobar + transferirDesde es potencialmente inseguro
Se sabe que el mecanismo aprobar + transferirDesde permite el doble gasto.
Esto no es relevante a menos que exista la posibilidad de crear cambiadores de fichas personalizados como target="_blank"> target="_blank"> cambiador de fichas Bancor.
La solución a esto es el estándar de tokens ERC223.
La norma de fichas ERC #223 se desarrolló específicamente para resolver los problemas de la norma de fichas ERC 20.
Todo desarrollador de tokens debe prestar atención a esto. Desarrollar un token que provoque pérdidas monetarias a tus usuarios no es una buena solución. Por favor, sé responsable de los desarrollos que lleves a cabo.
Cómo funciona en la práctica
Alice tiene 10 fichas ERC20. Quiere enviar 3 fichas a Bob.
Puede parecer que Alice tiene algunos tokens "en el saldo de su cuenta" para los usuarios normales, pero el saldo del token es sólo una variable dentro del contrato de tokens.
Alicia inicia una transacción. De hecho, cada transacción de tokens es una llamada a un contrato de tokens.
Alice pide al contrato de fichas que reduzca su saldo en 3 y que aumente el saldo de Bob en 3 al mismo tiempo.
Una vez minada la transacción, se modificarán las variables internas de este contrato de tokens ERC 20. Nadie le dirá al receptor (Bob, en este caso) que se ha producido la transacción.
Esto está bien para las cuentas de propiedad externa (es decir, de propiedad humana). Alice puede decirle a Bob que le ha enviado fichas. Bob puede mirar su saldo y darse cuenta de que realmente ocurrió.
Este es un problema crítico para los contratos, y da lugar a la pérdida de fichas. Los contratos que no están diseñados para trabajar con tokens deben rechazar las transacciones de tokens entrantes. De lo contrario, cada contrato se convierte en una trampa potencial de fichas debido a la incapacidad de rechazar transferencias de fichas indebidas.
ERC aquí, en términos técnicos, se denomina "símbolo constante público". Ethereum Request for Comments es el nombre del documento que describe las normas para crear tokens en la blockchain.
Implicaciones jurídicas del ERC20
Desde el punto de vista legal, la situación en torno a los tokens ERC 20 es aún más vaga que la de las criptomonedas.

En la mayoría de los países del mundo, el clima normativo en este ámbito o no existe o se inclina hacia la "prohibición". Esto se debe a varios factores, entre ellos:
- Una gran cantidad de fraudes relacionados con tokens ERC 20. Dado que la esencia del token se difundió más en relación con las ICO, muchas de las cuales eran estafas abiertas o encubiertas, esto dejó una huella negativa en el concepto.
- La criptomoneda es un campo relativamente joven. La tecnología Blockchain ha introducido serias innovaciones en el mundo de las tecnologías financieras. En primer lugar, se trata de la complejidad de regular esta esfera en relación con el uso de tecnologías de descentralización y falso anonimato. En segundo lugar, es un campo nuevo en la economía mundial.
Token ERC 20 = ¿Seguridad?
- Hay muchas discusiones en torno al reconocimiento de los tokens ERC 20 como valores. Especialmente la que concierne a quienes pretenden crear y distribuir sus propios tokens en el marco de una ICO, etc. El hecho es que los tokens ERC 20 ("acciones que darían rendimientos a los propietarios") estarían sujetos a las leyes de valores de EE.UU. y de la mayoría de los demás lugares. Ni siquiera tienen que superar la compleja prueba Howey. La prueba Landreth Timber y otras similares bastan: una participación en los beneficios de una empresa se considerará un valor de todos modos.
- El hecho de que un token sea un valor no significa que no puedas venderlo. La gente compra y vende valores todo el tiempo (piensa en las start-ups de Silicon Valley). Pero para hacerlo, tienes que cumplir una de las exenciones de colocación privada de valores establecidas en la legislación sobre valores. Eso suele significar no ofrecerlo al público en general, no publicitarlo, etc. - En otras palabras, lo contrario de lo que hacen la mayoría de las ventas de fichas.
- O podrías seguir el camino de la Reg A+ y ofrecer el token al público, pero con un límite de recaudación de 50 millones de dólares y obteniendo primero la aprobación de la SEC y con algunos informes continuos (no tan malos como los informes que se exigen a una empresa de pleno derecho sujeta a la Exchange Act). Existen algunas otras opciones mixtas dentro de la misma zona general de las leyes sobre valores.