Informes

Token Criptográfico ERC-20

DecentraLAB.tech

Podría decirse que palabras como tokens y criptomonedas son unas de las más escuchadas dentro de la tecnología blockchain. Y es que son parte fundamental de la construcción de este ecosistema que cada vez gana más fuerza.

Token ERC-20

Un token ERC-20, no es más que un smart contract que cuenta con una estructura de datos ya preestablecida. Esta estructura está pensada en facilitar la implementación de diversas funcionalidades sobre la blockchain de Ethereum, facilitando el trabajo de creación a los desarrolladores. 

La blockchain de Ethereum, a diferencia de Bitcoin, ha sido creada para ser todo un ecosistema integrado. Por ello, sus desarrolladores crearon nuevos mecanismos para facilitar ciertas tareas. Un ejemplo de esto, era mejorar la capacidad de crear nuevas monedas “sobre” una blockchain existente. Algo posible con el Bitcoin y que observamos en las llamadas colored coins. Para lograr esto, los desarrolladores de Ethereum crearon los tokens ERC-20.

Su creación fue propuesta por Fabian Vogelsteller y Vitalik Buterin, y aprobada el 19 de noviembre de 2015. La misma forma parte de los EIP de Ethereum, bajo la designación EIP-20 (EIP son las siglas en inglés de Propuesta de Mejora de Ethereum).

Las siglas ERC significan Ethereum Requests for Comments o Solicitud de Comentarios para Ethereum, mientras el número 20 proviene del EIP donde se describe. ERC-20 describe un estándar sobre las funciones y eventos que un smart contract de Ethereum puede implementar.

En la actualidad, los tokens ERC-20 son uno de los tokens más ampliamente utilizados en el mundo cripto. La cantidad de tokens ERC-20 creados es enorme, puedes comprobar en Etherscan cuantos existen en la actualidad.

¿Por qué los usuarios de criptomonedas deben conocer el estándar ERC-20?

Puede que los comerciantes e inversores de criptomonedas cuenten o no con conocimientos técnicos sobre blockchain o contratos inteligentes. Pero el estándar de token ERC-20 desarrolló los cimientos para crear nuevos tokens que nadie debería ignorar. Al analizar las criptomonedas desde la perspectiva de la blockchain, los nuevos tokens siempre tuvieron dificultad para interactuar entre sí. Por lo tanto, Ethereum creó un estándar para que cada nuevo token creado en Ethereum siga las reglas, el protocolo del estándar ERC. A partir de ese momento, una nueva moneda debe brindar información detallada a la Propuesta de mejora de Ethereum. Estos parámetros del estándar de ERC-20 incluyen el nombre, símbolo (una abreviatura utilizada al mostrar saldos), decimales (determinan el número de lugares decimales después del punto) y la provisión total de tokens emitidos.

Así, un individuo u organización que cumple con estos tres protocolos puede emitir su propio conjunto de tokens.

Diferencia entre criptomonedas estándar y tokens ERC-20

Los tokens ERC-20 funcionan como una criptomoneda común, pero el concepto es distinto. De hecho, los términos criptomonedas y tokens tienen significados diferentes y no se los debería usar indistintamente.

Primero, una criptomoneda es una forma de activo digital que está cifrada por criptografía. Eso significa que estas criptomonedas funcionan en sus propias cadenas de bloques y los registros están distribuidos en blockchains descentralizadas.

Los tokens, por el contrario, son una utilidad que existe por encima de una blockchain. Los tokens ERC-20 de Ethereum y algunas alternativas, incluidos los ERC-223 y ERC-721, son los más populares.

Básicamente, lo que diferencia los tokens ERC-20 de las criptomonedas estándar es que dependen totalmente de la cadena de bloques de Ethereum en lugar de tener su blockchain individual. Por lo tanto, hay una comisión de gas para realizar una transacción. Un minero utiliza estas comisiones para ejecutar transacciones en la red. Y la comisión de gas varía dependiendo de las actividades en la red. En conclusión, mientras más congestionada esté la red, mayores serán las comisiones de gas.

¿Cómo funcionan los tokens ERC-20?

Los tokens ERC-20, son en principio contratos inteligentes que se ejecutan en la blockchain de Ethereum. Funcionan dentro de un marco programático establecido por el equipo de Ethereum. Este marco es lo suficientemente amplio como para permitir distintos usos sin que ello interrumpa el funcionamiento de la blockchain de Ethereum. Por ejemplo, son capaces de llevar una sub-contabilidad paralela al libro principal de Ethereum, teniendo su propia unidad de cuenta. Todo ello, sin que se mezclen los saldos de Ether de las direcciones. Pero garantizando la transparencia, trazabilidad y seguridad que brinda la red de Ethereum.

