El Estándar ERC-20 de Ethereum

Blockchain Projects
2. September 2019. by Ken Smith
503
ERC 20

Antes de adentrarnos en las características de los tokens ERC-20 en el mundo de Ethereum y las criptomonedas, es bueno tener clara la respuesta a éstas preguntas:

¿CUÁL ES LA DIFERENCIA ENTRE UNA CRIPTOMONEDA Y UN TOKEN?

Ambos son conceptos diferentes pero con una estrecha relación.

Las criptomonedas son la forma de dinero digital más reciente y existen en forma distribuida en blockchains descentralizadas en todo el mundo.

Los tokens por otro lado representan un activo o utilidad. Son bienes transferibles y pueden representar monedas, puntos de fidelidad, activos en un juego, etc. Incluso pueden canjearse por un servicio que un emisor proporcionará en una fecha posterior.

Por tanto, la principal diferencia entre ambos está en su estructura y su finalidad:

Estructura

Mientras que las criptomonedas como Bitcoin o Litecoin siempre cuentan con su propia blockchain los tokens operan ‘encima’ de otra blockchain. Por ejemplo, los tokens OmiseGO y EOS operan encima de la cadena de bloques de Ethereum.

Finalidad

Mientras que la finalidad de las criptomonedas es ser una unidad de valor o método de pago (en sustitución por ejemplo del euro o el dólar), los tokens pueden representar básicamente cualquier activo que sea fungible y negociable, desde mercancías o votos hasta puntos de fidelidad, ¡e incluso otras criptomonedas!

Aun así, en la práctica, la línea que divide a las criptomonedas y los tokens no es clara y nítida hoy en día. Ambos se usan para transferir valor y como medio de pago, de manera similar a la forma en la que tanto los dólares como las acciones se utilizan para recompensar a las personas por su trabajo.

Para simplificar, podríamos decir que [criptomoneda = dinero digital] y [token = todo lo demás].

¿POR QUÉ ALGUIEN QUERRÍA CREAR UN TOKEN?

La respuesta es que a menudo en nuestro día a día utilizamos todo tipo de elementos que a veces sustituyen al dinero en efectivo.

Usamos boletos, cupones de descuento, certificados de acciones y bonos, vales, cupones de comida, escrituras y una variedad de otros instrumentos al portador que dan derecho al titular del mismo a diferentes ‘cosas’.

En lugar de hacer todo esto con hojas de papel o anotaciones en una base de datos centralizada, ¿por qué no crear tokens que las personas puedan controlar con sus smartphones y cuya autenticidad pueda verificarse en una red abierta?

Y ahora sí…

¿QUÉ ES UN TOKEN ERC-20?

A diferencia del protocolo de Bitcoin, el protocolo de Ethereum fue diseñado explícitamente para hacer más que simplemente crear y registrar transferencias de sus propias criptomonedas.

Es un protocolo más generalizado y permite crear otros tokens ‘encima’ de su blockchain.

Los tokens que se ajustan a estas especificaciones se conocen como tokens ERC20 (ERC significa Solicitud de Comentarios de Ethereum) y hoy en día son el estándar más utilizado en la industria de las criptomonedas para crear nuevos tokens.

En esencia, los tokens ERC20 son contratos inteligentes que se ejecutan en la blockchain de Ethereum. Mientras que estos tokens funcionan dentro del marco establecido por el equipo de Ethereum, el marco es lo suficientemente amplio como para permitir simultáneamente a los desarrolladores una flexibilidad considerable en el diseño y la función de los tokens.

La mayoría de los tokens creados para lanzar ICOs en Ethereum cumplen con el estándar ERC20, aunque también existen otros dos estándares como veremos más adelante, llamados ERC223 y ERC721.
Es por ello que siempre recomendamos estudiar bien todos los proyectos antes de involucrarse financieramente en alguno.

¿Y POR QUÉ ALGUIEN QUERRÍA CREAR UN TOKEN ‘ENCIMA’ DE ETHEREUM?

  1. Principalmente porque estos tokens creados mediante el estándar ERC-20 se benefician de la infraestructura existente de Ethereum en lugar de tener que construir una blockchain completamente nueva para ellos, con el ahorro de tiempo y recursos que eso conlleva.
  2. Por otra parte la creación de nuevos tokens fortalece el ecosistema de Ethereum impulsando la demanda del Ether, lo que hace que toda la red se vuelva aún más segura.
  3. Y por último por su interoperabilidad. Si todos los tokens creados en la red Ethereum utilizan el mismo estándar, esos tokens serán fácilmente intercambiables y podrán trabajar fácilmente con otras Ðapps del mismo ecosistema.

