Contenido

  • Introducción

  • ¿Qué es el estándar ERC-20?

  • Una breve descripción de los tokens Ethereum

  • ¿Cómo se crean los tokens ERC-20?

  • ¿Cuáles son las funciones de los tokens ERC-20?

    • Monedas estables

    • Fichas de seguridad

    • Fichas de utilidad

  • ¿Es posible minar tokens ERC-20?

  • Ventajas y desventajas de los tokens ERC-20

    • Beneficios de los tokens ERC-20

    • Desventajas de los tokens ERC-20

  • ERC-20, ERC-1155, ERC-223, ERC-721: ¿cuál es la diferencia?

  • Resumen


Introducción

Ethereum fue fundada en 2014 por Vitalik Buterin y pretendía ser una plataforma de código abierto para ejecutar aplicaciones descentralizadas (DApps). Al crear una nueva cadena de bloques, Buterin tuvo en cuenta el problema de la flexibilidad insuficiente del protocolo Bitcoin.

Desde su lanzamiento, la cadena de bloques Ethereum ha atraído a muchos desarrolladores, empresas y emprendedores, y ha dado paso a una creciente industria de usuarios que ejecutan contratos inteligentes y aplicaciones distribuidas.

En este artículo veremos el estándar ERC-20, la base para la creación de tokens. El estándar fue desarrollado específicamente para la red Ethereum, pero logró inspirar otros estándares blockchain, por ejemplo, BEP-2 Binance Chain.


¿Qué es el estándar ERC-20?

ERC en Ethereum es una solicitud de propuestas para mejorar la red (inglés: Ethereum Request for Comments). Los ERC son documentos técnicos que describen los estándares de programación en Ethereum. Estas no deben confundirse con las propuestas de mejora de Ethereum (EIP), que, al igual que las BIP de Bitcoin, proponen mejoras al protocolo en sí. El objetivo del ERC es establecer acuerdos que faciliten la interacción entre aplicaciones y contratos.

ERC-20 fue creado en 2015 por Vitalik Buterin y Fabian Vogelsteller con el objetivo de ofrecer un formato relativamente simple para crear tokens en Ethereum. Al confiar en un estándar existente, los desarrolladores ahorran tiempo y esfuerzo. Con ERC-20, pueden crear nuevos tokens sin preocuparse por la compatibilidad y la seguridad.

Los nuevos tokens ERC-20 serán compatibles con todos los servicios y software que soporten este estándar (billeteras de software, billeteras de hardware, exchanges, etc.).

Cabe señalar que EIP (es decir, EIP-20) se desarrolló sobre la base del estándar ERC-20. Esto sucedió varios años después del lanzamiento debido al uso generalizado del estándar. Pero incluso años después, el nombre “ERC-20” sigue siendo relevante.


Una breve descripción de los tokens Ethereum

A diferencia de ETH (la criptomoneda nativa de Ethereum), los tokens ERC-20 no se almacenan en cuentas. Sólo existen dentro del contrato, que es una especie de base de datos autónoma. El contrato define los términos de los tokens (por ejemplo, nombre, símbolo, divisibilidad). También contiene una lista que relaciona los saldos de los usuarios con sus direcciones de Ethereum.

Para mover tokens, los usuarios deben enviar una transacción al contrato solicitando que una parte de su saldo se traslade a otra ubicación. Por ejemplo, si Alice quiere enviarle a Bob 5000 tokens de BinanceAcademy, ejecuta una función dentro del contrato inteligente pidiéndole que lo haga.


Пользователи, взаимодействующие со смарт-контрактом


Su solicitud se coloca dentro de una transacción Ethereum aparentemente normal, que cobra 0 ETH al contrato inteligente. La solicitud se agrega a un campo adicional en la transacción, que especifica qué quiere hacer exactamente Alice; en nuestro caso, transferir los tokens a Bob.

Aunque no envía Ether, todavía tiene que pagar una tarifa, denominada en Ether, para que su transacción se agregue al bloque. Si no tiene ETH, deberá comprarlo antes de realizar la transacción.

A continuación se muestra un ejemplo real de un proceso de este tipo en Etherscan: alguien solicita un contrato en BUSD. Vemos que se transfirieron los tokens y se pagó la tarifa, a pesar de que su monto es 0 ETH.

Ahora podemos profundizar en la estructura del contrato ERC-20. 


¿Cómo se crean los tokens ERC-20?


Иллюстрация создания токена ERC-20


