Durante mucho tiempo he tenido la idea de resolver algunos de los problemas que enfrenta actualmente Rollup mediante el diseño multi-Rollup (multi-Rollup). Durante aproximadamente un año y medio pensé que alguien lo construiría, pero nunca profundicé ni pensé en los detalles de dicho sistema.
Ha pasado un tiempo y no parece haber un solo diseño que resuelva el problema que describí en esta publicación, así que voy a completar los detalles de este sistema lo mejor que pueda con la esperanza de que alguien Puede inspirarse en él o incluso pedir prestado algunas ideas en un Rollup existente.
introducir
Hoy en día, uno de los problemas que enfrenta Rollup es la experiencia del usuario. En muchos diseños, los Rollups son ecosistemas independientes con diferentes características. Hay formas de interoperar, pero conectar múltiples sistemas heterogéneos es todo un desafío. Además, es difícil atraer usuarios para que se registren en todos estos paquetes acumulativos. Deben comprender cada Rollup individualmente, evaluar los contratos inteligentes asociados, conectar sus billeteras a nuevos puntos finales RPC, conectar activos a la cadena, etc.
¿Qué pasaría si hubiera un diseño de Rollup que proporcionara una experiencia unificada para todos los Rollups? ¿Como se verá esto?
Me he estado haciendo esta pregunta y obtuve las siguientes cinco ideas:
Debería proporcionar un RPC unificado para consultar y llamar a diferentes contratos inteligentes en todo Rollup. Los contratos inteligentes deben tener una dirección única que no dependa del Rollup al que pertenecen.
Debería permitir ampliar y reducir según sea necesario. Más transacciones deberían significar más Rollups para procesarlas, y la carga desigual entre Rollups debería equilibrarse.
Debería incentivar a los secuenciadores en diferentes Rollups a permanecer en línea. El sistema debería alentar a otros clasificadores a reemplazar el clasificador fuera de línea.
Debería admitir transferencias instantáneas entre cadenas. Las transacciones deben liquidarse con la suficiente rapidez para que las operaciones entre cadenas tengan sentido.
Debe mantener un cliente ligero y bloquear la funcionalidad del explorador en múltiples fusiones. Los exploradores de bloques deberían proporcionar una visión unificada de la cadena de bloques y los clientes ligeros deberían permitir una verificación de bajo costo.
Teniendo todo esto en consideración, se me ocurrió un diseño que consta de un centro rollup y un número variable de sub-rollups. El centro Rollup es a la vez el centro de registro y el equilibrador de carga de todos los sub-rollups, pero no realiza ningún procesamiento de contratos inteligentes. Los contratos inteligentes se manejan en sub-rollups.
En las siguientes secciones, revisaré un borrador de diseño para explicar las cinco consideraciones que mencioné anteriormente.
Descripción general del diseño
El sistema tiene dos componentes principales: centro acumulativo y sub-rollup. El sistema Rollup Hub tiene dos componentes principales: el Rollup Hub y los sub-Rollups. El centro Rollup es un Rollup que contiene todos los registros de contratos inteligentes de todos los sub-rollups y decide qué Rollup es responsable de qué contrato inteligente. Además, el centro de resumen contiene un registro de todos los clasificadores de otro resumen secundario. Las cadenas infantiles son responsables de ejecutar transacciones de los contratos inteligentes que les asigna el centro Rollup en el registro de contratos inteligentes. Un registro de secuenciador contiene dos componentes principales para cada sistema de secuenciador: el centro de resumen y los resúmenes secundarios. El centro Rollup es un Rollup que contiene todos los registros de contratos inteligentes de todos los sub-rollups y decide qué Rollup es responsable de qué contrato inteligente. Además, el centro de resumen contiene un registro de todos los clasificadores de otro resumen secundario. Las cadenas infantiles son responsables de ejecutar transacciones de los contratos inteligentes que les asigna el centro Rollup en el registro de contratos inteligentes. El registro del secuenciador contiene cada punto final RPC y dirección DA del secuenciador.
El registro de pedidos actúa como una dirección de contrato inteligente global para asignar direcciones de contrato inteligente. Esto se utiliza para enrutar llamadas RPC al RPC del ordenante específico correspondiente al contrato inteligente consultado o actualizado.
Registro de contratos inteligentes
El registro de contratos inteligentes actúa como un mapeo de direcciones de contratos inteligentes globales a direcciones de contratos inteligentes.
Cadena acumulada
La cadena secundaria generalmente tiene una raíz de estado, y esta ruta de estado se puede actualizar llamando al contrato inteligente directamente, o se puede actualizar cuando el centro Rollup asigna el contrato inteligente a otro Rollup; en este caso, el contrato inteligente debe eliminarse. y se agrega a otros contratos inteligentes.
RPC unificado
Objetivo: no tener que conectarse a una nueva cadena para cada paquete acumulativo y hacer que las transacciones entre paquetes sean transparentes para los usuarios.
RPC unificado restaura la experiencia del usuario de una sola cadena en una red de múltiples paquetes acumulativos, y los usuarios no tienen que conectarse a diferentes redes para usar diferentes paquetes acumulativos.
El sistema utiliza un registro de solicitantes de Rollup desde el centro de Rollup para encontrar el punto final RPC del pedido correspondiente a un contrato inteligente en particular. Luego, la solicitud se envía directamente a ese secuenciador. Se pueden completar múltiples transacciones enviando solicitudes a diferentes Rollups. Consulte las siguientes secciones para obtener más detalles.
como trabajar
El centro Rollup mantiene un registro de secuenciadores para todas las cadenas secundarias.
Cuando un usuario desea enviar una nueva transacción, la billetera del usuario consultará el registro de contrato inteligente para obtener el RollupID del contrato inteligente y consultará el registro del secuenciador para obtener el punto final RPC del secuenciador en el mismo Rollup.
Luego, la transacción se envía al punto final RPC del ordenante.
Balanceo de carga
Objetivo: equilibrar el costo de todos los rollups
El equilibrio de carga permite el equilibrio de carga en Rollup. Cuando el sistema se obstruye, se pueden generar nuevos paquetes acumulativos para manejar la carga. Cuando no sea de mucha utilidad, el Rollup se puede eliminar para ahorrar recursos. Además, el sistema puede evitar aumentos de tarifas trasladando contratos inteligentes con alta demanda en transacciones a acumulaciones con más capacidad disponible.
En cada época, el centro Rollup evalúa la carga de todos los Rollups en el sistema. Las épocas deberían durar unas pocas horas (tal vez de 6 a 24 horas) para evitar reasignaciones de contratos inteligentes a gran escala.
El centro Rollup puede decidir qué contratos inteligentes redistribuir y cuándo generar o eliminar Rollups, lo que se puede decidir de forma autónoma mediante la gobernanza o el historial de consumo de gas de diferentes contratos inteligentes.
El centro Rollup comprueba si algún Rollup tiene una carga de transacciones superior al promedio (es decir, las tarifas son altas) o inferior al promedio (es decir, las tarifas son bajas).
Si la carga de un paquete acumulativo es superior al promedio, el centro de paquete acumulativo evalúa qué contratos inteligentes consumen más gas y los reasigna a un paquete acumulativo diferente que pueda manejar la carga adicional. Luego, el contrato inteligente se elimina de su estado inicial de acumulación de host.
Si la carga promedio de todos los Rollups es mayor que el promedio, el centro de Rollup creará un nuevo Rollup y asignará algunos contratos inteligentes al nuevo Rollup. De manera similar, si la carga promedio de todos los Rollups está por debajo del promedio, el centro de Rollup eliminará un Rollup y reasignará sus contratos inteligentes a otros Rollups.
Las cadenas acumulativas deben consultar el centro acumulativo en cada época, descargar el almacenamiento de cualquier nuevo contrato inteligente que se les haya asignado y eliminar cualquier contrato inteligente del que ya no sean responsables.
Nota: Descargar el almacenamiento para algunos contratos inteligentes puede no ser un asunto trivial. En primer lugar, el estado no está disponible en la capa DA y tiene un tamaño bastante grande. Esto limita el tiempo mínimo de época y requiere un período de gracia para preparar el almacenamiento de contratos inteligentes.
Clasificación de incentivos
Objetivo: utilizar una parte de las recompensas del token nativo para incentivar a los secuenciadores de respaldo.
La mayoría de los rollups actuales se crean en una sola cadena, administrada por uno o muy pocos ordenantes, con el objetivo de maximizar el tiempo de actividad del rollup. Por el contrario, en un sistema multi-rollup, hay múltiples sub-rollups independientes, cada uno de los cuales debe estar en línea para permanecer activo en el sistema general.
Naturalmente, se incentivará a los clasificadores a unirse a Rollup para recolectar MEV, pero es mejor proporcionar recompensas adecuadas a estos clasificadores, ya que son más consistentes y no desalinean incentivos como MEV. Estas recompensas deberían provenir de la política monetaria del centro Rollup.
Además, es bueno tener varios ordenantes en espera y listos para ingresar; estos ordenantes pueden unirse al sistema cuando aumenta la demanda de transacciones y abandonar el sistema cuando no hay recursos informáticos.
El secuenciador en espera permanecerá en la cola de secuenciadores y recibirá una pequeña recompensa por compromiso de disponibilidad. Cuando se canjean en Rollup, reciben la recompensa completa. Las recompensas provendrán del mecanismo de quema de tarifas del centro Rollup.
cómo utilizar
Los solicitantes pueden unirse a la cola de pedidos del centro Rollup presentando un bono financiero (similar al sistema Rollup actual).
Los clasificadores en la cola deben proporcionar pruebas de DA de que tienen el estado de centro de resumen y que pueden leer en cualquier momento para unirse al resumen.
Cuando envíen pruebas, serán recompensados en parte, el token nativo del sistema. Este token es un identificador en el centro acumulativo.
Si el centro de Rollup decide que se necesita un nuevo Rollup, se le asignará y recibirá la recompensa completa. Esta recompensa está determinada por la cantidad total de tarifas consumidas en el sistema.
Transacciones acumuladas cruzadas
Objetivo: las transacciones acumuladas deben ser instantáneas y transparentes para los usuarios.
La transacción cruzada entre el Rollup A y el Rollup B debe tener dos partes: 1) la transacción en el Rollup A 2) la transacción en el Rollup B. Solo ocurrirá cuando la transacción en el Rollup A sea exitosa y final.
Para una confirmación rápida, las billeteras de los usuarios pueden verificar si la transacción se envió a la capa DA subyacente y demostrar que es válida usando ZK. Si la transacción está incluida y es válida, entonces el secuenciador debe llegar a la misma conclusión para esa transacción en particular.
El crédito por la idea es para Mustafa Al-Bassam y Sovereign Labs.
cómo utilizar
Un usuario envía una transacción que incluye tres paquetes acumulativos, por ejemplo, RollupA, B y C.
Pensemos en un ejemplo específico: el Rollup A tiene un contrato inteligente de moneda estable, el Rollup B tiene un DEX y el Rollup C tiene un protocolo de préstamo. En este ejemplo, el usuario quiere cambiar su moneda estable por un token diferente y depositar el acuerdo de préstamo.
Los usuarios primero deben enviar una transacción Rollup A para transferir monedas estables al DEX en Rollup B.
Luego pueden enviar una transacción Rollup B DEX que intercambia la moneda estable por el token deseado en Rollup B.
A su vez, el token debía transferirse a RollupC, por lo que el usuario envió una tercera transacción, que hizo exactamente eso.
Finalmente, el usuario envía la cuarta y última transacción, depositando tokens en el protocolo de préstamo.
Explorador de bloques y nodos ligeros
Objetivo: los nodos ligeros deberían poder verificar contratos inteligentes en todos los Rollups, y los exploradores de bloques deberían proporcionar una vista unificada de la cadena.
Un sistema blockchain debería permitir que cualquiera ejecute un nodo y verifique la cadena misma. En este diseño de múltiples acumulaciones, donde los contratos inteligentes se reasignan constantemente a diferentes sub-acumulaciones, debería haber una manera de realizar un seguimiento de estos contratos inteligentes específicos. Se trata de un cambio de mentalidad de validar una o más cadenas a validar uno o más contratos inteligentes. Los nodos ligeros pueden utilizar pruebas ZK para verificar todos los resúmenes secundarios a bajo costo.
Los nodos acumulativos deben admitir un modo de validación, junto con el modo de secuenciador.
El modo de verificación verifica el estado de un único contrato inteligente, a diferencia del modo secuenciador, que envía lotes de transacciones a la capa DA.
Si el contrato inteligente cambia el subclúster, los validadores solo necesitan actualizar el subclúster que escuchan, ya que ya tienen el almacenamiento del contrato inteligente hasta que se reasigne.
Los contratos inteligentes deben procesarse en un paquete acumulativo a la vez. Dado que están restringidos a un resumen, los nodos de validación con las mismas especificaciones deberían poder rastrearlos y verificarlos.
Los nodos ligeros pueden utilizar pruebas ZK para verificar el estado de la cadena a bajo costo.
Los exploradores de bloques son una parte integral del sistema blockchain. Facilitan consultas de saldo para activos nativos, consultas de contratos inteligentes y mantienen el historial de transacciones desde el primer bloque hasta el bloque actual. En este sistema de sub-resumen, el explorador de bloques debe proporcionar una vista unificada de todos los sub-resumen.
El explorador de bloques debe permitir consultar el saldo del centro acumulativo (para activos nativos) y el historial de transacciones de todos los sub-rollups.
De manera similar al sistema de resumen único, los exploradores de bloques utilizan un índice para lograr esto. Un sistema multi-rollup debe indexar todos los rollups para proporcionar servicios de consulta para cualquier contrato inteligente en el sistema.
Si el centro de resumen decide expandir la cantidad de sub-resumen, el explorador de bloques debería estar listo para manejarlo. Deberían proporcionar más capacidad de sub-acumulación o tener un sistema de orquestación de contenedores (como Kubernetes) para ampliar automáticamente los sub-acumulación.
Deben utilizar números de bloque de la capa DA para mantener la coherencia en todos los resúmenes.
en conclusión
El diseño anterior es solo una idea por el momento y es posible que nunca lo implemente más, pero espero que la visión le interese. Si el diseño se aprueba, espero que se utilice en proyectos Rollup y se acerque a las capacidades de escalamiento de EIP-4844, Celestia o Avail.
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.
El futuro de la expansión de capacidad: concepto de diseño de sistema multi-Rollup
Autor: AndreasTzionis; Fuente: ethresear.ch; Compilador: Yvonne, MarsBit
Durante mucho tiempo he tenido la idea de resolver algunos de los problemas que enfrenta actualmente Rollup mediante el diseño multi-Rollup (multi-Rollup). Durante aproximadamente un año y medio pensé que alguien lo construiría, pero nunca profundicé ni pensé en los detalles de dicho sistema.
Ha pasado un tiempo y no parece haber un solo diseño que resuelva el problema que describí en esta publicación, así que voy a completar los detalles de este sistema lo mejor que pueda con la esperanza de que alguien Puede inspirarse en él o incluso pedir prestado algunas ideas en un Rollup existente.
introducir
Hoy en día, uno de los problemas que enfrenta Rollup es la experiencia del usuario. En muchos diseños, los Rollups son ecosistemas independientes con diferentes características. Hay formas de interoperar, pero conectar múltiples sistemas heterogéneos es todo un desafío. Además, es difícil atraer usuarios para que se registren en todos estos paquetes acumulativos. Deben comprender cada Rollup individualmente, evaluar los contratos inteligentes asociados, conectar sus billeteras a nuevos puntos finales RPC, conectar activos a la cadena, etc.
¿Qué pasaría si hubiera un diseño de Rollup que proporcionara una experiencia unificada para todos los Rollups? ¿Como se verá esto?
Me he estado haciendo esta pregunta y obtuve las siguientes cinco ideas:
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-24cc855280-dd1a6f-6d2ef1)
Teniendo todo esto en consideración, se me ocurrió un diseño que consta de un centro rollup y un número variable de sub-rollups. El centro Rollup es a la vez el centro de registro y el equilibrador de carga de todos los sub-rollups, pero no realiza ningún procesamiento de contratos inteligentes. Los contratos inteligentes se manejan en sub-rollups.
En las siguientes secciones, revisaré un borrador de diseño para explicar las cinco consideraciones que mencioné anteriormente.
Descripción general del diseño
El sistema tiene dos componentes principales: centro acumulativo y sub-rollup. El sistema Rollup Hub tiene dos componentes principales: el Rollup Hub y los sub-Rollups. El centro Rollup es un Rollup que contiene todos los registros de contratos inteligentes de todos los sub-rollups y decide qué Rollup es responsable de qué contrato inteligente. Además, el centro de resumen contiene un registro de todos los clasificadores de otro resumen secundario. Las cadenas infantiles son responsables de ejecutar transacciones de los contratos inteligentes que les asigna el centro Rollup en el registro de contratos inteligentes. Un registro de secuenciador contiene dos componentes principales para cada sistema de secuenciador: el centro de resumen y los resúmenes secundarios. El centro Rollup es un Rollup que contiene todos los registros de contratos inteligentes de todos los sub-rollups y decide qué Rollup es responsable de qué contrato inteligente. Además, el centro de resumen contiene un registro de todos los clasificadores de otro resumen secundario. Las cadenas infantiles son responsables de ejecutar transacciones de los contratos inteligentes que les asigna el centro Rollup en el registro de contratos inteligentes. El registro del secuenciador contiene cada punto final RPC y dirección DA del secuenciador.
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-30f0cf6d9f-dd1a6f-6d2ef1)
Registro de secuenciadores
El registro de pedidos actúa como una dirección de contrato inteligente global para asignar direcciones de contrato inteligente. Esto se utiliza para enrutar llamadas RPC al RPC del ordenante específico correspondiente al contrato inteligente consultado o actualizado.
Registro de contratos inteligentes
El registro de contratos inteligentes actúa como un mapeo de direcciones de contratos inteligentes globales a direcciones de contratos inteligentes.
Cadena acumulada
La cadena secundaria generalmente tiene una raíz de estado, y esta ruta de estado se puede actualizar llamando al contrato inteligente directamente, o se puede actualizar cuando el centro Rollup asigna el contrato inteligente a otro Rollup; en este caso, el contrato inteligente debe eliminarse. y se agrega a otros contratos inteligentes.
RPC unificado
Objetivo: no tener que conectarse a una nueva cadena para cada paquete acumulativo y hacer que las transacciones entre paquetes sean transparentes para los usuarios.
RPC unificado restaura la experiencia del usuario de una sola cadena en una red de múltiples paquetes acumulativos, y los usuarios no tienen que conectarse a diferentes redes para usar diferentes paquetes acumulativos.
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-74756eed1e-dd1a6f-6d2ef1)
El sistema utiliza un registro de solicitantes de Rollup desde el centro de Rollup para encontrar el punto final RPC del pedido correspondiente a un contrato inteligente en particular. Luego, la solicitud se envía directamente a ese secuenciador. Se pueden completar múltiples transacciones enviando solicitudes a diferentes Rollups. Consulte las siguientes secciones para obtener más detalles.
como trabajar
El centro Rollup mantiene un registro de secuenciadores para todas las cadenas secundarias.
Cuando un usuario desea enviar una nueva transacción, la billetera del usuario consultará el registro de contrato inteligente para obtener el RollupID del contrato inteligente y consultará el registro del secuenciador para obtener el punto final RPC del secuenciador en el mismo Rollup.
Luego, la transacción se envía al punto final RPC del ordenante.
Balanceo de carga
Objetivo: equilibrar el costo de todos los rollups
El equilibrio de carga permite el equilibrio de carga en Rollup. Cuando el sistema se obstruye, se pueden generar nuevos paquetes acumulativos para manejar la carga. Cuando no sea de mucha utilidad, el Rollup se puede eliminar para ahorrar recursos. Además, el sistema puede evitar aumentos de tarifas trasladando contratos inteligentes con alta demanda en transacciones a acumulaciones con más capacidad disponible.
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-632aa78015-dd1a6f-6d2ef1)
como trabajar
En cada época, el centro Rollup evalúa la carga de todos los Rollups en el sistema. Las épocas deberían durar unas pocas horas (tal vez de 6 a 24 horas) para evitar reasignaciones de contratos inteligentes a gran escala.
El centro Rollup puede decidir qué contratos inteligentes redistribuir y cuándo generar o eliminar Rollups, lo que se puede decidir de forma autónoma mediante la gobernanza o el historial de consumo de gas de diferentes contratos inteligentes.
El centro Rollup comprueba si algún Rollup tiene una carga de transacciones superior al promedio (es decir, las tarifas son altas) o inferior al promedio (es decir, las tarifas son bajas).
Si la carga de un paquete acumulativo es superior al promedio, el centro de paquete acumulativo evalúa qué contratos inteligentes consumen más gas y los reasigna a un paquete acumulativo diferente que pueda manejar la carga adicional. Luego, el contrato inteligente se elimina de su estado inicial de acumulación de host.
Si la carga promedio de todos los Rollups es mayor que el promedio, el centro de Rollup creará un nuevo Rollup y asignará algunos contratos inteligentes al nuevo Rollup. De manera similar, si la carga promedio de todos los Rollups está por debajo del promedio, el centro de Rollup eliminará un Rollup y reasignará sus contratos inteligentes a otros Rollups.
Las cadenas acumulativas deben consultar el centro acumulativo en cada época, descargar el almacenamiento de cualquier nuevo contrato inteligente que se les haya asignado y eliminar cualquier contrato inteligente del que ya no sean responsables.
Nota: Descargar el almacenamiento para algunos contratos inteligentes puede no ser un asunto trivial. En primer lugar, el estado no está disponible en la capa DA y tiene un tamaño bastante grande. Esto limita el tiempo mínimo de época y requiere un período de gracia para preparar el almacenamiento de contratos inteligentes.
Clasificación de incentivos
Objetivo: utilizar una parte de las recompensas del token nativo para incentivar a los secuenciadores de respaldo.
La mayoría de los rollups actuales se crean en una sola cadena, administrada por uno o muy pocos ordenantes, con el objetivo de maximizar el tiempo de actividad del rollup. Por el contrario, en un sistema multi-rollup, hay múltiples sub-rollups independientes, cada uno de los cuales debe estar en línea para permanecer activo en el sistema general.
Naturalmente, se incentivará a los clasificadores a unirse a Rollup para recolectar MEV, pero es mejor proporcionar recompensas adecuadas a estos clasificadores, ya que son más consistentes y no desalinean incentivos como MEV. Estas recompensas deberían provenir de la política monetaria del centro Rollup.
Además, es bueno tener varios ordenantes en espera y listos para ingresar; estos ordenantes pueden unirse al sistema cuando aumenta la demanda de transacciones y abandonar el sistema cuando no hay recursos informáticos.
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-02c28a977e-dd1a6f-6d2ef1)
El secuenciador en espera permanecerá en la cola de secuenciadores y recibirá una pequeña recompensa por compromiso de disponibilidad. Cuando se canjean en Rollup, reciben la recompensa completa. Las recompensas provendrán del mecanismo de quema de tarifas del centro Rollup.
cómo utilizar
Los solicitantes pueden unirse a la cola de pedidos del centro Rollup presentando un bono financiero (similar al sistema Rollup actual).
Los clasificadores en la cola deben proporcionar pruebas de DA de que tienen el estado de centro de resumen y que pueden leer en cualquier momento para unirse al resumen.
Cuando envíen pruebas, serán recompensados en parte, el token nativo del sistema. Este token es un identificador en el centro acumulativo.
Si el centro de Rollup decide que se necesita un nuevo Rollup, se le asignará y recibirá la recompensa completa. Esta recompensa está determinada por la cantidad total de tarifas consumidas en el sistema.
Transacciones acumuladas cruzadas
Objetivo: las transacciones acumuladas deben ser instantáneas y transparentes para los usuarios.
La transacción cruzada entre el Rollup A y el Rollup B debe tener dos partes: 1) la transacción en el Rollup A 2) la transacción en el Rollup B. Solo ocurrirá cuando la transacción en el Rollup A sea exitosa y final.
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-6899964b00-dd1a6f-6d2ef1)
Para una confirmación rápida, las billeteras de los usuarios pueden verificar si la transacción se envió a la capa DA subyacente y demostrar que es válida usando ZK. Si la transacción está incluida y es válida, entonces el secuenciador debe llegar a la misma conclusión para esa transacción en particular.
El crédito por la idea es para Mustafa Al-Bassam y Sovereign Labs.
cómo utilizar
Un usuario envía una transacción que incluye tres paquetes acumulativos, por ejemplo, RollupA, B y C.
Pensemos en un ejemplo específico: el Rollup A tiene un contrato inteligente de moneda estable, el Rollup B tiene un DEX y el Rollup C tiene un protocolo de préstamo. En este ejemplo, el usuario quiere cambiar su moneda estable por un token diferente y depositar el acuerdo de préstamo.
Los usuarios primero deben enviar una transacción Rollup A para transferir monedas estables al DEX en Rollup B.
Luego pueden enviar una transacción Rollup B DEX que intercambia la moneda estable por el token deseado en Rollup B.
A su vez, el token debía transferirse a RollupC, por lo que el usuario envió una tercera transacción, que hizo exactamente eso.
Finalmente, el usuario envía la cuarta y última transacción, depositando tokens en el protocolo de préstamo.
Explorador de bloques y nodos ligeros
Objetivo: los nodos ligeros deberían poder verificar contratos inteligentes en todos los Rollups, y los exploradores de bloques deberían proporcionar una vista unificada de la cadena.
Un sistema blockchain debería permitir que cualquiera ejecute un nodo y verifique la cadena misma. En este diseño de múltiples acumulaciones, donde los contratos inteligentes se reasignan constantemente a diferentes sub-acumulaciones, debería haber una manera de realizar un seguimiento de estos contratos inteligentes específicos. Se trata de un cambio de mentalidad de validar una o más cadenas a validar uno o más contratos inteligentes. Los nodos ligeros pueden utilizar pruebas ZK para verificar todos los resúmenes secundarios a bajo costo.
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-69f308abb1-dd1a6f-6d2ef1)
Cómo funciona (cliente ligero)
Los nodos acumulativos deben admitir un modo de validación, junto con el modo de secuenciador.
El modo de verificación verifica el estado de un único contrato inteligente, a diferencia del modo secuenciador, que envía lotes de transacciones a la capa DA.
Si el contrato inteligente cambia el subclúster, los validadores solo necesitan actualizar el subclúster que escuchan, ya que ya tienen el almacenamiento del contrato inteligente hasta que se reasigne.
Los contratos inteligentes deben procesarse en un paquete acumulativo a la vez. Dado que están restringidos a un resumen, los nodos de validación con las mismas especificaciones deberían poder rastrearlos y verificarlos.
Los nodos ligeros pueden utilizar pruebas ZK para verificar el estado de la cadena a bajo costo.
Los exploradores de bloques son una parte integral del sistema blockchain. Facilitan consultas de saldo para activos nativos, consultas de contratos inteligentes y mantienen el historial de transacciones desde el primer bloque hasta el bloque actual. En este sistema de sub-resumen, el explorador de bloques debe proporcionar una vista unificada de todos los sub-resumen.
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-217876ee66-dd1a6f-6d2ef1)
Cómo funciona (Explorador de bloques)
El explorador de bloques debe permitir consultar el saldo del centro acumulativo (para activos nativos) y el historial de transacciones de todos los sub-rollups.
De manera similar al sistema de resumen único, los exploradores de bloques utilizan un índice para lograr esto. Un sistema multi-rollup debe indexar todos los rollups para proporcionar servicios de consulta para cualquier contrato inteligente en el sistema.
Si el centro de resumen decide expandir la cantidad de sub-resumen, el explorador de bloques debería estar listo para manejarlo. Deberían proporcionar más capacidad de sub-acumulación o tener un sistema de orquestación de contenedores (como Kubernetes) para ampliar automáticamente los sub-acumulación.
Deben utilizar números de bloque de la capa DA para mantener la coherencia en todos los resúmenes.
en conclusión
El diseño anterior es solo una idea por el momento y es posible que nunca lo implemente más, pero espero que la visión le interese. Si el diseño se aprueba, espero que se utilice en proyectos Rollup y se acerque a las capacidades de escalamiento de EIP-4844, Celestia o Avail.