Por qué Web3 necesita ahora más que nunca una Capa de datos en tiempo real

Principiante2/2/2024, 8:41:17 AM
Este artículo discute qué es una capa de datos en tiempo real, los altos costos actuales y las velocidades lentas de las implementaciones de blockchain que los hacen inadecuados como plataforma informática Web3 general, y cómo los sistemas exitosos están aprovechando los datos fuera de la cadena en tiempo real para encontrar el ajuste en el mercado.

Hoy en día, Web3 se encuentra en una situación complicada, no solo por la larga sombra arrojada por actores malintencionados de alto perfil en el ecosistema blockchain. Superar tres desafíos significativos sin abandonar los principios que inicialmente hicieron atractivo a blockchain es una tarea difícil:

  1. Comparado con productos similares de Web 2.0, el costo de almacenamiento en cadena y operaciones de escritura es prohibitivamente alto.

  2. El almacenamiento y las operaciones de escritura en cadena son increíblemente lentos (por diseño) para garantizar la seguridad prometida por los sistemas basados en blockchain. A medida que se agregan nodos a la red y el volumen de solicitudes de escritura aumenta, el rendimiento se degrada aún más debido a la necesidad de consenso de más del 51% de los nodos sobre la validez de los nuevos datos.

  3. La longitud (tamaño) de cualquier libro mayor de blockchain dado crece significativamente con el uso, rompiendo los límites de la mayoría de las infraestructuras de bases de datos en el mercado actual.

Las bases de datos operativas, las bases de datos analíticas y los registros distribuidos son tipos efectivos pero distintos de sistemas de gestión de bases de datos. Lo que confunde a muchos sobre las redes emergentes de blockchain peer-to-peer es que no son simplemente "bases de datos"; muchos también sirven como "servidores" para alojar aplicaciones de internet (o "dApps" - aplicaciones descentralizadas) escritas por cualquier desarrollador capaz.

La mayoría de las nuevas tecnologías pasan por una fase de generalización excesiva hasta que se encuentre un producto o mercado adecuado. La raíz de estos tres desafíos radica en el mismo problema de "usar la herramienta adecuada para el trabajo incorrecto". Por ejemplo, la mayoría de los profesionales de TI no utilizarían bases de datos operativas como bases de datos analíticas, y viceversa. El uso de registros distribuidos como bases de datos operativas o analíticas (por ejemplo, en una dApp implementada en una red blockchain) es una combinación particularmente deficiente, que se explica más adelante.

De hecho, la comunidad de la cadena de bloques está explorando formas innovadoras de abordar problemas de rendimiento sin comprometer la seguridad, pero esto lleva tiempo. Ethereum ha realizado algunos cambios al respecto recientemente. La confianza debe depositarse en algún lugar. La cadena de bloques traslada esta confianza lejos del modelo tradicional de la Web 2.0, pero aún no elimina la necesidad de confianza, al menos por ahora.

Los datos en tiempo real fuera de la cadena proporcionan un camino directo para que Web3 encuentre la adaptación del producto/al mercado. Sin embargo, este enfoque encuentra la confianza en forma de datos de operación/análisis para dApps dentro de los sistemas Web 2.0. Sin embargo, las dApps y servicios basados en blockchain más exitosos han hecho este compromiso, utilizando las herramientas adecuadas para el trabajo correcto aprovechando cada tecnología en sus puntos fuertes.

Antes de adentrarnos en cómo y por qué Web3 puede avanzar con datos en tiempo real, primero consideremos las perspectivas futuras de Web3, independientemente de los desafíos triples que acabamos de identificar.

¿Qué continuará impulsando a Web3 hacia adelante?

En tales momentos, es importante recordar que blockchain ≠ criptomoneda. La criptomoneda es una aplicación del concepto de blockchain y de la tecnología subyacente. Lo mismo ocurre con los NFT y el concepto más amplio de Web3. El concepto central de blockchain: transacciones, posiciones y registros públicos inmutables de propiedad, siguen ofreciendo un contraste interesante con el sistema financiero actual, donde dichos libros mayores residen en bases de datos privadas accesibles solo a través de pasarelas institucionales y legales. ¿Cuáles son estos casos de uso valiosos y significativos en el mundo real?

Según McKinsey, las plataformas de préstamos Web3 más grandes emitieron $200 mil millones en préstamos en 2021. Préstamos, depósitos, remesas, intercambios de activos, financiamiento comercial y seguros se han convertido en casos de uso viables. Otros como pares-a-pares, juegos, redes sociales y medios en línea, aunque comenzaron temprano, muestran una actividad significativa.