Para ser compatible con ERC-20, su contrato debe incluir seis funciones requeridas: suministro total, saldo de, transferencia, transferencia desde, aprobación y asignación. Además, puedes agregar funciones adicionales como nombre, símbolo y decimal. Por los nombres de las funciones se puede entender su finalidad. A continuación veremos cada uno de ellos con más detalle. 

A continuación se presentan las funciones tal como están escritas en el lenguaje Solidity creado para Ethereum.


oferta total

función totalSupply() devuelve la vista pública (uint256)

Cuando el usuario lo solicita, la función anterior muestra la cantidad total de tokens en el contrato.


equilibrio de 

función balanceOf(dirección _propietario) devuelve la vista pública (saldo uint256)

A diferencia de totalSupply, la función balanceOf utiliza un parámetro (dirección). Muestra el saldo de tokens de dirección a pedido. Recuerda que las cuentas de Ethereum son públicas, por lo que puedes consultar el saldo de cualquier usuario siempre que conozcas su dirección.


traducción

transferencia de función (dirección _a, uint256 _valor) devoluciones públicas (éxito bool)

La función de transferencia transfiere tokens de un usuario a otro. Para usarlo, debe especificar la dirección del destinatario y el monto de la transferencia.

La función de transferencia activa un evento (en nuestro caso, transferencia de evento), que le indica a la cadena de bloques que incluya una referencia a él.


Transferido de

función transferFrom(dirección _from, dirección _to, uint256 _value) devoluciones públicas (bool exitoso)

La función transferFrom es una alternativa más conveniente a la función de transferencia, que proporciona una mayor programabilidad en aplicaciones descentralizadas. Al igual que la transferencia, se utiliza para mover tokens, pero no necesariamente pertenecen a la persona que accede al contrato. 

En otras palabras, puedes autorizar a otra persona u otro contrato para transferir fondos en tu nombre. Otro caso de uso implica el pago automático de servicios basados ​​en suscripción en caso de que no desee enviar pagos manualmente todos los días/semanas/mes. El programa hará esto por usted.

Esta función activa el mismo evento que la transferencia.


aprobar

función aprobar (dirección _spender, uint256 _value) devoluciones públicas (éxito bool)

Aprobar es otra función útil desde el punto de vista de la programabilidad. Con su ayuda, puede limitar la cantidad de tokens que un contrato inteligente puede retirar de su saldo. En su ausencia, existe el riesgo de que se haga un mal uso del contrato: alguien podría explotarlo para sus propios fines o robar todos sus fondos. 

Veamos un ejemplo con un modelo de suscripción. Supongamos que tiene muchos BinanceAcademyTokens y desea configurar pagos semanales para su servicio de transmisión de DApp. Ya estás estudiando el contenido de Binance Academy día y noche y no quieres perder tiempo creando manualmente una transacción cada semana.

Supongamos que tiene una gran cantidad de BinanceAcademyTokens, que supera con creces su tarifa de suscripción. Para evitar que el servicio DApp lo agote, puede establecer un límite utilizando la función de aprobación. Por ejemplo, su suscripción cuesta un BinanceAcademyToken por semana. Si limita la cantidad máxima a veinte tokens, la suscripción se podrá pagar automáticamente en cinco meses.

En el peor de los casos, si la DApp intenta retirar todos tus fondos o ocurre un error inesperado, solo perderás veinte tokens. Esta opción no elimina posibles problemas, pero le protege de perder todos sus activos.

Cuando se llama a la función de aprobación, se activa el evento de aprobación. Al igual que el evento de transferencia, escribe datos en la cadena de bloques.


prestación 

asignación de función (dirección _propietario, dirección _spender) devuelve la vista pública (uint256 restante)

La función de asignación se puede utilizar junto con la función de aprobación. Una vez que haya otorgado permiso al contrato para administrar sus tokens, puede usar esta función para verificar cuántos tokens aún puede cancelar. Por ejemplo, si su suscripción ha utilizado doce de los veinte tokens permitidos, cuando llame a la función de asignación, debería mostrarse el número ocho.


Funciones adicionales

Las características que comentamos anteriormente son obligatorias. Las funciones de nombre, símbolo y decimal son opcionales, pero pueden mejorar su contrato ERC-20. Le brindan la posibilidad de agregar un nombre claro, establecer un símbolo (por ejemplo, ETH, BTC, BNB) y especificar en cuántos decimales se pueden dividir los tokens. Por ejemplo, los tokens que se utilizan como moneda pueden beneficiarse más de una mayor divisibilidad que un token que representa propiedad.