Es precisamente, esta enorme flexibilidad la que ha llevado a los tokens ERC-20 a ser un estándar. La utilidad principal de estos tokens, es estandarizar la interfaz de creación y  emisión de nuevos tokens en la red. Esto lo logra, haciendo cumplir ciertas reglas y parámetros para su aceptación. Por ejemplo, para alterar o mover un token ERC-20, debes tener Ether. Esta situación sostiene tanto la parte económica como utilitaria del token.

El objetivo y la necesidad de los tokens ERC-20, es diseñar un estándar, para crear interoperabilidad y compatibilidad entre tokens y fomentar mejoras en el ecosistema de Ethereum. Esto gracias a que los token ERC-20 facilitan enormemente el trabajo de crear nuevos tokens. Ya que la infraestructura estaba pensada para ello. Además estuvo acompañado de herramientas con ese propósito como el lenguaje de programación Solidity, o la máquina virtual EVM.

¿Por qué se crearon los tokens ERC-20?

La motivación principal de los desarrolladores al crear algo tan amplio, era principalmente crear un sistema de capacidad múltiple. Todo ello bajo una interfaz estándar reutilizable por otras aplicaciones: desde monederos hasta intercambios descentralizados. Todo ello bajo un API que le garantiza los desarrolladores las siguientes ventajas:

  • Uniformidad en la programación. La API es estándar y estable lo que facilita la tarea de programar usando la misma. Esto facilita la tarea creativa de los programadores a la hora de crear nuevo software basado en las capacidades de Ethereum.
  • Reduce la complejidad de la programación. Dado que la API es sencilla, usarla reduce la complejidad del software creado para usarla. Esto se traduce en una mejor lectura, seguridad y auditabilidad del código escrito.
  • Soporte para múltiples lenguajes de programación y mejoras en la portabilidad. Dado que la API de los tokens es libre, es posible programar en ella es distintos lenguajes de programación. Ello facilita enormemente la capacidad de crear software específico. Algunos de los lenguajes soportados para esta tarea son Solidity, JavaScript, C, C++, Python, Java y Go.
  • Menor complejidad en la comprensión de cada tipo de tokens implementado. Esto gracias a que todos estarán basados en los mismos principios de funcionalidad.
  • Mayor seguridad, en especial gracias a funciones como token allowance.
  • Menor riesgo de romper contratos, al no tener impedimentos, ni incompatibilidades. Esto gracias a que la API es estable, los cambios introducidos en ellas mejoran la misma, pero nunca romperán la compatibilidad.

Características principales de los tokens ERC-20

Como ya hemos mencionado, los tokens ERC-20 se caracterizan principalmente por su amplias capacidades de adaptación. Pero para lograr esto, un token ERC-20 usa una cierta estructura básica que permite aprovechar todo su potencial. En ese sentido, estas características son:

  • Tienen un nombre o identificador y un símbolo asociado. Por medio de estos dos valores, es posible identificar y diferenciar los tokens unos de otros dentro la blockchain de Ethereum.
  • Es capaz de manejar los aspectos económicos básicos de su emisión. Datos como el sistema de precisión decimal y la emisión total, son parte fundamental del token en su estructura de datos.
  • Maneja una interfaz para controlar y revisar los balances de las direcciones de sus dueños. Por este medio, el token es capaz de informar el balance total de fondos contenidos en una dirección específica.
  • Puede manejar el sistema de transferencias de forma nativa. Esto gracias a que el token tiene funciones para manejar transferencias de fondos.

Adicionalmente el token es capaz de manejar autónomamente retiros parciales de fondos desde una dirección. Por ejemplo, si a una persona se le da permiso de retirar 500 ETH de la cuenta de un determinado usuario, dicha persona puede retirar 250 ETH en un primer retiro. En subsecuentes retiros, esa persona puede terminar de retirar el resto de los fondos, pero solo podrá llegar hasta los 500 ETH. Una característica que recibe el nombre de “Aprobado” y depende de otra llamadi e a “Provisión

Ventajas de los tokens ERC-20

