EOS es una plataforma blockchain pensada con un objetivo muy sencillo: ser una blockchain con capacidad comercial. Esto significa que es capaz de desplegar aplicaciones descentralizadas (DApps), ser altamente escalable y atender millones de usuarios concurrentes.
¿Qué es EOS?
EOS es una plataforma blockchain pensada para desplegar aplicaciones descentralizadas (DApps). Su funcionamiento es similar a la plataforma Ethereum, con la salvedad de que es más rápida y escalable. Lo que permite a los desarrolladores crear aplicaciones descentralizadas de manera más eficiente.
El nacimiento del proyecto
El inicio del proyecto se debe al trabajo de Daniel Larimer, mejor conocido por crear la plataforma BitShares. Además es cofundador, de la blockchain Steem y actualmente es CTO de EOS. Entre otros de los logros de Larimer, está la creación del algoritmo de consenso DPoS (Delegated Proof of Stake Algorithm) y la tecnología Graphene. Otra de las figuras importantes es Brendan Blumer, quien es el actual CEO del proyecto.
Larimer anunció su lanzamiento por primera vez en una conferencia en 2017. En ese entonces, EOS inició con un lanzamiento ICO (Oferta Inicial de Monedas). El calendario de distribución de los tokens sería el siguiente:
- 200.000.000 tokens (20% del total) distribuidos a lo largo de un periodo de 5 días. Este periodo empezó el 26 de junio de 2017 y terminó el 1 de julio de 2017.
- 700.000.000 tokens (70% del total) dividido en 350 periodos de 23 horas. Cada uno de estos periodos distribuye un total de 2.000.000 tokens comenzando desde el 1 de julio de 2017
- 100.000.000 tokens (10% del total) reservado para block.one.
En principio, el precio inicial era de 5 $ USD por token. Sin embargo, el precio cayó rápidamente hasta llegar a los 0,48 $ USD. En noviembre de 2017, EOS comenzó a subir. En enero de 2018, alcanzó su máximo histórico alrededor de 17,8 $ USD.
Un desarrollo comunitario
El proyecto se convirtió oficialmente en software de código abierto el 1 de junio de 2018. En ese momento, sentó las bases para que los programadores exploten el potencial de esta blockchain. Por otro lado, los titulares de tokens EOS, actúan como accionistas de compañías cotizantes en bolsas tradicionales. De este modo, los titulares pueden emitir votos y participar en el gobierno de la blockchain, en proporción a sus acciones.
Con estas características, se transformó en un desarrollo comunitario vigilado por block.one. La razón de esto es permitir un desarrollo más acelerado de los objetivos.
Pilares de su construcción
EOS es un proyecto altamente enfocado en resolver muchos de los problemas de la tecnología blockchain. Especialmente de aquellos que la mantienen alejada de masificación y adopción mundial. Para lograr esto, tiene una serie de pilares fundamentales que cumplir, ellos son:
- Uso libre. La plataforma debe ofrecer flexibilidad a desarrolladores y usuarios para ofrecer servicios gratuitos. Esto apunta a una adopción más generalizada de la tecnología.
- Recuperación frente a errores. La plataforma debe ser lo suficientemente robusta como para corregir errores cuando ocurren inevitablemente.
- Rendimiento secuencial. Hay algunas aplicaciones que simplemente no se pueden implementar con algoritmos paralelos debido a pasos secuencialmente dependientes. Por esta razón, la plataforma debe soportar un rendimiento secuencial rápido.
- Rendimiento paralelo. Las aplicaciones a gran escala necesitan dividir la carga de trabajo entre varias CPU y computadoras.
¿Cómo funciona EOS?
EOS es una plataforma blockchain diseñada para habilitar el escalamiento vertical y horizontal de aplicaciones descentralizadas. Esto se logra a través de un constructo tipo sistema operativo sobre el cuales pueden construir aplicaciones.
En este sentido, EOS es similar a Ethereum. Las capacidades de ambos para permitir el desarrollo de aplicaciones distribuidas son inmensas. Sin embargo, hay puntos técnicos importantes donde EOS lleva cierta ventaja.
Entre estos puntos están:
- Capacidad de proporcionar cuentas, sistemas de autenticación y base de datos.
- Comunicación asincrónica entre nodos.
- Programación de aplicaciones paralela para aprovechar el potencial de múltiples núcleos y / o clústeres de CPU.
- Alta escalabilidad.
- Eliminación de tarifas y comisiones.
- Implementación rápida y sencilla de aplicaciones descentralizadas.
- Sistema de actualización sencillo.
- Recuperación de errores.
Otro punto importante, es que cuenta con protocolo de consenso pensado en una alta escalabilidad. En el desarrollo de EOS, se utilizó Delegated Proof of Stake (DPoS). De esta forma, todos aquellos que cuenten con tokens de EOS podrán elegir producir bloques gracias a un sistema de votación y aprobación. La producción de moneda, es permisiva. Es decir, un usuario puede producir bloques en proporción a los votos que acumule. La red puede producir un bloque cada 0,5 segundos y lotes de 126 bloques cada vez.
Características tecnológicas relevantes de EOS
DPoS – El artífice de la escalabilidad de EOS
La alta escalabilidad de EOS es posible gracias al uso de un algoritmo de consenso pensado para ello. Este algoritmo es el de Prueba de Participación Delegada, o Delegated Proof of Stake (DPoS). Este algoritmo es una mejora sustancial al algoritmo de consenso de Proof of Stake (PoS). Este sistema sostiene que los poseedores de tokens EOS, eligen los creadores de bloque a través de un sistema de aprobación continuo. Donde cada participante de la red puede tomar parte de la creación de bloques según la cantidad de votos que reciba.
Este esquema de funcionamiento habilita una alta escalabilidad en la blockchain donde se implementa. Al mismo tiempo, elimina la minería y mantiene la seguridad de la red. Para tener una idea más clara del nivel de escalabilidad de EOS, la red de momento puede manejar más de 80 millones de transacciones al día. Y eso es solo el comienzo.
Sistemas de transacciones
Gracias al protocolo de consenso DPoS, EOS tiene un sistema de transacciones muy eficiente. Gracias a DPoS, una transacción puede considerarse confirmada con 99,9% de certeza, 0,25 segundos después de su emisión.
Además de DPoS, EOS implementa un algoritmo de Tolerancia a falla bizantina asíncrona (aBFT), un tipo de tolerancia a fallos bizantinos. El objetivo de esto, es lograr una irreversibilidad de transacciones mucho más rápida. El algoritmo aBFT, proporciona un 100% de confirmación de irreversibilidad en 1 segundo.
Otra mejora al sistema de transacciones, viene por parte del algoritmo Transacción como Prueba de Participación (TaPoS). Este algoritmo requiere que cada transacción incluye parte del hash de un encabezado de bloque reciente. Gracias a este diseño se dificulta la falsificación de transacciones en la blockchain.
Cuentas – Creando una interfaz sencilla para el uso de la blockchain
Otra de las principales características de EOS, es la capacidad de crear cuentas únicas, legibles por humanos con una extensión de hasta 12 caracteres. Este nombre es elegido por el creador de la cuenta. El creador de la cuenta debe reservar la memoria RAM necesaria para almacenar la nueva cuenta. Esto hasta que las nuevas cuentas apuesten a la reserva de su propia memoria RAM.
Smart Contracts a toda máquina
EOS es una plataforma que habilita la capacidad de usar smart contracts al igual que Ethereum. Gracias a esta funcionalidad, es capaz de desplegar servicios y aplicaciones distribuidas (DApps). La principal particularidad de esta característica es que no usa una máquina virtual para sus Smart Contracts. En lugar de ello, usa una API de programación basado en C/C++. Como resultado de esto, los smarts contracts son veloces y muy flexibles. Una situación que alienta su optimización, alta escalabilidad y seguridad. Además, se cuenta con una amplia documentación que facilita la tarea de programar estos smarts contracts.
«Nuestro equipo está explorando algunas soluciones innovadoras para mejorar la escalabilidad de blockchain y facilitar el desarrollo de aplicaciones descentralizadas multi-proceso. #eosio continuará siendo líder de la industria en escalabilidad y facilidad de desarrollo.»
Gestión y administración de recursos en EOS
Uno de los puntos más relevantes en la construcción y administración de una blockchain, es la administración de recursos. Esto con el fin de que actores maliciosos o no abusen de los recursos con los que cuenta el sistema. Para lograr esto, se gestiona tres clases de recursos que son:
- Ancho de banda y almacenamiento de registro (disco). La gestión del ancho de banda y el almacenamiento es un punto fundamental. Especialmente porque estos son necesarios en dos componentes de uso; el instantáneo y el de largo plazo.
- Computación y atrasos computacionales (CPU). Esto es un punto crítico. Pues el funcionamiento de la red depende mucho del control de los recursos de cómputo CPU de los nodos.
- Almacenamiento de estado (RAM). El almacenamiento de estado, es información a la que se puede acceder desde la lógica de la aplicación. Incluye información como libros de pedidos y saldos de cuentas. Por ejemplo, el contenido de una entrada en un blog y los comentarios no se leen mediante la lógica de la aplicación, por lo que no deben almacenarse en el estado de la blockchain. Mientras tanto, la existencia de una publicación o comentario, el número de votos y otras propiedades se almacenan como parte del estado de la blockchain.
Sistema de gobernanza y constitución
EOS reconoce el poder originado en los poseedores de tokens y que delegan en los productores del bloque. Los productores de bloques reciben autorización limitada y comprobada para congelar cuentas, actualizar aplicaciones defectuosas y proponer cambios forzosos al protocolo subyacente.
Para lograr esto, se incluye un sistema de elección para los productores de bloques. Antes de que se pueda realizar cualquier cambio en la blockchain, los productores de bloques deben aprobarlo. De negarse los productores de bloques a hacer los cambios deseados por los poseedores de tokens, estos se eliminan. Si los productores del bloque realizan cambios sin el permiso de los poseedores del token, todos los demás validadores de nodo completo (intercambios, etc.) rechazarán el cambio.
Adicional a esto, se permite establecer un acuerdo de términos de servicio de igual a igual. Este contrato es lo que se denomina «Constitución». El contenido del mismo define las obligaciones entre los usuarios. Además que facilita la resolución de conflictos al establecer la jurisdicción y la elección de la ley. Cada transacción transmitida en la red debe incorporar el hash de la constitución como parte de la firma. Esto se hace con el fin vincular explícitamente al firmante con el contrato.
Ventajas y desventajas
Ventajas
- Gracias al uso del algoritmo de consenso DPoS, la escalabilidad es muy alta.
- Apunta una adopción generalizada de la tecnología blockchain, apostando por su modelo de aplicaciones descentralizadas DApps. Esto le brinda la posibilidad de superar a su rival directo, Ethereum.
- Cuenta con un equipo de desarrollo muy sólido y con claros objetivos.
- Cuenta con un modelo de seguridad que flexibiliza y hace más sencillo la administración de servicios y aplicaciones distribuidas.
- La capacidad de crear cuentas hace más sencillo el manejo a nivel de usuario de transacciones blockchain.
- Garantiza de forma justa el acceso a ancho de banda y otros recursos de la red. Esto de acuerdo a los tokens que el usuario tenga en su poder.
- La optimización es parte primordial de este proyecto. Desde el uso de SegWit, TaPoS, DPoS, EOS busca optimizar todos los recursos dentro de la red.
Desventajas
- No está pensado en mantener transacciones anónimas. De hecho, el uso de cuentas simplifica el rastreo de identidad de quienes usan la blockchain.
- El hecho de que una empresa privada esté fuertemente ligada al desarrollo de EOS. Este punto genera discrepancia sobre la «comunidad de desarrollo» de EOS. Indican que pueden prevalecer los intereses privados por encima de los comunitarios en el desarrollo.