Los servicios de identidad digital y la gestión de la cadena de suministro y logística siguen siendo posibilidades obvias. Los casos de uso hipotéticos en el supuesto metaverso están atrayendo inversiones reales, con empresas como Facebook cambiando su enfoque, rebrandeándose como Meta y apostando todo.

Los sistemas de blockchain privados en redes cerradas y protegidas (por ejemplo, Hyperledger Fabric) pueden no ser lo que los creadores imaginaron, pero ahora pueden ofrecer casos de uso más genéricos para industrias e instituciones específicas (a costa de ser un sistema Web3 abierto al público). Los NFT, o el concepto de tokens únicos, indivisibles e inmutables, tienen un valor comercial potencial genuino al representar digitalmente activos efímeros del mundo real y solo en línea.

Estas son especulaciones públicas seguras posibles, pero aún no resueltas. Legítimamente (y en algunos casos, físicamente) establecer conexiones entre el mundo real y los NFT digitales todavía está en proceso de exploración extensa. El proveedor de Web3 Alchemy señaló en su informe trimestral que los despliegues de contratos inteligentes crecieron un 143% en comparación con el mismo trimestre de 2021.

Si bien todavía existen desafíos significativos por superar, como cualquier idea nueva, la atracción de los fondos de inversión, desarrolladores e interés institucional realmente tiene el potencial de atraer la energía que impulsa hacia adelante a la cadena de bloques. A medida que la tecnología central madura, se creará más valor de Web3. Con una mayor generación de valor, surgirán nuevas oportunidades, despertando interés en abordar la regulación, problemas legales, privacidad de datos y mejoras en la experiencia de los desarrolladores y usuarios finales.

Consideraciones de los desarrolladores de Web3 para los datos en cadena

Los desafíos a los que se enfrentan los productos de blockchain basados en Prueba de Trabajo se extienden a su arquitectura subyacente. Las bases de datos operativas son altamente adecuadas para el almacenamiento y recuperación rápida y eficiente de datos. Las bases de datos analíticas destacan en consultas rápidas y sin restricciones y exploración. Las bases de datos no relacionales ofrecen masivamente diferentes niveles de capacidades operativas o analíticas sin sacrificar rendimiento y disponibilidad.

Los sistemas basados en blockchain proporcionan registros seguros e inmutables, pero a costa del rendimiento. Intentar utilizar registros seguros, solo apéndices inmutables como bases de datos operativas, analíticas o no relacionales conducirá a los siguientes problemas:

Rendimiento inaceptable

La pila tecnológica de Web 2.0 ha establecido expectativas de una experiencia digital rápida para la mayoría de las personas en todo el mundo, ya sea que usen tabletas, teléfonos inteligentes o computadoras de escritorio/portátiles, sin necesidad de dos minutos a seis horas. La mayoría de las implementaciones populares de blockchain se basan en algoritmos lentos de Prueba de Trabajo para asegurar operaciones de escritura en el almacenamiento de datos del blockchain y en un lento consenso entre pares para garantizar lecturas consistentes de datos en la red de nodos.

Volumen de datos causa interrupciones en la producción

Blockchain no es solo un problema de "big data"; es un problema de datos masivos e increíblemente grandes que solo se vuelve más grande con el aumento del uso. Pocos sistemas de base de datos operativos o analíticos pueden llegar a este nivel, y aún menos pueden lograr verdaderamente este nivel de escalabilidad lineal, lo que reduce significativamente el rango de opciones.

Datos contradictorios e inexactos

El diseño generalizado de igual a igual y de consistencia eventual de la cadena de bloques y la naturaleza de la Prueba de Trabajo la hacen segura, pero generan datos inconsistentes, lo que la hace inadecuada como base de datos operativa o analítica para aplicaciones Web3. Dado que no hay mensajes de error ni códigos de falla para estos problemas, escribir código de manejo de errores para probar, interpretar o resolver estos errores para intentar compensar es lento o imposible. Naturalmente, la depuración en producción u otros momentos críticos es una pesadilla para todas las partes involucradas. El soporte técnico aguas abajo no podrá proporcionar respuestas a los usuarios frustrados, y los desarrolladores no podrán proporcionar respuestas al personal de soporte técnico. Esto conduce a críticas negativas en las tiendas de aplicaciones.

Costos de almacenamiento/uso inaceptables

Las operaciones en cadena son costosas: almacenar 1GB de datos en la cadena de bloques de Ethereum puede costar miles de dólares.

Otras Consideraciones

La indexación o sincronización fuera de la cadena de datos de la cadena de bloques no es sencilla, ya que estos datos no son legibles por humanos. Los datos de la cadena de bloques requieren decodificación, enriquecimiento, reorganización y modelado de datos a través de servicios de datos de terceros antes de que puedan ser utilizados fácilmente por los desarrolladores.

