¿Qué es Flow Blockchain? Una cadena de bloques para NFT de Dapper Labs

Flow Blockchain que es
Tabla de Contenidos

Flow blockchain es una cadena de bloques rápida, descentralizada y amigable para desarrolladores basada en PoS del pionero de NFT Dapper Labs que tiene como objetivo proporcionar una alta escalabilidad a la próxima generación de Dapps sin el uso de técnicas de escala complejas como la fragmentación.

El trasfondo de casi todas las cadenas de bloques públicas de tercera generación está conectado con Ethereum, ya que dio origen a dos mercados increíbles impulsados ​​por cadenas de bloques: finanzas descentralizadas (DeFI) y tokens no fungibles (NFT).

NFT es ahora un mercado multimillonario y aún no ha alcanzado su máximo potencial. Dapper Labs fue la primera empresa en implementar la tecnología blockchain para la recreación a través del primer juego de blockchain basado en NFT CryptoKitties del mundo. CryptoKitties es un juego de blockchain en Ethereum que permite a los jugadores comprar, recolectar, criar y vender gatos virtuales.

CryptoKitties se lanzó el 28 de noviembre de 2017 y se hizo tan popular en una semana que Ethereum blockchain estaba tratando de hacer frente a las transacciones. La red se congestionó tanto que el equipo de CrytptoKitties tuvo que aumentar las tarifas de nacimiento de Kitties para incentivar a los mineros.

Dapper Labs estaba creando otra plataforma NFT llamada NBA Top Shot. Frustrado con Ethereum, Dapper Labs se propuso resolver los problemas de escalabilidad que encontraron. El resultado de sus esfuerzos fue Flow blockchain que emplea una arquitectura de múltiples funciones y múltiples nodos para ofrecer la escalabilidad requerida para la próxima generación de aplicaciones blockchain.

Echemos un vistazo a Flow.

¿Qué es Flow Blockchain?

La documentación de Flow lo describe como:

“‍Flow es una cadena de bloques rápida, descentralizada y amigable para los desarrolladores, diseñada como la base para una nueva generación de juegos, aplicaciones y los activos digitales que los impulsan. Se basa en una arquitectura única de múltiples funciones y está diseñada para escalar sin fragmentación, lo que permite mejoras masivas en la velocidad y el rendimiento al tiempo que se conserva un entorno compatible con ACID y compatible con los desarrolladores».

Ahora existen muchas cadenas de bloques escalables en la industria que utilizan la fragmentación para mejorar la escalabilidad de las cadenas de bloques al fragmentarlas en redes interconectadas. Sin embargo, Flow-developer cree que la fragmentación aumenta la «complejidad del modelo de programación al romper las garantías ACID (atomicidad, consistencia, aislamiento y durabilidad), aumentando el costo y el tiempo para el desarrollo de la aplicación».

Flow también es una cadena de bloques de prueba de participación (PoS) tolerante a fallas bizantinas (BFT), pero utiliza un enfoque novedoso para su rendimiento. Esta cadena de bloques lo hace trabajando sobre el principio de «separación de preocupaciones». En otras palabras, Flow separa el consenso de la informática.

