Qué debes saber antes de sumergirte en la blockchain de EOS

Martes, 2 Octubre, 2018

En el año 2018 han surgido las primeras ”blockchain de tercera generación” de la mano de proyectos como EOS, que aspira a solucionar el problema de escalabilidad que sufren otros proyectos más veteranos y, con ello, lograr popularizar el uso de las aplicaciones blockchain.

En mayo de 2017 la empresa de software block.one anunció el lanzamiento de una nueva plataforma blockchain: EOS. Tras una ronda de financiación (ICO) de las más largas y rentables de la historia (duró un año y logró 4B USD), en junio de 2018 se lanzó públicamente la red blockchain principal (mainnet) de EOS.

El proyecto EOS persigue lograr una adopción masiva de las aplicaciones descentralizadas (dApps, ofrecidas desde 2015 en Ethereum) mediante la mejora de su escalabilidad. Por ello, trataremos de forma breve esta cuestión, y sus efectos, antes de describir el funcionamiento de EOS.

Actualmente, en Ethereum no es fácil implementar dApps que hagan un uso intensivo de datos. Este problema de escalabilidad tiene su raíz en la ejecución de los contratos inteligentes (smart contracts) en toda la red, es decir, en todos y cada uno de sus nodos. Dada la disparidad de potencia de computación entre ellos, la propia red impone ciertas restricciones para dar cabida a un gran número de nodos.

La red Ethereum alcanza a procesar unas 15 transacciones por segundo (TPS), lo que aún siendo superior a otras redes como Bitcoin (3 TPS), puede hacer inviable diseñar cierto tipo de dApps que demanden una elevada interacción con la blockchain. Además Ethereum prioriza la ejecución de transacciones asociando un coste de red (o tarifa) a cada una. Como los nodos procesan primero las más lucrativas, y en momentos de congestión las tarifas suben, las dApps puede tener un tiempo de respuesta y coste demasiado variable, e incluso inasumible para algunos usuarios.

Para superar estas limitaciones EOS usa un algoritmo de consenso diferente al clásico Proof of Work (PoW) utilizado por Bitcoin y Ethereum. Simplificando, el algoritmo de consenso es el conjunto de reglas que facilita la comunicación y el trabajo efectivo de los actores que generan y validan la blockchain. Por ejemplo, regula quién tiene derecho a escribir el siguiente bloque, qué recompensa recibe por ello, o qué acciones están permitidas.

Como algoritmo de consenso EOS usa el llamado Delegated Proof of Stake (DPoS), en el que la producción de bloques no está totalmente abierta. En el caso de EOS ésta se circunscribe a 21 nodos de la red, conocidos como Block Producers (BPs). La selección de dichos nodos se realiza por votación continua, donde los poseedores de criptomoneda nativa (EOS) de la red cuentan con un poder de voto proporcional a su saldo.

El sistema busca también premiar a los nodos que aporten algo más a la red, no solo elegir a los BPs con mejor capacidad para cubrir sus necesidades. Con ello se busca fomentar aportaciones al desarrollo de monederos (wallets), de dApps, y aumentar los contenidos formativos para la comunidad. EOS no se olvida tampoco de implementar mecanismos más transparentes y diversos que mejoran el gobierno de la red y la tranquilidad de sus usuarios: por ejemplo sería posible recuperar el acceso a cuentas hackeadas, o bloquear a actores maliciosos.

Tener una cantidad limitada de BPs hace que EOS presente notables diferencias respecto a otras blockchain, y que son algunas de sus principales señas de identidad.

Una es que la creación de bloques no está supeditada a una competición entre los nodos. La red puede ser forzada a producir bloques al ritmo que se desee, lo cual permite crearlos cada 0.5 segundos. Para ponerlo en perspectiva, la red Bitcoin ajusta su dificultad para producir bloques cada 10 minutos, y Ethereum cada 15 segundos. Si tenemos en cuenta que los BPs no se dedican a resolver problemas matemáticos como en PoW, el poder computacional útil de la red de EOS es considerablemente mayor: actualmente puede manejar alrededor de 4000 TPS.

Otra diferencia es cómo EOS aborda las tarifas que los usuarios suelen tener que abonar por el uso de una blockchain. En las plataformas blockchain clásicas la finalidad de dichas tarifas es doble: por un lado limitar las operaciones de escritura en el registro (o uso de recursos de computación) para que los usuarios no degraden la red con ataques maliciosos, y por otro, las tarifas también sirven para recompensar a los nodos productores de bloques.

Sin embargo EOS evita el abuso de su red sin recurrir a tarifas. ¿Cómo lo hace?, obligando a sus usuarios a reservar con criptomoneda espacio de almacenamiento, poder de computación y ancho de banda según lo necesiten. Además, cuando ya no se requiera, el espacio reservado se puede revender a otros usuarios. De esta manera, un desarrollador podrá asegurarse recursos suficientes para sus smart contracts, pero con la posibilidad de recuperar lo invertido.

Este sistema también permite al creador de la dApp proporcionar a sus usuarios los recursos necesarios para ejecutarla. El usuario ya no estaría obligado a darse de alta en la red ni a disponer de criptomoneda para interactuar con las dApps, reduciendo importantes barreras de acceso. Esto abre la puerta al desarrollo de dApps verdaderamente freemium (sin ser obligatorio, pues el creador podrá idear un modelo de pago para rentabilizar su creación).

Podemos concluir que EOS amplía el ámbito real de utilización de las tecnologías blockchain, al hacer posible su empleo en casos que requieran una interacción en tiempo real con el registro en blockchain, y hasta sin coste para el usuario final si así se prefiere.

Para ilustrar mejor las características descritas os invitamos a probar esta demo IoT (enlace alternativo), desarrollada por CTIC, que registra en la blockchain de EOS las lecturas de sensores de temperatura y humedad ubicados en un recinto, para luego visualizar gráficamente las mismas.

Pi SensEOS

EOS nos facilita el desarrollo de avanzadas soluciones blockchain para casos de uso con adquisición de datos en tiempo real, en los que ya trabajamos, algo difícil de abordar con Ethereum y, en la práctica, poco viable en plataformas como IOTA (teóricamente idónea para IoT).

Desde el año 2016 diseñamos y desarrollamos soluciones basadas en tecnologías blockchain, por lo que si está interesado en conocer más detalles sobre las aplicaciones de esta importante innovación, y cómo enfocarlas, puede contactar con nosotros.