Permaweb es la arquitectura de Internet de próxima generación propuesta por Arweave Ecosystem.Permaweb enfatiza que las aplicaciones y los sitios web son permanentemente accesibles.Permite que Internet tenga recuerdos y nunca los olvide. Al mismo tiempo, Permaweb tiene la característica de Severless. Los desarrolladores no necesitan implementar front-end y back-end durante el proceso de construcción. Todos los servicios desarrollados serán provistos por la capa de servicio básica de Permaweb.
Para obtener más información sobre el concepto y la visión de Permaweb, puede leer "El potencial de Arweave es revivir la biblioteca de Alexandria, no un sustituto de Filecoin", escrito por el profesor Liu Yi para obtener más información sobre el concepto de Permaweb.
Este artículo interpretará Permaweb desde una perspectiva técnica combinada con la teoría SCP.
Marco básico
Permaweb utiliza una arquitectura de tres niveles, la capa superior es la capa de aplicación, que es la interfaz orientada al usuario. La capa intermedia es la capa de servicio, que proporciona servicios de back-end para la aplicación. La capa inferior es la capa de almacenamiento, que utiliza Arweave para proporcionar servicios de almacenamiento de datos para aplicaciones.
La arquitectura de Permaweb no es muy diferente de la arquitectura Web 2. La capa de aplicación corresponde al front-end tradicional de Web 2, la capa de servicio corresponde al back-end y la capa de almacenamiento corresponde al servidor físico o base de datos.
El uso de almacenamiento descentralizado es la mayor diferencia entre Permaweb y Web2. Después de que la aplicación Permaweb integre el almacenamiento permanente Arweave, será muy difícil manipular y borrar el contenido de la aplicación, y la aplicación obtendrá la propiedad de descentralización. Si bien la arquitectura de Permaweb tiene similitudes superficiales con Web2, su tecnología subyacente y su filosofía de diseño marcan diferencias fundamentales.
La arquitectura de la aplicación de Permaweb se muestra en la siguiente figura
Imagen deLibro de cocina Permaweb
Lo siguiente presentará la arquitectura de tres niveles de Permaweb en detalle
capa de almacenamiento
La capa de almacenamiento es el núcleo de Permaweb, si la capa de almacenamiento no utiliza tecnología blockchain, no habrá diferencia entre Permaweb y Web2. La capa de almacenamiento de Permaweb no se limita necesariamente a Arweave. En teoría, también es posible usar Bitcoin o Ethereum como capa de almacenamiento para construir un Permaweb completo, pero es difícil para los desarrolladores y usuarios soportar el alto costo de almacenamiento. Arweave es actualmente la cadena de bloques más profesional para almacenamiento permanente y solo cuesta $5 por 1 GB, que es la mejor opción para Permaweb.
Entonces, ¿la capa de almacenamiento puede usar IPFS? Si se utiliza IPFS, Permaweb perderá la función de trazabilidad de datos. El CID de datos de IPFS puede garantizar que no se puede manipular, pero IPFS no utiliza tecnología de cadena de bloques. Los datos de IPFS no tienen una marca de tiempo de bloque, por lo que es imposible saber cuándo se generaron los datos; al mismo tiempo, los datos también se perderán después de que se cierre el nodo de servicio de IPFS, y no hay garantía de que los datos se recuperarán. permanentemente rastreable.
Capa de servicio
Como middleware unificado, la capa de servicio proporciona API para aplicaciones, similares a los clústeres de microservicios Web2, que no tienen estado y se pueden expandir horizontalmente. Por lo general, la capa de servicio de Permaweb proporcionará interfaces y protocolos estandarizados (similares a gRPC de Web2 o Thrift completamente de código abierto y protocolos abiertos), estas interfaces y protocolos son completamente abiertos y de código abierto, y cualquier proveedor de servicios que implemente servicios puede proporcionar lo mismo. API según estándares de protocolo. Cualquier aplicación puede ser operada y utilizada en diferentes servicios siempre que se desarrolle utilizando protocolos estándar.
Actualmente, la capa de servicio de Arweave contiene cuatro componentes principales, a saber:
Servicio de puerta de enlace: almacenará en caché los datos de Arweave de uso frecuente. Como arweave.asia, arweave.dev, g8way.io, arweave.world, etc.
**Servicio de vinculación de datos (empaquetado de datos por lotes): **Utilice el estándar Arweave ANS-104 para empaquetar una gran cantidad de datos en lotes en Arweave. Tales como bundlr, arseseeding, etc. Los datos de ANS-104 también se pueden recuperar mediante GraphQL.
**Servicios de serialización: **Servicios de contrato inteligente, servicios de pago, etc. Como Warp, everPay, etc.
**Servicio de indexación: **Servicio de recuperación de Arweave Tags, servicio de indexación de texto completo. Como Adot, KNN3, goldsky, etc.
El protocolo estándar actual solo incluye los cuatro módulos anteriores, y la capa de servicio de Permaweb puede expandir aún más el nuevo estándar en el futuro.
Capa de aplicación
Las aplicaciones Permaweb tienen funciones sin servidor, los desarrolladores no necesitan implementar ningún servidor. Dado que la capa de servicio proporciona una interfaz estándar para la capa de aplicación, las aplicaciones desarrolladas de acuerdo con las especificaciones se pueden abrir y utilizar en cualquier capa de servicio.
**Interacción: **Los usuarios solo necesitan interactuar con la capa de servicio y no necesitan interactuar con la cadena de bloques subyacente.
**Carga de recursos: **La puerta de enlace estandarizada son todos los recursos de archivos que deben ser cargados por el front-end de Permaweb. De acuerdo con el estándar Manifiesto, estos recursos de archivos organizan los recursos en la capa de almacenamiento en un formato de directorio, lo cual es conveniente para que los protocolos web se carguen y ensamblen.
**Escritura de datos: **La escritura de Permaweb generalmente usa el estándar ANS-104 en Arweave, que puede soportar la escritura de datos a gran escala. El servicio de paquete implementado por ANS-104 hace que la experiencia de escritura de Permaweb sea exactamente la misma que la de Web2.
**Consulta de datos e indexación: **El servicio de indexación estandarizado permite a Permaweb cargar contenido dinámicamente. El establecimiento del índice no necesita esperar a que los datos se empaqueten finalmente en Arweave. Una vez que los datos se cargan en el servicio de paquete, se puede generar un índice de aplicación eficiente en tiempo real, que brinda a los usuarios capacidades de consulta de datos en tiempo real. .
En resumen, Permaweb puede lograr la misma experiencia que Web2 en términos de interacción.
Resistencia a la censura: Los protocolos e interfaces estándar proporcionan aplicaciones con resistencia a la censura. La URL que se muestra a continuación es una aplicación de Permaweb llamada libro de cocina:
Se puede encontrar que se puede acceder a la aplicación del libro de cocina abriendo cualquier URL. El sitio web es atendido por diferentes puertas de enlace y servidores en todo el mundo. Si arweave.asia se vuelve inaccesible, los usuarios aún pueden usar varias otras URL para continuar usando la aplicación. Incluso si todas las puertas de enlace están cerradas, Arweave almacena los datos del libro de recetas y los datos no se perderán para que el proveedor de servicios pueda restaurar la aplicación del libro de recetas en cualquier momento.
El uso del almacenamiento permanente de Arweave como capa de almacenamiento puede garantizar la descentralización de datos de cada aplicación Permaweb; el uso de un protocolo estandarizado de código abierto como capa de servicio puede evitar el riesgo de revisión causado por el cierre de servidores individuales debido a causas de fuerza mayor. Las aplicaciones de Permaweb son descentralizadas y anticensura.
Versión de microservicio de SCP
La arquitectura de Permaweb es similar a la de la Web 2. En esencia, Permaweb es un conjunto de arquitectura de aplicaciones de microservicios basado en almacenamiento descentralizado.
Los microservicios son un patrón de arquitectura de software utilizado en el desarrollo Web2, que divide una aplicación grande y compleja en una serie de unidades de servicio más pequeñas e independientes. Cada microservicio es un módulo funcional independiente que se puede desarrollar, implementar y ejecutar de forma independiente. Estos microservicios se comunican entre sí a través de API bien definidas, que se pueden implementar mediante protocolos de comunicación ligeros, como HTTP o colas de mensajes.
La arquitectura general de Permaweb es muy similar a los microservicios, y cada aplicación de Permaweb se compone de unidades de servicio estandarizadas e independientes. El mismo concepto de diseño le da a Permaweb la capacidad de construir aplicaciones grandes y complejas.
La diferencia con los microservicios tradicionales es que Permaweb cumple con SCP y es una aplicación basada en consenso de almacenamiento. Permaweb es la versión de arquitectura de microservicios de SCP.
¿Qué es SCP (paradigma de consenso basado en almacenamiento)? Basado en el paradigma de consenso basado en el almacenamiento, la idea central es que mientras el almacenamiento sea inmutable y se puedan rastrear las transacciones anteriores, la aplicación y el cálculo en cualquier lugar serán el único resultado y se podrá obtener el consenso. La característica de SCP es que los datos subyacentes pueden tener combinaciones ilimitadas. Siempre que se cumplan los estándares de datos y ensamblaje de datos, la aplicación puede generar un estado único desde cualquier capa de almacenamiento, o incluso agregar varias capas de almacenamiento juntas.
Cuando se usa SCP para desarrollar aplicaciones, la arquitectura de aplicaciones tradicional no requiere muchos ajustes, solo la base de datos (capa de almacenamiento) debe reemplazarse con un almacenamiento de cadena de bloques rastreable e inviolable.
Ventaja
Las aplicaciones desarrolladas con esta arquitectura de microservicio descentralizada pueden obtener las mismas características de blockchain, incluidas descentralización, inmutabilidad, trazabilidad, anticensura y más.
Al igual que la arquitectura de microservicio tradicional, esta arquitectura tiene las siguientes ventajas de desarrollo:
**1. Modularidad y mantenibilidad: **Servicios independientes, cada uno responsable de una función específica. Este diseño estandarizado y modular permite que cada servicio se desarrolle, pruebe, implemente y mantenga de forma independiente, mejorando así la capacidad de mantenimiento y la flexibilidad de la aplicación.
**2. Independencia: **Cada servicio puede ser desarrollado y mantenido por diferentes equipos. Está más en línea con las características de DAO, permitiendo que diferentes organizaciones e individuos proporcionen el mejor rendimiento y velocidad de desarrollo para Permaweb, y permitiendo a los desarrolladores elegir la tecnología y las herramientas más adecuadas. En el ecosistema de Arweave, podemos ver que diferentes equipos brindan diferentes servicios. Por ejemplo, ar.io brinda puertas de enlace, bundlr y open source arseeding brindan servicios de vinculación de datos, everPay y Permaswap brindan servicios financieros especializados, etc.
**3. Escalabilidad: **Los servicios independientes pueden escalar ciertos servicios horizontalmente según sea necesario. Incluso se puede comparar que cada servicio es el fragmento mencionado en ETH 2.0, pero Permaweb no tiene límite en la cantidad de fragmentos y puede expandirse infinitamente horizontalmente. Además, el mismo estándar de protocolo también puede proporcionar diferentes servicios de conjuntos de datos, como algunas puertas de enlace, para optimizar la velocidad de acceso de aplicaciones específicas, solo pueden almacenar en caché y procesar los datos de aplicaciones específicas.
**4. Alta disponibilidad: ** Con múltiples puertas de enlace disponibles (microservicios), la aplicación no tendrá un solo punto de falla y tiene una mejor disponibilidad.
Esta arquitectura hereda todas las ventajas de la arquitectura de microservicios y rompe el problema del triángulo imposible de las aplicaciones de cadena de bloques. Las aplicaciones de cadena de bloques tradicionales deben renunciar a una determinada característica entre el rendimiento, la seguridad y la descentralización para garantizar la integridad de las otras dos características. Bajo la teoría SCP, debido al uso de un diseño de arquitectura en capas, el consenso estará garantizado por la capa de almacenamiento y el protocolo general.En este momento, la descentralización no necesita estar fuertemente relacionada con la cantidad de nodos, sino con la grado de apertura (código abierto) del protocolo. Cuando hablamos de la descentralización de Ethereum, además de considerar la cantidad de sus nodos, también debemos darnos cuenta de que el software de Ethereum en sí mismo es un protocolo estándar. Los usuarios y los mineros usan el mismo conjunto de protocolos para llegar a un consenso, que puede formar un alto grado de consenso centralizado. En el caso de Ethereum, la gran mayoría de usuarios y desarrolladores utilizan actualmente los servicios proporcionados por infura.io, aunque infura.io es un servicio centralizado, los usuarios pueden implementar el protocolo Ethereum en cualquier momento y utilizar el acceso autónomo a la red. Del mismo modo, los microservicios descentralizados también pueden cumplir con las características anteriores, pero los microservicios descentralizados no son una arquitectura de VM específica (como EVM), sino más flexibles y cercanas al modelo teórico de la arquitectura tradicional, es una combinación de microservicios y teoría SCP. El nacimiento de la próxima generación de arquitectura de Internet descentralizada.
Práctica: desde Arweave, más allá de Arweave
En la actualidad, Permaweb solo tiene cuatro servicios de puerta de enlace, enlace de datos, serialización e indexación, y estos servicios han formado ciertos estándares. Entonces, ¿cómo es exactamente una instancia de Permaweb? Específicamente, ¿cómo construir un Permaweb usando cuatro servicios estándar?
Ahora aplicar
Es una aplicación Permaweb (en adelante, Now), que es una plataforma de comunicación para los desarrolladores ecológicos de Arweave. La función principal de Now es que los usuarios inicien blogs, y a los usuarios les pueden gustar estos contenidos.
Todos los datos de Now se almacenan en Arweave y la capa de almacenamiento inmutable garantiza la descentralización de Now. Cuando el usuario abre Now, el navegador primero cargará un marco frontal desde el servicio de puerta de enlace de Arweave, como se muestra en la figura a continuación, el marco de la página incluye principalmente el componente de encabezado de Now y no incluye los datos de visualización de la aplicación Now. .
Después de que el navegador cargue el marco de la aplicación, podemos ver que la parte de visualización de contenido de Now mostrará Loading stamps En este momento, la aplicación Now está iniciando una solicitud de GraphQL para recuperar los datos de la aplicación. Espere unos segundos para que se complete la recuperación y la aplicación Now mostrará los últimos comentarios y Me gusta de los usuarios (Sellos), como se muestra en la siguiente figura:
En esta página, el marco de inicialización y todos los datos del usuario, así como todas las imágenes presentadas en la página, se obtienen a través de la puerta de enlace. Estos elementos se calcularán y ensamblarán en el navegador para formar la página completa de Now. La puerta de enlace proporciona la capacidad de carga de recursos estáticos y el servicio de índice proporciona la capacidad de carga de datos dinámicos.
Cuando un usuario desea agregar un blog, puede usar su billetera para cargar el contenido en Arweave. Estos contenidos se marcarán con etiquetas específicas para que Index Service pueda proporcionar la función de consulta de GraphQL para estos contenidos. Una vez que el blog se haya cargado correctamente, actualice la aplicación Now nuevamente y el nuevo contenido se mostrará en la pantalla de contenido de la aplicación.
La figura de arriba muestra el proceso básico de escritura y lectura de Permaweb. En aplicaciones prácticas, tanto la escritura como la lectura de Permaweb se realizarán a través de la capa de servicios.
Poner a escala
La mayor ventaja de los microservicios es la escalabilidad, que se heredará completamente de la aplicación Now. Podemos acceder a Now usando cualquier pasarela:
/
Puertas de enlace similares pueden escalar infinitamente, brindando a las aplicaciones Now un rendimiento casi infinito.
Mejores prácticas de SCP
En la arquitectura de Permaweb, la capa inferior solo usa Arweave como capa de almacenamiento. Pero los microservicios descentralizados no deben limitarse a esto, debemos absorber profundamente las ventajas de Permaweb y la arquitectura de microservicios para explorar las mejores prácticas de ingeniería de SCP.
La siguiente imagen es del artículo "Consensus Changes, Blockchain Application Paradigm Evolution Journey", que describe la futura arquitectura de la aplicación blockchain: los usuarios no interactúan con el sistema blockchain en sí, sino con la capa de servicio. Las aplicaciones Blockchain han pasado por el proceso de evolución de la Figura 1 a la Figura 3, se puede leer más contenido:
Como se puede ver en la Figura 3 anterior, la cadena de bloques en la que se basa la aplicación no se limita a Arweave, y Bitcoin y Ethereum también son objetos de cadena de bloques. Estas cadenas de bloques sirven como fuente de consenso para la aplicación, proporcionando descentralización y garantías creíbles para el aplicación Del mismo modo, Permaweb y los microservicios descentralizados también se pueden expandir, y la capa de almacenamiento no necesita limitar Arweave. Al mismo tiempo, Bitcoin y Ethereum también se pueden usar como capa de almacenamiento. En este momento, la capa de almacenamiento también puede ser otra tipos de cadenas de bloques. A continuación se muestra una posible arquitectura de mejores prácticas:
Usamos el orden ascendente para describir:
**Capa de consenso: **Ya no es apropiado nombrar la capa de almacenamiento después de la expansión de Permaweb. Cambiamos el nombre de la capa de almacenamiento original como capa de consenso. La capa de consenso puede ser cualquier sistema de cadena de bloques, y estos sistemas son inviolables y rastreables.
**Capa de servicio: **La mayor diferencia entre la capa de servicio y Permaweb es que la capa inferior del protocolo estándar no se limita al almacenamiento de Arweave y se pueden establecer microservicios para cualquier sistema de cadena de bloques. Tomando el servicio de indexación como ejemplo, Nansen proporciona capacidades de consulta de datos para la cadena pública EVM existente, y muchos Dapps y datos de front-end pueden usar directamente Nansen como fuente de datos. KNN3 también brinda capacidades de indexación similares, creando una capa de consulta relacional estandarizada para datos de blockchain, y KNN3 también brinda capacidades de indexación de almacenamiento compatibles con Arweave GraphQL. En esta arquitectura, los microservicios tienen más estándares y mejor compatibilidad de capa de consenso.
**Capa de aplicación: **Sin limitarse a las aplicaciones Permaweb, esta arquitectura puede brindar soporte para aplicaciones descentralizadas (Web3) y aplicaciones Web2 al mismo tiempo, y es totalmente compatible con el sistema de arquitectura original.
Resumir
Cuando miramos hacia atrás en la evolución de la ingeniería de software de computadora en los últimos 30 años y pensamos en la evolución de la ingeniería de blockchain en los últimos 10 años, tenemos que reflexionar sobre si una máquina virtual global (como EVM) más una expansión de Capa 2 La solución es el sistema descentralizado definitivo. ¿Solución?
Este artículo no profundiza en la viabilidad de Layer2 o la tecnología de fragmentación, pero brinda otra posibilidad para la aplicación de blockchain. Este artículo toma como ejemplo el Permaweb del ecosistema Arweave, combinado con la idea de Storage Consensus Paradigm (SCP) y la arquitectura de microservicios para reorganizar una solución factible de ingeniería. Esta solución no solo tiene una gran capacidad de expansión, sino que también permite que la aplicación tenga características de descentralización. Más importante aún, la solución no es una imagen especular, sino un sistema arquitectónico que ya se ha practicado en ingeniería.
Referencia
1. El potencial de Arweave es revivir la biblioteca de Alexandria, no un reemplazo de Filecoin
2. La evolución del consenso, la evolución del paradigma de aplicación de blockchain
3. Cocinar con Permaweb
4. Almacenamiento Blockchain ARWEAVE: Cinta de Papel de Turing Machine, Nuevo Paradigma de Computación Confiable
5. Una breve historia del desarrollo de Arweave y el paradigma de consenso de almacenamiento
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
Revelando el prototipo de Internet Permaweb de próxima generación: la arquitectura de microservicio descentralizada bajo la teoría SCP
Autor: Outprog @ Colaborador de PermaDAO
Revisor: Xiaosong HU @ Colaborador de PermaDAO
Permaweb es la arquitectura de Internet de próxima generación propuesta por Arweave Ecosystem.Permaweb enfatiza que las aplicaciones y los sitios web son permanentemente accesibles.Permite que Internet tenga recuerdos y nunca los olvide. Al mismo tiempo, Permaweb tiene la característica de Severless. Los desarrolladores no necesitan implementar front-end y back-end durante el proceso de construcción. Todos los servicios desarrollados serán provistos por la capa de servicio básica de Permaweb.
Para obtener más información sobre el concepto y la visión de Permaweb, puede leer "El potencial de Arweave es revivir la biblioteca de Alexandria, no un sustituto de Filecoin", escrito por el profesor Liu Yi para obtener más información sobre el concepto de Permaweb.
Este artículo interpretará Permaweb desde una perspectiva técnica combinada con la teoría SCP.
Marco básico
Permaweb utiliza una arquitectura de tres niveles, la capa superior es la capa de aplicación, que es la interfaz orientada al usuario. La capa intermedia es la capa de servicio, que proporciona servicios de back-end para la aplicación. La capa inferior es la capa de almacenamiento, que utiliza Arweave para proporcionar servicios de almacenamiento de datos para aplicaciones.
La arquitectura de Permaweb no es muy diferente de la arquitectura Web 2. La capa de aplicación corresponde al front-end tradicional de Web 2, la capa de servicio corresponde al back-end y la capa de almacenamiento corresponde al servidor físico o base de datos.
El uso de almacenamiento descentralizado es la mayor diferencia entre Permaweb y Web2. Después de que la aplicación Permaweb integre el almacenamiento permanente Arweave, será muy difícil manipular y borrar el contenido de la aplicación, y la aplicación obtendrá la propiedad de descentralización. Si bien la arquitectura de Permaweb tiene similitudes superficiales con Web2, su tecnología subyacente y su filosofía de diseño marcan diferencias fundamentales.
La arquitectura de la aplicación de Permaweb se muestra en la siguiente figura
Imagen de Libro de cocina Permaweb
Lo siguiente presentará la arquitectura de tres niveles de Permaweb en detalle
capa de almacenamiento
La capa de almacenamiento es el núcleo de Permaweb, si la capa de almacenamiento no utiliza tecnología blockchain, no habrá diferencia entre Permaweb y Web2. La capa de almacenamiento de Permaweb no se limita necesariamente a Arweave. En teoría, también es posible usar Bitcoin o Ethereum como capa de almacenamiento para construir un Permaweb completo, pero es difícil para los desarrolladores y usuarios soportar el alto costo de almacenamiento. Arweave es actualmente la cadena de bloques más profesional para almacenamiento permanente y solo cuesta $5 por 1 GB, que es la mejor opción para Permaweb.
Entonces, ¿la capa de almacenamiento puede usar IPFS? Si se utiliza IPFS, Permaweb perderá la función de trazabilidad de datos. El CID de datos de IPFS puede garantizar que no se puede manipular, pero IPFS no utiliza tecnología de cadena de bloques. Los datos de IPFS no tienen una marca de tiempo de bloque, por lo que es imposible saber cuándo se generaron los datos; al mismo tiempo, los datos también se perderán después de que se cierre el nodo de servicio de IPFS, y no hay garantía de que los datos se recuperarán. permanentemente rastreable.
Capa de servicio
Como middleware unificado, la capa de servicio proporciona API para aplicaciones, similares a los clústeres de microservicios Web2, que no tienen estado y se pueden expandir horizontalmente. Por lo general, la capa de servicio de Permaweb proporcionará interfaces y protocolos estandarizados (similares a gRPC de Web2 o Thrift completamente de código abierto y protocolos abiertos), estas interfaces y protocolos son completamente abiertos y de código abierto, y cualquier proveedor de servicios que implemente servicios puede proporcionar lo mismo. API según estándares de protocolo. Cualquier aplicación puede ser operada y utilizada en diferentes servicios siempre que se desarrolle utilizando protocolos estándar.
Actualmente, la capa de servicio de Arweave contiene cuatro componentes principales, a saber:
El protocolo estándar actual solo incluye los cuatro módulos anteriores, y la capa de servicio de Permaweb puede expandir aún más el nuevo estándar en el futuro.
Capa de aplicación
Las aplicaciones Permaweb tienen funciones sin servidor, los desarrolladores no necesitan implementar ningún servidor. Dado que la capa de servicio proporciona una interfaz estándar para la capa de aplicación, las aplicaciones desarrolladas de acuerdo con las especificaciones se pueden abrir y utilizar en cualquier capa de servicio.
**Interacción: **Los usuarios solo necesitan interactuar con la capa de servicio y no necesitan interactuar con la cadena de bloques subyacente.
En resumen, Permaweb puede lograr la misma experiencia que Web2 en términos de interacción.
Resistencia a la censura: Los protocolos e interfaces estándar proporcionan aplicaciones con resistencia a la censura. La URL que se muestra a continuación es una aplicación de Permaweb llamada libro de cocina:
Se puede encontrar que se puede acceder a la aplicación del libro de cocina abriendo cualquier URL. El sitio web es atendido por diferentes puertas de enlace y servidores en todo el mundo. Si arweave.asia se vuelve inaccesible, los usuarios aún pueden usar varias otras URL para continuar usando la aplicación. Incluso si todas las puertas de enlace están cerradas, Arweave almacena los datos del libro de recetas y los datos no se perderán para que el proveedor de servicios pueda restaurar la aplicación del libro de recetas en cualquier momento.
El uso del almacenamiento permanente de Arweave como capa de almacenamiento puede garantizar la descentralización de datos de cada aplicación Permaweb; el uso de un protocolo estandarizado de código abierto como capa de servicio puede evitar el riesgo de revisión causado por el cierre de servidores individuales debido a causas de fuerza mayor. Las aplicaciones de Permaweb son descentralizadas y anticensura.
Versión de microservicio de SCP
La arquitectura de Permaweb es similar a la de la Web 2. En esencia, Permaweb es un conjunto de arquitectura de aplicaciones de microservicios basado en almacenamiento descentralizado.
Los microservicios son un patrón de arquitectura de software utilizado en el desarrollo Web2, que divide una aplicación grande y compleja en una serie de unidades de servicio más pequeñas e independientes. Cada microservicio es un módulo funcional independiente que se puede desarrollar, implementar y ejecutar de forma independiente. Estos microservicios se comunican entre sí a través de API bien definidas, que se pueden implementar mediante protocolos de comunicación ligeros, como HTTP o colas de mensajes.
La arquitectura general de Permaweb es muy similar a los microservicios, y cada aplicación de Permaweb se compone de unidades de servicio estandarizadas e independientes. El mismo concepto de diseño le da a Permaweb la capacidad de construir aplicaciones grandes y complejas.
La diferencia con los microservicios tradicionales es que Permaweb cumple con SCP y es una aplicación basada en consenso de almacenamiento. Permaweb es la versión de arquitectura de microservicios de SCP.
Cuando se usa SCP para desarrollar aplicaciones, la arquitectura de aplicaciones tradicional no requiere muchos ajustes, solo la base de datos (capa de almacenamiento) debe reemplazarse con un almacenamiento de cadena de bloques rastreable e inviolable.
Ventaja
Las aplicaciones desarrolladas con esta arquitectura de microservicio descentralizada pueden obtener las mismas características de blockchain, incluidas descentralización, inmutabilidad, trazabilidad, anticensura y más.
Al igual que la arquitectura de microservicio tradicional, esta arquitectura tiene las siguientes ventajas de desarrollo:
**1. Modularidad y mantenibilidad: **Servicios independientes, cada uno responsable de una función específica. Este diseño estandarizado y modular permite que cada servicio se desarrolle, pruebe, implemente y mantenga de forma independiente, mejorando así la capacidad de mantenimiento y la flexibilidad de la aplicación.
**2. Independencia: **Cada servicio puede ser desarrollado y mantenido por diferentes equipos. Está más en línea con las características de DAO, permitiendo que diferentes organizaciones e individuos proporcionen el mejor rendimiento y velocidad de desarrollo para Permaweb, y permitiendo a los desarrolladores elegir la tecnología y las herramientas más adecuadas. En el ecosistema de Arweave, podemos ver que diferentes equipos brindan diferentes servicios. Por ejemplo, ar.io brinda puertas de enlace, bundlr y open source arseeding brindan servicios de vinculación de datos, everPay y Permaswap brindan servicios financieros especializados, etc.
**3. Escalabilidad: **Los servicios independientes pueden escalar ciertos servicios horizontalmente según sea necesario. Incluso se puede comparar que cada servicio es el fragmento mencionado en ETH 2.0, pero Permaweb no tiene límite en la cantidad de fragmentos y puede expandirse infinitamente horizontalmente. Además, el mismo estándar de protocolo también puede proporcionar diferentes servicios de conjuntos de datos, como algunas puertas de enlace, para optimizar la velocidad de acceso de aplicaciones específicas, solo pueden almacenar en caché y procesar los datos de aplicaciones específicas.
**4. Alta disponibilidad: ** Con múltiples puertas de enlace disponibles (microservicios), la aplicación no tendrá un solo punto de falla y tiene una mejor disponibilidad.
Esta arquitectura hereda todas las ventajas de la arquitectura de microservicios y rompe el problema del triángulo imposible de las aplicaciones de cadena de bloques. Las aplicaciones de cadena de bloques tradicionales deben renunciar a una determinada característica entre el rendimiento, la seguridad y la descentralización para garantizar la integridad de las otras dos características. Bajo la teoría SCP, debido al uso de un diseño de arquitectura en capas, el consenso estará garantizado por la capa de almacenamiento y el protocolo general.En este momento, la descentralización no necesita estar fuertemente relacionada con la cantidad de nodos, sino con la grado de apertura (código abierto) del protocolo. Cuando hablamos de la descentralización de Ethereum, además de considerar la cantidad de sus nodos, también debemos darnos cuenta de que el software de Ethereum en sí mismo es un protocolo estándar. Los usuarios y los mineros usan el mismo conjunto de protocolos para llegar a un consenso, que puede formar un alto grado de consenso centralizado. En el caso de Ethereum, la gran mayoría de usuarios y desarrolladores utilizan actualmente los servicios proporcionados por infura.io, aunque infura.io es un servicio centralizado, los usuarios pueden implementar el protocolo Ethereum en cualquier momento y utilizar el acceso autónomo a la red. Del mismo modo, los microservicios descentralizados también pueden cumplir con las características anteriores, pero los microservicios descentralizados no son una arquitectura de VM específica (como EVM), sino más flexibles y cercanas al modelo teórico de la arquitectura tradicional, es una combinación de microservicios y teoría SCP. El nacimiento de la próxima generación de arquitectura de Internet descentralizada.
Práctica: desde Arweave, más allá de Arweave
En la actualidad, Permaweb solo tiene cuatro servicios de puerta de enlace, enlace de datos, serialización e indexación, y estos servicios han formado ciertos estándares. Entonces, ¿cómo es exactamente una instancia de Permaweb? Específicamente, ¿cómo construir un Permaweb usando cuatro servicios estándar?
Ahora aplicar
Es una aplicación Permaweb (en adelante, Now), que es una plataforma de comunicación para los desarrolladores ecológicos de Arweave. La función principal de Now es que los usuarios inicien blogs, y a los usuarios les pueden gustar estos contenidos.
Todos los datos de Now se almacenan en Arweave y la capa de almacenamiento inmutable garantiza la descentralización de Now. Cuando el usuario abre Now, el navegador primero cargará un marco frontal desde el servicio de puerta de enlace de Arweave, como se muestra en la figura a continuación, el marco de la página incluye principalmente el componente de encabezado de Now y no incluye los datos de visualización de la aplicación Now. .
Después de que el navegador cargue el marco de la aplicación, podemos ver que la parte de visualización de contenido de Now mostrará Loading stamps En este momento, la aplicación Now está iniciando una solicitud de GraphQL para recuperar los datos de la aplicación. Espere unos segundos para que se complete la recuperación y la aplicación Now mostrará los últimos comentarios y Me gusta de los usuarios (Sellos), como se muestra en la siguiente figura:
En esta página, el marco de inicialización y todos los datos del usuario, así como todas las imágenes presentadas en la página, se obtienen a través de la puerta de enlace. Estos elementos se calcularán y ensamblarán en el navegador para formar la página completa de Now. La puerta de enlace proporciona la capacidad de carga de recursos estáticos y el servicio de índice proporciona la capacidad de carga de datos dinámicos.
Cuando un usuario desea agregar un blog, puede usar su billetera para cargar el contenido en Arweave. Estos contenidos se marcarán con etiquetas específicas para que Index Service pueda proporcionar la función de consulta de GraphQL para estos contenidos. Una vez que el blog se haya cargado correctamente, actualice la aplicación Now nuevamente y el nuevo contenido se mostrará en la pantalla de contenido de la aplicación.
La figura de arriba muestra el proceso básico de escritura y lectura de Permaweb. En aplicaciones prácticas, tanto la escritura como la lectura de Permaweb se realizarán a través de la capa de servicios.
Poner a escala
La mayor ventaja de los microservicios es la escalabilidad, que se heredará completamente de la aplicación Now. Podemos acceder a Now usando cualquier pasarela:
Puertas de enlace similares pueden escalar infinitamente, brindando a las aplicaciones Now un rendimiento casi infinito.
Mejores prácticas de SCP
En la arquitectura de Permaweb, la capa inferior solo usa Arweave como capa de almacenamiento. Pero los microservicios descentralizados no deben limitarse a esto, debemos absorber profundamente las ventajas de Permaweb y la arquitectura de microservicios para explorar las mejores prácticas de ingeniería de SCP.
La siguiente imagen es del artículo "Consensus Changes, Blockchain Application Paradigm Evolution Journey", que describe la futura arquitectura de la aplicación blockchain: los usuarios no interactúan con el sistema blockchain en sí, sino con la capa de servicio. Las aplicaciones Blockchain han pasado por el proceso de evolución de la Figura 1 a la Figura 3, se puede leer más contenido:
Como se puede ver en la Figura 3 anterior, la cadena de bloques en la que se basa la aplicación no se limita a Arweave, y Bitcoin y Ethereum también son objetos de cadena de bloques. Estas cadenas de bloques sirven como fuente de consenso para la aplicación, proporcionando descentralización y garantías creíbles para el aplicación Del mismo modo, Permaweb y los microservicios descentralizados también se pueden expandir, y la capa de almacenamiento no necesita limitar Arweave. Al mismo tiempo, Bitcoin y Ethereum también se pueden usar como capa de almacenamiento. En este momento, la capa de almacenamiento también puede ser otra tipos de cadenas de bloques. A continuación se muestra una posible arquitectura de mejores prácticas:
Usamos el orden ascendente para describir:
Resumir
Cuando miramos hacia atrás en la evolución de la ingeniería de software de computadora en los últimos 30 años y pensamos en la evolución de la ingeniería de blockchain en los últimos 10 años, tenemos que reflexionar sobre si una máquina virtual global (como EVM) más una expansión de Capa 2 La solución es el sistema descentralizado definitivo. ¿Solución?
Este artículo no profundiza en la viabilidad de Layer2 o la tecnología de fragmentación, pero brinda otra posibilidad para la aplicación de blockchain. Este artículo toma como ejemplo el Permaweb del ecosistema Arweave, combinado con la idea de Storage Consensus Paradigm (SCP) y la arquitectura de microservicios para reorganizar una solución factible de ingeniería. Esta solución no solo tiene una gran capacidad de expansión, sino que también permite que la aplicación tenga características de descentralización. Más importante aún, la solución no es una imagen especular, sino un sistema arquitectónico que ya se ha practicado en ingeniería.
Referencia
1. El potencial de Arweave es revivir la biblioteca de Alexandria, no un reemplazo de Filecoin
2. La evolución del consenso, la evolución del paradigma de aplicación de blockchain
3. Cocinar con Permaweb
4. Almacenamiento Blockchain ARWEAVE: Cinta de Papel de Turing Machine, Nuevo Paradigma de Computación Confiable
5. Una breve historia del desarrollo de Arweave y el paradigma de consenso de almacenamiento