Solución: Sincronización de datos fuera de la cadena en tiempo real

La implementación de redes blockchain populares requiere tiempo para abordar problemas de rendimiento inherentes a su diseño. El procesamiento fuera de la cadena es una técnica principal utilizada por profesionales de TI exitosos para aprovechar completamente las tecnologías de bases de datos existentes y las ventajas de blockchain, asignando cada tecnología a su propósito mejor diseñado. En pocas palabras, las dApps deben leer datos de bases de datos fuera de la cadena y escribir datos de vuelta a la cadena (pero solo registrar los detalles mínimos necesarios para el resultado final de la transacción).

Al sincronizar el estado de la cadena de bloques en tiempo real a una base de datos operativa o analítica, aseguras la precisión y actualidad de los datos cruciales para el funcionamiento rápido de tu dApp. Después de que tu dApp y la base de datos fuera de la cadena completen la mayor cantidad de preprocesamiento posible, envía los resultados finales de vuelta a la cadena.

Los activos estáticos y binarios pueden utilizar sistemas como IPFS, pero por razones similares, es prudente considerar el almacenamiento de objetos fuera de la cadena (como S3) siempre que sea posible. Por lo tanto, en la práctica, una base de datos fuera de la cadena con un clon siempre sincronizado del estado de la cadena debería convertirse en el objetivo de lectura/escritura para tantas cargas de trabajo operativas o analíticas como sea posible.

Sin embargo, como se mencionó anteriormente, el volumen de datos (especialmente con el tiempo) puede abrumar la mayoría de las infraestructuras de datos. Apache Cassandra es uno de los sistemas de base de datos operativos más potentes en este nivel de capacidad, escala y rendimiento.

Con el modelo de datos adecuado, las aplicaciones pueden experimentar velocidades de sub-segundo esperadas de cachés en memoria como Redis y sistemas de gestión de bases de datos persistentes (DBMS). ¿Qué pasaría si los servicios de datos no relacionales pudieran proporcionar datos históricos y siempre actualizados (en tiempo real) fuera de la cadena?

Durante el proceso de indexación, los datos en bruto se decodifican automáticamente. Para los desarrolladores, esto cambia la experiencia de trabajar con datos de blockchain en forma hexadecimal en bruto, como sigue:

Para datos legibles por humanos, como sigue:

Entonces, los desarrolladores de Web3 normalmente necesitan reorganizar y enriquecer los datos de blockchain de servicios de datos de terceros como Etherscan, whatsabi, metadatos de NFT, etc., para que sean útiles para las consultas más simples. Si los datos enriquecidos se modelan posteriormente en tablas de base de datos consultables, los desarrolladores tendrán todas las capacidades de los lenguajes de consulta estándar de los sistemas de gestión de bases de datos (en lugar de tener que aprender APIs de análisis de blockchain).

Veamos un ejemplo:

Intención del desarrollador: Buscar cinco entradas del grupo de bloques 134

Código de consulta actual:

Respuesta del sistema:

Entonces, ¿cómo se ve esto en la práctica? Para darle vida, eche un vistazo a estas dos aplicaciones de ejemplo (en tiempo real) que están utilizando exactamente estos servicios de datos en tiempo real fuera de la cadena. Los desarrolladores de Web3 deberían estar familiarizados con el código fuente de la aplicación; está escrito utilizando la popular biblioteca Web3.js.

Explorador de NFT

Buscar cada NFT creado en segundos

Extraer el historial de transferencias de un NFT en una sola llamada a la API

NFT Explorer está construido con React y Next JS, brindando a los usuarios una vista completa de los NFT que se han acuñado o transferido en tiempo real en la cadena de bloques de Ethereum.

Explorador de Blockchain

Obtener precios históricos de Gas por número de bloque

Obtener cantidades de transferencia ERC20 por número de bloque

Al igual que el Explorador NFT, este explorador de datos de blockchain extrae todos los datos de blockchain de los datos fuera de la cadena, proporcionando a los usuarios una vista en tiempo real de los últimos bloques minados y las últimas transacciones de Ethereum.

Ofrecer todos estos servicios en la nube alojada ayudaría a superar las dudas tradicionales para lograr la usabilidad y el tiempo de comercialización del estilo de los sistemas de gestión de bases de datos relacionales. Construir tales servicios sobre Cassandra puede ofrecer de manera única la posibilidad de colocalizar estos datos con sus aplicaciones Web3 en cualquier región o multi-región sin necesidad de fragmentación. La replicación incorporada de Cassandra ha sido probada en batalla en los entornos de producción de internet a escala extrema durante más de una década.

Ventajas para aplicaciones y desarrolladores de Web3

