***
Lanzado en 2014 por una banda de programadores y un adolescente ambicioso, el proyecto Ethereum fue diseñado para posibilitar a cualquiera la creación de casi cualquier tipo de aplicación y desplegarla sobre un Blockchain. Muchas de estas aplicaciones descentralizadas (o “dapps” para abreviar) necesitaban su propia ficha, la cual pudiese, entre otras cosas, ser vendida e intercambiada con facilidad.
Para este fin, hace casi 18 meses, nació el estándar de moneda ERC-20.
Es difícil exagerar lo importante que ha sido esta interfaz. Al definir un grupo común de reglas para todas las fichas basadas en Ethereum, ERC-20 permite a los desarrolladores de carteras, intercambios y otros contratos inteligentes, saber por adelantado cómo se comportará cualquier nueva ficha que esté basada en éste estándar.
De esta manera, pueden diseñar aplicaciones que funcionan con estas fichas desde el principio, sin tener que reinventar la rueda cada vez que aparece un nuevo sistema de fichas.
Como resultado, casi todas las monedas principales en el Blockchain de Ethereum hoy en día se adhieren al ERC-20, incluyendo aquellas que se han vendido en los recientes auges de ofertas iniciales de monedas (Initial Coin Offerings, “ICO”) basadas en Ethereum.
Fichas: primera lección.
Antes de profundizar, es importante describir en detalle lo que realmente es una moneda y cómo se diferencia del ether, la moneda nativa que potencia el Blockchain de Ethereum.
Dado que guardan relación con la red Ethereum, las fichas son activos digitales que pueden representar cualquier cosa, desde puntos de lealtad hasta cupones y pagarés u objetos en el mundo físico. Las fichas también pueden ser herramientas, tales como ítems dentro de un juego, que interactúan con otros contratos inteligentes.
Pero para decirlo de una manera simple, una ficha no es más que un contrato inteligente que opera sobre el Blockchain de Ethereum. Como tal, es un conjunto de códigos (funciones) con una base de datos asociada. El código describe el comportamiento de la ficha, y la base de datos es básicamente una tabla con filas y columnas que describen quién tiene cuántas fichas.
Si un usuario, o un contrato inteligente dentro de Ethereum, envía un mensaje al contrato de esa moneda en forma de una ‘transacción’, el código actualizará la base de datos.
Así que, por ejemplo, cuando una aplicación de billetera envía un mensaje al contrato de una ficha para transferir fondos de Alice a Bob, esto es lo que ocurre:
· Primero, el contrato de la ficha revisa que el mensaje fuera firmado por Alice y que Alice tenga suficientes fondos para cubrir el pago
· Luego, mueve los fondos de la cuenta de Alice a la de Bob, en la base de datos.
· Finalmente, envía una respuesta, que permite a la billetera reconocer que la transacción fue un éxito.
En contraste con las fichas, la moneda ether está inscrita directamente en el código del Blockchain de Ethereum. Se vende e intercambia como una criptomoneda, y además potencia la red de Ethereum permitiendo a los usuarios pagar por las tasas de transacción de los contratos inteligentes (todos los cálculos dentro de la red de Ethereum tienen un costo en ‘gas’).
Cuando Ud. envía monedas a un intercambio, por ejemplo, paga por esa transacción (en este caso, se envía una solicitud al contrato de la ficha para que actualice su base de datos) usando ether. Este pago es luego recolectado por un minero que confirma la transacción dentro de un bloque, que luego es añadido a Blockchain.
¿Qué hay adentro?
ERC-20 define un conjunto de seis funciones que otros contratos inteligentes dentro del ecosistema Ethereum pueden entender y reconocer.
Estos incluyen, por ejemplo, cómo transferir una ficha (de parte del dueño o en nombre del dueño) y cómo acceder a los datos (nombre, símbolo, suministro, balance) de la ficha. Este estándar también describe dos eventos –señales que un contrato inteligente puede activar- que otros contratos inteligentes pueden “escuchar”.
Juntas, estas funciones y eventos hacen que las monedas de Ethereum funcionen de manera prácticamente igual dentro del ecosistema Ethereum. Como resultado, casi todas las billeteras que manejan Ether, incluyendo a Jaxx, MyEtherWallet.com y Ethereum Wallet (también conocida como Mist Wallet, “neblina”) también tienen funcionalidad para fichas que cumplan con ERC-20.
De acuerdo a Fabian Vogelsteller, uno de los desarrolladores del ERC-20, quien conversó con CoinDesk sobre la importancia del estándar de ficha de Ethereum, esta interoperabilidad sienta las bases para grandes cambios que están por venir.
Afirmó:
Creo que estamos a punto de hacer que todo sea en fichas. Quizás en el futuro, podrás comprar una acción en la silla en que estás sentado, la pintura de tu casa o una fracción de una equidad en un enorme conjunto habitacional”.
Un camino rugoso
Sin embargo, algo que debe tenerse en mente es que ERC-20 es, en términos formales, sólo un boceto. Esto significa que su uso no es obligatorio y que aún necesita recibir el visto bueno de toda la comunidad de Ethereum. Sin embargo, de acuerdo a Vogelsteller, todas las nuevas fichas que surjan probablemente se adherirán a su conjunto de reglas.
Advierte, sin embargo, que el estándar es aún joven, de modo que será un camino rugoso. Uno de los baches es el hecho de que enviar fichas directamente al contrato inteligente de la ficha resultará en una pérdida de dinero. Esto ocurre porque el contrato de una ficha sólo rastrea y otorga dinero. Cuando se envían fichas a otro usuario desde una billetera, por ejemplo, esta billetera invoca el contrato de la moneda para actualizar la base de datos.
Como resultado, si uno intenta transferir fichas directamente al contrato de una moneda, el dinero se “pierde” puesto que el contrato de la ficha no puede responder.
Hasta ahora, se han perdido $70.000 en fichas de esta manera (la cantidad varía dependiendo del precio del Ether en el mercado).
Pero las soluciones están en la vía. Como extensión de ERC-20, ERC-223 intenta resolver el problema sugiriendo implementar una función retornarFicha para evitar que el contrato se quede con monedas que se le enviaron de manera directa por accidente.
Vogelsteller argumenta que todo es parte del desarrollo de un sistema más sólido, afirmando:
Manejar con estos prototipos puede ponerse rocoso en ocasiones, pero en última instancia proveen el aprendizaje necesario que nos llevará hacia el futuro del blockchain y las interacciones de contratos inteligentes”.
Fuente: CoinDesk
Traducido por David Datica para Diario Bitcoin
ADVERTENCIA: Este es un artículo de carácter informativo. DiarioBitcoin es un medio de comunicación, no promociona, respalda ni recomienda ninguna inversión en particular. Vale señalar que las inversiones en criptoactivos no están reguladas en algunos países. Pueden no ser apropiadas para inversores minoristas, pues se podría perder el monto total invertido. Consulte las leyes de su país antes de invertir.