Autor: Red Rooch
¿Qué es la Red Rooch?
Rooch Network es la capa de aplicaciones nativa de Bitcoin, basada en soluciones L2 apiladas, que proporciona a los usuarios y desarrolladores una plataforma de lanzamiento para activos de Bitcoin e infraestructura de aplicaciones de Bitcoin.
¿Por qué necesitas Rooch Network?
En 2023, surgieron varios protocolos de activos nuevos en el ecosistema de Bitcoin. Las características de estos nuevos activos son que la propiedad de los activos solo se registra en Bitcoin y la validez se verifica fuera de la cadena. Se pueden denominar colectivamente activos basados en. Validación del lado del cliente. ¿Y cuáles son las perspectivas para el ecosistema Bitcoin que auguran estos nuevos protocolos de activos? Hay diferentes puntos de vista en la industria. Creemos que el nuevo protocolo de activos en Bitcoin presagia un nuevo paradigma de construcción del ecosistema de aplicaciones.
La verificación de activos del lado del cliente verifica la validez de los activos fuera de la cadena, por lo que se puede diseñar un protocolo de migración de activos entre capas para realizar realmente la migración de activos dentro de la cadena a fuera de la cadena, simulando un efecto de "efectivo" en el mundo digital. mundo. De esta manera, proporcionar escenarios de uso para los activos ya no está limitado por el problema de escalabilidad de la cadena. Es una nueva solución de expansión y también brinda posibilidades ilimitadas para las aplicaciones.
Al mismo tiempo, este modelo también indica un posible modelo de inicio del ecosistema de aplicaciones. Primero, atraiga usuarios a través de activos dentro de la aplicación, cree una comunidad de usuarios y luego cree aplicaciones en la comunidad para resolver el problema del inicio en frío de la aplicación.
Entonces, ¿qué tipo de infraestructura se necesita para respaldar este modelo?
En primer lugar, se necesita un entorno de aplicaciones escalable fuera de la cadena. Este entorno no solo puede proporcionar servicios de verificación y escalabilidad para protocolos de activos en cadena, sino también ejecutar aplicaciones y proporcionar escenarios de aplicaciones para activos.
En segundo lugar, se necesita un protocolo para la migración de activos entre capas para realizar la migración de activos dentro de la cadena hacia fuera de la cadena.
Finalmente, se necesita una red para conectar aplicaciones fuera de la cadena entre sí para garantizar la interoperabilidad entre aplicaciones.
Esta es la dirección que Rooch Network quiere explorar y probar.
Soluciones técnicas y hoja de ruta
Contenedor de aplicaciones verificable (VApp Container)
El entorno de aplicaciones fuera de la cadena debe garantizar primero la verificabilidad, que es un requisito previo para la descentralización. Nos referimos a la aplicación verificable como VApp para abreviar.
Los contratos inteligentes garantizan la verificabilidad de los cálculos y los árboles de estado garantizan la verificabilidad de los estados. La combinación es un contenedor de aplicaciones verificable.
Después de un año de desarrollo, el equipo de Rooch completó el contenedor VApp del lenguaje Move, que incluye los siguientes módulos:
MoveOS: incluye MoveVM y un árbol de estados apilados, que proporciona un entorno de ejecución para aplicaciones y guarda el estado de la aplicación para garantizar la verificabilidad de los cálculos y los estados.
Mover biblioteca y marco básicos: incluidos Move Stdlib, MoveOS Stdlib, RoochFramework, BitcoinMove, etc., que proporcionan funciones básicas como abstracción de cuentas, definición de activos y ejecución del protocolo Bitcoin para aplicaciones.
Herramientas básicas de desarrollo, interfaz RPC, servicio de indexación y SDK.
Con base en este contenedor de aplicaciones, los desarrolladores de aplicaciones casi pueden implementar la mayoría de las aplicaciones Web2 a través del lenguaje Move y convertirlas en aplicaciones verificables. Rooch también presentó la máquina virtual WASM. La máquina virtual Move ejecuta la lógica de la aplicación y administra el estado. La máquina virtual WASM proporciona capacidades de expansión para facilitar a los desarrolladores la reutilización de las bibliotecas de lenguajes de programación existentes.
Rootear a Bitcoin
Una vez que tengamos el contenedor VApp, debemos combinarlo con Bitcoin. La solución adoptada por Rooch es ejecutar directamente todos los bloques en la red Bitcoin en el contenedor VApp, verificar UTXO y el protocolo de extensión adjunto a UTXO, convertirlo en Move Object y proporcionar a Bitcoin una solución L2 que contenga el estado L1.
Esta capa de contrato inteligente proporciona principalmente tres capacidades:
Proporcionar prueba del estado de Bitcoin para aplicaciones ecológicas de Bitcoin. Debido a que el estado de Bitcoin, incluidos UTXO e inscripción, se incluirán en el árbol de estado, podemos proporcionar una prueba de estado de Bitcoin para aplicaciones ecológicas de Bitcoin escribiendo la raíz del árbol de estado (Root) en la red de Bitcoin. Se puede comprobar si el usuario posee un determinado UTXO o una determinada inscripción a una determinada altura de bloque.
Proporcionar escalabilidad al protocolo de activos Bitcoin L1. Para ampliar un nuevo protocolo basado en un protocolo de activos existente, la tarea principal es definir e implementar las reglas de verificación del nuevo protocolo, lo que se puede lograr mediante complementos de protocolo de contrato inteligente. De esta manera, los desarrolladores no necesitan crear nuevos indexadores.
Proporcione programabilidad para todos los datos y activos en Bitcoin para crear escenarios de aplicaciones.
Una vez que tengamos el estado completo de Bitcoin, podemos apilar una capa de estado L2 encima para crear escenarios de aplicación basados en los datos y activos de Bitcoin. Existen varias soluciones principales:
Liquidado con activos Bitcoin L1
Hay tres modos principales: "intercambio atómico (se abre en una nueva pestaña)", "PSBT (se abre en una nueva pestaña)" y "el pago en cadena desencadena la liquidación fuera de la cadena". Estos modos son adecuados para escenarios de intercambio o pago y se liquidan directamente en Bitcoin. Los desarrolladores pueden utilizar los contratos inteligentes proporcionados por Rooch para mostrar, igualar y simplificar la liquidación con Bitcoin.
enlace atómico
A través de la unión atómica de UTXO y Move Object, los activos de L2 están vinculados a los activos de Bitcoin L1, de modo que la propiedad de los activos en L2 se transfiere con la transferencia de los activos de Bitcoin L1. Por ejemplo, hay una inscripción en L1 para expresar un terreno. Luego construya una casa en L2 y la propiedad estará vinculada al terreno en L1. Cuando se transfiera el terreno, la casa también se transferirá.
Activos derivados
Derivar nuevos activos a través de activos Bitcoin L1 equivale a un modelo de emisión de nuevos activos basado en activos existentes. Por ejemplo, si posee un determinado activo L1, puede obtener un determinado activo L2.
Accesorios y marcadores de identidad.
Utilice activos de Bitcoin L1 como accesorios o marcas de identidad en las aplicaciones. Por ejemplo, una determinada inscripción representa equipo del juego y se usa directamente en el juego en L2. O utilizar los activos de L1 para la gobernanza del voto.
Programación de scripts de Bitcoin
Los scripts y transacciones de Bitcoin se generan en contratos inteligentes, y la fuerza vinculante (gobernanza o hipoteca) creada por L2 garantiza que los usuarios deben firmar la transacción e incluirla en el bloque L1; de lo contrario, serán castigados. A través de esta característica, es posible construir billeteras multifirma en cadena y DAO en Bitcoin, y proporcionar garantías de seguridad adicionales para puentes multifirma.
Es necesario explorar más modelos. A este modelo lo llamamos modelo de construcción de aplicaciones "apiladas", donde una aplicación apila una capa de estado encima del estado de la cadena para lograr la reutilización de datos y activos existentes. Para obtener soluciones detalladas sobre el modo "apilable", consulte Apilable L2. Para obtener documentación de programación y ejemplos de Bitcoin y Move, consulte Ampliación de Bitcoin.
Protocolo de árbol de estados distribuido (DSTP)
Los contenedores VApp son todos independientes, ¿cómo conectarlos a una red? ¿Y lograr la interoperabilidad de estatus y activos? Este es un problema que los protocolos de árbol de estado distribuido deben resolver.
La idea del protocolo de árbol de estado distribuido es dispersar diferentes subárboles del árbol de estado apilado en los nodos de la red P2P para lograr expansión y computación paralela. A través del protocolo de árbol de estado distribuido, toda la red puede admitir un número ilimitado de aplicaciones y lograr una expansión horizontal paralela, pero al mismo tiempo puede compartir datos y activos a través del estado global y lograr la interoperabilidad de las aplicaciones.
Según el modelo de estado "apilado", cada nodo de VApp contendrá el estado de Bitcoin y Rooch, que son estados globales. El estado de la aplicación es un subárbol del árbol de estado global y solo puede existir en nodos específicos. Si una transacción solo modifica el estado de la aplicación sin modificar el estado global, no es necesario transmitir esa transacción a la red. La aplicación solo necesita sincronizar periódicamente su propia raíz de estado con el estado global, lo que equivale a una aplicación. -a base de fragmentos.
Esto forma un árbol de estado distribuido con Root en Bitcoin y datos dispersos en cada nodo de la aplicación. Los activos dentro de la aplicación se pueden mover entre árboles de estado y también pueden comunicarse con activos en Bitcoin.
El protocolo del árbol de estado distribuido también se puede extender en dos direcciones:
Canal de estado de fusión. Un canal de estado puede entenderse como un árbol de estado especial con un ciclo de vida. Cuando se abre el canal de estado de varios participantes, se crea el árbol de estado y cuando se establece el canal de estado, la aplicación puede descartar el estado en el árbol de estado o establecerlo en la capa superior. Este escenario, combinado con las redes P2P, es muy adecuado para aplicaciones (juegos) interactivas en tiempo real multijugador.
Admite árboles de estado en otros formatos. En teoría, los árboles de estado existentes se pueden montar como subárboles en árboles de estado distribuidos, como los almacenes git. De esta forma, la aplicación puede leer directamente archivos en el repositorio de git.
Protocolo de salto de activos
Al decidirse directamente por Bitcoin L1, todavía existen problemas en la experiencia del usuario, como altos costos de transacción y largos tiempos de espera para la confirmación. Cómo transferir activos en Bitcoin a L2, actualmente existen varias soluciones en la industria:
Un modelo para alojar puentes entre cadenas. Este modelo se utiliza ampliamente. Cómo utilizar Bitcoin para garantizar la seguridad y la descentralización del puente sigue siendo una dirección de exploración. Rooch cooperará con proyectos especializados de puentes entre cadenas para realizar la unión de activos y mejorar las capacidades de programación proporcionadas por Rooch. Seguridad del puente.
Modo no administrado: esta es la dirección principal que está explorando Rooch, como las cadenas de estado (se abre en una nueva pestaña).
Para los activos del nuevo protocolo de Bitcoin, probaremos un protocolo de transición de activos. Si en el futuro se emite una gran cantidad de nuevos activos en Bitcoin, se necesitará un protocolo para migrar activos entre la red Bitcoin y L2 para reducir la presión de almacenamiento estatal sobre Bitcoin. Al mismo tiempo, los nuevos activos en L2 también deben migrarse a Bitcoin para obtener mayor seguridad y capacidades de circulación más amplias.
La idea central del protocolo de transición de activos
Los activos basados en la validación del lado del cliente, como RGB/Ordinals, utilizan Bitcoin para registrar la propiedad del activo, pero su validez se verifica en el lado del cliente. Si definimos una instrucción de salto en la capa de protocolo para expresar la migración de activos de L1 a L2, o de L2 a L1, y luego el cliente puede verificar en ambas capas al mismo tiempo, podemos lograr una migración de activos entre capas. .
Este protocolo tiene varias ventajas sobre el modelo puente actual:
Una gran cantidad de activos no se reunirán en el puente, se evitarán los riesgos de concentración y los riesgos del modelo de migración de activos se dispersarán. Tanto la migración de activos como la migración son activadas por los usuarios. Lo que el cliente rastrea es la propiedad. Siempre que se verifique que la operación de destrucción durante la migración coincide con la operación de reemisión durante la migración, los activos estarán seguros.
Los activos se pueden mover entre varias redes como si fuera "efectivo". Separar los escenarios de almacenamiento de activos y de aplicación de activos no solo puede resolver el problema de la explosión estatal, sino también el problema de la emisión a gran escala de nuevos activos.
Este modelo requiere que la billetera desempeñe un papel importante, no solo la billetera "tonta" actual que solo confía en RPC, sino que debe ser más "inteligente".
Con este fin, el equipo de Rooch diseñó el protocolo SFT Bitseed (se abre en una nueva pestaña) basado en Ordinals. En el futuro, se explorará el protocolo de migración de activos basado en el protocolo Bitseed. Para obtener más detalles, consulte el protocolo de transición de activos. parte del Protocolo de Verificación del Cliente.
Pregunta de seguridad
La descripción de la solución anterior no involucra soluciones de seguridad. En la red Rooch, la seguridad incluye principalmente dos aspectos:
La solución de seguridad en el lado de la aplicación es principalmente el permiso de actualización de la raíz del estado de la aplicación.
Para las soluciones de seguridad del cliente, el cliente debe tener capacidades de verificación de estado.
La seguridad del lado de la aplicación debe personalizarse según el escenario y la etapa de desarrollo. Hay varias opciones principales:
Nodo de rotación de intervalos de tiempo basado en Bitcoin + capa de disponibilidad de datos + a prueba de fraude: la conmutación de múltiples nodos se logra mediante la rotación de intervalos de tiempo para garantizar una alta disponibilidad y la descentralización de la aplicación. La prueba de fraude se utiliza para castigar los nodos malignos. Esta es una solución que adoptará Rooch Network e intentaremos trabajar con nuestros socios para explorar cómo utilizar Bitcoin como fuente de seguridad.
Nodo PoA + capa de disponibilidad de datos: este tipo de aplicación puede garantizar la verificabilidad de los datos y cualquiera puede ejecutar un nodo independiente para verificar los datos.
Nodo PoA: este tipo de aplicación puede proporcionar pruebas de estado al mundo exterior y las billeteras de los usuarios pueden verificar sus propios datos. Sin embargo, dado que no existe una capa de disponibilidad de datos para garantizar la disponibilidad de las transacciones, existe el riesgo de que se oculten los datos. Puede servir como una transición intermedia de aplicaciones Web2 a aplicaciones Web3.
Multifirma de todos los participantes: apto para aplicaciones de canal estatal.
La verificación de activos del lado del cliente requiere que la billetera ya no confíe completamente en el nodo RPC, pero requiere que la billetera tenga ciertas capacidades de verificación, que pueden denominarse billeteras inteligentes.
La billetera del cliente debe poder acceder a la red P2P, descubrir los nodos de la aplicación en la red y verificar la raíz del árbol de estado de la aplicación a través de un mecanismo de muestreo aleatorio. Incluso puede ejecutar una máquina virtual de contrato inteligente localmente para verificar la suya. actas.
La billetera del cliente debe poder rastrear la migración de activos, o al menos verificar la validez de la migración de activos.
Esto forma un mecanismo de juego tripartito entre infraestructura, aplicaciones y usuarios, buscando un equilibrio entre escalabilidad y seguridad. Las aplicaciones pueden primero verificar el mercado a través de una solución descentralizada y luego realizar una transición gradual, transferir autoridad y adoptar una ruta de descentralización progresiva.
ruta por etapas
La investigación y el desarrollo del contenedor Rooch VApp pronto lanzarán una nueva versión estable y lanzaremos la red Xianxian de Rooch Network basada en esta versión.
En Xianxing.com, primero probaremos el diseño de un protocolo de activos entre capas, que incluye principalmente dos direcciones:
A través del modelo de activos derivados autobloqueados, se emite un nuevo activo bajo la cadena y se intenta migrar de fuera de la cadena a dentro de la cadena.
Intente migrar los activos de Bitseed de dentro de la cadena a fuera de la cadena. Incluye activos NFT y FT emitidos utilizando el estándar SFT de Bitseed.
Al mismo tiempo, probaremos juegos basados en activos de Bitcoin y también alentaremos a los desarrolladores a crear juegos y aplicaciones, crear un ecosistema de aplicaciones en el modelo VApp y distribuir activos opcionales de tokens de la red principal de Rooch Network a los usuarios a través de juegos y aplicaciones, que Se puede utilizar en futuros tokens de la red principal de Exchange.
Luego accederemos a la red P2P, accederemos a la capa de disponibilidad de datos, realizaremos la descentralización de nodos, buscaremos socios para desarrollar conjuntamente soluciones de seguridad basadas en Bitcoin y actualizaremos la red Xianxing a la red principal. Consulte la hoja de ruta para obtener un mapa de ruta detallado.
Resumir
Este artículo presenta el plan y los objetivos de Rooch Network, así como las formas de intentar verificarlo. No es un documento técnico completo.
VApp proporciona un entorno de ejecución para aplicaciones, el protocolo de árbol de estado distribuido conecta aplicaciones a través de la red P2P y el protocolo de migración de activos permite que los activos fluyan entre Bitcoin y las aplicaciones. Tenemos un modelo completo de capa de aplicación de Bitcoin.
Por supuesto, todavía quedan muchos problemas por resolver antes de la realización de este plan, pero creemos que muchas soluciones técnicas evolucionan basándose en la práctica en lugar de planificarse y diseñarse. Somos como exploradores en la Era de los Descubrimientos. Generalmente conocemos la dirección y el valor del tesoro, pero es necesario encontrar y explorar el camino específico. Primero solo podemos hacer algunas suposiciones, luego diseñar protocolos y productos mínimos, verificarlos en el mercado, resolver problemas, ajustar la dirección y continuar el ciclo. Al final, encontraremos One Piece.