En las redes de cadena de bloques de PoS, se requiere que cada nodo completo de la red examine y ejecute cada bloque propuesto para actualizar su copia local del estado de la cadena de bloques. Cada nodo almacena el estado completo (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. Esto significa que agregar nuevos nodos a la red no proporcionará ningún beneficio en el rendimiento de la red, ya que la «complejidad del mensaje para finalizar un bloque aumenta superlinealmente con el número de nodos de consenso».

Veamos cómo Flow aumenta el rendimiento sin fragmentación.

Arquitectura de Flow

La arquitectura de Flow aborda las limitaciones de rendimiento al cambiar fundamentalmente la forma en que se forma la cadena de bloques. Esto se hace dividiendo la regla de los nodos de validadores. Flow utiliza técnicas de canalización utilizadas por las CPU modernas.

Flow aplica la técnica de canalización al separar los trabajos de un nodo validador en cuatro roles diferentes: recopilación, consenso, ejecución y verificación. Para cada rol, se requiere un depósito mínimo de participación de cada uno de los nodos participantes. Todos estos nodos trabajan en paralelo para realizar sus acciones requeridas. Cada nodo validador todavía participa en la validación de cada transacción, pero lo hace solo en una de las etapas de validación.

Nodos de consenso

Según el primer técnico proporcionado por el sitio web de Flow, «los nodos de consenso deciden la presencia y el orden de las transacciones en la cadena de bloques».

Según los tres artículos técnicos, esta separación de roles de nodo se basa en tareas objetivas (deterministas) y tareas subjetivas (no deterministas). En Flow, los nodos de consenso se encargan de todas las tareas subjetivas.

De acuerdo con el documento técnico Flow: Separando consenso y computación – Formación y ejecución de bloques:

“En Flow, los Nodos de Consenso mantienen la cadena de bloques y son responsables de la extensión de la cadena agregando nuevos bloques. Reciben referencias hash a las colecciones garantizadas que fueron generadas por los nodos recopiladores. Además, los nodos de consenso ejecutan un algoritmo de consenso bizantino tolerante a fallas (BFT) para llegar a un acuerdo sobre el conjunto de colecciones que se incluirán en el siguiente bloque».

Estos nodos también son responsables de sellar los bloques y mantener una parte del estado del sistema relacionado con las apuestas de los nodos, recibir y adjudicar los desafíos de corte y cortar los nodos defectuosos.

La siguiente figura describe el flujo de trabajo de la red Flow.

Nodos de ejecución

En palabras simples, «los nodos de ejecución realizan el cálculo asociado con cada transacción». Estos nodos realizan las tareas objetivas.

Los nodos de ejecución ejecutan los bloques finalizados generados por los nodos de consenso y publican los resultados como «recibo de ejecución». Luego, los resultados se envían a los nodos de verificación para verificar el resultado de la ejecución. El periódico dice:

“Para este propósito, los nodos de ejecución dividen los cálculos de un bloque en trozos. Cada nodo de ejecución publica información adicional sobre cada fragmento en su recibo de ejecución para el bloque ejecutado».

Como todos los nodos funcionan en paralelo, los nodos de ejecución toman datos directamente de los nodos recolectores, mientras que los nodos de consenso realizan su acción al mismo tiempo. Solo las acciones maliciosas se informan a los nodos de consenso.

Nodos de verificación

Los nodos de verificación son responsables de verificar colectivamente la exactitud de los resultados publicados de los nodos de ejecución. Cada nodo de verificación solo verifica una pequeña fracción de fragmentos. De esta manera, todos los nodos de verificación de la red verifican todos los fragmentos de los bloques ejecutados con una probabilidad abrumadora.

Estos nodos publican una «Aprobación de resultados» para todos los fragmentos de un bloque ejecutado que luego se envía a los nodos de consenso para el sellado de bloques.

Nodos colectores

Como sugiere el nombre, los nodos recolectores recopilan transacciones de aplicaciones que se ejecutan en la red. Todos los nodos colectores se replantean por igual por el bien del equilibrio de carga. Al comienzo de cada época, cada nodo de recolección se asigna aleatoriamente a exactamente un grupo. Un clúster contiene entre 20 y 80 nodos. El documento describe el funcionamiento de estos nodos como:

“Un cliente externo envía su transacción a un nodo recopilador. Al recibir una transacción 3 enviada y bien formada, un nodo recopilador la presenta al resto de su clúster. Los nodos recopiladores de un clúster agrupan las transacciones recibidas en las denominadas colecciones. Solo se envía una referencia hash a una colección a los nodos de consenso para su inclusión en un bloque».

La siguiente figura describe el funcionamiento sencillo de todos los nodos de Flow.

Infraestructura de desarrollo

Como Flow está diseñado para la próxima generación de Dapps con un enfoque especial en NFT, Flow ofrece varias herramientas de desarrollo para proporcionar un entorno de desarrollo cómodo. El núcleo de la infraestructura de desarrollo es un nuevo lenguaje de programación, Cadence. Cadence es un nuevo lenguaje de programación orientado a recursos para desarrollar contratos inteligentes en la cadena de bloques Flow. El equipo de Flow tiene una serie de herramientas de código abierto para ayudar a los desarrolladores a comenzar.

Flow Playground

Flow Playground es un entorno de desarrollo alojado en el navegador donde los usuarios pueden aprender y probar el lenguaje de contratos inteligentes de Cadence sin necesidad de configuración. Playground es la forma más rápida de crear prototipos de proyectos de Cadence y experimentar con el lenguaje.

Flow GO SDK

Flow GO SDK es un potente conjunto de herramientas con todas las funciones para crear aplicaciones y servicios que aprovechan la cadena de bloques Flow. es la mejor herramienta para los desarrolladores que buscan la integración de backend teniendo en cuenta la escalabilidad.

‍Flow JavaScript SDK

Flow JavaScript SDK permite a los desarrolladores frontend integrarse e interactuar fácilmente con Flow. Está creado para desarrollar aplicaciones JavaScript que se conectan a la cadena de bloques Flow de forma fácil y segura.

‍Extensión de código de Visual Studio

Es la extensión del editor VSCode que integra Cadence en Visual Studio Code.

Además de esto, Flow también ofrece SDK de la comunidad y herramientas de desarrollo de código abierto como Flow CLI y Flow Emulator.

Características de Flow

Contratos inteligentes actualizables

La característica importante de Flow es que presenta contratos inteligentes actualizables. En la mayoría de las cadenas de bloques de contratos inteligentes, el código del contrato nunca podría cambiarse después de su lanzamiento. Se vuelven inmutables e incluso el desarrollador no puede cambiar el estado fuera de su alcance predefinido y, lo que es más importante, no puede cambiar el código.

Este es un problema, ya que nadie puede escribir el código perfecto sin probarlo en la operación real. Flow permite que los contratos inteligentes se implementen en la red principal en un «estado beta», donde los autores originales pueden actualizar el código de forma incremental. Una vez que el desarrollador confía en su código, puede «liberar irrevocablemente su control sobre el contrato, y se vuelve perfectamente inmutable por el resto del tiempo».

Cuentas de usuario inteligentes

Flow presenta muchas mejoras en el modelo de cuenta Ethereum. Las cuentas de usuario inteligentes en la cadena de bloques Flow brindan una funcionalidad de contrato inteligente, modular y opcional integrada en cada billetera Flow.

Las cuentas de usuario inteligentes en el flujo admiten procesos automatizados para controles de autorización más sofisticados y procesos seguros de recuperación de cuentas. Además, esta función también proporciona «seguridad adicional a través del soporte opcional de múltiples firmas, con la capacidad de alternar las claves antiguas con regularidad para evitar fugas de seguridad».

Formato de transacción legible por humanos

Según el premier técnico:

“El formato de transacción Flow ofrece garantías muy sólidas sobre los tipos de cambios que una transacción puede y no puede realizar. Esto facilita que la billetera se asegure de que los usuarios tomen decisiones informadas sobre lo que están aprobando».

Flow Port

Flow Port es una puerta de enlace entre los usuarios y el ecosistema de Flow. El equipo de Flow lo describe como un «portal al mundo descentralizado de Flow». Al crear una cuenta de Flow Port, los usuarios pueden interactuar con la cadena de bloques de Flow, administrar sus activos, participar, delegar y más.

Estándares de Flow Token

Flow permite a los desarrolladores crear y emitir tokens fungibles (FTS) y tokens no fungibles (NFT) mediante el uso de los estándares de tokens de Flow que son equivalentes a los estándares de tokens ERC20 y ERC-721 de Ethereum.

Flow Token (FLOW)

FLOW es el token nativo del protocolo Flow, lo que significa que se utiliza para todos los pagos de tarifas, recompensas y transacciones de participación a nivel de protocolo. Utiliza el estándar Flow Fungible Token (FT). El token FLOW nativo de Flow se ofreció inicialmente al público en octubre de 2020 a través de CoinList.

El mayor uso de FLOW es el stake. Para convertirse en un nodo, los usuarios deben poseer y apostar tokens FLOW, lo que también les permite participar en el gobierno de la plataforma. Flow recompensa a estos usuarios con una combinación de FLOW recién creado y una parte de las tarifas de transacción. Los titulares de FLOW también pueden delegar sus activos a un nodo validador para participar en la red en su nombre.

Los desarrolladores también pueden incorporar FLOW en sus dapps como la moneda principal utilizada para pagos, transacciones y obtención de recompensas. Los desarrolladores también pueden crear su criptomoneda personalizada en Flow si quieren usar el estándar Flow Fungible token (FT).

Moneda estable de Flow USD (FUSD)

Flow USD (FUSD) es una moneda estable emitida por Prime Trust, una empresa fiduciaria con sede en Nevada, que está respaldada 1: 1 por el dólar estadounidense. Actúa como una alternativa para los usuarios que pueden no tener el token FLOW nativo. Según la documentación:

“FUSD es una moneda estable respaldada por USD emitida como token fungible en la red Flow. Su objetivo principal es proporcionar una experiencia de pago con precios más consistentes para los desarrolladores de Dapp y sus usuarios».

NBA Top Shot on Flow

Flow está diseñado para admitir aplicaciones NFT complejas y NBA Top Shot es actualmente el proyecto NFT más esperado en Flow, desarrollado por el propio desarrollador de blockchain, Dapper Labs.

Actualmente en beta abierta, NBA Top Shot es un mercado de tokens no fungibles (NFT) donde los fanáticos pueden comprar, vender e intercambiar momentos de la NBA, que son clips destacados empaquetados que funcionan como tarjetas comerciales. Según DappRadar, en los últimos 30 días, se realizaron 3,62 millones de transacciones en el mercado con un volumen de operaciones mensual de 40,88 millones de dólares. Se registraron casi 100.000 ventas de NFT en la plataforma en los últimos 30 días.

Enlaces relacionados

Sitio web: https://www.onflow.org/

Documentación: https://docs.onflow.org/

Primer técnico: https://www.onflow.org/primer#primer-intro

Documentos técnicos: https://www.onflow.org/technical-paper

GitHub: https://github.com/onflow

Flow Port: https://port.onflow.org/

Flow Playground: https://www.onflow.org/play

Twitter: https://twitter.com/flow_blockchain

RELATED POSTS

Síguenos en Redes

Cripto Tutoriales

Cripto Reviews

Ads