Puedes ver estos elementos en un contrato real en este ejemplo en GitHub.


¿Cuáles son las funciones de los tokens ERC-20?


Иллюстрация различных вариантов использования токенов ERC-20


Si combinamos todas las características anteriores, obtenemos un contrato ERC-20. Se puede utilizar para consultar el suministro total de tokens, verificar saldos, transferir fondos y otorgar permisos a otras DApps para administrar tokens.

La principal ventaja de los tokens ERC-20 es la flexibilidad. Utilizándolos, también puedes implementar funciones adicionales y establecer ciertos parámetros según tus necesidades.


Monedas estables

Las monedas estables (tokens vinculados a monedas fiduciarias) suelen utilizar el estándar de token ERC-20. Un ejemplo es la transacción del contrato BUSD a la que hicimos referencia anteriormente. La mayoría de las monedas estables están disponibles en este formato.

El emisor de una moneda estable respaldada por dinero fiduciario mantiene reservas en euros, dólares, etc. Luego crea un token para cada unidad de su reserva. Esto significa que si hubiera 10.000 dólares en la bóveda, el emisor podría crear 10.000 tokens, cada uno con un valor de 1 dólar.

Esto es bastante fácil de implementar en Ethereum. El emisor lanza un contrato con 10.000 tokens. Luego se distribuirán a los usuarios con la perspectiva de un mayor canje en moneda fiduciaria. 

Los usuarios pueden usar tokens para pagar bienes y servicios o usarlos en aplicaciones DApp. Además, los usuarios tienen la opción de solicitar un intercambio inmediato de tokens al emisor. En este caso, el emisor quema los tokens devueltos (dejan de estar disponibles) y retira la cantidad equivalente en fiat de sus reservas.

El contrato que regula este proceso, como ya hemos dicho, es relativamente sencillo. Sin embargo, el lanzamiento de una moneda estable implica muchos factores externos, como la logística, el cumplimiento legal y normativo, etc.


Fichas de seguridad

Los tokens de seguridad son similares a las monedas estables. A nivel de contrato se pueden considerar idénticos porque funcionan de la misma manera. Pero hay una diferencia significativa para el emisor. Los tokens de seguridad representan valores (acciones, bonos o activos físicos). A menudo (aunque no siempre) dan al titular algún interés en una empresa o producto.


Fichas de utilidad

Los tokens de utilidad son, con diferencia, los tipos de tokens más comunes. A diferencia de las dos opciones anteriores, no se apoyan en nada. Si los tokens respaldados por activos son como las acciones de las aerolíneas, los tokens de utilidad se parecen más a un programa de fidelización de viajeros frecuentes: cumplen un propósito pero no proporcionan ningún otro valor. Los tokens de utilidad pueden tener una gran variedad de usos. Por lo tanto, pueden actuar como moneda del juego, combustible para aplicaciones descentralizadas, puntos de fidelidad y mucho más.


➠ ¿Listo para empezar con las criptomonedas? ¡Compre Ether en Binance!


¿Es posible minar tokens ERC-20?

Los usuarios pueden extraer ether (ETH), pero no tokens: los tokens se crean. Cuando se lanza el contrato, los desarrolladores distribuyen tokens de acuerdo con los planes y la hoja de ruta existentes.

Esto generalmente se hace a través de una oferta inicial de monedas (ICO), una oferta inicial de intercambio (IEO) o una oferta de token de seguridad (STO). Puede que te encuentres con diferentes abreviaturas, pero en esencia todas son bastante parecidas. Los inversores envían Ether a la dirección del contrato y reciben a cambio nuevos tokens. Los fondos recibidos se utilizan para financiar el desarrollo posterior del proyecto. Los usuarios esperan poder utilizar sus tokens (inmediatamente o más tarde) o revenderlos para obtener ganancias a medida que se desarrolle el proyecto.

El proceso de distribución de tokens no necesita automatización. Muchos eventos de financiación colectiva le permiten pagar en una variedad de monedas digitales (como BNB, BTC, ETH y USDT). Luego, de acuerdo con el monto pagado, se reponen los saldos de los usuarios en las direcciones especificadas.


Ventajas y desventajas de los tokens ERC-20

Beneficios de los tokens ERC-20

Intercambiabilidad