Los tokens ERC-20 son populares por una razón, hay varios factores que los hacen atractivos y son los siguientes:

  • Conveniencia. Los tokens ERC-20 son simples y fáciles de implementar. Eso es porque los contratos inteligentes de Ethereum están escritos con el lenguaje de programación Solidity, similar a JavaScript. Además, los desarrolladores pueden codificar contratos inteligentes con el lenguaje de programación Vyper, que es similar a Python.
  • Flexibilidad para la personalización. Dependiendo de la lógica del negocio y las interacciones de los usuarios, los tokens ERC-20 son personalizables, lo que permite funciones como recarga automática de gas para transacciones futuras, bloquear y desbloquear un token, añadir una casa de moneda central para modificar los tokens en circulación y más.

 

  • Una guía clara para desarrolladores. El estándar ERC-20 les da a los desarrolladores un marco apropiado, que les permite crear nuevos tokens de manera fácil en vez de crearlos desde cero.
  • Estandarización de tokens. Ethereum provee las especificaciones para tokens que incluyen reglas de interacción entre distintos tokens y reglas para la compra de tokens. Con un estándar universal, los usuarios pueden transferir nuevos tokens a una cartera y ponerlos en una bolsa al mismo tiempo.
  • Liquidez. Si los proyectos basados en Ethereum están activos e interactúan entre sí, se obtienen más proyectos y más usuarios en la red Ethereum. También hay una solución como Uniswap, con la que se ha simplificado la conversión entre tokens ERC-20.
  • Ampliamente aceptado. El estándar ERC-20, así como los tokens, es reconocido en la mayoría de las bolsas y carteras. Esto es gracias al protocolo universal adaptable para varias bolsas. Además, su fungibilidad hace que sea excelente para aplicaciones de comercio.
  • Erradicación de tokens falsos. Todas las transacciones deben ser aprobadas, y la provisión total de tokens facilita el proceso de auditoría al verificar que no hay un token duplicado circulando.

El ERC-20 podría mantenerse como uno de los estándares más populares usado por desarrolladores en todo el mundo. Sin embargo, no es perfecto.

Limitaciones de los tokens ERC-20

A pesar de todas sus cualidades, los tokens ERC-20 tienen algunas fallas y problemas que no pueden resolver, entre los que encontramos los siguientes aspectos:

  • Inestabilidad. Recientemente, la blockchain de Ethereum ha cambiado su método de consenso de la prueba de trabajo (Proof of Work, PoW por sus siglas en inglés) a la prueba de participación mediante ETH 2.0. A pesar de que ETH 2.0 apunta a resolver todos los problemas de escalabilidad, muchos cambios todavía están ocurriendo y llevará tiempo. El proceso todavía debe completarse. En este momento, puede haber inestabilidad en el sistema. Además, algunos tokens podrían destruirse cuando se los utilice para contratos inteligentes. Por lo tanto, se creó el ERC-233 para evitar el problema.
  • Comisión de gas costosa. El ERC-20 depende de la blockchain de Ethereum y, para completar cada transacción, habrá una comisión de gas. Aunque la comisión de gas es paralela a las actividades de la cadena de bloques, las comisiones de gas aumentan cuando hay mucho tráfico en la blockchain. Por lo tanto, no es sostenible a largo plazo.
  • Errores de transferencia. En Ethereum hay dos tipos de cuentas. Una es una cuenta de propiedad externa (externally owned account, EOA) controlada con claves privadas; y la otra es una cuenta de contrato (contract account), propiedad del código del contrato. Enviar tokens de una cuenta EOA a otra usando la función de transferencia no causa ningún problema, pero transferir fondos a una cuenta de contrato resulta en un error que ya ha causado la pérdida de casi un millón de dólares.
  • Transacciones lentas. El retiro y las transacciones están correlacionadas con la blockchain de Ethereum. Cuando la red esté congestionada, todas las transferencias en ERC-20 serán más lentas. Aunque se supone que la “fragmentación” resolverá este problema, aún está en una fase temprana para adoptarla completamente en la blockchain de Ethereum.
  • Transacciones irreversibles. No hay manera de regresar fondos si los usuarios envían tokens ERC-20 a la dirección incorrecta y los token permanecen atrapados para siempre en contratos. Lo mismo sucede con los tokens que roban los hackers, el famoso hackeo al DAO es uno de los ejemplos más llamativos.
  • Criterio de ingreso muy bajo. Los críticos sostienen que es demasiado fácil crear un token sin ningún propósito u objetivo aparente. Como resultado, los desarrolladores pueden explotar fácilmente las políticas para desarrollar ofertas iniciales de monedas y tokens con proyectos que no añaden ningún valor.

