Hechos clave:
-
En su diseño, Flow incorpora una arquitectura con nodos que cumplen diferentes funciones.
-
La blockchain implementa un nuevo lenguaje para desarrollo de contratos inteligentes actualizables.
Contenido patrocinado por Dapper Labs
Con el propósito de abordar muchos de los desafíos que se encontraron al momento de implementar CryptoKitties en la red principal de Ethereum, el equipo de Dapper Labs -desarrolladores de estos tokens no fungibles (NFT)- lanzó una nueva plataforma: Flow.
Sobre este tema, el fundador y director ejecutivo de Dapper Labs, Roham Gharegozlou, ha dado declaraciones a los medios. Asegura que la congestión sin precedentes que experimentó Ethereum, cuando se lanzaron los CryptoKitties, les impulsó a trabajar en la creación de una blockchain con amplias posibilidades de escalamiento.
Los famosos gatos digitales se lanzaron en diciembre de 2017 en la mainnet de Ethereum y en poco tiempo ocuparon el 11,8% de los contratos inteligentes de esa red. Según recuerda Gharegozlou, tal hecho generó una fuerte obstrucción, al ejecutar más operaciones de lo que la cadena podía soportar en ese momento. Por ello, para diseñar Flow, Dapper Labs tomó en cuenta los desafíos que debieron enfrentar por las limitaciones de escalamiento y el alto costo del gas.
“Estos problemas se están convirtiendo en obstáculos para muchos proyectos que intentan llegar a los usuarios a través de esta red”, señala el ejecutivo. En consecuencia, tratan de poner a disposición de los desarrolladores «una plataforma de mayor rendimiento en la que se puedan crear aplicaciones para NFT que millones de personas pueden usar.»
Queremos asegurarnos de que no solo CryptoKitties, sino cualquier otro NFT tenga la oportunidad de acceder a un entorno de alto rendimiento, que la gente cree aplicaciones para ellos y tenga un alto crecimiento en el mercado, al poder escalar a miles de millones de usuarios.
Roham Gharegozlou, CEO Dapper Labs
Con miras a avanzar en esta propuesta, en la última ronda de financiamiento (realizada en agosto), la empresa con sede en Vancouver, Canadá, recaudó USD 12 millones. Su plan es utilizar estos fondos para culminar el desarrollo de Flow, según acotan. También han dedicado un grupo investigadores e ingenieros de producción experimentados para que trabajen en la definición de un enfoque novedoso para la arquitectura blockchain de Flow.
Flow y su estrategia basada en asociaciones y productos blockchain
El trabajo para crear Flow comenzó hace dos años. La plataforma pretende brindar a los usuarios rapidez y seguridad, además de soporte, tanto para una próxima generación de juegos y aplicaciones como para activos digitales y una gran variedad de proyectos.
Entre los inversionistas de Flow, asociados a Dapper Labs, están Samsung NEXT, la firma de capital de riesgo Andreessen Horowitz, Union Square Ventures, Venrock, y Google Ventures. La empresa se alió también con marcas como NBA y NBPA, Warner Music Group, Ubisoft, Dr. Seuss, y UFC (Ultimate Fighting Championship).
En palabras del equipo, con todas estas asociaciones la meta es “desarrollar variadas experiencias de blockchain para el ecosistema Flow”, que incluye a consumidores, colaboradores de contenido y desarrolladores.
“Para que esta tecnología se generalice, necesitamos trabajar con socios y crear productos que todos puedan comprender y con los que puedan participar”, dijo Gharegozlou.
Además de los CryptoKitties, Dapper Labs ha desarrollado el monedero de contratos inteligentes Dapper y actualmente está trabajando en NBA Top Shot, una aplicación de colección basada en blockchain que se encuentra en fase de prueba.
Hasta ahora, se han creado más de 2.000 proyectos en Flow Playground, una interfaz web interactiva que permite a las personas aprender sobre el desarrollo de aplicaciones.
Arquitectura blockchain con flujo vertical
De acuerdo con los desarrolladores, Flow opera con un algoritmo de prueba de participación o PoS (Proof-of-Stake). Requiere por ello que los nodos de validación bloqueen un depósito de seguridad en tokens nativos para poder participar como parte de la infraestructura que ejecuta la cadena de bloques.
El protocolo de la red está diseñado para escalar, utilizando una arquitectura de múltiples roles. En el sitio web de Flow se explica que en vez de implementar un “flujo horizontal”, la plataforma de Flow funciona con lo que denominan como “flujo vertical”.
Este flujo vertical separa los procesos llamados no deterministas (subjetivos) de los deterministas (objetivos).
Los primeros necesitan un proceso de consenso coordinado, como determinar la presencia y el orden de las transacciones en la cadena de bloques. “Son tareas que requieren coordinación”, explica el equipo de Dapper Labs. Los segundos, las tareas deterministas, siempre tienen un único resultado, “objetivamente correcto” y abarcan el cálculo del resultado de las transacciones previamente ordenadas.
La separación de acuerdo con estos tipos de procesos permite que los nodos cumplan funciones distintas. Este diseño difiere al de otras plataformas, donde usualmente cada nodo realiza cada tarea antes de llegar a un consenso. Usualmente cada nodo almacena el estado completo de la red (saldos de cuentas, código de contrato inteligente, etc.) y realiza todo el trabajo asociado con el procesamiento de cada transacción en la cadena.
“Las blockchains tradicionales tienen una limitación en su rendimiento y obligan a cada nodo a almacenar todo el estado de la red y realizar todo el trabajo asociado con el procesamiento de cada transacción en la cadena. Mientras, la arquitectura de múltiples nodos hace que Flow logre un alto rendimiento y un bajo costo, sin comprometer la descentralización o dividir la red a través del fragmentación”.
La nueva arquitectura de nodos logra mejoras masivas en velocidad y costo que se escalan con la capacidad del hardware sin comprometer la descentralización o dividir la red en fragmentos o soluciones de segunda capa”.
Dapper Labs
Los cuatro tipos de nodos y sus funciones
Flow cuenta con cuatro tipos de nodos que funcionan en paralelo, a fin de “escalar sin fragmentar ni comprometer la descentralización, preservando un entorno amigable para los desarrolladores”, exponen los desarrolladores. A cada uno de los tipos de nodos se asignan diferentes funciones técnicas.
La red cuenta con dos nodos para procesos no deterministas:
- Los nodos de recopilación administran las transacciones y recopilan las que son válidas para proponerlas a los nodos de consenso. También mejoran la conectividad de la red y la disponibilidad de datos para las aplicaciones descentralizadas.
- Los nodos de consenso forman y proponen bloques. Deciden la presencia y el orden de las transacciones en la cadena de bloques. Tienen requisitos mínimos de ancho de banda y de cálculo, lo cual facilita que cualquiera pueda participar en el consenso.
Siguiendo el flujo de trabajo vertical, para los procesos deterministas Flow utiliza otros dos tipos de nodos: de ejecución y de verificación.
Los nodos de ejecución realizan el cálculo asociado con cada transacción. Funcionan como un almacén de datos para verificar las cuentas de usuario y los estados de los contratos inteligentes. Responden en general a las consultas relacionadas con el estado de las transacciones.
Este trabajo requiere que se consuman más recursos en la red. “También es la razón clave por la que Flow puede mejorar su escalabilidad sin fragmentar”, según comentan los desarrolladores. Agregan que los últimos nodos (los de verificación) son los que confirman que el trabajo realizado por los nodos de ejecución sea correcto.
El flujo de la plataforma se basa en el trabajo de cuatro tipos de nodos. Cada categoría cumple funciones distintas dentro de la red. Fuente: Flow.
Según las especificaciones técnicas de la red, para alcanzar alto nivel de velocidad, cada nodo es impulsado por el algoritmo HotStuff, del proveedor de software VMware, miembro de lista Blockchain 50 de Forbes. Es el mismo utilizado por Facebook en sus primeros trabajos sobre Libra, en procura de crear una cadena globalmente consistente.
Para sostener el trabajo de los nodos se implementa una nueva técnica criptográfica llamada Pruebas especializadas de conocimiento confidencial (SPoCK). Permite a los probadores demostrar que tienen acceso a la misma información, sin revelar los datos confidenciales.
“Cada probador tiene su propio SPoCK especializado que no se puede copiar ni falsificar. Requerir que cada probador tenga un SPoCK asegura que cada nodo haga su propia verificación en lugar de copiar los resultados de otros nodos o seguir ciegamente su ejemplo.”
Dapper Labs
Dapper Labs afirma que los cuatro tipos de nodos son recompensados por su trabajo en la cadena, aunque no por igual. Para poder mantener el equilibrio, la recompensa se relaciona con la tasa de inflación a través de un parámetro de ajuste denominado “coeficiente de recompensa”.
En Flow, los participantes obtendrán una tasa de recompensa del 11,36% para todos los nodos, con una inflación del 3,75% al año, derivada de las tarifas de transacción y emisión de nuevos tokens. El parámetro de ajuste actuará en caso de que algún tipo de nodo esté sobrerrepresentado en algún momento.
El coeficiente de recompensa interviene si, por ejemplo, los nodos de consenso tienen el 60% de la participación. En este caso, la tasa de inflación recibida por esa categoría de nodo disminuirá y la inflación recibida por las categorías de nodo subrepresentadas aumentará.
Nuevo lenguaje de programación y token nativo
Entre los aportes técnicos de Flow se cita la creación de Cadence, un nuevo lenguaje de programación para escribir contratos inteligentes.
Los desarrolladores definen a Cadence como «un lenguaje de programación de contratos inteligentes ergonómico y orientado a los recursos”. Esto significa que utiliza un sistema que minimiza los errores en el tiempo de ejecución, y permite añadir condiciones previas y posteriores a los métodos, interfaces y transacciones para que operen tal como se espera.
Adicionalmente, introducen la idea de contratos inteligentes actualizables. Se despliegan en estado beta para que el código pueda ser constantemente actualizado por los autores originales.
Como es usual en toda red, Flow también tiene su token nativo: FLOW, que facilita participar en la plataforma y ganar recompensas. CoinList es el único exchange que ofrece los tokens antes de su lanzamiento en la red principal y desde este 22 de septiembre se encuentra abierta una venta de tokens, en la que personas que no residan en los Estados Unidos y Canadá pueden participar hasta el próximo 2 de octubre.
Cómo comenzar en la blockchain Flow
Como plataforma dirigida a los desarrolladores, se han creado en Flow una serie de herramientas de código abierto para facilitar la incursión en la plataforma. El kit de desarrollo incluye mecanismos para el diseño en back end y front end.
Para familiarizarse con el sistema se accede a Flow Playground donde es posible aprender y probar Cadence. La documentación para desarrolladores incluye una guía sobre cómo utilizar este espacio.
En esta misma interfaz se pueden escribir contratos inteligentes y realizar transacciones en un entorno de prueba. Así, los desarrolladores pueden probar el lenguaje Cadence y ejecutar contratos en el emulador de Flow. La empresa también tiene abierto el registro para quienes estén interesados en participar como nodos validadores.
Adicionalmente, en el espacio de prueba es posible para los usuarios -no necesariamente con conocimiento técnico –aprender los fundamentos del desarrollo de criptomonedas y tokens NFC (criptocoleccionables)- así como participar en mercados cripto y juegos en cadena.
En función de todos estos planes, el equipo de Dapper Labs ve a Flow como la clave “para desbloquear la próxima ola de adopción de criptomonedas y blockchain a nivel masivo, enlazando el entretenimiento y la economía digital”.