Las monedas fiduciarias son fungibles porque cada unidad no se puede distinguir de otra unidad equivalente. Si tienes el BinanceAcademyToken, no importa qué token específico tengas. Estos tokens se pueden vender a otros usuarios y seguirán siendo funcionalmente idénticos, como dinero u oro.

Esto es muy conveniente si desea utilizar el token como moneda. En este caso, no se necesitan unidades individuales con características distintivas que las hagan no intercambiables. Las diferencias pueden hacer que algunos tokens se vuelvan más (o menos) valiosos que otros, lo que a su vez alterará su función principal.


Tipo de interés variable

Como establecimos en el apartado anterior, los tokens ERC-20 son altamente personalizables y pueden adaptarse para una amplia variedad de usos. Así, por ejemplo, se pueden utilizar como moneda de juego, en programas de fidelización, como objetos coleccionables digitales o incluso como obras de arte y derechos de propiedad.


La popularidad de ERC-20 en la industria de las criptomonedas lleva al uso de este protocolo como base para la creación de nuevos tokens. Es por eso que hay muchos intercambios, billeteras y contratos inteligentes que ya son compatibles con los tokens recién lanzados. Además, cuentan con un amplio soporte para desarrolladores y cuentan con toda la documentación necesaria. 


Desventajas de los tokens ERC-20

Escalabilidad

Como muchas redes de criptomonedas, Ethereum no es inmune a los problemas que surgen a medida que la red crece. Actualmente, la red está experimentando problemas de escalabilidad, por lo que intentar enviar una transacción durante las horas punta genera altas tarifas y retrasos. Si lanza un token ERC-20 cuando la red está congestionada, la usabilidad del token puede verse afectada.

No es sólo Ethereum el que enfrenta este problema. Los sistemas distribuidos tienen que hacer concesiones para lograr la seguridad. La comunidad planea resolver este problema al pasar a Ethereum 2.0, que implementará las actualizaciones de Ethereum Plasma y Ethereum Casper.

Obtenga más información sobre los problemas de escalabilidad en nuestro artículo Escalabilidad de Blockchain: cadenas laterales y canales de pago.


Fraude

Aunque esto no es un problema de la tecnología en sí, la facilidad para lanzar un token puede considerarse una desventaja. Crear un token ERC-20 simple requiere un esfuerzo mínimo, lo que significa que cualquiera puede hacerlo, incluso con fines delictivos.

Por lo tanto, debes tener mucho cuidado con lo que inviertes. Hay una serie de esquemas Ponzi y piramidales disfrazados de proyectos blockchain. Antes de invertir, estudie todo detenidamente para decidir por sí mismo si el proyecto es fiable.

 

ERC-20, ERC-1155, ERC-223, ERC-721: ¿Cuál es la diferencia?

ERC-20 fue el primer (y sigue siendo el más popular) estándar de token de Ethereum, pero está lejos de ser el único. A lo largo de los años, han surgido muchos otros protocolos que ofrecen mejoras al ERC-20 o intentan lograr otros objetivos.

Algunos de los estándares menos comunes se utilizan para crear tokens no fungibles (NFT). Dependiendo del propósito de uso, es posible que necesite tokens únicos con diferentes atributos. Si desea tokenizar una obra de arte única, un activo de juego, etc., puede utilizar uno de estos tipos de contrato.

Por ejemplo, el estándar ERC-721 se utilizó para la extremadamente popular DApp CryptoKitties. Dicho contrato proporciona a los usuarios una API para crear sus propios tokens no fungibles y codificar metadatos (imágenes, descripciones, etc.). 

El estándar ERC-1155 puede considerarse una mejora tanto del ERC-721 como del ERC-20. Este estándar admite tokens fungibles y no fungibles en un único contrato.

Otras opciones, como ERC-223 o ERC-621, tienen como objetivo mejorar la usabilidad. ERC-223 implementa precauciones para evitar la transferencia accidental de tokens. ERC-621 ofrece funciones adicionales para aumentar y disminuir el suministro de tokens.

Para obtener más información sobre las NFT, asegúrese de consultar la Guía de criptocoleccionables y tokens no fungibles (NFT).


Resumen

El estándar ERC-20 ha dominado el espacio de los criptoactivos durante muchos años, y no es ninguna sorpresa. Cualquiera puede implementar fácilmente un contrato simple para diversos fines (tokens de utilidad, monedas estables, etc.). Sin embargo, ERC-20 carece de algunas características presentes en otros estándares. Y aunque no hay una respuesta exacta a la pregunta de si otros tipos de contratos lo sustituirán en el futuro o no.