Lo que hace un token “estandarizado” es que utiliza un cierto conjunto de funciones. Si los desarrolladores saben de antemano cómo funcionará un token, pueden integrarlo fácilmente en sus proyectos con menos temor a cometer errores.

Si varios tokens se comportan de manera similar, llamando a las mismas funciones de la misma manera, entonces una Ðapp puede interactuar más fácilmente con diferentes sub-monedas.

En resumen, el ERC-20 define una lista común de reglas para todos los tokens creados encima de Ethereum, lo cual facilita muchísimo la tarea a los desarrolladores al permitirles predecir con precisión cómo funcionarán esos nuevos tokens dentro del sistema.

¿Afecta entonces el valor del Ether al valor del token?

En principio no. El valor particular de cualquier token dependerá de una variedad de factores descritos en el código de la aplicación (por ejemplo el suministro total de tokens), así como la demanda del token en el mercado o por la especulación sobre su valor futuro.

Lo importante es que el hecho de que sea la Máquina Virtual Ethereum (EVM) la que ejecuta los cálculos compartidos que describen la distribución y los movimientos del token no significa que el valor del token sea el mismo que el del Ether.

El Ether se usará como ‘gas‘ para ejecutar cualquier aplicación relacionada con los tokens (y en cierto sentido si el valor del Ether cayera en picado podría poner en peligro la estabilidad y utilidad de los tokens que se ejecutan sobre Ethereum), pero el valor del token generalmente está desvinculado del valor del Ether.

EL DESARROLLO DE UN TOKEN ERC-20

Adentrándonos un poco más en el aspecto puramente técnico de este estándar (en el que aún hoy en día la fundación y la comunidad de Ethereum sigue trabajando para mejorar), puedes encontrar sus especificaciones en esta página de Github.

En ella se explica que el código del token debe de estar formado por nueve métodos y dos eventos:

– Métodos

  • Name (opcional) – Nombre del token.
  • Symbol (opcional) – Símbolo del token.
  • Decimals (opcional) – El número de decimales que utiliza el token.
  • TotalSupply – Suministro total de tokens que existirán.
  • BalanceOf – Saldo de la cuenta del propietario.
  • Transfer – Transferencia a…
  • TransferFrom – Transferencia desde…
  • Approve – Permite la retirada de fondos.
  • Allowance – Devuelve la cantidad que se puede retirar.

– Eventos

  • Transfer – Activado cuando se transfieren los tokens.
  • Approval – Activado siempre que se aprueba la transferencia.

En general, estos son tipos básicos de funcionalidad, que incluyen cómo se transfieren los tokens y cómo los usuarios pueden acceder a los datos sobre un token. En la wiki de Ethereum podrás encontrar más información técnica al respecto.

Juntos, este conjunto de funciones y eventos aseguran que los tokens de Ethereum de diferentes tipos funcionarán normalmente de la misma forma en cualquier lugar dentro del sistema Ethereum. Esto significa que casi todos los monederos (wallets) que admiten la moneda Ether también admiten tokens compatibles con ERC-20.

Igual que Bitcoin y Ether, los tokens ERC-20 también puede rastrearse en la blockchain.

Esto se debe a que los tokens son sólo un tipo específico de contrato inteligente que ‘‘vive’’ en la cadena de bloques Ethereum, tal y como podemos ver en ésta  transacción de ejemplo a continuación:

A primera vista, esta transacción puede parecerse a una transacción de Ether vacía, ya que el «valor» del Ether es cero, pero si observamos el texto en el recuadro rojo vemos que se trata del envío de tokens OmiseGo (2.77 OMG) y las direcciones de red de Ethereum que estuvieron involucradas en él.

La dirección de encima del recuadro rojo «Contract 0xd26114…» es el Contrato inteligente de OmiseGo – una aplicación que maneja la distribución y transferencias de tokens OMG en la red Ethereum.

Por tanto podemos deducir que, efectivamente, OmiseGo utiliza el estándar ERC-20 para sus tokens OMG.

Personalización de los tokens