Al minimizar el tamaño de las dApps, el almacenamiento de datos en la cadena de bloques y el procesamiento fuera de la cadena de las escrituras de la cadena de bloques, los costos operativos para la mayoría de los casos de uso se realinearán a los niveles de Web 2.0. La experiencia de los usuarios con el rendimiento de las dApps en su dispositivo elegido vuelve a niveles aceptables/esperados. Luego, los desarrolladores de dApps pueden diseñar diálogos, pantallas y alertas de "tiempo de espera" apropiados para establecer expectativas cuando los usuarios necesiten enviar operaciones de escritura a un sistema basado en cadena de bloques.

Los mayores y más desafiantes problemas de consistencia de datos se resuelven, ya que la mayoría de los datos operativos para una dApp se almacenan en bases de datos fuera de la cadena rápidas y fiables. Esto puede ahorrar horas de tiempo frustrante (y potencialmente infructuoso) de depuración y evitar errores de producción que podrían ser imposibles de resolver.

Dado que los sistemas fuera de cadena como las bases de datos no relacionales pueden manejar grandes volúmenes de datos, su dApp cumplirá con las expectativas de tiempo de actividad y tiempo de respuesta a medida que crezca la cadena de bloques, sin necesidad de costosos rediseños de sistemas o reescrituras completas meses después de entrar en producción. Trabajar con Cassandra, posiblemente la base de datos no relacional más confiable, escalable y rápida, también es uno de los trabajos mejor remunerados, según la última encuesta de desarrolladores de Stack Overflow.

Beneficios para Empresas

Las aplicaciones rotas, lentas o inexactas pueden llevar a pérdidas irreparables de usuarios, ingresos y confianza de los inversores. Pero hablemos de la conversación que todos esperamos tener, ¿qué emocionantes posibilidades podría traer la sincronización del estado de la cadena de bloques en tiempo real a una infraestructura fuera de la cadena y no relacional?

Analizando dApps: Integrar dApps con bases de datos analíticas fuera de la cadena abre la perspectiva de opciones y casos de uso completos de "Web 2.0".

Capacidades de Detección/Prevención de Fraudes: Construye dApps que puedan expulsar a actores malintencionados o marcar/bloquear abusos, protegiendo así a tu comunidad de usuarios y tu negocio.

Autoridad para los Intercambios de Activos Digitales: Los intercambios de NFT requieren datos de mercado precisos/actualizados para facilitar las mejores operaciones/ventas/intercambios. Evitar el arrepentimiento del comprador cuando los usuarios ven el artículo que compraron a un precio más bajo minutos después, así como procesos de reembolso intensivos en recursos y críticas negativas de los usuarios.

Características basadas en la ubicación: Saber la ubicación actual es fundamental para muchas de las aplicaciones móviles de hoy. ¡Llévalo a tu dApp!

Aplicaciones de IoT: La velocidad y capacidad para escribir datos generados por máquinas desde software o hardware solo puede ser manejada de manera intransigente por bases de datos no relacionales.

Soberanía de Datos: Por motivos de cumplimiento, regulatorios o legales, encuentre una copia sincronizada del estado de la cadena de bloques con su dApp (dondequiera que esté desplegada en el mundo).

El tiempo de análisis de transacciones de la cadena de bloques está determinado por el protocolo, y sin tarifas de gas/transacción o el uso de servicios de aceleración, no se puede acelerar. Al procesar previamente tanto como sea posible fuera de la cadena, se puede minimizar el tamaño y la frecuencia de las transacciones para el resultado final. Esto reducirá los costos de escritura de la cadena para cualquier caso de uso y mejorará la velocidad de la dApp.

Pruébalo tú mismo como un servicio

Este enfoque en datos en tiempo real va más allá de la cadena de bloques. Es un área en la que la industria ha estado innovando durante más de una década. Pero tecnologías como la cadena de bloques ayudan a demostrar la importancia de que los datos en tiempo real formen parte de la arquitectura de datos y de los modelos de negocio.

Mientras esperamos la criptografía cuántica como servicio, la ubicuidad de los relojes atómicos y nuevas innovaciones en algoritmos de consenso distribuido, los datos en tiempo real ahora se pueden obtener a través de una estructura de costos Web 2.0. Los datos en tiempo real seguirán siendo un elemento central y fundamental de cualquier implementación de blockchain en el futuro.

Descargo de responsabilidad:

  1. Este artículo ha sido reimpreso de [ AIcoin]. All copyrights belong to the original author [Pieter Humphrey, DataStax]. Si hay objeciones a esta reimpresión, por favor contacte al Gate Learnequipo, y lo manejarán rápidamente.
  2. Descargo de responsabilidad: Las opiniones expresadas en este artículo son únicamente las del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.