Muchas soluciones apuntan a superar los problemas técnicos del estándar. Pero la mayoría sigue siendo una pequeña solución superficial sin una explicación detallada. Por lo tanto, los inversores deberían tener esto en cuenta cuando evalúan un proyecto ERC-20.

Alternativas a los tokens ERC-20

Hay otros estándares ERC de token además del ERC-20. Aunque puedan tener protocolos similares, tienen un propósito distinto. Echemos un vistazo al ERC-721, por ejemplo.

Los tokens ERC-721 no son fungibles. Esto significa que cada token es único y especial para proteger su valor diferenciado. Las funciones indican el valor que representa. Por ejemplo, Ethereum DApp (Cryptokitties) define su valor mediante los límites fijados que preservan su escasez. Este tipo de token ayuda a evitar las falsificaciones y aumenta la confianza en la propiedad de una inversión.

El ERC-777 se considera una actualización del ERC-20. Aunque presenta funcionalidades similares al ERC-20, se distingue porque ofrece la opción de crear o eliminar un token y, eventualmente, acelerar el proceso de transferencia. Tiene retrocompatibilidad con carteras y contratos proxy sin necesidad de volver a implementarlo.

Otra alternativa es el ERC-223. Principalmente se lo utiliza para contrarrestar el escenario de una transacción irreversible a un contrato inteligente con tokens ERC-20. Notifica a los usuarios que deben cancelar una transacción cuando se activa una transferencia a un contrato inteligente sin una finalidad. Sin embargo, la comisión de gas es inevitable y solo es aceptada por un número limitado de carteras.

Cómo enviar y recibir tokens ERC-20

Los usuarios pueden enviar y recibir tokens ERC-20 con cualquier cartera que sea compatible con activos basados en Ethereum. Todas las transacciones ERC-20 requieren que se pague una comisión de gas al minero. Por lo tanto, el monto de Ether que almacene en su cartera siempre debería ser un poco mayor al monto real que quiere enviar. La práctica recomendada es que un usuario evite transferir tokens ERC-20 si el saldo en ETH es demasiado bajo.

Note que las comisiones por enviar activos en Ethereum aumentan si las envía a una dirección de un contrato inteligente, como una oferta inicial de monedas (ICO) ya que las transacciones son más complicadas y requieren varias interacciones. Por ejemplo, algunas billeteras (Exodus) pagan la comisión de la red por los usuarios en ETH y cobran la comisión equivalente en el token ERC-20 que utilizan. Es fácil adquirir ETH intercambiando cualquier criptomoneda en su billetera por ETH o recibiéndolo de otra cartera.

Para recibir tokens, solo debe proveer la dirección pública que comienza con “Ox”. Asegúrese de copiar y pegar y nunca trate de escribir la dirección manualmente ya que hay una buena probabilidad de cometer un error y perder los fondos, sin ninguna posibilidad de recuperarlos.

Cómo almacenar tokens ERC-20

Intercambiar tokens ERC-20 en la cadena de bloques de Ethereum es fácil. Pero está claro que tanto la dirección del exchange como la dirección del token ERC-20 son únicas. Por ello, enviar el token ERC-20 a una dirección de una cartera personal y a una dirección de Ethereum de un exchange es distinto.

Todo lo que necesitas hacer es identificar claramente la dirección de cartera o bolsa a la que quieres enviar tus tokens. De lo contrario, los tokens en la transacción no se enviarán y el token ERC-20 podría no acreditarse en el exchange.

Conclusión:

Los tokens ERC-20 han tenido, sin lugar a dudas, una influencia importante en la industria de las criptomonedas. No sólo son responsables por la industria ICO que mueve miles de millones de dólares, sino que también han popularizado los activos digitales.

Los tokens recientemente creados pueden añadirse a exchanges cuando se lanzan sin ninguna comunicación entre la criptomoneda y los desarrolladores del exchange. Pero solo si cumplen con el estándar ERC-20. Esto resultará en un menor riesgo, una menor complejidad, más uniformidad y una mayor liquidez de los tokens, lo que generará más confianza entre los usuarios.

Algunos entusiastas ya han experimentado con estándares más nuevos como el ERC-223 o ERC-777, pero el ERC-20 sigue siendo el favorito. Hay una alta posibilidad de que el protocolo ERC-20 mejore muy pronto, cuando se añadan funciones para resolver vulnerabilidades y problemas actuales con los tokens.

Related Posts