Además de los métodos estándar que acabamos de ver, los tokens ERC-20 se pueden personalizar para habilitar las siguientes funciones:

  1. Compra y venta automática: Puedes vincular el valor del token con el de otro token o divisa creando un fondo que compra o vende automáticamente tokens para mantener el saldo.
  2. Recarga automática: Las transacciones en la blockchain de Ethereum requieren pagos a los mineros en ‘gas’. Puedes programar tu token para recargar el gas automáticamente de cara a transacciones futuras si cae por debajo de cierto nivel.
  3. Agregar una ‘casa de moneda’ central que pueda cambiar el número de tokens en circulación: podría ser útil si tu token refleja o simula monedas del gobierno.
  4. Tokens congelados: Si un organismo regulador te lo indica, puedes congelar los tokens propiedad de un usuario y descongelarlos cuando sea necesario.
  5. Proof-of-Work: Puedes vincular su suministro de tokens al suministro de Ether programando un contrato para ejecutar una «minería fusionada» con Ethereum. Un minero que encuentre un bloque en Ethereum también obtendrá un número predeterminado de tus tokens como recompensa de bloque.

Las Propuestas ERC-223 y ERC-721

En algunas situaciones, los tokens ERC-20 pueden presentar dificultades de cara a los usuarios. Por ejemplo, si alguien utiliza un token ERC-20 para enviar 3 ETH a un contrato que no es compatible con ERC-20, la transacción no será rechazada porque el contrato no reconocerá la transacción entrante. El ETH podría quedarse atascado en el limbo y acabar perdiéndose.

Un nuevo estándar de token (el ERC-223 propuesto) resuelve este problema rechazando una transacción si no es compatible con ERC.

Por otra parte, otro estándar propuesto -y no oficial aún- llamado ERC-721, permite crear tokens que no sean fungibles. Ésto quiere decir que cada token será totalmente único y no serán intercambiables entre sí.

Un token ERC-721 tendrá valor debido a su singularidad y cualidades extrañas y ya hemos visto algunos proyectos que los utilizan, como el famoso CryptoKitties, en el que se coleccionan cripto-gatos, cada uno con sus propias cualidades únicas y distintas a todos los demás.

En este artículo puedes encontrar más información sobre los interesantes tokens ERC-721.

MONEDEROS ERC-20

De cara a guardar tus tokens o criptomonedas ERC-20 (por ejemplo de una ICO o una Airdrop), es importante utilizar monederos compatibles.

A día de hoy los más conocidos son éstos:

Desde aquí te recomendamos crear un monedero en MetaMask o MyEtherWallet, ya que son los más sencillos y seguros de utilizar y posteriormente, si adquieres un monedero físico como Trezor o Ledger, ya lo tendrás creado (es necesario para poder utilizarlos).

¿Sirve Coinbase como monedero ERC-20?

No. Es importante saber que tu monedero en Coinbase solamente sirve para las criptomonedas que se pueden intercambiar allí y que no podrás utilizar esas direcciones para recibir tokens ERC-20 provenientes de ICOs o Airdrops.

Siempre recomendamos crear una cuenta en Coinbase para iniciarse en el mundo de las criptomonedas y comprar tus Bitcoins o Ether, pero su wallet no es compatible con otro tipo de tokens.

LISTA DE TOKENS ERC-20

Cada día se crean nuevos tokens ERC-20 y actualmente hay más de 500 en circulación. La mejor lista actualizada constantemente la provee Eidoo aquí.

lista tokens erc20

Es importante no confundir los tokens ERC-20 con un token concreto que tiene el mismo nombre y que sirve para un proyecto que tiene como objetivo crear un índice diversificado por capitalización de las principales criptomonedas.

CONCLUSIÓN

Ethereum sacó el estándar de tokens ERC-20 a raíz de un mayor interés en las ofertas iniciales de monedas (ICOs) y, desde entonces, son innumerables los proyectos que se están apalancando en la blockchain de Ethereum para poder emitir sus tokens y operar sus plataformas.

icos ethereum erc20

Dado que la mayoría de ICOs hoy en día se basan en este estándar, cualquier persona que se dedique profesionalmente a la industria basada en blockchain o que tenga relación con la inversión en criptomonedas debe entender qué significa y por qué es tan importante, así como estudiar los nuevos estándares que aparezcan con el tiempo.

Es muy probable que el mercado ‘cripto’ siga creciendo con nuevas y mejores aplicaciones que cumplan este estándar para poder interactuar entre sí, así como también es muy problable que muchos de los tokens que están saliendo al mercado hoy en día no tengan futuro al ser unos prácticamente copias de otros y estar basados simplemente en promesas.

Es por ello que siempre recomendamos estudiar bien todos los proyectos antes de involucrarse financieramente en alguno.

Add a comment