Por qué Web3 necesita ahora más que nunca una Capa de datos en tiempo real

Principiante2/2/2024, 8:41:17 AM
Este artículo discute qué es una capa de datos en tiempo real, los altos costos actuales y las velocidades lentas de las implementaciones de blockchain que los hacen inadecuados como plataforma informática Web3 general, y cómo los sistemas exitosos están aprovechando los datos fuera de la cadena en tiempo real para encontrar el ajuste en el mercado.

Hoy en día, Web3 se encuentra en una situación complicada, no solo por la larga sombra arrojada por actores malintencionados de alto perfil en el ecosistema blockchain. Superar tres desafíos significativos sin abandonar los principios que inicialmente hicieron atractivo a blockchain es una tarea difícil:

  1. Comparado con productos similares de Web 2.0, el costo de almacenamiento en cadena y operaciones de escritura es prohibitivamente alto.

  2. El almacenamiento y las operaciones de escritura en cadena son increíblemente lentos (por diseño) para garantizar la seguridad prometida por los sistemas basados en blockchain. A medida que se agregan nodos a la red y el volumen de solicitudes de escritura aumenta, el rendimiento se degrada aún más debido a la necesidad de consenso de más del 51% de los nodos sobre la validez de los nuevos datos.

  3. La longitud (tamaño) de cualquier libro mayor de blockchain dado crece significativamente con el uso, rompiendo los límites de la mayoría de las infraestructuras de bases de datos en el mercado actual.

Las bases de datos operativas, las bases de datos analíticas y los registros distribuidos son tipos efectivos pero distintos de sistemas de gestión de bases de datos. Lo que confunde a muchos sobre las redes emergentes de blockchain peer-to-peer es que no son simplemente "bases de datos"; muchos también sirven como "servidores" para alojar aplicaciones de internet (o "dApps" - aplicaciones descentralizadas) escritas por cualquier desarrollador capaz.

La mayoría de las nuevas tecnologías pasan por una fase de generalización excesiva hasta que se encuentre un producto o mercado adecuado. La raíz de estos tres desafíos radica en el mismo problema de "usar la herramienta adecuada para el trabajo incorrecto". Por ejemplo, la mayoría de los profesionales de TI no utilizarían bases de datos operativas como bases de datos analíticas, y viceversa. El uso de registros distribuidos como bases de datos operativas o analíticas (por ejemplo, en una dApp implementada en una red blockchain) es una combinación particularmente deficiente, que se explica más adelante.

De hecho, la comunidad de la cadena de bloques está explorando formas innovadoras de abordar problemas de rendimiento sin comprometer la seguridad, pero esto lleva tiempo. Ethereum ha realizado algunos cambios al respecto recientemente. La confianza debe depositarse en algún lugar. La cadena de bloques traslada esta confianza lejos del modelo tradicional de la Web 2.0, pero aún no elimina la necesidad de confianza, al menos por ahora.

Los datos en tiempo real fuera de la cadena proporcionan un camino directo para que Web3 encuentre la adaptación del producto/al mercado. Sin embargo, este enfoque encuentra la confianza en forma de datos de operación/análisis para dApps dentro de los sistemas Web 2.0. Sin embargo, las dApps y servicios basados en blockchain más exitosos han hecho este compromiso, utilizando las herramientas adecuadas para el trabajo correcto aprovechando cada tecnología en sus puntos fuertes.

Antes de adentrarnos en cómo y por qué Web3 puede avanzar con datos en tiempo real, primero consideremos las perspectivas futuras de Web3, independientemente de los desafíos triples que acabamos de identificar.

¿Qué continuará impulsando a Web3 hacia adelante?

En tales momentos, es importante recordar que blockchain ≠ criptomoneda. La criptomoneda es una aplicación del concepto de blockchain y de la tecnología subyacente. Lo mismo ocurre con los NFT y el concepto más amplio de Web3. El concepto central de blockchain: transacciones, posiciones y registros públicos inmutables de propiedad, siguen ofreciendo un contraste interesante con el sistema financiero actual, donde dichos libros mayores residen en bases de datos privadas accesibles solo a través de pasarelas institucionales y legales. ¿Cuáles son estos casos de uso valiosos y significativos en el mundo real?

Según McKinsey, las plataformas de préstamos Web3 más grandes emitieron $200 mil millones en préstamos en 2021. Préstamos, depósitos, remesas, intercambios de activos, financiamiento comercial y seguros se han convertido en casos de uso viables. Otros como pares-a-pares, juegos, redes sociales y medios en línea, aunque comenzaron temprano, muestran una actividad significativa.

Los servicios de identidad digital y la gestión de la cadena de suministro y logística siguen siendo posibilidades obvias. Los casos de uso hipotéticos en el supuesto metaverso están atrayendo inversiones reales, con empresas como Facebook cambiando su enfoque, rebrandeándose como Meta y apostando todo.

Los sistemas de blockchain privados en redes cerradas y protegidas (por ejemplo, Hyperledger Fabric) pueden no ser lo que los creadores imaginaron, pero ahora pueden ofrecer casos de uso más genéricos para industrias e instituciones específicas (a costa de ser un sistema Web3 abierto al público). Los NFT, o el concepto de tokens únicos, indivisibles e inmutables, tienen un valor comercial potencial genuino al representar digitalmente activos efímeros del mundo real y solo en línea.

Estas son especulaciones públicas seguras posibles, pero aún no resueltas. Legítimamente (y en algunos casos, físicamente) establecer conexiones entre el mundo real y los NFT digitales todavía está en proceso de exploración extensa. El proveedor de Web3 Alchemy señaló en su informe trimestral que los despliegues de contratos inteligentes crecieron un 143% en comparación con el mismo trimestre de 2021.

Si bien todavía existen desafíos significativos por superar, como cualquier idea nueva, la atracción de los fondos de inversión, desarrolladores e interés institucional realmente tiene el potencial de atraer la energía que impulsa hacia adelante a la cadena de bloques. A medida que la tecnología central madura, se creará más valor de Web3. Con una mayor generación de valor, surgirán nuevas oportunidades, despertando interés en abordar la regulación, problemas legales, privacidad de datos y mejoras en la experiencia de los desarrolladores y usuarios finales.

Consideraciones de los desarrolladores de Web3 para los datos en cadena

Los desafíos a los que se enfrentan los productos de blockchain basados en Prueba de Trabajo se extienden a su arquitectura subyacente. Las bases de datos operativas son altamente adecuadas para el almacenamiento y recuperación rápida y eficiente de datos. Las bases de datos analíticas destacan en consultas rápidas y sin restricciones y exploración. Las bases de datos no relacionales ofrecen masivamente diferentes niveles de capacidades operativas o analíticas sin sacrificar rendimiento y disponibilidad.

Los sistemas basados en blockchain proporcionan registros seguros e inmutables, pero a costa del rendimiento. Intentar utilizar registros seguros, solo apéndices inmutables como bases de datos operativas, analíticas o no relacionales conducirá a los siguientes problemas:

Rendimiento inaceptable

La pila tecnológica de Web 2.0 ha establecido expectativas de una experiencia digital rápida para la mayoría de las personas en todo el mundo, ya sea que usen tabletas, teléfonos inteligentes o computadoras de escritorio/portátiles, sin necesidad de dos minutos a seis horas. La mayoría de las implementaciones populares de blockchain se basan en algoritmos lentos de Prueba de Trabajo para asegurar operaciones de escritura en el almacenamiento de datos del blockchain y en un lento consenso entre pares para garantizar lecturas consistentes de datos en la red de nodos.

Volumen de datos causa interrupciones en la producción

Blockchain no es solo un problema de "big data"; es un problema de datos masivos e increíblemente grandes que solo se vuelve más grande con el aumento del uso. Pocos sistemas de base de datos operativos o analíticos pueden llegar a este nivel, y aún menos pueden lograr verdaderamente este nivel de escalabilidad lineal, lo que reduce significativamente el rango de opciones.

Datos contradictorios e inexactos

El diseño generalizado de igual a igual y de consistencia eventual de la cadena de bloques y la naturaleza de la Prueba de Trabajo la hacen segura, pero generan datos inconsistentes, lo que la hace inadecuada como base de datos operativa o analítica para aplicaciones Web3. Dado que no hay mensajes de error ni códigos de falla para estos problemas, escribir código de manejo de errores para probar, interpretar o resolver estos errores para intentar compensar es lento o imposible. Naturalmente, la depuración en producción u otros momentos críticos es una pesadilla para todas las partes involucradas. El soporte técnico aguas abajo no podrá proporcionar respuestas a los usuarios frustrados, y los desarrolladores no podrán proporcionar respuestas al personal de soporte técnico. Esto conduce a críticas negativas en las tiendas de aplicaciones.

Costos de almacenamiento/uso inaceptables

Las operaciones en cadena son costosas: almacenar 1GB de datos en la cadena de bloques de Ethereum puede costar miles de dólares.

Otras Consideraciones

La indexación o sincronización fuera de la cadena de datos de la cadena de bloques no es sencilla, ya que estos datos no son legibles por humanos. Los datos de la cadena de bloques requieren decodificación, enriquecimiento, reorganización y modelado de datos a través de servicios de datos de terceros antes de que puedan ser utilizados fácilmente por los desarrolladores.

Solución: Sincronización de datos fuera de la cadena en tiempo real

La implementación de redes blockchain populares requiere tiempo para abordar problemas de rendimiento inherentes a su diseño. El procesamiento fuera de la cadena es una técnica principal utilizada por profesionales de TI exitosos para aprovechar completamente las tecnologías de bases de datos existentes y las ventajas de blockchain, asignando cada tecnología a su propósito mejor diseñado. En pocas palabras, las dApps deben leer datos de bases de datos fuera de la cadena y escribir datos de vuelta a la cadena (pero solo registrar los detalles mínimos necesarios para el resultado final de la transacción).

Al sincronizar el estado de la cadena de bloques en tiempo real a una base de datos operativa o analítica, aseguras la precisión y actualidad de los datos cruciales para el funcionamiento rápido de tu dApp. Después de que tu dApp y la base de datos fuera de la cadena completen la mayor cantidad de preprocesamiento posible, envía los resultados finales de vuelta a la cadena.

Los activos estáticos y binarios pueden utilizar sistemas como IPFS, pero por razones similares, es prudente considerar el almacenamiento de objetos fuera de la cadena (como S3) siempre que sea posible. Por lo tanto, en la práctica, una base de datos fuera de la cadena con un clon siempre sincronizado del estado de la cadena debería convertirse en el objetivo de lectura/escritura para tantas cargas de trabajo operativas o analíticas como sea posible.

Sin embargo, como se mencionó anteriormente, el volumen de datos (especialmente con el tiempo) puede abrumar la mayoría de las infraestructuras de datos. Apache Cassandra es uno de los sistemas de base de datos operativos más potentes en este nivel de capacidad, escala y rendimiento.

Con el modelo de datos adecuado, las aplicaciones pueden experimentar velocidades de sub-segundo esperadas de cachés en memoria como Redis y sistemas de gestión de bases de datos persistentes (DBMS). ¿Qué pasaría si los servicios de datos no relacionales pudieran proporcionar datos históricos y siempre actualizados (en tiempo real) fuera de la cadena?

Durante el proceso de indexación, los datos en bruto se decodifican automáticamente. Para los desarrolladores, esto cambia la experiencia de trabajar con datos de blockchain en forma hexadecimal en bruto, como sigue:

Para datos legibles por humanos, como sigue:

Entonces, los desarrolladores de Web3 normalmente necesitan reorganizar y enriquecer los datos de blockchain de servicios de datos de terceros como Etherscan, whatsabi, metadatos de NFT, etc., para que sean útiles para las consultas más simples. Si los datos enriquecidos se modelan posteriormente en tablas de base de datos consultables, los desarrolladores tendrán todas las capacidades de los lenguajes de consulta estándar de los sistemas de gestión de bases de datos (en lugar de tener que aprender APIs de análisis de blockchain).

Veamos un ejemplo:

Intención del desarrollador: Buscar cinco entradas del grupo de bloques 134

Código de consulta actual:

Respuesta del sistema:

Entonces, ¿cómo se ve esto en la práctica? Para darle vida, eche un vistazo a estas dos aplicaciones de ejemplo (en tiempo real) que están utilizando exactamente estos servicios de datos en tiempo real fuera de la cadena. Los desarrolladores de Web3 deberían estar familiarizados con el código fuente de la aplicación; está escrito utilizando la popular biblioteca Web3.js.

Explorador de NFT

Buscar cada NFT creado en segundos

Extraer el historial de transferencias de un NFT en una sola llamada a la API

NFT Explorer está construido con React y Next JS, brindando a los usuarios una vista completa de los NFT que se han acuñado o transferido en tiempo real en la cadena de bloques de Ethereum.

Explorador de Blockchain

Obtener precios históricos de Gas por número de bloque

Obtener cantidades de transferencia ERC20 por número de bloque

Al igual que el Explorador NFT, este explorador de datos de blockchain extrae todos los datos de blockchain de los datos fuera de la cadena, proporcionando a los usuarios una vista en tiempo real de los últimos bloques minados y las últimas transacciones de Ethereum.

Ofrecer todos estos servicios en la nube alojada ayudaría a superar las dudas tradicionales para lograr la usabilidad y el tiempo de comercialización del estilo de los sistemas de gestión de bases de datos relacionales. Construir tales servicios sobre Cassandra puede ofrecer de manera única la posibilidad de colocalizar estos datos con sus aplicaciones Web3 en cualquier región o multi-región sin necesidad de fragmentación. La replicación incorporada de Cassandra ha sido probada en batalla en los entornos de producción de internet a escala extrema durante más de una década.

Ventajas para aplicaciones y desarrolladores de Web3

Al minimizar el tamaño de las dApps, el almacenamiento de datos en la cadena de bloques y el procesamiento fuera de la cadena de las escrituras de la cadena de bloques, los costos operativos para la mayoría de los casos de uso se realinearán a los niveles de Web 2.0. La experiencia de los usuarios con el rendimiento de las dApps en su dispositivo elegido vuelve a niveles aceptables/esperados. Luego, los desarrolladores de dApps pueden diseñar diálogos, pantallas y alertas de "tiempo de espera" apropiados para establecer expectativas cuando los usuarios necesiten enviar operaciones de escritura a un sistema basado en cadena de bloques.

Los mayores y más desafiantes problemas de consistencia de datos se resuelven, ya que la mayoría de los datos operativos para una dApp se almacenan en bases de datos fuera de la cadena rápidas y fiables. Esto puede ahorrar horas de tiempo frustrante (y potencialmente infructuoso) de depuración y evitar errores de producción que podrían ser imposibles de resolver.

Dado que los sistemas fuera de cadena como las bases de datos no relacionales pueden manejar grandes volúmenes de datos, su dApp cumplirá con las expectativas de tiempo de actividad y tiempo de respuesta a medida que crezca la cadena de bloques, sin necesidad de costosos rediseños de sistemas o reescrituras completas meses después de entrar en producción. Trabajar con Cassandra, posiblemente la base de datos no relacional más confiable, escalable y rápida, también es uno de los trabajos mejor remunerados, según la última encuesta de desarrolladores de Stack Overflow.

Beneficios para Empresas

Las aplicaciones rotas, lentas o inexactas pueden llevar a pérdidas irreparables de usuarios, ingresos y confianza de los inversores. Pero hablemos de la conversación que todos esperamos tener, ¿qué emocionantes posibilidades podría traer la sincronización del estado de la cadena de bloques en tiempo real a una infraestructura fuera de la cadena y no relacional?

Analizando dApps: Integrar dApps con bases de datos analíticas fuera de la cadena abre la perspectiva de opciones y casos de uso completos de "Web 2.0".

Capacidades de Detección/Prevención de Fraudes: Construye dApps que puedan expulsar a actores malintencionados o marcar/bloquear abusos, protegiendo así a tu comunidad de usuarios y tu negocio.

Autoridad para los Intercambios de Activos Digitales: Los intercambios de NFT requieren datos de mercado precisos/actualizados para facilitar las mejores operaciones/ventas/intercambios. Evitar el arrepentimiento del comprador cuando los usuarios ven el artículo que compraron a un precio más bajo minutos después, así como procesos de reembolso intensivos en recursos y críticas negativas de los usuarios.

Características basadas en la ubicación: Saber la ubicación actual es fundamental para muchas de las aplicaciones móviles de hoy. ¡Llévalo a tu dApp!

Aplicaciones de IoT: La velocidad y capacidad para escribir datos generados por máquinas desde software o hardware solo puede ser manejada de manera intransigente por bases de datos no relacionales.

Soberanía de Datos: Por motivos de cumplimiento, regulatorios o legales, encuentre una copia sincronizada del estado de la cadena de bloques con su dApp (dondequiera que esté desplegada en el mundo).

El tiempo de análisis de transacciones de la cadena de bloques está determinado por el protocolo, y sin tarifas de gas/transacción o el uso de servicios de aceleración, no se puede acelerar. Al procesar previamente tanto como sea posible fuera de la cadena, se puede minimizar el tamaño y la frecuencia de las transacciones para el resultado final. Esto reducirá los costos de escritura de la cadena para cualquier caso de uso y mejorará la velocidad de la dApp.

Pruébalo tú mismo como un servicio

Este enfoque en datos en tiempo real va más allá de la cadena de bloques. Es un área en la que la industria ha estado innovando durante más de una década. Pero tecnologías como la cadena de bloques ayudan a demostrar la importancia de que los datos en tiempo real formen parte de la arquitectura de datos y de los modelos de negocio.

Mientras esperamos la criptografía cuántica como servicio, la ubicuidad de los relojes atómicos y nuevas innovaciones en algoritmos de consenso distribuido, los datos en tiempo real ahora se pueden obtener a través de una estructura de costos Web 2.0. Los datos en tiempo real seguirán siendo un elemento central y fundamental de cualquier implementación de blockchain en el futuro.

Descargo de responsabilidad:

  1. Este artículo ha sido reimpreso de [ AIcoin]. All copyrights belong to the original author [Pieter Humphrey, DataStax]. Si hay objeciones a esta reimpresión, por favor contacte al Gate Learnequipo, y lo manejarán rápidamente.
  2. Descargo de responsabilidad: Las opiniones expresadas en este artículo son únicamente las del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!