La arquitectura convergente de las cadenas de bloques

Avanzado7/22/2024, 3:26:46 PM
Este artículo analiza el fenómeno de convergencia en el diseño arquitectónico de blockchains de alto rendimiento, discutiendo las ventajas y desventajas de diferentes soluciones de diseño y sus implicaciones para la arquitectura futura de blockchain. Ya sea basado en rollups de Ethereum o cadenas independientes, todos están evolucionando hacia un alto rendimiento y descentralización similares.

reenviar el título original 'we're all building the same thing'

introducción

esta publicación analiza lo siguiente

  • ejecución asincrónica - ¿por qué blockchains integrados de alto rendimiento (por ejemplo,SolanayMonad) desacoplará la ejecución del consenso sobre el ordenamiento (secuenciación).
  • secuenciación perezosa - cómo reflejarán el diseño de un secuenciador perezoso (por ejemplo, @astriaorg/hj6ccpp9t">astria).
  • preconfirmaciones - preconfs en ethereum l1 y rollups basados en rollups.
  • basado vs. no basado - comparando rollups basados + preconfs vs. rollups no basados + fallback de capa base.
  • componibilidad síncrona universal - a través de la inclusión atómica (desde secuenciadores compartidos) + seguridad criptográfica (por ejemplo, )AggLayery/o demostración en tiempo real).
  • rollups basados en rápido - los rollups basados deberían tener simplemente una capa base rápida.
  • juegos de tiempo -El tiempo es dinero, y cómo esto subyace en los finales divergentes entre Solana y Ethereum.
  • descentralización para resistencia a la censura - cómoseparación entre el atestiguador y el proponentea través desubastas de ejecuciónpuede preservar validadores descentralizados que pueden hacer cumplir la resistencia a la censura conlistas de inclusión.

por último y lo más importante, veremos por quétodos estamos construyendo la misma maldita cosaasí que tal vez deberíamos simplemente...

optimizando la replicación de la máquina de estados (SMR)

construiremos desde lo básico para ver que el final para blockchains de alto rendimiento (por ejemplo, Solana, Monad, @patrickogrady/rys8mdl5p#mitigation-strategy-enable-profit-maximizing-builders-to-minimize-invalidtps">hypersdk) se aproxima a la de un secuenciador perezosopor ejemplo,@astriaorg/hj6ccpp9t">astria). más tarde volveremos para compararlos con rollups basados en ethereum + preconfs.

secuenciación vs. ejecución

blockchains son máquinas de estado replicadas. los nodos descentralizados mantienen y actualizan cada uno su propia copia del estado del sistema. para avanzar en la cadena, los nodos ejecutan la función de transición de estado (stf) sobre el estado actual + nuevas entradas (por ejemplo, nuevas transacciones). esto produce el nuevo estado.

utilizaremos los siguientes términos a lo largo de esta sección:

  • válido sintácticamente: la transacción está bien formada con una estructura de transacción y firma adecuada.
  • válido semánticamente: la transacción realiza una transición de estado válida (por ejemplo, paga las tarifas requeridas).
  • secuencia - determinar el orden y la inclusión de datos.
  • ejecutar - interpretar y actuar sobre los datos de acuerdo con el stf.
  • construir - crear un bloque (o fragmento de bloque parcial) a partir de transacciones almacenadas localmente.
  • verificar: realizar la verificación sintáctica y/o semántica requerida de un bloque (o fragmento/chip de bloque parcial).
  • replicar - difundir un bloque (o fragmento/fragmento de bloque parcial) a otros validadores.

enfoquémonos en la secuenciación y ejecución, porque estas son las tareas principales necesarias para calcular el estado de la cadena:

además, los nodos verifican y replican los datos en toda la red. Los nodos llegan a un consenso para mantener una vista consistente de la cadena.

sin embargo, las diferentes arquitecturas de cadena divergen significativamente en quién es responsable de estas tareas y cuándo lo hacen (por ejemplo, la construcción y verificación de bloques pueden o no incluir la ejecución). el tiempo de extremo a extremo del completo replicación de máquina de estados (smr)el bucle dicta los límites inferiores de la latencia del sistema. Diferentes construcciones pueden producir tiempos muy variables, por lo que un proceso smr que sea eficientetuberíasEstas tareas son necesarias para un rendimiento de baja latencia y alta capacidad de procesamiento.

en las siguientes secciones, veremos que una idea central del procesamiento eficiente en serie es centrarse en lograr consenso sobre las entradas de ejecución en lugar de los resultados de ejecución. esto requiere relajar ciertas restricciones sobre qué transacciones pueden incluirse. luego necesitaremos reintroducir algunas restricciones más débiles para asegurar que el sistema siga siendo útil y resistente a los ataques (por ejemplo, evitando vectores dos de transacciones que no paguen tarifas).

smr tradicional

smr tradicional (por ejemplo, ethereum) acopla estrechamente la secuenciación y la ejecución. Los nodos completos secuencian y ejecutan continuamente todas las transacciones de la capa base, ambas son requisitos previos para que los nodos lleguen a un consenso. Además de verificar que todos los datos del bloque estén disponibles (y secuenciados), los nodos también deben ejecutar el bloque para verificar que:

  • todas las transacciones son sintáctica y semánticamente válidas
  • el nuevo estado calculado coincide con el proporcionado por el líder

los validadores solo votarán por un bloque y construirán sobre él una vez que hayan verificado de forma independiente su estado. Esto significa que la ejecución ocurre al menos dos veces antes de que se pueda llegar a un consenso (es decir, el productor de bloques ejecuta durante la construcción + los validadores receptores ejecutan nuevamente para verificar).

En este modelo tradicional, tanto la construcción como la verificación incluyen la ejecución.


fuente: @patrickogrady/rys8mdl5p#hacer-el-caso-para-la-replicación-de-máquina-de-estado-desacoplada-dsmr">vryx: fortaleciendo la replicación de máquina de estado desacoplada

streaming smr

streaming smr (por ejemplo, solana) es una forma eficiente de canalizaciónlos productores de bloques continuamente “transmiten” fragmentos de bloques (llamado tiraso fragmentos) a medida que se construyen. otros nodos reciben y verifican (incluida la ejecución) estos fragmentos continuamente, incluso mientras el resto del bloque aún se está construyendo. esto permite que el próximo líder comience a construir su bloque antes.


fuente: @patrickogrady/rys8mdl5p#making-the-case-for-decoupled-state-machine-replication-dsmr">vryx: fortifying decoupled state machine replication

en este modelo de transmisión, la construcción y verificación aún incluyen secuenciación y ejecución. esto aumenta la eficiencia de SMR en relación a SMR tradicional sin relajar ninguna restricción de que todas las transacciones incluidas sean tanto semántica como sintácticamente válidas.

ejecución asincrónica

enfoque integrado

¿Ahora, podemos obtener un rendimiento aún mejor si relajamos esas restricciones?

la ejecución asincrónica elimina la ejecución del camino principal del consenso: los nodos simplemente llegan a un consenso sobre el orden de los datos sin ejecutar primero esos datos. esto es más eficiente, por esoSolanayMonadambos planean implementar la ejecución asincrónica.

el líder construiría y replicaría un bloque (o fragmentos) sin necesidad de ejecutarlo. luego, otros validadores votarían sobre él sin ejecutarlo tampoco. los nodos solo llegan a un consenso sobre el orden y la disponibilidad de transacciones. esto es suficiente porque, dado un stf determinista, todos eventualmente calcularán el mismo estado. la ejecución no necesita detener el consenso, puede ejecutarse de forma asincrónica. esto puede abrir el presupuesto de ejecución para los nodos (dándoles más tiempo para gastar en la ejecución) al tiempo que se reducen los pasos requeridos (y por lo tanto el tiempo) para alcanzar un consenso.

el orden determina la verdad. la ejecución simplemente la revela. cualquier persona puede ejecutar los datos para revelar la verdad una vez que su ordenamiento está finalizado.

probablemente por eso Keone cree que en última instancia, cada cadena de bloques utilizará ejecución asincrónica, y es una pieza clave de La visión final de Toly para Solana:

"La ejecución síncrona requiere que todos los nodos que votan y crean bloques estén sobreaprovisionados para el peor de los casos de tiempo de ejecución en cualquier bloque... Los nodos de consenso pueden realizar menos trabajo antes de la votación. el trabajo se puede agregar a greGate.iod y por lotes, lo que hace que se ejecute de manera eficiente sin errores de caché. Incluso se puede ejecutar en una máquina completamente diferente a la de los nodos de consenso o líderes. Los usuarios que deseen una ejecución sincrónica pueden asignar suficientes recursos de hardware para ejecutar cada transición de estado en tiempo real sin esperar al resto de la red.

Actualmente, los validadores reproducen todas las transacciones lo más rápido posible en cada bloque y solo votan una vez que se ha calculado el estado completo del bloque. El objetivo de esta propuesta es separar la decisión de votar en un tenedor de la transición completa del estado para el bloque.

vale la pena señalar que también queremos asegurarnos de que la verdad se revele fácilmente a los usuarios, y eso significa un sólido soporte para clientes ligeros. Algunos de estos diseños que retrasan la ejecución significativamente harían que esto fuera un desafío (p. ej., Solana considerando requerirlo solo una vez por época) vs. otros que proporcionan una raíz de estado en un intervalo más corto (por ejemplo, como en el hypersdk).

enfoque modular

¡La separación de la secuenciación y la ejecución puede sonar muy familiar porque este es el enfoque "modular" también! Mezcle y combine diferentes capas que se especialicen en diferentes tareas. La separación de la secuenciación y la ejecución es el principio de diseño clave de los secuenciadores perezosos (por ejemplo, Astria):

  • secuenciación - los nodos de secuenciador solo llegan a un consenso sobre el orden y la disponibilidad de los datos de rollup (es decir, se secuencian pero no se ejecutan).
  • Ejecución: los nodos acumulativos ejecutan sus datos respectivos después de que el secuenciador se haya comprometido con ellos.

La diferencia principal aquí es que los nodos de la cadena integrada ejecutan después de la secuenciación, mientras que los secuenciadores perezosos lo envían a un conjunto completamente diferente y diverso de actores. Los secuenciadores perezosos son completamente ignorantes de las máquinas de estado de rollups. Nunca ejecutan estas transacciones. Los rollups manejan la ejecución asincrónica.

El enfoque integrado proporciona una interoperabilidad más fluida entre los usuarios del entorno de ejecución, pero reduce la flexibilidad en cuanto a los desarrolladores de aplicaciones (por ejemplo, máquinas virtuales personalizadas, diferentes tiempos de ranura).reglas de precios y ordenamiento de transacciones específicas de la aplicación implementadas por consenso, etc.. El enfoque modular proporciona más flexibilidad y soberanía para que los desarrolladores posean dominios personalizados, pero es más difícil unificar la experiencia en todos ellos.

en cualquier caso, una tubería realmente grande y rápida para ordenar datos es la primitiva que necesitamos:

sin embargo, debes tener en cuenta que técnicamente puedes usar prácticamente cualquier cadena como un secuenciador perezoso. al final del día, es solo un gran conducto de datos. un rollup puede arrojar ingenuamente sus datos arbitrarios a su capa base de elección (ya sea ethereum, bitcoin, monad, etc.) para usarla implícitamente como su secuenciador. los nodos de rollup pueden ejecutar asincrónicamente los datos después del hecho.

La diferencia en la práctica es que las cadenas a las que nos referimos como "secuenciadores perezosos" están especializadas para esta tarea, lo cual es mucho más fácil decirlo que hacerlo (por ejemplo, admitir tipos de transacciones necesarios, exponer interfaces fáciles, implementar infraestructura MEV, tiempos de ranura rápidos, inclusión de transacciones confiable, alta velocidad de transferencia, etc.). Como resultado, los nodos para cadenas integradas terminan ejecutando la mayor parte de los datos que incluyen, mientras que los secuenciadores perezosos dejan eso principalmente a los rollups.

por eso no es tan simple como "¿por qué no usamos solana (o cualquier otra cadena cuando ese nunca ha sido el objetivo de diseño) como un secuenciador de rollup?" :

  • falta la infraestructura mev necesaria diseñada específicamente para rollups (por ejemplo, infraestructura pbs necesaria, mecanismos de interoperabilidad entre cadenas, compositor para abstraer los pagos de tarifas para los usuarios de rollup en tokens de gas de capa base, etc.)
  • carece de tipos de transacción nativos diseñados para la publicación de datos de rollups.
  • compitiendo contra el entorno de ejecución nativo (por ejemplo, está diseñado explícitamente para consumir la mayor cantidad de datos proporcionados posible, dejando menos espacio y una inclusión confiable de transacciones, etc.).
  • compitiendo por el apoyo general de los desarrolladores y la priorización de las actualizaciones. Probablemente estés más inclinado a ir al protocolo y al equipo especializados en ayudarte a lanzar rollups y diseñar su protocolo específicamente pensando en ti, en lugar de aquel en el que la mayoría de la comunidad piensa que los rollups son un poco estúpidos.

fortaleciendo smr desacoplado

ahora, ¿podemos abordar esos problemas que surgen al relajar estas restricciones? En resumen, sí, las implementaciones ingenuas introducen problemas como permitir transacciones inválidas que no pueden pagar tarifas (lo cual sería un vector dos si se implementa ingenuamente), pero se pueden abordar de manera que no sean problemas graves.

no nos detendremos demasiado en los detalles aquí, pero puedes consultarPatrick o’grady’strabajo increíble en@patrickogrady/rys8mdl5p#fortaleciendo-dsmr-desacoplado-para-fortificar-smr-desacoplado,-tolysjuego final de ejecución asincrónicayImplementación de Monad de los costos de transportesobre cómo abordar estos problemas. Una vez más, las soluciones a estos problemas sorprendentemente se parecen casi en ambos lados, el lado modular y el lado integrado.

el resumen es que puedes reintroducir algunas restricciones mucho más débiles (en comparación con la ejecución sincrónica con verificación completa) que conservan la mayoría de los beneficios de rendimiento sin dejar abiertos un montón de ataques.

actores dentro del protocolo vs. actores fuera del protocolo

Es importante darse cuenta de que los procesos anteriores solo tuvieron en cuenta ingenuamente a los actores dentro del protocolo. En realidad, los actores fuera del protocolo juegan un papel enorme en estas cadenas de suministro de transacciones. Esto es lo que vimos anteriormente para los validadores (dentro del protocolo) en SMR tradicional:


fuente: @patrickogrady/rys8mdl5p#making-the-case-for-decoupled-state-machine-replication-dsmr">vryx: fortificando la replicación de máquina de estado desacoplada

en la práctica, sin embargo,casi todos los validadores de Ethereum externalizan la construcción de bloques a través de mev-boostcon los tres principales constructores (beaver, titan y rsync) construyendo casi todos estos bloques. tenga en cuenta que beaver y rsync censuran las transacciones de OFAC mientras que titan no lo hace.


fuente: mevboost.pics

Los relés se encargan de replicar estos bloques al resto de la red. También son relativamente pesados, con los cuatro principales operadores (ultra sound, bloxroute, agnóstico y flashbots) transmitiendo la gran mayoría de los bloques. Bloxroute y flashbots censuran las transacciones OFAC, mientras que agnóstico y ultra sound no lo hacen.


fuente:mevboost.pics

también debería ser no sorpresa que veamos tendencias muy similares en las optimizaciones de latencia aquí, como discutimos anteriormente. la tendencia es haciarelés optimistasque ya no realizan verificación de bloques antes de la replicación porque es simplemente más rápido. Los secuenciadores perezosos pueden considerarse como redes de retransmisión incentivadas.

estos ejemplos destacan cómo MEV distorsiona los incentivos de beneficio en estos sistemas. Los validadores externalizan la producción de bloques porque los constructores sofisticados pueden capturar más valor en comparación con los bloques secuenciados de manera ingenua.

incluso bajo ejecución asincrónica, a menudo habrá productores de bloques fuera del protocolo ejecutando transacciones durante la construcción para maximizar el valor. Por ejemplo, es muy probable que los secuenciadores perezosos tengan constructores de maximización de beneficios en alguna forma de PBS. El hecho de que un productor de bloques externo siempre esté incentivado a ejecutar completamente y optimizar el valor de un bloque puede ser útil en configuraciones donde relajamos las restricciones en la ejecución asincrónica. Aún así, otros validadores no tendrían que volver a ejecutar antes de votar.

componibilidad síncrona universal

definiciones

¿Ahora, podemos obtener la soberanía y flexibilidad que ofrecen las cadenas modulares, pero reunirlas para que se sientan como una cadena integrada? ¿Podemos tener nuestro pastel y comérnoslo también, o simplemente terminamos construyendo Solana con pasos adicionales?

cuando escuchas a la gente hablar sobre arreglar la fragmentación de rollup, probablemente has escuchado las grandes palabras de moda alrededorcomposabilidad sincrónica universal (USC). Sin embargo, esta ha sido probablemente tu reacción:

Estos términos se utilizan con diferentes significados, y a menudo se utilizan incorrectamente de manera intercambiable. Necesitamos establecer algunas definiciones concretas. Definimos los términos necesarios a continuación en el contexto de la composibilidad entre cadenas.

ten en cuenta que discutiremos los 'rollups' en el resto de este informe, pero muchos de estos conceptos también se aplican a otros tipos de 'l2s' como los validiums.Simplemente no quiero pelear de nuevo por lo que diablos es un l2.

en los siguientes ejemplos:

  • run = rollup a
  • rb = Rollup B
  • tA1 = transacción 1 en run
  • tB1 = transacción 1 en rb
  • bA1 = bloque 1 en runa
  • bb1 = bloque 1 en rb

ten en cuenta que aquí definimos el "tiempo" como la "altura de la ranura". El tiempo es puramente relativo al observador. La única noción objetiva de tiempo que tenemos es un ordenamiento relativo por un observador compartido, es decir, un consenso compartido (donde ese "consenso" puede ser un único actor o un mecanismo descentralizado).

si ambos rollups tienen un mecanismo de consenso que proporciona el ordenamiento, podemos afirmar:

  • bA1 es antes que ba2
  • bb1 es antes de bb2

sin embargo, la única manera de afirmar:

  • ba1 está al mismo tiempo en bB1, y por lo tanto
  • ta1 y tb1 ocurrir sincrónicamente, es si
  • comparten un pedido proporcionado por un consenso compartido para ese espacio dado.

Por lo tanto, la composabilidad sincrónica entre cadenas requiere definicionalmente algún tipo de secuenciador compartido para esa altura de ranura. Las cadenas sin uno solo pueden tener composabilidad asincrónica.

sin embargo, tenga en cuenta que podemos tener composibilidad atómica asincrónica. lamentablemente, a menudo noto que las personas usan "atómico" y "sincrónico" indistintamente, pero son términos diferentes.

con eso fuera del camino, veamos si podemos reintroducir la composabilidad sincrónica en las cadenas modulares. Si podemos hacerlo, entonces eso puede parecerle a neGate.io el valor de las cadenas integradas. Este es el resumen que analizaremos:

  • la secuenciación compartida puede proporcionar inclusión atómica síncrona por sí sola (lo cual es mucho más débil que la composibilidad).
  • combinar un secuenciador compartido con algún mecanismo de seguridad criptográfica (por ejemplo, agglayer) puede fortalecer esta garantía de inclusión en una composición real.
  • Las garantías de seguridad proporcionadas por el agglayer para la seguridad entre cadenas también se pueden usar sin un secuenciador compartido (es decir, en el entorno asíncrono).
  • veremos cómo también podemos simular los efectos de la composabilidad sincrónica, aunque de manera menos eficiente en términos de capital, utilizando la criptoeconomía (colateralizando directamente transacciones entre cadenas).

inclusión atómica - secuenciación compartida

La secuenciación compartida significa que para una altura de ranura dada, una sola entidad (el "secuenciador", también conocido como el "proponente") tiene derechos de monopolio para secuenciar (es decir, proponer bloques para) múltiples cadenas. Para reiterar, estos secuenciadores compartidos de los que generalmente hablamos son secuenciadores perezosos. llegan a un consenso sobre el orden y la disponibilidad de los datos de rollup, pero no los ejecutan. son completamente ignorantes de las máquinas de estado de los rollups.

Como escribí anteriormente, esto significa que los secuenciadores compartidos perezosos pueden proporcionar un compromiso creíble para incluir paquetes de cadena cruzada (es decir, un conjunto de transacciones):

  • atómicamente, o todas las transacciones se incluirán o ninguna lo hará,
  • sincrónicamente - al mismo tiempo (altura de la ranura)

esto permite una extracción de MEV más eficiente por súper constructores(es decir, constructores de cadena cruzada) al realizar acciones de cadena cruzada, ya que ya no tienen que tasar el riesgo de que una pierna del paquete de cadena cruzada pueda fallar. La sincronía aquí puede proporcionarles implícitamente atomicidad.

desvinculación entre cadenas

Ahora, ¿cómo hacemos esto sin confiar completamente en el constructor y/o proponente activo para el secuenciador compartido? Si solo enviamos dos transacciones firmadas de manera independiente (t1y t2) para cada rollup, el secuenciador compartido aún podría decidir incluir solo uno u otro.

por ejemplo, hoy en día no hay noción de un formato de paquete nativo en el EVM, por eso los buscadores confían totalmente en los constructores/relays para no desempaquetarlos. Cualquiera que vea un paquete de transacciones firmadas independientemente antes de que sean comprometidas por el líder actual puede desempaquetarlos. Esto generalmente está bien, porque los constructores y relays tienen incentivos para mantener sus reputaciones y proteger los paquetes de búsqueda, pero cuando se rompe esa confianza (o son engañados por participantes deshonestos para revelar las transacciones),desagregar puede ser increíblemente rentable.

aquí necesitamos una garantía de seguridad mucho más fuerte si queremos una verdadera interoperabilidad entre cadenas. no estamos hablando solo de tomar dinero de un buscador. si los contratos defi entre cadenas se diseñaran bajo la suposición de que los paquetes entre cadenas serán respetados, pero luego esta confianza se rompe, los resultados serían catastróficos para esos protocolos (por ejemplo, en un paquete de puente entre cadenas de quema y creación de monedas, podrías omitir la quema pero crear fondos en el otro lado).

necesitamos garantías de seguridad inquebrantables para implementar la interoperabilidad entre cadenas. esto significa que debemos definir un formato de transacción que asegure que múltiples transacciones en un paquete de intercambio de cadenas se incluyan juntas. si una se incluye sin la otra, necesitamos una garantía de seguridad de que la que se incluye es inválida.

Esto significa que necesitamos crear una nueva estructura de transacciones para paquetes de cadena cruzada que no pueden ser desagregado. la solución ingenua es "hagamos simplemente un nuevo tipo de transacción para estos rollups", pero eso no es tan fácil. requeriría cambios en la máquina virtual para estos rollups, perdiendo la compatibilidad hacia atrás. También acoplarías estrechamente los rollups al modificar sus máquinas de estado de manera que cada transacción solo sea válida junto con la otra al ser incluida.

Sin embargo, hay una forma más limpia de hacer esto. Puede hacer que cada transacción del paquete también firme el hash del paquete y, a continuación, anexe el resumen del hash a un campo de transacción libre (por ejemplo, calldata en la EVM). El paquete acumulativo debe modificar su canalización de derivación para comprobarlo, pero la máquina virtual puede permanecer sin cambios. Con esto en su lugar, los usuarios de Rollup podrían enviar paquetes de cadena cruzada que están seguros de que no se pueden desagregar. Intentar hacerlo los invalidaría.


fuente: Ben fisch

garantías de inclusión vs. garantías estatales

con lo anterior en su lugar, ahora hemos establecido cómo un secuenciador compartido perezoso:

  • puede proporcionar un compromiso creíble de inclusión sincrónica atómica para paquetes entre cadenas (es decir, que todas las transacciones serán incluidas o ninguna lo será)
  • no se puede proporcionar un compromiso creíble en torno al estado resultante de que dichas transacciones se incluyan (por ejemplo, es posible que ambas transacciones se incluyan, pero alguna otra transacción se coloque por delante y provoque que se revierta)

Desafortunadamente, la inclusión atómica por sí sola es una garantía mucho más débil. Este compromiso con la inclusión atómica es suficiente para que el constructor tenga una gran confianza en que el bloque de acumulación cruzada que crea creará el estado resultante que desea si se confirma. El constructor necesariamente conoce el estado resultante del bloque, porque lo ejecutó para construirlo.

Aún así, tenemos un problema: ¿cómo sabe todo el mundo con certeza cuál será el estado?

considera un ejemplo:

  • tenemos dos rollups (ra y rb) que comparten el mismo secuenciador perezoso
  • Quiero usar un puente de quema y acuñación entre ra → rb que queme simultáneamente en ra y acuñe en rb
  • El contrato puente de acuñación en rb necesita una garantía de la transición de estado en ra (quemado) para acuñar en rb, pero el contrato no puede saber si el token fue realmente quemado en ra en el momento de la ejecución porque no tiene acceso al estado de ra

si presentamos un paquete adecuado, el secuenciador perezoso puede garantizar que la transacción de quema se incluyó en el flujo de transacciones para ra, pero no se sabe, por ejemplo, si tal vez otra transacción llegó antes que ella y la invalidó (lo que significa que las fichas no se quemaron realmente).

El simple hecho de compartir un secuenciador diferido no es suficiente para permitir que las cadenas accedan a los estados de los demás durante la ejecución del paquete. La componibilidad sincrónica requiere la capacidad de la máquina de estados de cada cadena para acceder al estado de la otra cadena (por ejemplo, el propio contrato de puente en RB necesita conocer el estado de RA) en el momento de la ejecución. Esa capacidad es exactamente lo que permite la componibilidad completa dentro de una sola cadena integrada.

el constructor no puede simplemente decirle a los contratos 'confía en mí, hermano, saldrá bien'. Vemos que la inclusión atómica es una herramienta útil para los buscadores que confían en los constructores para ejecutar correctamente sus paquetes, pero no es suficiente para abstraer la interoperabilidad entre cadenas.

para solucionar esto, necesitamos agregar algún otro mecanismo además de la secuenciación compartida:

como mencionamos, el constructor personalmente sabe cuál será el estado resultante si el paquete se incluye atómicamente. ¿Entonces, cómo pueden proporcionar un compromiso creíble para convencer a todos los demás sobre cuál será el estado resultante si se incluyen sus transacciones?

ampliamente tienen dos opciones:

  • criptoeconómico: el constructor puede apostar una gran cantidad de capital para garantizar completamente sus acciones entre cadenas.Esto a menudo es ineficiente y posiblemente una composabilidad simulada, pero es un ejemplo útil para demostrar la funcionalidad.
  • cryptográfico - podemos tener un mecanismo que proporcione garantías criptográficas de que las transacciones producirán el estado deseado.

seguridad criptoeconómica - bonos constructor

vamos a ver un ejemplo para ver cómo la criptoeconomía podría simular los efectos de la componibilidad síncrona. el ejemplo clásico utilizado es el de un préstamo relámpago entre cadenas. Quiero sacar un préstamo flash en ra, usarlo para un arbitraje en rb y devolverlo en ra en el mismo espacio de tiempo. Esto es posible si estos protocolos defi implementan una funcionalidad personalizada de cadena cruzada con lo que llamaremos 'contratos bancarios' en cada lado:

ahora, en cuanto a ese problema de seguridad, el contrato en ra y rb necesita conocer los estados de cadena del otro para hacer esto de manera segura, pero no hemos hecho nada al respecto. Bueno, la "solución" criptoeconómica aquí es en realidad bastante rudimentaria: haces que el superconstructor actúe como proveedor de liquidez y ponga el valor completo del préstamo flash. Si las transacciones fallaran, entonces el protocolo de préstamos simplemente se queda con su participación de todos modos. Puedes ver por qué esta no es la solución más satisfactoria.

seguridad criptográfica - aglomerado

qué es

el AggLayeres un protocolo descentralizado que proporciona tres beneficios principales:

  1. seguridad para composabilidad cruzada rápida: produce pruebas zk que brindan seguridad criptográfica para la interoperabilidad atómica entre cadenas a baja latencia (es decir, más rápido que los bloques de ethereum) al operar de forma asincrónica o sincrónica. el diseño aísla de forma única las fallas de cadena para que pueda admitir cualquier entorno de ejecución y probador.
  2. Fungibilidad de activos entre cadenas: cuenta con un puente compartido para asegurar la fungibilidad de activos a través de las agregaciones de cadenas (es decir, las cadenas que la utilizan) para que los usuarios no terminen con un montón de activos envueltos. El contrato puente se encuentra en Ethereum, que es elcapa de liquidación. (tenga en cuenta que diferentes cadenas todavía pueden tener diferentes suposiciones de seguridad debido a la implementación, que se cubre más abajo.)
  3. optimización de gas: aggreGate.io prueba para aggchains amortizar costos fijos a través de muchas cadenas. El contrato de depósito compartido también optimiza los costos de gas al permitir transferencias directas de l2 a l2 sin tocar el l1.


fuente: Brendan farmer,Blockchain agregados

aclarar dos conceptos erróneos comunes sobre lo que no es el aglomerado:

  • El agglayer no es solo un servicio para aggreGate.io pruebasesto es confuso porque en realidad agrega pruebas de Gate.io y ponen 'agregación' en el nombre de la cosa. Sin embargo, el propósito de agglayer es agregar cadenas. La distinción importante para los propósitos de esta publicación es que la agregación de pruebas por sí sola no logra las garantías de seguridad que necesitamos aquí.
  • El aglomerado y los secuenciadores compartidos no son diseños opuestos- aunque no es necesario usarlos juntos,de hecho, son complementos perfectosque proporcionan diferentes garantías. El agglayer es completamente agnóstico a cómo se secuencian las aggchains. No maneja ninguno de los mensajes entre las cadenas, por lo que en realidad depende explícitamente de la infraestructura de coordinación del mercado libre (por ejemplo, relés, constructores, secuenciadores aislados, secuenciadores compartidos, etc.) para componer las cadenas.

ahora veamos cómo funciona.

la construcción de puentes apesta

conectar entre rollups hoy es complicado. Digamos que quieres conectar eth entre dos rollups optimistas de Ethereum (ORU).unay orob:

  • a través del puente nativo, pagarás costosas tarifas de gas de ethereum l1 (es decir, al cruzar desde oruun→ ethereum + ethereum → orub) y el viaje de ida y vuelta tomará más de una semana (debido a la ventana a prueba de fallos).
  • direct rollup → rollup - el eth envuelto que recibes en Gate.ioben realidad no sería fungible con el eth nativo para orua. la dependencia de la trayectoria de pasar por diferentes puentes rompe la fungibilidad. por ejemplo, si el oruunaEl puente fue drenado, entonces el eth envuelto al que cruzaste a Orub no estaría respaldado, mientras que el eth nativo en Orub estaría bien. La fragmentación de la liquidez apesta, por lo que esto no es algo que los usuarios quieran. En la práctica, los usuarios se conectan directamente a través de los proveedores de liquidez. Alguien te adelantará el ETH en Oruby mantén tus fondos en Gate.iouna. pueden retirar a través del puente nativo y esperar, pero cobrarán tarifas caras por el riesgo y el alto costo de capital que incurren.

Puede pensar que los ZK Rollups resuelven esto desde el principio, pero en realidad no es así. Las implementaciones ingenuas aún requieren que envíe transacciones L1, lo que nuevamente es costoso y generalmente bastante lento (por ejemplo, debido a los tiempos de finalidad de Ethereum, los tiempos de generación de pruebas, la frecuencia con la que se publican las pruebas en la práctica, etcétera).

Los usuarios no quieren lidiar con esto. Quieren simplemente tener fondos y usar aplicaciones. El puenteo debería estar completamente abstraído - los activos deberían ser fungibles y moverse rápidamente, a bajo costo y de forma segura.

Aquí es donde entra en juego compartir un contrato puente. Un contrato de puente compartido abre la puerta a que las cadenas lo utilicen para tender puentes directamente entre sí sin pasar por la L1.

Los tokens también pueden ser fungibles en todas las aggchains como resultado. Conectando ETH desde Run → rb o rc → rb quema y acuña la misma ficha. No es un activo envuelto en cerradura y acuñación. Es ETH nativo. Esto es posible porque todos los activos se depositan juntos y se liquidan a través del puente unificado. Este es un punto débil importante para las L2 hoy en día que debe abordarse.

sin embargo, tenga en cuenta que un usuario que tenga eth en runa Vs. Rbpodría tener un perfil de riesgo diferente si las diferentes cadenas usan verificadores diferentes (por ejemplo, tal vez te hayas mudado de una cadena segura a una con un error de circuito). los perfiles de riesgo no cambian entre las cadenas que utilizan estándares comunes aquí (que en la práctica es la norma hoy en día). estándares más uniformes y verificación formal solo mejorarán esto con el tiempo incluso a medida que se agregan dominios heterogéneos.

pruebas pesimistas

Las aggchains envían sus actualizaciones de estado y pruebas a los nodos apostados de Agglayer que las organizan, generan compromisos con todos los mensajes y crean pruebas recursivas. a continuación, agglayer genera una única prueba de zk de aggreGate.iod (a la que llaman "prueba pesimista”) para establecer todo lo relacionado con las cadenas de agregación en ethereum. Debido a que la agregación de pruebas aquí amortiza los costos a través de cualquier cantidad de cadenas arbitrarias, es práctico desde una perspectiva de costos publicarlos en ethereum para un rápido establecimiento lo antes posible. El programa de prueba pesimista está escrito en código Rust regular, utilizando zkvm sp1 de Succinct para facilitar el desarrollo y el alto rendimiento.

estas pruebas pesimistas refuerzan:

  • contabilidad intercadena: demuestra que todos los invariants del puente se respetan (es decir, ninguna cadena puede retirar más tokens de los que se han depositado en ella).
  • La validez de las aggchains - demuestra que cada cadena ha actualizado su estado de manera veraz, sin equivocaciones de cadena o bloques inválidos.
  • Seguridad entre cadenas: demuestra que las actualizaciones de estado que son el resultado de transacciones entre cadenas con una latencia inferior a Ethereum son consistentes y se pueden liquidar en Ethereum L1 de forma segura. Esto incluye la ejecución atómica exitosa de paquetes de cadena cruzada tanto de forma sincrónica como asíncrona.

con esto, el agglayer asegura que el asentamiento ocurra en ethereum solo si y solo si se cumplen las condiciones anteriores. si no se cumplen, entonces las cadenas respectivas no pueden liquidarse. como tal, el agglayer puede permitir que un coordinador (por ejemplo, un secuenciador compartido o un constructor) pase mensajes entre cadenas con baja latencia sin confiar en ese coordinador para la seguridad.

interoperabilidad rápida y segura entre cadenas cruzadas

Las cadenas de agregación pueden utilizar las garantías proporcionadas aquí tanto en entornos de interoperabilidad asincrónica como síncrona para expresar restricciones sobre la validez del bloque en relación con otros rollups.

Esto permitiría a los usuarios enviar paquetes de cadena cruzada que deben ejecutarse correctamente de manera atómica en ambos lados. No solo la inclusión atómica. De hecho, se está haciendo cumplir que el estado resultante de ellos debe ser exitoso. Esto es perfecto para complementar exactamente lo que describimos como deficiente en las garantías de inclusión atómica de un secuenciador compartido solo.


fuente:Brendan agricultor, Cadenas de bloques agregadas

tomando nuestro ejemplo anterior:

  • tenemos dos rollups (runay rbcompartiendo el mismo secuenciador perezoso y el aglomerante
  • envío un conjunto de cadena cruzada para quemar eth simultáneamente en ra y acuñar eth en rb
  • un constructor súper construye un bloque para ambas cadenas al hacer esto, al cual el secuenciador compartido se compromete
  • el contrato puente de acuñación en rbpuede emitir optimistamente el eth dependiendo del estado de runa (en este caso, ejecutando con éxito la quema de eth)
  • estos bloques y pruebas se envían a la capa de agregación, lo que demuestra que ambas cadenas actuaron de manera válida (tanto de forma independiente como con respecto a la otra) y que el puente compartido se utilizó de forma segura

Para que esto se resuelva correctamente en Ethereum, ambas partes del paquete deben ejecutarse correctamente. Si falla uno de los lados, los bloques serían inválidos y no se podrían resolver. Eso significa que si el secuenciador compartido firmó un bloque en el que no se quemó ETH en R.unapero acuñado eth en rbSi se encontrara una prueba de trabajo más larga en otra cadena, se produciría una reorganización de ese bloque. Esto garantiza la seguridad de todas las cadenas y evita que se resuelvan acciones deshonestas entre cadenas.

hay dos puntos a tener en cuenta con respecto a estas reorganizaciones:

  • serían increíblemente cortos porque serían detectados y comprobados de inmediato.
  • solo pueden ocurrir si el coordinador (por ejemplo, el secuenciador y/o el constructor) de la cadena a la que estás conectado es activamente malicioso.

estas reorganizaciones deben ser extremadamente raras y mínimas debido a los puntos anteriores, pero debido a esto, las aggchains tendrán control total sobre qué cadenas desean componer de manera atómica y bajo qué supuestos de confianza. por ejemplo, runpuede aceptar un estado de cadena de rb para componer con basado en el consenso de su secuenciador, pero para rcpuede que también solicite una prueba enviada, y para rdquizás quieren que aseguren cripto-económicamente todas las dependencias atómicas entre cadenas cruzadas. cada cadena puede hacer sus propios compromisos personalizables aquí para baja latencia y vivacidad. agglayer simplemente proporciona la base máximamente flexible y mínimamente dogmática para que las cadenas tengan interacciones seguras entre cadenas cruzadas.

También puede ver aquí por qué un diseño de este tipo es en la práctica incompatible con un diseño basado en fallos. En teoría podrían hacer esto, pero en ese caso sería posible experimentar reorganizaciones increíblemente profundas. Probar y resolver rápidamente todas las cadenas hace que el peor de los casos sea muy corto, lo que también actúa como un elemento disuasorio natural para cualquier intento malicioso.

aislamiento de fallas para demostradores heterogéneos

Es importante destacar que el Agglayer permite de forma única cadenas completamente heterogéneas. Puede tener un AggChain con cualquier máquina virtual personalizada, Prover, capas DA, etcétera mientras comparte un puente de forma segura con todos.

¿Cómo es posible esto? La razón por la que esto normalmente no es aceptable es porque un único participante defectuoso (por ejemplo, con un error de circuito) normalmente podría engañar a un puente y drenarlo de todos los fondos. Bueno, ahí es donde entra la prueba de contabilidad intercadena mencionada anteriormente. Estas pruebas aseguran que se respeten todas las invarianzas del puente, de modo que incluso en el caso de un probador no válido, solo se podrían drenar los fondos depositados en la cadena afectada. La falla está completamente aislada.

neutralidad creíble

Este tipo de infraestructura se ve muy beneficiada por una neutralidad creíble, por lo que la Código totalmente abierto IFOR Agglayer es territorio neutral.En un espíritu similar, el AggLayer utilizará eth como el único token de gas para pagar las tarifas de agregación de pruebas.

sin embargo, ciertamente no es perfecto. especialmente al principio, no será totalmente neutralmente creíble. es probable que haya una capacidad de actualización del contrato en el camino hacia la inmutabilidad y la consagración como un bien público.

Dicho esto, no tiene que ser perfectamente neutralmente creíble, nada lo es. (Veremos esto de nuevo a continuación con los rollups basados). En la práctica, ofrece probablemente la visión técnica más convincente y competitiva, y adopta una actitud intencionalmente minimalista hacia el bloqueo y la extracción de alquileres. El objetivo es permitir que las aggchains mantengan tanta soberanía como sea posible, al tiempo que pueden abstraer la composabilidad intercadenas minimizada de confianza.

Las aggchains no necesitan ninguna máquina virtual específica, entorno de ejecución, secuenciador, capa de datos, token de participación, token de gas o gobierno común. Las cadenas pueden salir cuando lo deseen. No hay requisitos de reparto de ingresos. No necesitas desplegar como un l3 en la cadena de otra persona.

las razones para lanzar l3s encima de l2s generales han sido en su mayoría, en mi opinión, soluciones temporales mientras se construyen arquitecturas similares a la capa de agregación. Sin embargo, hay que dejar claro que esta es una razón totalmente válida para lanzarlos hoy. La capa de agregación v1 es solo un contrato de puente compartido simple. La v2, con agregación de pruebas y la capacidad de obtener una interoperabilidad segura y de baja latencia, ni siquiera está en funcionamiento. No se puede esperar que la gente espere durante años cuando tienen la urgencia de lanzar algo hoy que les brinde la distribución más rápida.

Pruebas en tiempo real

Si bien faltan varios años para ser práctico en cualquier configuración de baja latencia, debemos tener en cuenta que la prueba en tiempo real también podría usarse junto con la secuenciación compartida para la seguridad entre cadenas. También es genial, así que lo cubriremos brevemente. Más específicamente, la prueba "en tiempo real" se refiere a los tiempos de prueba que son más cortos que los tiempos de ranura de la cadena en cuestión. Consideremos de nuevo el ejemplo del puente de acuñación y quemadura entre cadenas:

  • tenemos dos rollups (run y rb) compartiendo el mismo secuenciador perezoso
  • quiero usar un puente de quema y acuñación entre ra → rb que quema simultáneamente en ra y acuña en rb
  • El Super Builder crea un bloque de cadena cruzada que incluye un paquete de estas transacciones de cadena cruzada. Dentro de los bloques, el generador incluye una prueba de la transición de estado que se incluye en el otro paquete acumulativo.

Ya teníamos la garantía del secuenciador compartido de la inclusión del haz atómico síncrono, y ahora cada contrato puede verificar una prueba del estado de la otra cadena para saber que se ejecutará correctamente.

para la demostración en tiempo real, idealmente queremos que el tiempo de demostración sea solo una pequeña fracción del tiempo total de la ranura, maximizando así la "ventana de sincronía". esta es la parte del tiempo de la ranura en la que puedes procesar transacciones que operarían de forma sincrónica entre cadenas, ya que necesitas presupuestar suficiente tiempo en la ranura para crear la prueba y colocarla en el bloque.


fuente: Justin drake, demostración en tiempo real

Tenga en cuenta que implícitamente terminaríamos fusionando o colocando constructores y probadores aquí. Existe un claro incentivo para que los constructores optimicen las velocidades de prueba para que puedan construir hasta el último segundo y encajar tanto como sea posible en su bloque.


fuente: Justin Drake, demostrando en tiempo real

si este alto incentivo para la demostración en tiempo real se materializa en los próximos años, también debemos tener en cuenta que esto, por supuesto, no es en absoluto favorable para la demostración descentralizada. los probadores deberían ser relativamente centralizados, ya que se fusionan o se instalan junto con los constructores.

resumen

La componibilidad sincrónica universal es realmente genial, pero no está muy claro qué tan valiosa es en realidad. Internet es asincrónico y nunca lo sabrías. Esto se debe a que es rápido y la complejidad se abstrae. Eso es todo lo que quieren los usuarios.

Espero que la mayor parte del valor de usar algo como Agglayer no esté solo en la configuración síncrona. Más bien, es el hecho de que puede actuar como una forma de abstracción de cadena cruzada de rollup. Hacer que muchas cadenas se sientan más como una con los aspectos orientados al usuario que importan (por ejemplo, activos nativos más fungibles, funcionalidad de aplicación nativamente intercadenas, interoperabilidad rápida, etc.).

La componibilidad sincrónica es claramente valiosa desde el punto de vista financiero (por ejemplo, permitir liquidaciones, arbitraje más eficiente, refinanciamiento más eficiente mediante préstamos flash). Sin embargo, al igual que Internet es asíncrono y funciona bien, TradFi es, por supuesto, asíncrono. Es razonable querer ser incluso mejor que TradFi, pero debemos tener claro que la sincronicidad universal no es un requisito para una buena ejecución. También hay un costo real para construir y proporcionar infraestructura síncrona.

personalmente creo que el mejor argumento a favor de necesitar usc es que en la práctica conduce a una mejor experiencia de usuario y desarrollo. Es imposible negar el enorme beneficio que esto ha sido para ecosistemas como Solana. Sin embargo, esperemos que esto sea más un problema actual y no un problema eterno.

El simple hecho del asunto es que también es algo difícil para cualquiera razonar en esta etapa. Esto no es un binario "todo en cripto es sincrónico" o "todo es asincrónico." Creo que fundamentalmente tendremos que resolver y gravitar hacia este último, pero ambos pueden existir de manera ad hoc.

rollups basados en Ethereum

Bien, ahora deberíamos tener una buena idea del espacio de solución para abordar la fragmentación en los rollups. La siguiente pregunta es, ¿cómo deberíamos involucrar la capa base en todo esto? ¿Cuál es el papel de Ethereum aquí?

utilizaremos las siguientes abreviaturas a lo largo de:

  • bl - capa base
  • rollup basado en br
  • preconfs - preconfirmaciones

a menos que se indique lo contrario, el bl en cuestión del que hablaremos es ethereum, y los brs son ethereum brs. Sin embargo, los conceptos básicos se aplican ampliamente, ya que podrías lanzar brs en cualquier lugar.

rollups basados en vainilla

las implementaciones iniciales de rollup hace varios años fueron en realidadplaneado para ser brs, pero eran abandonado a favor de secuenciadores centralizados para baja latencia y alta eficiencia. Lo que ahora llamamos secuenciación basada, Vitalik se refiere a ella como "anarquía total“en ese momento. era relativamente impráctico e ineficiente antes de la evolución de la infraestructura de PBS de Ethereum (con constructores sofisticados).

Los brs fueron entonces llevados de vuelta al centro de atención en marzo de 2023,donde se definieron de la siguiente manera:

“Se dice que un rollup está basado, o secuenciado por L1, cuando su secuenciación es impulsada por la base L1. Más concretamente, un rollup basado es aquel en el que el próximo proponente L1 puede, en colaboración con los buscadores y constructores L1, incluir sin permiso el siguiente bloque de rollup como parte del próximo bloque L1.”

deberían ofrecer los siguientes beneficios:

“la secuenciación de dichos rollups, basada en la secuenciación, es máximamente simple y hereda la vitalidad y descentralización de l1. Además, los rollups basados están particularmente alineados económicamente con su base l1.”

Específicamente, obtienes la seguridad en tiempo real de ethereum:

«heredas la resistencia a la censura y la actividad de Ethereum. Entonces no solo tienes las garantías de liquidación de Ethereum, sino que también tienes la resistencia a la censura, la resistencia a la censura en tiempo real, no la retardada que conoces con la puerta de escape, sino la de tiempo real».

Ser un rollup basado es el diseño lógico una vez que hayas elegido una capa base:

"Ethereum está maximizando estas dos propiedades, seguridad y neutralidad creíble, es casi la definición de un derecho de rollup... Un rollup es aquel que ya ha comprado la suposición de seguridad de Ethereum. No está agregando una nueva suposición de seguridad. No estás cayendo en un eslabón más débil. simplemente está reutilizando la suposición de seguridad existente. Y dos, ya has aceptado Ethereum como una plataforma creíblemente neutral, de lo contrario habrías elegido otra cadena. Y ahora puedes preguntarte por qué no todo el mundo utiliza la secuenciación de la capa uno".

en su forma más simple, los brs ciertamente pueden lograr los objetivos de diseño anteriores. si el rollup no implementa su propio secuenciador, entonces implícitamente el proponente actual de ethereum decide qué se incluirá cada 12 segundos (tiempo de ranura de ethereum).

sin embargo, la secuenciación basada todavía tiene sus desventajas, que es exactamentepor qué los rollups suelen implementar su propio secuenciador:

  • Los usuarios de rollup no quieren esperar 12 segundos o más para bloques de Ethereum en preconfs rápidas.
  • preconfs seguros - a veces los bloques de Ethereum se reorganizan, por lo que los usuarios tienen que esperar aún más tiempo para estar seguros, lo cual nuevamente a los usuarios no les gusta. Los secuenciadores pueden ofrecer preconfs que no dependen de los bloques de Ethereum no finalizados y, por lo tanto, no necesitan reorganizarse incluso si Ethereum experimenta una reorganización breve.
  • publicación en lotes eficiente - los secuenciadores pueden agrupar una gran cantidad de datos, comprimirlos y publicarlos periódicamente en el bl de manera optimizada en costos (por ejemplo, asegurando el uso completo del blob).

rollups basados + preconfs

¿Entonces, podemos tener nuestro pastel y comérnoslo también? entrar basado preconfs.

Aquí explicaremos brevemente la intuición detrás de los preconfs basados en BRS para que podamos compararlos con los rollups tradicionales. Más adelante, volveremos para analizar los preconfs con mayor detalle en general (es decir, tanto los preconfs de BR como los de BL en las transacciones de Ethereum L1).

La idea principal es que los preconfs de br deben provenir de los proponentes de bl. Para proporcionar preconfs, estos proponentes deben poner alguna garantía (por ejemplo, re-estacar) y optar por condiciones adicionales de reducción (es decir, que los preconfs que proporcionen realmente lleguen a la cadena, como se prometió). Cualquier proponente dispuesto a hacerlo puede actuar como un secuenciador de br y proporcionar preconfs.

debemos tener en cuenta que los proponentes (es decir, validadores) se espera que deleguen este papel de proporcionar preconfs a entidades más especializadas conocidas como “Gate.ioways”. la entrega de preconfs requerirá una entidad relativamente sofisticada, y ethereum quiere mantener a los proponentes poco sofisticados.

sin embargo, se espera que los relés existentes también asuman este papel. El Gate.ioway solo actuaría como interfaz entre el usuario y el relé, por lo que agregar otra entidad independiente solo agrega complejidad y latencia (aunque la latencia también podría abordarse con la co-ubicación). El relé ya es confiable para los constructores y proponentes, por lo que estaríamos agregando otro requisito de confianza en ellos por parte de los usuarios aquí.

ten en cuenta que si bien los validadores actualmente actúan como proponentes de bloques de Ethereum, se está considerando una actualización mediante la cual el propio protocolo subastaría directamente los derechos de propuesta a través deSubastas de ejecución. Esto permitiría a entidades sofisticadas comprar derechos de propuesta directamente, evitando así la necesidad de que los validadores (los proponentes actuales) deleGate.io a ellos como se contempla aquí.

en cualquier caso, el punto importante es que cualquier preconf más rápido que el consenso de ethereum (12s) requiere un tercero de confianza (ttp). ya sea que tu ttp sea un validador restante, apostadoSubasta de ejecuciónganador, deleGate.io de Gate.io, o cualquier otra cosa - fundamentalmente no puede proporcionar seguridad en tiempo real para ethereum. ya sea que coinbase te esté dando un "preconf basado" como proponente de ethereum o un "preconf tradicional" como secuenciador de rollup - estás confiando en coinbase. del mismo modo, pueden depositar una fianza de algunos eth, pero en cualquier caso esto es independiente de la seguridad del consenso de ethereum.

debemos notar entonces que cualquier diseño preconf basado necesariamente resta valor a los objetivos declarados de brs con los que comenzamos (simplicidad y seguridad bl).Las preconfs basadas son cada vez más complejas, y no pueden proporcionar las garantías de seguridad en tiempo real de ethereum.

sin embargo, deberías conservar la capacidad de forzar una transacción directamente a través de una transacción bl si estos preconfers se desconectan o comienzan a censurar. estas garantías de ethereum deberían ser aún más fuertes cuando listas de inclusión se implementan.

para brs - ttps proporciona preconfirmaciones rápidas, y el bl proporciona seguridad eventual.

rollups no basados + fallback basado

ahora consideremos un rollup tradicional (es decir, no basado). su propio secuenciador (ya sea centralizado o descentralizado) brinda preconfirmaciones rápidas. más tarde, sus usuarios obtienen plena seguridad de ethereum con retraso. esto incluye la vivacidad (crecimiento del libro mayor + resistencia a la censura) que proviene de algún tipo deinclusión forzada o Respaldo de BLmecanismo.

Como señalé en ¿Los rollups heredan la seguridad?:

los rollups tienen la capacidad de exponer reglas de confirmación con propiedades de seguridad equivalentes a las de su cadena principal. Pueden recibir estas propiedades a lo sumo a la velocidad del consenso de su cadena principal (y en la práctica, a menudo es un poco más lento dependiendo de la frecuencia con la que el rollup publique en la cadena principal).

Los rollups también pueden proporcionar una regla de confirmación más flexible (es decir, los secuenciadores) para una mejor experiencia de usuario, pero conservan la opción de fallback en caso de fallo. Si tu secuenciador se detiene, puedes seguir avanzando.

ten en cuenta que la tiempo para seguridad eventuales la variable clave a optimizar aquí:

la suposición de que los usuarios de rollup pueden retroceder a una vivacidad equivalente a la cadena principal asume que se puede obtener inclusión forzada exactamente a la velocidad de los bloques de la cadena principal (por ejemplo, si el secuenciador de rollup te está censurando, que puedes forzar la inclusión de transacciones en el siguiente bloque de ethereum).

en la práctica, generalmente hay un breve retraso. si permites la inclusión forzada inmediata, podrías exponer censura rentable mev entre otras complejidades. sin embargo, hay diseños que pueden proporcionar garantías de vivacidad casi en tiempo realdesde la cadena de anfitrión (por ejemplo, tal vez a la velocidad de unos pocos bloques de la cadena de anfitrión en lugar de un bloque).

en este espíritu,Sovereign labs tiene un diseñoque hace lo siguiente:

  • secuenciación con permisos: los rollups establecen un secuenciador con permisos cuyas transacciones se procesan inmediatamente después de su inclusión en el bloque. Debido a que tienen un bloqueo de escritura en el estado del rollup, pueden proporcionar preconfirmaciones confiables más rápidamente que el tiempo de bloqueo del bloque.
  • secuenciación basada: los usuarios también pueden enviar transacciones directamente a su bl, pero se procesan con un retraso de n bloques (donde n es suficientemente pequeño). Esto reduce en gran medida el “tiempo hasta la seguridad eventual”, de hecho, incluso llaman al diseño “secuenciación basada con confirmaciones suaves” debido a eso! (¡nota que esta definición de brs entraría en conflicto con la definición que proporcionamos anteriormente, es decir, que el proponente de bl debe tener el derecho de secuenciar el br o ser deleGate.iod por ellos).

para los no-brs: ttps proporciona preconfs rápidas y el bl ofrece seguridad eventual.

¿Por qué?

como podemos ver, ambos caminos descritos anteriormente producen el mismo resultado efectivo:

Estos brs con preconfs ya no proporcionan la simplicidad o la seguridad en tiempo real de Ethereum. Entonces, ¿cuál es el punto de todo esto ahora? ¿Por qué no simplemente reforzamos los fallbacks en los rollups “tradicionales”? ¿Qué diablos es un rollup “basado” en este punto?

esto realmente vuelve a míPrueba de gobernanza Publicación del año pasado en la que discutí los casos de uso fundamentales para el replanteamiento específico de Ethereum:

1) técnico (compromisos del proponente) - no hay forma de evitarlo - si quieres un compromiso creíble con el ordenamiento de un bloque de Ethereum, tiene que provenir de los validadores de Ethereum.MEV-Boost++es un ejemplo de una aplicación hipotética que podría caer en esta categoría.

2) social: considero que la alineación de Ethereum es el caso de uso principal para la mayoría de las aplicaciones de restaking hoy en día, no la agrupación de seguridad económica o descentralización. Está llegando a decir " mira, somos un proyecto de EthereumEs por la misma razón que las cadenas siguen llamándose ethereum l2s.independientemente de la arquitectura.

Podemos modernizar esto en el contexto de preguntarnos ¿cuál es el valor de un "br + preconfs" sobre un "rollup tradicional + reserva rápida"?

1) técnico (compromisos del proponente) - ethereum brs con preconfs tienen un beneficio técnico fundamental: pueden obtener un compromiso creíble del proponente actual de ethereum con respecto a la inclusión y el ordenamiento de los contenidos de un bloque de ethereum. Esto es potencialmente valioso por las mismas razones por las que potencialmente queremos que un montón de rollups compartan un secuenciador. Si el proponente de bl también es el proponente de br (es decir, el secuenciador), entonces pueden proporcionar las mismas garantías de inclusión atómica con el bl que se pueden obtener entre cualquier rollup que comparta el secuenciador. Tienen un monopolio en ambas cadenas. Ahora bien, ¿cuánto valor tiene esto? Volveremos a eso en un momento.

2) social (alineación/neutralidad creíble) - te encante o lo odies,Alineación de Ethereumes un punto de venta para ser un br. Voy a ser honesto, no sé mucho sobre taiko más allá de que son los chicos de br, y probablemente no sabría quiénes son si no fueran los chicos de br. Todos quieren un buen co-marketing. Hay valor en ser los primeros en moverse aquí, pero sospecho que este no es un valor duradero y no se aplica a muchos futuros posibles brs. De manera similar, todos hemos oído hablar de los primeros puñados de avs, pero ¿puedes nombrar todos los actuales? Yo no puedo.

A un nivel más alto, no lograrás que todos los rollups de Ethereum opten por el (hipotético) "optimism shared sequencer" o el "arbitrum shared sequencer". Sin embargo, tienes más posibilidades de lograr que todos opten por el "ethereum shared sequencer". Sin nuevo token, sin nueva marca, sin nuevo consenso. Si crees que es valioso que todos los L2 de Ethereum se unan en la secuenciación, entonces esta neutralidad creíble es potencialmente el punto de Schelling más fuerte para lograr ese objetivo.

Esta neutralidad creíble es probablemente la más valiosa para los desarrolladores de rollups que intentan atraer a usuarios de diferentes ecosistemas (por ejemplo, aplicaciones con infraestructura básica como ens). Pueden dudar en usar el secuenciador de Optimism si alienará a los usuarios de Arbitrum, o viceversa.

cubriremos cada uno de estos en más detalle a continuación.

neutralidad creíble

Profundizando en ese punto social, los BR a menudo se ven como la opción más "alineada con Ethereum". Dejando a un lado el juicio de cualquiera sobre el valor de esto, el punto importante es que esto presupone un alto grado de neutralidad creíble para cualquier diseño de BR.

Un br neutralmente creíble es fácil de diseñar en el caso básico, pero como señalamos, nadie realmente los quiere. Por lo tanto, las preconfs requieren que el proponente opte por condiciones adicionales de slashing. Estas condiciones adicionales de slashing requieren que el proponente utilice algún sistema adicional (por ejemplo, potencialmente el restaking de la capa propia,Simbiótico, u otra norma) para asumir el compromiso. Un rollup puede estar feliz optando por el "secuenciador de Ethereum" creíblemente neutral en abstracto, pero es probable que se pierda la neutralidad creíble si está utilizando proyectos financiados con fondos privados, tal vez incluso con tokens propios.

hay varias preguntas abiertas sobre el colateral aquí:

tamaño del colateral

Los diseños iniciales han supuesto que los proponentes tendrían que poner personalmente una cantidad increíblemente alta de garantía de alrededor de 1000 eth. El problema es que fundamentalmente un proponente siempre puede retractarse de su promesa de delegar a Gate.io y construir un bloque por sí mismo, equívocamente en los prefijos. Esto puede ser increíblemente valioso, y 1000 eth está cómodamente por encima de los pagos más altos observados que han pasado por MEV-Boost desde su inicio. La desventaja es que esto, por supuesto, crea necesariamente una barrera alta para los proponentes más pequeños, mientras que los más grandes (por ejemplo, Coinbase) podrían poner razonablemente 1000 eth mientras ganan recompensas en todo su peso de inversión.>13% del total de eth apostado) porque los registrantes pueden presentar un solo bono para todos sus validadores. hay Otras ideas para permitir a los proponentes con bonos mucho más pequeños, aunque, por supuesto, vienen con compromisos. El espacio de diseño aquí es simplemente incierto.

vale la pena señalar quesubastas de ejecución aliviaría esta preocupación, ya que podemos suponer que todos los proponentes serían entonces actores sofisticados fácilmente capaces de esto.


fuente: Barnabé monnot, de mev-boost a epbs a aps

Sin embargo, incluso los grandes operadores dudan en poner grandes cantidades debido a posibles problemas de disponibilidad que podrían resultar en penalizaciones (un fallo en la disponibilidad por parte de un operador, que da lugar a que nuestras transacciones previas se pierdan antes de ser incluidas en un bloque, es un fallo de seguridad para los usuarios y debe ser penalizado severamente).

Tipo de colateral

Vanilla ETH es probablemente la única garantía creíblemente neutral en esta situación. Sin embargo, naturalmente existirá el deseo de utilizar activos más eficientes en términos de capital (por ejemplo, STETH). Hay algunas ideas para que un suscriptor se encargue de esta conversión, como se describe en mteam aquí.

plataforma

no sería muy 'crediblemente neutral' si las 'preconfs basadas en ethereum' son más como las 'preconfs basadas en eigenlayer' o las 'preconfs basadas en simbiótica'. hay equipos que planean ir en esta dirección, pero no es un requisito estricto utilizar tal plataforma. es posible crear un estándar general y neutral para que todos lo utilicen, y dicho sistema parecería estar mejor posicionado para su adopción general como la opción más basada.

Será necesario adoptar estándares de bien público para que los diseños previos basados sean "creíblemente neutrales".

Preconfirmaciones

inclusión vs. preconfs del estado

ahora cubriremos preconfs en mayor detalle. si bien discutimos un tipo específico de preconf anteriormente (preconfs br en estado), debemos tener en cuenta que son un concepto totalmente general. puedes ofrecer preconfs en transacciones bl además de brs, y puedes ofrecer diferentes niveles de preconfs:

  • inclusión preconfs - un compromiso más débil de que una transacción será incluida eventualmente en la cadena.
  • preconfs de estado: el compromiso más fuerte de que una transacción eventualmente se incluirá en la cadena y una garantía del estado resultante.

lo último (preconfs del estado) es, por supuesto, lo que los usuarios quieren que sus billeteras les muestren:

intercambié 1 eth por $4000 usdc y pagué 0.0001 eth en comisiones

no inclusión preconfs:

mi transacción intentando intercambiar 1 eth por $4000 usdc y pagando hasta 0.0001 eth en tarifas eventualmente aterrizará en la cadena, pero tal vez tenga éxito, tal vez falle, veremos

Sin embargo, debemos tener en cuenta que las inclusiones preconfs son efectivamente intercambiables con las inclusiones de estado en el caso de las acciones tomadas por el usuario en un estado no discutible (por ejemplo, transferencias simples donde solo el propio usuario puede invalidar la transacción). En este caso, una promesa de que, por ejemplo, "la transferencia de USDC de Alice a Bob se incluirá en los próximos bloques" es suficiente para que una billetera simplemente muestre al usuario "has enviado tus USDC a Bob".

no es sorprendente que los compromisos más fuertes (preconfs estatales) sean más difíciles de obtener. Fundamentalmente, requierencompromiso creíbledesde la entidad que actualmente tiene el monopolio de proponer bloques (es decir, un bloqueo de escritura en el estado de la cadena). en el caso de las preconfederaciones de ethereum l1, este es siempre el proponente actual de ethereum l1. en el caso de las preconfederaciones de br, esto es presumiblemente el próximo proponente de ethereum l1 en la anticipación de br (lo que los convierte en el proponente actual de br), como veremos a continuación. proponente y secuenciador son términos generalmente intercambiables, siendo el primero más utilizado en el contexto l1 y el segundo en el contexto l2.

precios preconfs

otra gran distinción que debemos hacer es qué tipo de estado están tocando estos preconfs:

  • estado no contencioso: nadie más necesita acceso a este estado (por ejemplo, Alice quiere transferir USDC a Bob)
  • Estado contencioso: otros quieren acceder a este estado (por ejemplo, intercambios en un grupo de AMM de ETH/USDC)

Las preconfs son restricciones sobre el bloque que se puede producir en última instancia. En igualdad de condiciones, restringir inherentemente el espacio de búsqueda para los constructores solo puede reducir el valor potencial que pueden capturar al pedirlo. Eso significa que se devolvería menos valor al proponente. para que sea compatible con los incentivos, Gate.ioway debe cobrar una tarifa de preconf ≥ el MEV potencial perdido por restringir el resultado.

esto es lo suficientemente simple cuando la pérdida de MEV es ~0 (por ejemplo, en una transferencia de USDC). En este escenario, cobrar una tarifa fija nominal podría ser razonable. Pero tenemos un gran problema: ¿cómo valoramos las preconfs en un estado controvertido? Valorar las preconfs con anticipación frente a justo a tiempo parece que pagaría menos. Con todo lo demás igual, es más rentable para un constructor esperar hasta el último segundo posible para capturar y valorar con precisión el MEV.

Sin embargo, supongamos que hay suficiente demanda de usuarios para preconfs rápidas en el estado contencioso (teniendo en cuenta tanto a los buscadores sofisticados como a los usuarios normies), de modo que a veces habrá un precio de liquidación que sea beneficioso para todos. Ahora bien, ¿cómo se fija exactamente el precio de una preconf para una transacción en un estado contencioso que, de otro modo, podría incluir en cualquier momento de los próximos 12 segundos, renunciando potencialmente a oportunidades más rentables que ya no serían posibles?

Las preconfs sobre el estado disputado que se transmite a lo largo del bloque entrarían en conflicto con la forma en que los constructores crean bloques. La fijación de precios requiere estimar con precisión el impacto de MEV de incluirlo ahora en lugar de retrasarlo, lo que significa ejecutar y simular los posibles resultados. eso significa que Gate.ioway ahora necesita ser un buscador/constructor altamente sofisticado.

ya asumimos que Gate.ioway y relay se fusionarían. si necesitan seguir fijando precios preconfs, entonces también se fusionarán con el constructor. también aceptamos que usc aceleraría la fusión del constructor y el probador. también parece queSubastas de ejecuciónvenderá los derechos de proponente directamente a actores sofisticados (probablemente constructores) capaces de fijarles un precio.

esto pone la totalidad de la cadena de suministro de transacciones ethereum l1 y br en una caja que tiene un monopolio de escritura bloqueado en el estado de todas las cadenas durante ese período.

las políticas de ordenamiento del servicio preconf son poco claras (por ejemplo, ¿siempre se ejecutan en orden de llegada o se ordenan de otra manera). También es posible que Gate.ioway realice una subasta de todas las preconfs (por ejemplo, permitiendo a los buscadores hacer ofertas por las preconfs), aunque no está claro cómo sería ese diseño y necesariamente significaría una mayor latencia.

problema de intercambio justo

hay un problema de intercambio justo con preconfs donde la forma de Gate.io en realidad no está directamente incentivada para liberar la preconf.

considere el siguiente ejemplo:

  • la actual Gate.ioway tiene un monopolio de 12s
  • un usuario envía una solicitud de transacción preconf justo al comienzo del intervalo (t = 0)
  • El Gate.ioway espera hasta t = 11.5 para liberar todas las preconfs que hicieron durante su intervalo, dejando un margen de 500 ms para incluirlas todas en su bloque. En ese momento, pueden decidir qué preconfs incluir si son rentables y cuáles excluir.

En este escenario, el usuario puede terminar pagando por la preconf aunque en realidad no la reciba hasta el final de la ranura. Gate.ioway también podría dejarlo al final de la ranura si deciden que no es rentable incluirlo. esta retención por parte de Gate.ioway no es una falta objetivamente imputable (pero podría ser atribuible intersubjetivamente).

de hecho, en realidad hay un incentivo para que Gate.io retenga las preconfs hasta el final.Donde hay asimetría de información, hay MEV. mantener las transacciones privadas permitiría a un constructor tener una visión más actualizada del estado del mundo, lo que les permitiría tasar mejor el riesgo y capturar mev. no hay consenso sobre el conjunto de preconfs que se les da a los usuarios, por lo que Gate.io no puede ser considerado responsable aquí.

Tendrían que haber normas establecidasy expectativas de que el preconferidor chisme inmediatamente en público todas las preconfs. esto daría a los usuarios lo que quieren de inmediato y permitiría a otros ver que Gate.ioway está proporcionando los servicios esperados. si no lo hacen en el futuro, entonces los usuarios no confiarían en ellos y no les pagarían por las preconfs. la reputación de Gate.ioway tiene valor. dicho esto, también puede serExtremadamente valioso Ser deshonesto aquí y volver en contra de las preconfsiones.

Preconfs de capa base L1

con los puntos generales de la preconf fuera del camino, ahora discutiremos los matices de las preconf L1. aunque no los mencionamos antes, hay proyectos construyendo estos, y su interacción con las preconf BR será importante.

por ejemplo,Perno es un protocolo que quiere permitir a los proponentes de ethereum hacer compromisos creíbles sobre el contenido de sus bloques. Los proponentes registrados pueden ejecutar el sidecar de bolt para recibir solicitudes previas de los usuarios, confirmarlas y luego enviar esta información a relays y builders que pueden devolver bloques que respeten estas restricciones (es decir, devuelven un bloque que incluye las transacciones a las que el proponente dio preconfs).

es importante destacar aquí queBolt v1La descripción aquí solo admite inclusiones de transacciones simples preconfs para un estado no controvertido en el que solo el usuario puede invalidar la preconf. Como discutimos anteriormente, estos son los compromisos más simples y débiles para proporcionar.

Todos estos equipos de preconf tienen ambiciones más grandes (por ejemplo, preconfs estatales, subastas de bloques parciales, subastas de tragamonedas o de tragamonedas parciales), entonces, ¿qué los detiene?

  • la responsabilidad: las violaciones de compromiso deben poder demostrarse en la cadena para el recorte objetivo. Es relativamente fácil demostrar la inclusión de transacciones, pero no está tan claro cómo hacer cumplir otros compromisos, como las subastas de ranuras.
  • requisitos de capital: proporcionar compromisos arbitrarios significa que el valor de incumplir un compromiso podría ser arbitrariamente alto. Es probable que Gate.io termine necesitando apostar grandes cantidades (por ejemplo, miles de eth) para proporcionarlos. Estos bien podrían terminar siendo agrupados, beneficiando a las entidades más grandes (por ejemplo, grandes empresas comerciales o Coinbase) y dejando fuera a entidades más pequeñas.
  • precios - hay muchas preguntas abiertas sobre cómo fijar el precio de algo como las preconfiguraciones de estado transmitidas continuamente, incluso si decidimos que es factible y valioso.
  • Participación en la red: este es quizás el punto más importante y fundamental. Como mencionamos, solo el proponente actual que tiene un bloqueo de escritura en el estado puede proporcionar compromisos como preconfs estatales. En teoría, el 100% de los proponentes podrían optar por este sistema e imitarlo. En la práctica, eso no sucederá.

mev-boost, un producto más simple con años de experiencia que es increíblemente rentable para ejecutar,>92% de participaciónpara el contexto (probablemente incluso un poco más alto ya que esto no tiene en cuentamin-bid. un nuevo servicio de preconfiguración seguramente obtendría una tasa de participación mucho menor. pero incluso si pudiera llegar al ~90% range, esto no parece ser un producto útil para los usuarios normales. no se puede decir a los usuarios el 10% del tiempo “oh lo siento, no hay preconfiguraciones disponibles en este momento, vuelva a intentarlo en un momento.”

En el mejor de los casos, esto parece que las preconfs estatales solo serían una herramienta opcional para buscadores y comerciantes sofisticados que puedan querer obtener un compromiso antes en el bloque cuando ese espacio tiene un proponente optado. Eso puede ser valioso, pero no hay fragmentación o mejoras de UX aquí.

preconfiguraciones de rollup basadas en l2

Las preconfs de BR deben provenir de los proponentes de BL (por eso están "basadas"). Esto requiere que apuesten por alguna garantía y opten por condiciones de recorte adicionales (es decir, que los preconfs que proporcionen lleguen a la cadena como se prometió). Cualquier proponente que desee hacerlo puede actuar como secuenciador BR y proporcionar preconfs.

Es importante destacar que estos br preconfs son preconfs de estado, no solo preconfs de inclusión. Esto es posible porque los brs optan por un diseño en el que otorgan un monopolio de secuenciador rotativo a los proponentes de bl que se registran para ser Gate.ioways.

hoy, un validador de ethereum sirve como proponente para cada ranura, y el programa del proponente siempre se conoce para la época actual y la siguiente. una época son 32 ranuras, por lo que siempre conocemos los próximos 32-64 proponentes en un momento dado. el diseño funciona otorgando al siguiente secuenciador activo (es decir, el siguiente secuenciador en la mirada hacia adelante) poderes de monopolio para secuenciar transacciones para los brs que optaron por este sistema de preconfiguración. Gate.ioways debe firmar para avanzar en el estado de las cadenas de br.

Tenga en cuenta que cada proponente (incluso aquellos que no han optado por ser un Gate.ioway) tiene el derecho pero no la obligación de incluir transacciones que han sido preconfirmadas por los secuenciadores (es decir, aquellos proponentes que han optado por ser un Gate.ioway). Pueden actuar como un incluidor siempre y cuando tengan la lista completa de transacciones que han sido preconfirmadas hasta ese momento (el secuenciador puede crear un bl blob que tenga las transacciones br y difundirlas).


fuente: Secuenciación de Ethereum, justin drake

el flujo de transacción funciona de la siguiente manera:

  1. El usuario br envía su transacción al siguiente secuenciador en la vista previa (propositor de la ranura n+1 en la imagen de abajo)
  2. el secuenciador proporciona inmediatamente una preconfirmación del estado resultante (por ejemplo, el usuario cambió 1 eth por $4000 usdc en la br y pagó 0.0001 eth en tarifas)
  3. en este punto, cualquier incluidor puede incluir la transacción secuenciada (el proponente de la ranura n lo hace en la imagen a continuación)


fuente: Secuenciación de Ethereum, justin drake

si los otros incluidores no incluyen los preconfs, entonces el secuenciador que los dio simplemente puede incluirlos onchain cuando sea su turno como el proponente bl. por ejemplo, en la imagen de arriba, digamos que el incluidor de la ranura n decidió no incluir los preconfs que el secuenciador de la ranura n+1 entregó. entonces el secuenciador de la ranura n+1 sería responsable de incluir todos los preconfs que entregó durante la ranura n y la ranura n+1 cuando presente su bloque bl para n+1. esto permite al secuenciador dar con confianza preconfs durante el período completo entre ellos y quienquiera que haya sido el último secuenciador.

para simplificar las explicaciones anteriores, simplemente asumimos que el proponente l1 cumpliría este papel preconferido. Sin embargo, como se describió anteriormente, esto no es probable que sea el caso. Se requerirá una entidad sofisticada para fijar los preconfs, ejecutar nodos completos para todos los BR, tener protección contra DOS y ancho de banda suficiente para todas las transacciones de BR, etc. Ethereum quiere mantener a los validadores muy poco sofisticados, por lo que es de suponer que los proponentes subcontratarán preconfs a otra entidad de la misma manera que subcontratan la producción de bloques L1 completa a través de MEV-Boost hoy en día.

Los proponentes pueden deleGate.io a Gate.ioways a través de mecanismos dentro o fuera de la cadena, y esto se puede hacer hasta justo antes de su ranura. Como se señaló anteriormente, es probable que en la práctica esta función sea asumida por los relés. También es posible que tengan que fusionarse con los constructores.


fuente: Secuenciación basada, Justin Drake

como se describió anteriormente, solo una entidad puede ser deleGate.iod para ser el Gate.ioway en un momento dado. esto es necesario para proporcionar preconfs de estado confiables. los uis (por ejemplo, billeteras como metamask) buscarían quién es el próximo Gate.ioway y enviarían las transacciones del usuario allí.

¿Qué tan basados en Ethereum serán los rollups?

con suficiente contexto ahora en su lugar - ¿deberían basarse los rollups de Ethereum? hay realmente dos preguntas incrustadas aquí:

  1. ¿Deberían muchos rollups de Ethereum compartir un secuenciador?
  2. Si es así, ¿debería ser un secuenciador basado (es decir, que involucre a los proponentes de ethereum bl y la infraestructura de mev circundante)?

En primer lugar, es importante tener en cuenta que puede compartir un secuenciador con otras cadenas de forma ad hoc. Por ejemplo, el proponente de Ethereum puede secuenciar un bloque para usted si ofrece la oferta más alta, luego algún otro consenso bft podría secuenciar su próximo bloque si ofrece la oferta más alta. Sin embargo, esto aún requiere que una cadena se integre completamente en esta subasta uniforme compartida que puede ejecutarse sincrónicamente con estas otras cadenas, por lo que aún existen compensaciones en cuanto al control y la flexibilidad (por ejemplo, tiempos de bloque compartidos). Solo que la entidad secuenciadora ganadora puede cambiar.

De todos modos, supongamos simplemente que se cumple la condición 1. Creo que en este punto tenemos evidencia convincente de que existe suficiente demanda para utilizar un secuenciador compartido descentralizado. Incluso si les importa menos el "aspecto compartido", creo que hay un valor increíble en poder comprar un secuenciador descentralizado como servicio directamente (de hecho, creo que este es el mayor valor aquí).

Ahora, ¿debería este secuenciador compartido ser un secuenciador basado en Ethereum?

técnico (compromisos del proponente)

No veo un argumento técnico sólido para usar un secuenciador basado en Ethereum. Cualquier interoperabilidad entre BRS y Ethereum L1 sería increíblemente limitada debido a la incapacidad de ejecutarse de manera confiable contra el L1 (es decir, no tener consistentemente un bloqueo de escritura en el estado L1), largos tiempos de bloque (12s) y el hecho de que las transacciones de BR que desearan interactuar con el L1 tendrían que reorganizarse junto con él. Aquí no hay almuerzo gratis. Esto no desbloquea ningún producto valioso orientado al usuario en comparación con cualquier otro secuenciador compartido externo.

el valor principal que veo es que agregar el ethereum l1 a esta subasta combinatoria más grande puede resultar en un mayor valor agregado creado por Gate.iopermitir que el l1 capture más valorLlevando esta lógica al extremo, probablemente deberíamos poner todo en el mundo en la misma subasta. Esta subasta universal también debería secuenciar boletos para conciertos de Taylor Swift. Todavía no estoy del todo allí.

esto es solo para resaltar que hay una complejidad técnica y social real en la creación y la adopción de todos en esta subasta compartida, lo cual tiene un costo real, que en mi opinión probablemente supera cualquier valor adicional teórico creado aquí. Se puede construir fácilmente un diseño técnico mucho mejor para ejecutar esto desde los primeros principios si no intentamos colocarlo encima de ethereum l1 (por ejemplo, simplemente tener un mecanismo de consenso rápido y simple construido para este propósito). sin mencionar el hecho de que tal subasta combinatoria crearía un aumento exponencial en la complejidad.

En la práctica, existe un riesgo significativo para mí de que esto pueda ser severamente contraproducente para Ethereum, ya que esta arquitectura basada en preconf parecería ser potencialmente aceleracionista en relación a la infraestructura de MEV cuando la cadena de suministro de Ethereum ya es algo frágil. Esto pone en riesgo la descentralización y la resistencia a la censura de la red, que son precisamente las cosas que la hacen valiosa desde el principio.

social (neutralidad creíble)

Veo un argumento social válido para un secuenciador basado en Ethereum.

como se mencionó anteriormente, no hay duda de que la "alineación" es una venta para los primeros br. Eso está bien, pero no creo que dure. Es genial ser el primer br, no es genial ser el octavo. Debe haber algún otro valor agregado.

Creo que la neutralidad creíble de un secuenciador basado en Ethereum es potencialmente ese valor. Es probable que sea el argumento más fuerte a favor de tal diseño, al menos. Hay muchas cadenas que quieren tener un secuenciador descentralizado listo para usar. Si finalmente podemos diseñar suficiente infraestructura sobre esto que mejore la experiencia de usuario entre cadenas, entonces aún mejor. Sin embargo, de los proyectos que quieren un diseño de este tipo, imagino que muchos de ellos dudan en "elegir un bando" con cualquier protocolo de terceros. Como se indicó anteriormente, imagine que es una cadena de aplicaciones con una infraestructura general básica como ENS y desea un paquete acumulativo. No querrás elegir el (hipotético) secuenciador compartido de Arbitrum y apagar a la multitud de optimismo, o viceversa.

posiblemente la única solución al problema de coordinación social aquí es tener un secuenciador compartido creíblemente neutral, para lo cual Ethereum es claramente el candidato más fuerte. Tenga en cuenta que esto pone aún más énfasis en los puntos que mencioné anteriormente sobre la neutralidad creíble - si este es el principal valor agregado de tal servicio, ese debe ser un objetivo de diseño increíblemente prioritario al crearlo. No funcionará si tiene la apariencia de ser el proyecto personal de algún protocolo de terceros con sus propios motivos de lucro. Tiene que ser el secuenciador compartido de Ethereum en realidad.

Vale la pena señalar que también hay críticas razonables de que "neutral" aquí es un código para "ethereum", es decir, que su principal motivación es beneficiar a ethereum y su infraestructura nativa circundante. Y, por supuesto, dicho sistema beneficiaría a estas partes. Significaría una mayor captura de valor para el activo ether y más rentabilidad para los creadores, relays y buscadores de ethereum.

rollups basados en la rapidez

capas base rápidas

Ahora debemos entender que puedes tener brs en una bl lenta como Ethereum, puedes agregar preconfs confiables para una experiencia de usuario más rápida, e incluso puedes garantizar la seguridad al moverte entre cadenas a través de garantías criptoeconómicas o criptográficas.

como se señaló, ¿qué pasa si simplemente diseñamos esta cosa desde cero? sin lidiar con la deuda técnica y las decisiones de una cadena existente. ¿cuál es la forma obvia de construir la cosa...

Anteriormente, discutimos cómo la única razón técnica para ser un br con preconfs para un bl dado (por ejemplo, Ethereum) es para que su proponente pueda proporcionar compromisos creíbles en momentos respecto a la inclusión atómica síncrona con el bl.

Sin embargo, no discutimos seriamente la capacidad de ser un br sin preconfs. Básicamente descartamos esto porque Ethereum es lento y los usuarios son impacientes.

¿Entonces por qué no usamos simplemente un bl rápido para brs?

esto resuelve prácticamente todos los casos límite complejos y preocupaciones que teníamos antes. no queremos casos límite extraños donde Gate.ioways tenga fallas de vida (que tienen el mismo resultado que las fallas de seguridad aquí), no queremos que se retracten de preconfesiones prometidas (es decir, fallas de seguridad), y no queremos reorganizaciones de ethereum. es exactamente por eso que existe el consenso.

¡las capas están muertas, larga vida a las capas de secuenciación!

la mayor parte de la conversación sobre secuenciadores perezosos los considera como un secuenciador de rollup que luego deposita sus datos en alguna otra capa de datos. por ejemplo, los dos primeros rollups de Astria,FormayLlama) usarán Celestia como su capa DA. El consenso de Astria secuenciará estos rollups, y luego transmitirá sus datos a Celestia.

esta combinación es especialmente buena porque son complementos obvios: Astria proporciona toda la infraestructura de secuenciación y Celestia proporciona una verificación minimizada de confianza a través demuestreo de disponibilidad de datos (das).

Sin embargo, Astria también podría utilizarse para secuenciar un rollup que sea nativo de Ethereum, Bitcoin, Solana o cualquier otra cosa que desee. Por ejemplo, incluso podría configurarse para ser utilizado como un preconfer para Ethereum "BRS con preconfs" (por ejemplo, en lugar de un Gate.ioway centralizado, ya que un secuenciador perezoso es básicamente solo un relé incentivado y descentralizado).

Para ser claros, cada cadena es una capa da. Los nodos completos siempre pueden comprobar si hay da. Es una parte de las condiciones de validez de cualquier cadena que los datos estén disponibles, por lo que el consenso siempre está firmando que los datos están disponibles. Los nodos ligeros que comprueban su aprobación obtienen una suposición de mayoría honesta. La única diferencia es si la cadena proporciona otra opción para que los clientes ligeros muestren directamente para da en lugar de preguntar al consenso.

sin embargo, como señalé en ¿Los rollups heredan seguridad?Cadenas rápidas como Astria podrían técnicamente agregar un camino lento para Das (para mejorar la verificabilidad), y cadenas lentas como Celestia podrían agregar un camino rápido para la secuenciación (con una suposición de confianza mayoritaria y sin Das), llamado "..."bloques rápidos cuadrados lentos.”

moverse hacia la integración vertical de capas especializadas como la secuenciación o das estrecharía aún más la distinción entre blockchains modulares e integrados. esto se aplica de manera similar a la integración vertical del capa de liquidaciónmediante la adiciónLas cuentas verificadoras de ZK a la capa base de celestia.

Sin embargo, hay un valor significativo en mantener estos servicios separados en lugar de agruparlos. Este es el enfoque modular que permite a los rollups elegir qué características desean de la estantería (por ejemplo, quiero comprar secuenciación descentralizada con bloques rápidos, pero no quiero pagar por das, o viceversa). Los investigadores han demostrado que quieren das, pero hasta ahora los usuarios solo han demostrado que quieren bloques rápidos.

agrupar servicios como en elbloques rápidos cuadros lentos“sería muy opinado e integrado. esto necesariamente agregaría complejidad y costo. el efecto de la longitud de la ranura en juegos de tiempoLa descentralización (y potencialmente) que ahora es omnipresente en Ethereum también es un factor a considerar.

capa base rápida vs. lenta + preconfs

pero también puedes usar astria como el bl para los rollups. Los secuenciadores compartidos pueden considerarse como bls que están optimizados para los brs propios.

cuando su BL es rápida, su BR no necesita preconfs porque obtiene confirmaciones rápidas de manera predeterminada! Luego su rollup obtiene la seguridad en tiempo real de su BL, a diferencia de los BR + preconfs que necesariamente pierden esto.

Los BRS sin preconfs son de hecho la forma más lógica de construir un rollup. Por eso, todos los rollups de hoy en día comenzaron allí:

Está claro que un BL con bloques rápidos soluciona la mayoría de nuestros problemas en "based rollups + preconfs". Los secuenciadores compartidos se construyen naturalmente más desde un enfoque de primeros principios de "los desarrolladores de aplicaciones solo quieren lanzar una cadena rápida, confiable y descentralizada, ¿cómo se la doy?" Intentar agregar preconfs después del hecho en una capa base más lenta como Ethereum resulta en las complejidades que hemos descrito anteriormente.

todos estamos construyendo lo mismo

la modularidad es inevitable

Así que, vimos cómo podemos volver a unir cadenas modulares de Gate.io, proporcionando composabilidad síncrona universal (usc). Por supuesto, hay compensaciones, pero reintroducen un grado significativo de unidad mientras preservan mucha más flexibilidad que el uso de una sola máquina de estado. También hay un argumento muy convincente para mí de que la composabilidad asíncrona es todo lo que necesitamos para la gran mayoría de los casos de uso. Necesitamos baja latencia, rendimiento y buena experiencia de usuario. Internet es asíncrono y funciona bastante bien abstrayendo todo eso. La composabilidad es un gran valor añadido de la criptografía, pero composabilidad ≠ sincronía.

A pesar de los beneficios de flexibilidad y soberanía, la mayoría de las personas estarían de acuerdo en que eventualmente necesitaremos muchas cadenas para escalar de todos modos. Esto significa que terminaremos con muchos sistemas que necesitamos unificar, por lo que la dirección modular es inevitable aquí.

¿ethereum + preconfs → solana?

Ahora, comparemos los finales aquí. En particular, compararemos el final de Solana con el final de Ethereum si sigue este camino de maximizar la unidad y la experiencia de usuario con rollups basados en base + preconfs.

en esta visión, tenemos un montón de estos brs utilizando el secuenciador basado en Ethereum. Gate.ioways está transmitiendo continuamente preconfs prometidos por el proponente (es decir, sin ningún peso de consenso) a los usuarios con baja latencia, luego los proponentes de Ethereum los comprometen en un bloque completo de vez en cuando. Esto puede sonar familiar porque es prácticamente lo que describimos anteriormente para Solana con la transmisión de fragmentos.

Entonces, ¿es esto simplemente un Solana más complicado? La gran diferencia aquí está en los tiempos de ranura:

Ethereum intenta agregar esto encima de una cadena lenta claramente presenta problemas a primera vista:

  • El consenso de Ethereum es demasiado lento para los usuarios, por lo que la única forma de obtener una experiencia de usuario rápidamente neutral y creíble es a través de preconfs prometidos por los proponentes de forma opcional. Su principal cuello de botella hoy en día es la agregación de firmas debido al enorme tamaño de su conjunto de validadores.MaxEBy la agregación de firmas mejorada podría ayudar aquí).
  • esto resulta en monopolios de proponentes mucho más largos, lo que proporciona mayores incentivos y libertad para capturar más mev actuando deshonestamente (p. ej., retener preconfs).
  • Si Gate.ioways comienza a retrasar o retener preconfs, entonces el peor caso para los usuarios retrocede a depender de los tiempos de ranura de Ethereum. Incluso si los productores de bloques de Solana detuvieran la construcción y transmisión continua de bloques dentro de sus monopolios asignados (es probable que sea racional para ellos hacerlo en cierta medida por la misma razón exacta), entonces, en el peor de los casos, se vuelve a depender de un consenso de rotación rápida. El monopolio de cuatro ranuras es necesario hoy en día para la fiabilidad de la red.
  • En la práctica, es probable que haya muy pocas Gate.ioways, al menos al principio, lo que dará como resultado un conjunto de operadores más centralizado en comparación con cadenas como Solana.
  • potencialmente requisitos de garantía increíblemente altos para los proponentes (señalando que el espacio de diseño aún está en progreso).
  • las preocupaciones sobre los problemas de liveness son increíblemente costosas aquí (ya que los problemas de liveness del operador que llevan a la reducción de preconfs son fallas de seguridad para los usuarios, y por lo tanto deben ser severamente penalizables).

todo esto se resuelve con un consenso rápido. todos estos sistemas son literalmente por qué creamos sistemas bft en primer lugar. entonces, ¿por qué no debería ethereum hacer que su consenso sea más rápido? ¿hay algunos compromisos menos obvios al tener tiempos de bloque de capa base de súper baja latencia?

Afortunadamente no tengo nada mejor que hacer que escribir un ensayo sobre si los tiempos de bloque más cortos son buenos. La gran preocupación con los tiempos de ranura más cortos está relacionada con la centralización de validadores y operadores. Específicamente, existen preocupaciones con respecto a la interacción de los tiempos de ranura cortos con juegos de tiempo:

ya vemos juegos de sincronización progresando en Ethereum. Los proponentes proponen bloques más tarde en sus espacios, ganando más dinero a expensas de otros. Los relés también ofrecen “juegos de sincronización como servicio"donde de manera similar retrasan los bloques más tarde en la ranura:


fuente: Datos siempre

los juegos de tiempo fueron un gran tema de discusión en el algo infamePodcast de Justin vs. toly banklessde hace algunas semanas:

por ejemplo, digamos que eres 100ms más rápido que los demás

si tienes ranuras de 1s, puedes ganar un 10% más que todos los demás

si tienes 10s slots, puedes ganar un 1% más que los demás

— jon charbonneau (@jon_charb) 4 de junio de 2024

Justin argumentó principalmente que los juegos de sincronización serán un problema, y las recompensas incrementales siempre serán relevantes. Toly argumentó principalmente que los juegos de sincronización no serán un problema, y que las recompensas incrementales obtenidas de la extracción adicional de MEV no son suficientes para preocuparse.

Personalmente, me resulta difícil ignorar la importancia de cronometrar los juegos aquí:

Creo claramente que hay una gran cantidad de valor en la dirección que están tomando tanto Solana como Ethereum. Si nada más, veremos cómo se desarrolla todo en la práctica. Estratégicamente, también creo que tiene sentido que Ethereum se incline hacia lo que lo hace diferente aquí. Maximizar la descentralización como medio para lograr la resistencia a la censura en circunstancias adversas. Ethereum ha hecho muchos sacrificios para mantener un protocolo increíblemente descentralizado porque es una necesidad para el largo plazo. Tiene una diversidad de clientes inigualable, distribución de propiedad de la red, partes interesadas del ecosistema, descentralización de los operadores y más. Si (y probablemente cuando) Solana enfrenta una seria presión de censura en el futuro, se volverá cada vez más evidente por qué Ethereum ha tomado las decisiones que ha tomado.

preconf.wtf acaba de suceder en zuberlin la semana pasada, y tal vez no sorprenda a nadie, todos estaban hablando de preconfs y based rollups. y todo eso fue realmente genial. pero personalmente encontré Charla de Vitalikenlistas de inclusión de un bit por atestadory la charla de barnabé sobreSobrecargar al proponente de ejecución en su lugar (de mev-boost a epbs a aps)ser lo más importante para el futuro de Ethereum.


fuente: Barnabé monnot, De mev-boost a epbs a aps

las conversaciones sobre preconf y based rollup han comenzado a ganar impulso recientemente, y definitivamente todavía estoy en el lado más cauteloso. Vitalik famosamente estableció lo siguienteEndgame:

Sin embargo, nos hemos adentrado bastante en la "producción centralizada" sin implementar aún protecciones más fuertes contra la censura, como listas de inclusión. Básicamente, Ethereum se encuentra en la mitad de la fila inferior de esta imagen. (Digo la mitad porque la censura no es realmente blanco y negro, y Ethereum solo tiene una "censura débil", es decir, la mayoría pero no todos los bloques están censurados, así que solo tienes que esperar un poco y luego serás incluido):


fuente: Prueba de gobernanza

Empíricamente, la cadena de suministro MEV de Ethereum L1 actualmente censura en tiempo real más bloques que cualquiera de estos L2 con secuenciadores centralizados.

l2s ya pueden obtener el cr eventual del l1 (que aún es muy bueno) sin estar basados. Las preconfirmaciones basadas no obtienen la seguridad en tiempo real del protocolo ethereum, obtienen la seguridad en tiempo real de un pequeño grupo de proveedores de infraestructura relativamente centralizados que lo rodean. Para obtener un cr en tiempo real mejorado, la mejor opción probablemente sea externalizar la secuenciación a algún tipo de secuenciador descentralizado que ejecute un consenso bft simple. Esto será mucho más sólido que centralizar muchas cadenas en un cuello de botella actualmente relativamente centralizado. Esta situación puede mejorar con cambios como subastas de ejecución y listas de inclusión, pero eso no está exactamente a la vuelta de la esquina.

Con todo esto considerado, no me queda claro que expandir la dependencia de la infraestructura de MEV de Ethereum L1 y luego afianzarla para L2 sea una gran idea en esta etapa, cuando hay un puñado de personas que construyen y transmiten todos los bloques de Ethereum, la mayoría de los bloques sin censura de Ethereum hoy dependen de un único constructor (Titán), y ninguna de las herramientas CR se ha implementado en el protocolo todavía. Esto se siente agresivamente aceleracionista en un punto frágil. Ethereum ciertamente debería estar trabajando para mejorar la experiencia de usuario de L2, pero no a expensas de todas las propiedades subyacentes que queríamos en primer lugar.

conclusión

Todos estamos construyendo lo mismo.

bueno, más o menos. obviamente, estas cosas no son todas literalmente lo mismo. siempre habrá diferencias prácticas entre estos sistemas. sin embargo, la mega-tendencia general en cripto es clara, todos estamos convergiendo hacia arquitecturas cada vez más similares.

las diferencias técnicas matizadas entre ellos pueden tener implicaciones significativas en la práctica para dónde terminan, y no podemos subestimar el papel fundamental que juega la dependencia del camino en estos sistemas, incluso cuando convergen hacia juegos finales similares.

además, es bastante malditamente imposible razonar sobre algunas de estas cosas.Como dijo vitalik:

“Una nota de precaución que tengo para las AP es que creo que desde una perspectiva puramente técnica, en realidad creo que es bastante sencillo y que somos totalmente capaces de llevarlo a cabo con muy poca probabilidad de error técnico... pero desde una perspectiva económica hay muchas más oportunidades para que las cosas salgan mal...

Al igual que con eip-1559, pudimos averiguarlo con la teoría. Fuimos a algunas conferencias de economía encantadoras y aprendimos sobre los peligros de las subastas de precio inicial y lo malas que son, y descubrimos que las subastas de segundo precio no son creíbles, y luego descubrimos que, ¡hey, usemos un mecanismo de precio fijo localizado dentro de cada bloque, y pudimos hacer mucho con la microeconomía.

Pero aps no es así, ¿verdad? Y la pregunta de si aps llevará a Citadel o Jane Street o Justin Sun o quien sea a producir el 1% de todos los bloques de Ethereum o el 99%, es muy muy difícil, probablemente imposible de averiguar desde los primeros principios.

y por lo tanto, lo que quiero ver en este momento es experimentación en vivo... para mí personalmente, la diferencia entre hoy y sentirme realmente cómodo con las aps es básicamente que las aps funcionen correctamente en una capa 2 de Ethereum que tiene una cantidad media de valor, actividad, comunidad y disputas reales ocurriendo, y que eso dure durante un año, posiblemente más, y que realmente podamos ver algunas consecuencias en vivo.

así que sí, tampoco sé qué va a pasar. solo tendremos que esperar y ver. en cualquier caso, mientras todos convergimos hacia lo que sea este juego final, tenemos mucho más en común que diferencias, así que asegurémonos de por favor...

renuncia:

  1. este artículo es un reimpreso de [dba].reenviar el título original 'todos estamos construyendo lo mismo'. todos los derechos de autor pertenecen al autor original [jon charbonneau]. si hay objeciones a esta reimpresión, por favor contacte al Gate.io aprenderequipo, y ellos lo manejarán rápidamente.
  2. exención de responsabilidad: las opiniones expresadas en este artículo son únicamente 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 aprendizaje de Gate.io. a menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.

La arquitectura convergente de las cadenas de bloques

Avanzado7/22/2024, 3:26:46 PM
Este artículo analiza el fenómeno de convergencia en el diseño arquitectónico de blockchains de alto rendimiento, discutiendo las ventajas y desventajas de diferentes soluciones de diseño y sus implicaciones para la arquitectura futura de blockchain. Ya sea basado en rollups de Ethereum o cadenas independientes, todos están evolucionando hacia un alto rendimiento y descentralización similares.

reenviar el título original 'we're all building the same thing'

introducción

esta publicación analiza lo siguiente

  • ejecución asincrónica - ¿por qué blockchains integrados de alto rendimiento (por ejemplo,SolanayMonad) desacoplará la ejecución del consenso sobre el ordenamiento (secuenciación).
  • secuenciación perezosa - cómo reflejarán el diseño de un secuenciador perezoso (por ejemplo, @astriaorg/hj6ccpp9t">astria).
  • preconfirmaciones - preconfs en ethereum l1 y rollups basados en rollups.
  • basado vs. no basado - comparando rollups basados + preconfs vs. rollups no basados + fallback de capa base.
  • componibilidad síncrona universal - a través de la inclusión atómica (desde secuenciadores compartidos) + seguridad criptográfica (por ejemplo, )AggLayery/o demostración en tiempo real).
  • rollups basados en rápido - los rollups basados deberían tener simplemente una capa base rápida.
  • juegos de tiempo -El tiempo es dinero, y cómo esto subyace en los finales divergentes entre Solana y Ethereum.
  • descentralización para resistencia a la censura - cómoseparación entre el atestiguador y el proponentea través desubastas de ejecuciónpuede preservar validadores descentralizados que pueden hacer cumplir la resistencia a la censura conlistas de inclusión.

por último y lo más importante, veremos por quétodos estamos construyendo la misma maldita cosaasí que tal vez deberíamos simplemente...

optimizando la replicación de la máquina de estados (SMR)

construiremos desde lo básico para ver que el final para blockchains de alto rendimiento (por ejemplo, Solana, Monad, @patrickogrady/rys8mdl5p#mitigation-strategy-enable-profit-maximizing-builders-to-minimize-invalidtps">hypersdk) se aproxima a la de un secuenciador perezosopor ejemplo,@astriaorg/hj6ccpp9t">astria). más tarde volveremos para compararlos con rollups basados en ethereum + preconfs.

secuenciación vs. ejecución

blockchains son máquinas de estado replicadas. los nodos descentralizados mantienen y actualizan cada uno su propia copia del estado del sistema. para avanzar en la cadena, los nodos ejecutan la función de transición de estado (stf) sobre el estado actual + nuevas entradas (por ejemplo, nuevas transacciones). esto produce el nuevo estado.

utilizaremos los siguientes términos a lo largo de esta sección:

  • válido sintácticamente: la transacción está bien formada con una estructura de transacción y firma adecuada.
  • válido semánticamente: la transacción realiza una transición de estado válida (por ejemplo, paga las tarifas requeridas).
  • secuencia - determinar el orden y la inclusión de datos.
  • ejecutar - interpretar y actuar sobre los datos de acuerdo con el stf.
  • construir - crear un bloque (o fragmento de bloque parcial) a partir de transacciones almacenadas localmente.
  • verificar: realizar la verificación sintáctica y/o semántica requerida de un bloque (o fragmento/chip de bloque parcial).
  • replicar - difundir un bloque (o fragmento/fragmento de bloque parcial) a otros validadores.

enfoquémonos en la secuenciación y ejecución, porque estas son las tareas principales necesarias para calcular el estado de la cadena:

además, los nodos verifican y replican los datos en toda la red. Los nodos llegan a un consenso para mantener una vista consistente de la cadena.

sin embargo, las diferentes arquitecturas de cadena divergen significativamente en quién es responsable de estas tareas y cuándo lo hacen (por ejemplo, la construcción y verificación de bloques pueden o no incluir la ejecución). el tiempo de extremo a extremo del completo replicación de máquina de estados (smr)el bucle dicta los límites inferiores de la latencia del sistema. Diferentes construcciones pueden producir tiempos muy variables, por lo que un proceso smr que sea eficientetuberíasEstas tareas son necesarias para un rendimiento de baja latencia y alta capacidad de procesamiento.

en las siguientes secciones, veremos que una idea central del procesamiento eficiente en serie es centrarse en lograr consenso sobre las entradas de ejecución en lugar de los resultados de ejecución. esto requiere relajar ciertas restricciones sobre qué transacciones pueden incluirse. luego necesitaremos reintroducir algunas restricciones más débiles para asegurar que el sistema siga siendo útil y resistente a los ataques (por ejemplo, evitando vectores dos de transacciones que no paguen tarifas).

smr tradicional

smr tradicional (por ejemplo, ethereum) acopla estrechamente la secuenciación y la ejecución. Los nodos completos secuencian y ejecutan continuamente todas las transacciones de la capa base, ambas son requisitos previos para que los nodos lleguen a un consenso. Además de verificar que todos los datos del bloque estén disponibles (y secuenciados), los nodos también deben ejecutar el bloque para verificar que:

  • todas las transacciones son sintáctica y semánticamente válidas
  • el nuevo estado calculado coincide con el proporcionado por el líder

los validadores solo votarán por un bloque y construirán sobre él una vez que hayan verificado de forma independiente su estado. Esto significa que la ejecución ocurre al menos dos veces antes de que se pueda llegar a un consenso (es decir, el productor de bloques ejecuta durante la construcción + los validadores receptores ejecutan nuevamente para verificar).

En este modelo tradicional, tanto la construcción como la verificación incluyen la ejecución.


fuente: @patrickogrady/rys8mdl5p#hacer-el-caso-para-la-replicación-de-máquina-de-estado-desacoplada-dsmr">vryx: fortaleciendo la replicación de máquina de estado desacoplada

streaming smr

streaming smr (por ejemplo, solana) es una forma eficiente de canalizaciónlos productores de bloques continuamente “transmiten” fragmentos de bloques (llamado tiraso fragmentos) a medida que se construyen. otros nodos reciben y verifican (incluida la ejecución) estos fragmentos continuamente, incluso mientras el resto del bloque aún se está construyendo. esto permite que el próximo líder comience a construir su bloque antes.


fuente: @patrickogrady/rys8mdl5p#making-the-case-for-decoupled-state-machine-replication-dsmr">vryx: fortifying decoupled state machine replication

en este modelo de transmisión, la construcción y verificación aún incluyen secuenciación y ejecución. esto aumenta la eficiencia de SMR en relación a SMR tradicional sin relajar ninguna restricción de que todas las transacciones incluidas sean tanto semántica como sintácticamente válidas.

ejecución asincrónica

enfoque integrado

¿Ahora, podemos obtener un rendimiento aún mejor si relajamos esas restricciones?

la ejecución asincrónica elimina la ejecución del camino principal del consenso: los nodos simplemente llegan a un consenso sobre el orden de los datos sin ejecutar primero esos datos. esto es más eficiente, por esoSolanayMonadambos planean implementar la ejecución asincrónica.

el líder construiría y replicaría un bloque (o fragmentos) sin necesidad de ejecutarlo. luego, otros validadores votarían sobre él sin ejecutarlo tampoco. los nodos solo llegan a un consenso sobre el orden y la disponibilidad de transacciones. esto es suficiente porque, dado un stf determinista, todos eventualmente calcularán el mismo estado. la ejecución no necesita detener el consenso, puede ejecutarse de forma asincrónica. esto puede abrir el presupuesto de ejecución para los nodos (dándoles más tiempo para gastar en la ejecución) al tiempo que se reducen los pasos requeridos (y por lo tanto el tiempo) para alcanzar un consenso.

el orden determina la verdad. la ejecución simplemente la revela. cualquier persona puede ejecutar los datos para revelar la verdad una vez que su ordenamiento está finalizado.

probablemente por eso Keone cree que en última instancia, cada cadena de bloques utilizará ejecución asincrónica, y es una pieza clave de La visión final de Toly para Solana:

"La ejecución síncrona requiere que todos los nodos que votan y crean bloques estén sobreaprovisionados para el peor de los casos de tiempo de ejecución en cualquier bloque... Los nodos de consenso pueden realizar menos trabajo antes de la votación. el trabajo se puede agregar a greGate.iod y por lotes, lo que hace que se ejecute de manera eficiente sin errores de caché. Incluso se puede ejecutar en una máquina completamente diferente a la de los nodos de consenso o líderes. Los usuarios que deseen una ejecución sincrónica pueden asignar suficientes recursos de hardware para ejecutar cada transición de estado en tiempo real sin esperar al resto de la red.

Actualmente, los validadores reproducen todas las transacciones lo más rápido posible en cada bloque y solo votan una vez que se ha calculado el estado completo del bloque. El objetivo de esta propuesta es separar la decisión de votar en un tenedor de la transición completa del estado para el bloque.

vale la pena señalar que también queremos asegurarnos de que la verdad se revele fácilmente a los usuarios, y eso significa un sólido soporte para clientes ligeros. Algunos de estos diseños que retrasan la ejecución significativamente harían que esto fuera un desafío (p. ej., Solana considerando requerirlo solo una vez por época) vs. otros que proporcionan una raíz de estado en un intervalo más corto (por ejemplo, como en el hypersdk).

enfoque modular

¡La separación de la secuenciación y la ejecución puede sonar muy familiar porque este es el enfoque "modular" también! Mezcle y combine diferentes capas que se especialicen en diferentes tareas. La separación de la secuenciación y la ejecución es el principio de diseño clave de los secuenciadores perezosos (por ejemplo, Astria):

  • secuenciación - los nodos de secuenciador solo llegan a un consenso sobre el orden y la disponibilidad de los datos de rollup (es decir, se secuencian pero no se ejecutan).
  • Ejecución: los nodos acumulativos ejecutan sus datos respectivos después de que el secuenciador se haya comprometido con ellos.

La diferencia principal aquí es que los nodos de la cadena integrada ejecutan después de la secuenciación, mientras que los secuenciadores perezosos lo envían a un conjunto completamente diferente y diverso de actores. Los secuenciadores perezosos son completamente ignorantes de las máquinas de estado de rollups. Nunca ejecutan estas transacciones. Los rollups manejan la ejecución asincrónica.

El enfoque integrado proporciona una interoperabilidad más fluida entre los usuarios del entorno de ejecución, pero reduce la flexibilidad en cuanto a los desarrolladores de aplicaciones (por ejemplo, máquinas virtuales personalizadas, diferentes tiempos de ranura).reglas de precios y ordenamiento de transacciones específicas de la aplicación implementadas por consenso, etc.. El enfoque modular proporciona más flexibilidad y soberanía para que los desarrolladores posean dominios personalizados, pero es más difícil unificar la experiencia en todos ellos.

en cualquier caso, una tubería realmente grande y rápida para ordenar datos es la primitiva que necesitamos:

sin embargo, debes tener en cuenta que técnicamente puedes usar prácticamente cualquier cadena como un secuenciador perezoso. al final del día, es solo un gran conducto de datos. un rollup puede arrojar ingenuamente sus datos arbitrarios a su capa base de elección (ya sea ethereum, bitcoin, monad, etc.) para usarla implícitamente como su secuenciador. los nodos de rollup pueden ejecutar asincrónicamente los datos después del hecho.

La diferencia en la práctica es que las cadenas a las que nos referimos como "secuenciadores perezosos" están especializadas para esta tarea, lo cual es mucho más fácil decirlo que hacerlo (por ejemplo, admitir tipos de transacciones necesarios, exponer interfaces fáciles, implementar infraestructura MEV, tiempos de ranura rápidos, inclusión de transacciones confiable, alta velocidad de transferencia, etc.). Como resultado, los nodos para cadenas integradas terminan ejecutando la mayor parte de los datos que incluyen, mientras que los secuenciadores perezosos dejan eso principalmente a los rollups.

por eso no es tan simple como "¿por qué no usamos solana (o cualquier otra cadena cuando ese nunca ha sido el objetivo de diseño) como un secuenciador de rollup?" :

  • falta la infraestructura mev necesaria diseñada específicamente para rollups (por ejemplo, infraestructura pbs necesaria, mecanismos de interoperabilidad entre cadenas, compositor para abstraer los pagos de tarifas para los usuarios de rollup en tokens de gas de capa base, etc.)
  • carece de tipos de transacción nativos diseñados para la publicación de datos de rollups.
  • compitiendo contra el entorno de ejecución nativo (por ejemplo, está diseñado explícitamente para consumir la mayor cantidad de datos proporcionados posible, dejando menos espacio y una inclusión confiable de transacciones, etc.).
  • compitiendo por el apoyo general de los desarrolladores y la priorización de las actualizaciones. Probablemente estés más inclinado a ir al protocolo y al equipo especializados en ayudarte a lanzar rollups y diseñar su protocolo específicamente pensando en ti, en lugar de aquel en el que la mayoría de la comunidad piensa que los rollups son un poco estúpidos.

fortaleciendo smr desacoplado

ahora, ¿podemos abordar esos problemas que surgen al relajar estas restricciones? En resumen, sí, las implementaciones ingenuas introducen problemas como permitir transacciones inválidas que no pueden pagar tarifas (lo cual sería un vector dos si se implementa ingenuamente), pero se pueden abordar de manera que no sean problemas graves.

no nos detendremos demasiado en los detalles aquí, pero puedes consultarPatrick o’grady’strabajo increíble en@patrickogrady/rys8mdl5p#fortaleciendo-dsmr-desacoplado-para-fortificar-smr-desacoplado,-tolysjuego final de ejecución asincrónicayImplementación de Monad de los costos de transportesobre cómo abordar estos problemas. Una vez más, las soluciones a estos problemas sorprendentemente se parecen casi en ambos lados, el lado modular y el lado integrado.

el resumen es que puedes reintroducir algunas restricciones mucho más débiles (en comparación con la ejecución sincrónica con verificación completa) que conservan la mayoría de los beneficios de rendimiento sin dejar abiertos un montón de ataques.

actores dentro del protocolo vs. actores fuera del protocolo

Es importante darse cuenta de que los procesos anteriores solo tuvieron en cuenta ingenuamente a los actores dentro del protocolo. En realidad, los actores fuera del protocolo juegan un papel enorme en estas cadenas de suministro de transacciones. Esto es lo que vimos anteriormente para los validadores (dentro del protocolo) en SMR tradicional:


fuente: @patrickogrady/rys8mdl5p#making-the-case-for-decoupled-state-machine-replication-dsmr">vryx: fortificando la replicación de máquina de estado desacoplada

en la práctica, sin embargo,casi todos los validadores de Ethereum externalizan la construcción de bloques a través de mev-boostcon los tres principales constructores (beaver, titan y rsync) construyendo casi todos estos bloques. tenga en cuenta que beaver y rsync censuran las transacciones de OFAC mientras que titan no lo hace.


fuente: mevboost.pics

Los relés se encargan de replicar estos bloques al resto de la red. También son relativamente pesados, con los cuatro principales operadores (ultra sound, bloxroute, agnóstico y flashbots) transmitiendo la gran mayoría de los bloques. Bloxroute y flashbots censuran las transacciones OFAC, mientras que agnóstico y ultra sound no lo hacen.


fuente:mevboost.pics

también debería ser no sorpresa que veamos tendencias muy similares en las optimizaciones de latencia aquí, como discutimos anteriormente. la tendencia es haciarelés optimistasque ya no realizan verificación de bloques antes de la replicación porque es simplemente más rápido. Los secuenciadores perezosos pueden considerarse como redes de retransmisión incentivadas.

estos ejemplos destacan cómo MEV distorsiona los incentivos de beneficio en estos sistemas. Los validadores externalizan la producción de bloques porque los constructores sofisticados pueden capturar más valor en comparación con los bloques secuenciados de manera ingenua.

incluso bajo ejecución asincrónica, a menudo habrá productores de bloques fuera del protocolo ejecutando transacciones durante la construcción para maximizar el valor. Por ejemplo, es muy probable que los secuenciadores perezosos tengan constructores de maximización de beneficios en alguna forma de PBS. El hecho de que un productor de bloques externo siempre esté incentivado a ejecutar completamente y optimizar el valor de un bloque puede ser útil en configuraciones donde relajamos las restricciones en la ejecución asincrónica. Aún así, otros validadores no tendrían que volver a ejecutar antes de votar.

componibilidad síncrona universal

definiciones

¿Ahora, podemos obtener la soberanía y flexibilidad que ofrecen las cadenas modulares, pero reunirlas para que se sientan como una cadena integrada? ¿Podemos tener nuestro pastel y comérnoslo también, o simplemente terminamos construyendo Solana con pasos adicionales?

cuando escuchas a la gente hablar sobre arreglar la fragmentación de rollup, probablemente has escuchado las grandes palabras de moda alrededorcomposabilidad sincrónica universal (USC). Sin embargo, esta ha sido probablemente tu reacción:

Estos términos se utilizan con diferentes significados, y a menudo se utilizan incorrectamente de manera intercambiable. Necesitamos establecer algunas definiciones concretas. Definimos los términos necesarios a continuación en el contexto de la composibilidad entre cadenas.

ten en cuenta que discutiremos los 'rollups' en el resto de este informe, pero muchos de estos conceptos también se aplican a otros tipos de 'l2s' como los validiums.Simplemente no quiero pelear de nuevo por lo que diablos es un l2.

en los siguientes ejemplos:

  • run = rollup a
  • rb = Rollup B
  • tA1 = transacción 1 en run
  • tB1 = transacción 1 en rb
  • bA1 = bloque 1 en runa
  • bb1 = bloque 1 en rb

ten en cuenta que aquí definimos el "tiempo" como la "altura de la ranura". El tiempo es puramente relativo al observador. La única noción objetiva de tiempo que tenemos es un ordenamiento relativo por un observador compartido, es decir, un consenso compartido (donde ese "consenso" puede ser un único actor o un mecanismo descentralizado).

si ambos rollups tienen un mecanismo de consenso que proporciona el ordenamiento, podemos afirmar:

  • bA1 es antes que ba2
  • bb1 es antes de bb2

sin embargo, la única manera de afirmar:

  • ba1 está al mismo tiempo en bB1, y por lo tanto
  • ta1 y tb1 ocurrir sincrónicamente, es si
  • comparten un pedido proporcionado por un consenso compartido para ese espacio dado.

Por lo tanto, la composabilidad sincrónica entre cadenas requiere definicionalmente algún tipo de secuenciador compartido para esa altura de ranura. Las cadenas sin uno solo pueden tener composabilidad asincrónica.

sin embargo, tenga en cuenta que podemos tener composibilidad atómica asincrónica. lamentablemente, a menudo noto que las personas usan "atómico" y "sincrónico" indistintamente, pero son términos diferentes.

con eso fuera del camino, veamos si podemos reintroducir la composabilidad sincrónica en las cadenas modulares. Si podemos hacerlo, entonces eso puede parecerle a neGate.io el valor de las cadenas integradas. Este es el resumen que analizaremos:

  • la secuenciación compartida puede proporcionar inclusión atómica síncrona por sí sola (lo cual es mucho más débil que la composibilidad).
  • combinar un secuenciador compartido con algún mecanismo de seguridad criptográfica (por ejemplo, agglayer) puede fortalecer esta garantía de inclusión en una composición real.
  • Las garantías de seguridad proporcionadas por el agglayer para la seguridad entre cadenas también se pueden usar sin un secuenciador compartido (es decir, en el entorno asíncrono).
  • veremos cómo también podemos simular los efectos de la composabilidad sincrónica, aunque de manera menos eficiente en términos de capital, utilizando la criptoeconomía (colateralizando directamente transacciones entre cadenas).

inclusión atómica - secuenciación compartida

La secuenciación compartida significa que para una altura de ranura dada, una sola entidad (el "secuenciador", también conocido como el "proponente") tiene derechos de monopolio para secuenciar (es decir, proponer bloques para) múltiples cadenas. Para reiterar, estos secuenciadores compartidos de los que generalmente hablamos son secuenciadores perezosos. llegan a un consenso sobre el orden y la disponibilidad de los datos de rollup, pero no los ejecutan. son completamente ignorantes de las máquinas de estado de los rollups.

Como escribí anteriormente, esto significa que los secuenciadores compartidos perezosos pueden proporcionar un compromiso creíble para incluir paquetes de cadena cruzada (es decir, un conjunto de transacciones):

  • atómicamente, o todas las transacciones se incluirán o ninguna lo hará,
  • sincrónicamente - al mismo tiempo (altura de la ranura)

esto permite una extracción de MEV más eficiente por súper constructores(es decir, constructores de cadena cruzada) al realizar acciones de cadena cruzada, ya que ya no tienen que tasar el riesgo de que una pierna del paquete de cadena cruzada pueda fallar. La sincronía aquí puede proporcionarles implícitamente atomicidad.

desvinculación entre cadenas

Ahora, ¿cómo hacemos esto sin confiar completamente en el constructor y/o proponente activo para el secuenciador compartido? Si solo enviamos dos transacciones firmadas de manera independiente (t1y t2) para cada rollup, el secuenciador compartido aún podría decidir incluir solo uno u otro.

por ejemplo, hoy en día no hay noción de un formato de paquete nativo en el EVM, por eso los buscadores confían totalmente en los constructores/relays para no desempaquetarlos. Cualquiera que vea un paquete de transacciones firmadas independientemente antes de que sean comprometidas por el líder actual puede desempaquetarlos. Esto generalmente está bien, porque los constructores y relays tienen incentivos para mantener sus reputaciones y proteger los paquetes de búsqueda, pero cuando se rompe esa confianza (o son engañados por participantes deshonestos para revelar las transacciones),desagregar puede ser increíblemente rentable.

aquí necesitamos una garantía de seguridad mucho más fuerte si queremos una verdadera interoperabilidad entre cadenas. no estamos hablando solo de tomar dinero de un buscador. si los contratos defi entre cadenas se diseñaran bajo la suposición de que los paquetes entre cadenas serán respetados, pero luego esta confianza se rompe, los resultados serían catastróficos para esos protocolos (por ejemplo, en un paquete de puente entre cadenas de quema y creación de monedas, podrías omitir la quema pero crear fondos en el otro lado).

necesitamos garantías de seguridad inquebrantables para implementar la interoperabilidad entre cadenas. esto significa que debemos definir un formato de transacción que asegure que múltiples transacciones en un paquete de intercambio de cadenas se incluyan juntas. si una se incluye sin la otra, necesitamos una garantía de seguridad de que la que se incluye es inválida.

Esto significa que necesitamos crear una nueva estructura de transacciones para paquetes de cadena cruzada que no pueden ser desagregado. la solución ingenua es "hagamos simplemente un nuevo tipo de transacción para estos rollups", pero eso no es tan fácil. requeriría cambios en la máquina virtual para estos rollups, perdiendo la compatibilidad hacia atrás. También acoplarías estrechamente los rollups al modificar sus máquinas de estado de manera que cada transacción solo sea válida junto con la otra al ser incluida.

Sin embargo, hay una forma más limpia de hacer esto. Puede hacer que cada transacción del paquete también firme el hash del paquete y, a continuación, anexe el resumen del hash a un campo de transacción libre (por ejemplo, calldata en la EVM). El paquete acumulativo debe modificar su canalización de derivación para comprobarlo, pero la máquina virtual puede permanecer sin cambios. Con esto en su lugar, los usuarios de Rollup podrían enviar paquetes de cadena cruzada que están seguros de que no se pueden desagregar. Intentar hacerlo los invalidaría.


fuente: Ben fisch

garantías de inclusión vs. garantías estatales

con lo anterior en su lugar, ahora hemos establecido cómo un secuenciador compartido perezoso:

  • puede proporcionar un compromiso creíble de inclusión sincrónica atómica para paquetes entre cadenas (es decir, que todas las transacciones serán incluidas o ninguna lo será)
  • no se puede proporcionar un compromiso creíble en torno al estado resultante de que dichas transacciones se incluyan (por ejemplo, es posible que ambas transacciones se incluyan, pero alguna otra transacción se coloque por delante y provoque que se revierta)

Desafortunadamente, la inclusión atómica por sí sola es una garantía mucho más débil. Este compromiso con la inclusión atómica es suficiente para que el constructor tenga una gran confianza en que el bloque de acumulación cruzada que crea creará el estado resultante que desea si se confirma. El constructor necesariamente conoce el estado resultante del bloque, porque lo ejecutó para construirlo.

Aún así, tenemos un problema: ¿cómo sabe todo el mundo con certeza cuál será el estado?

considera un ejemplo:

  • tenemos dos rollups (ra y rb) que comparten el mismo secuenciador perezoso
  • Quiero usar un puente de quema y acuñación entre ra → rb que queme simultáneamente en ra y acuñe en rb
  • El contrato puente de acuñación en rb necesita una garantía de la transición de estado en ra (quemado) para acuñar en rb, pero el contrato no puede saber si el token fue realmente quemado en ra en el momento de la ejecución porque no tiene acceso al estado de ra

si presentamos un paquete adecuado, el secuenciador perezoso puede garantizar que la transacción de quema se incluyó en el flujo de transacciones para ra, pero no se sabe, por ejemplo, si tal vez otra transacción llegó antes que ella y la invalidó (lo que significa que las fichas no se quemaron realmente).

El simple hecho de compartir un secuenciador diferido no es suficiente para permitir que las cadenas accedan a los estados de los demás durante la ejecución del paquete. La componibilidad sincrónica requiere la capacidad de la máquina de estados de cada cadena para acceder al estado de la otra cadena (por ejemplo, el propio contrato de puente en RB necesita conocer el estado de RA) en el momento de la ejecución. Esa capacidad es exactamente lo que permite la componibilidad completa dentro de una sola cadena integrada.

el constructor no puede simplemente decirle a los contratos 'confía en mí, hermano, saldrá bien'. Vemos que la inclusión atómica es una herramienta útil para los buscadores que confían en los constructores para ejecutar correctamente sus paquetes, pero no es suficiente para abstraer la interoperabilidad entre cadenas.

para solucionar esto, necesitamos agregar algún otro mecanismo además de la secuenciación compartida:

como mencionamos, el constructor personalmente sabe cuál será el estado resultante si el paquete se incluye atómicamente. ¿Entonces, cómo pueden proporcionar un compromiso creíble para convencer a todos los demás sobre cuál será el estado resultante si se incluyen sus transacciones?

ampliamente tienen dos opciones:

  • criptoeconómico: el constructor puede apostar una gran cantidad de capital para garantizar completamente sus acciones entre cadenas.Esto a menudo es ineficiente y posiblemente una composabilidad simulada, pero es un ejemplo útil para demostrar la funcionalidad.
  • cryptográfico - podemos tener un mecanismo que proporcione garantías criptográficas de que las transacciones producirán el estado deseado.

seguridad criptoeconómica - bonos constructor

vamos a ver un ejemplo para ver cómo la criptoeconomía podría simular los efectos de la componibilidad síncrona. el ejemplo clásico utilizado es el de un préstamo relámpago entre cadenas. Quiero sacar un préstamo flash en ra, usarlo para un arbitraje en rb y devolverlo en ra en el mismo espacio de tiempo. Esto es posible si estos protocolos defi implementan una funcionalidad personalizada de cadena cruzada con lo que llamaremos 'contratos bancarios' en cada lado:

ahora, en cuanto a ese problema de seguridad, el contrato en ra y rb necesita conocer los estados de cadena del otro para hacer esto de manera segura, pero no hemos hecho nada al respecto. Bueno, la "solución" criptoeconómica aquí es en realidad bastante rudimentaria: haces que el superconstructor actúe como proveedor de liquidez y ponga el valor completo del préstamo flash. Si las transacciones fallaran, entonces el protocolo de préstamos simplemente se queda con su participación de todos modos. Puedes ver por qué esta no es la solución más satisfactoria.

seguridad criptográfica - aglomerado

qué es

el AggLayeres un protocolo descentralizado que proporciona tres beneficios principales:

  1. seguridad para composabilidad cruzada rápida: produce pruebas zk que brindan seguridad criptográfica para la interoperabilidad atómica entre cadenas a baja latencia (es decir, más rápido que los bloques de ethereum) al operar de forma asincrónica o sincrónica. el diseño aísla de forma única las fallas de cadena para que pueda admitir cualquier entorno de ejecución y probador.
  2. Fungibilidad de activos entre cadenas: cuenta con un puente compartido para asegurar la fungibilidad de activos a través de las agregaciones de cadenas (es decir, las cadenas que la utilizan) para que los usuarios no terminen con un montón de activos envueltos. El contrato puente se encuentra en Ethereum, que es elcapa de liquidación. (tenga en cuenta que diferentes cadenas todavía pueden tener diferentes suposiciones de seguridad debido a la implementación, que se cubre más abajo.)
  3. optimización de gas: aggreGate.io prueba para aggchains amortizar costos fijos a través de muchas cadenas. El contrato de depósito compartido también optimiza los costos de gas al permitir transferencias directas de l2 a l2 sin tocar el l1.


fuente: Brendan farmer,Blockchain agregados

aclarar dos conceptos erróneos comunes sobre lo que no es el aglomerado:

  • El agglayer no es solo un servicio para aggreGate.io pruebasesto es confuso porque en realidad agrega pruebas de Gate.io y ponen 'agregación' en el nombre de la cosa. Sin embargo, el propósito de agglayer es agregar cadenas. La distinción importante para los propósitos de esta publicación es que la agregación de pruebas por sí sola no logra las garantías de seguridad que necesitamos aquí.
  • El aglomerado y los secuenciadores compartidos no son diseños opuestos- aunque no es necesario usarlos juntos,de hecho, son complementos perfectosque proporcionan diferentes garantías. El agglayer es completamente agnóstico a cómo se secuencian las aggchains. No maneja ninguno de los mensajes entre las cadenas, por lo que en realidad depende explícitamente de la infraestructura de coordinación del mercado libre (por ejemplo, relés, constructores, secuenciadores aislados, secuenciadores compartidos, etc.) para componer las cadenas.

ahora veamos cómo funciona.

la construcción de puentes apesta

conectar entre rollups hoy es complicado. Digamos que quieres conectar eth entre dos rollups optimistas de Ethereum (ORU).unay orob:

  • a través del puente nativo, pagarás costosas tarifas de gas de ethereum l1 (es decir, al cruzar desde oruun→ ethereum + ethereum → orub) y el viaje de ida y vuelta tomará más de una semana (debido a la ventana a prueba de fallos).
  • direct rollup → rollup - el eth envuelto que recibes en Gate.ioben realidad no sería fungible con el eth nativo para orua. la dependencia de la trayectoria de pasar por diferentes puentes rompe la fungibilidad. por ejemplo, si el oruunaEl puente fue drenado, entonces el eth envuelto al que cruzaste a Orub no estaría respaldado, mientras que el eth nativo en Orub estaría bien. La fragmentación de la liquidez apesta, por lo que esto no es algo que los usuarios quieran. En la práctica, los usuarios se conectan directamente a través de los proveedores de liquidez. Alguien te adelantará el ETH en Oruby mantén tus fondos en Gate.iouna. pueden retirar a través del puente nativo y esperar, pero cobrarán tarifas caras por el riesgo y el alto costo de capital que incurren.

Puede pensar que los ZK Rollups resuelven esto desde el principio, pero en realidad no es así. Las implementaciones ingenuas aún requieren que envíe transacciones L1, lo que nuevamente es costoso y generalmente bastante lento (por ejemplo, debido a los tiempos de finalidad de Ethereum, los tiempos de generación de pruebas, la frecuencia con la que se publican las pruebas en la práctica, etcétera).

Los usuarios no quieren lidiar con esto. Quieren simplemente tener fondos y usar aplicaciones. El puenteo debería estar completamente abstraído - los activos deberían ser fungibles y moverse rápidamente, a bajo costo y de forma segura.

Aquí es donde entra en juego compartir un contrato puente. Un contrato de puente compartido abre la puerta a que las cadenas lo utilicen para tender puentes directamente entre sí sin pasar por la L1.

Los tokens también pueden ser fungibles en todas las aggchains como resultado. Conectando ETH desde Run → rb o rc → rb quema y acuña la misma ficha. No es un activo envuelto en cerradura y acuñación. Es ETH nativo. Esto es posible porque todos los activos se depositan juntos y se liquidan a través del puente unificado. Este es un punto débil importante para las L2 hoy en día que debe abordarse.

sin embargo, tenga en cuenta que un usuario que tenga eth en runa Vs. Rbpodría tener un perfil de riesgo diferente si las diferentes cadenas usan verificadores diferentes (por ejemplo, tal vez te hayas mudado de una cadena segura a una con un error de circuito). los perfiles de riesgo no cambian entre las cadenas que utilizan estándares comunes aquí (que en la práctica es la norma hoy en día). estándares más uniformes y verificación formal solo mejorarán esto con el tiempo incluso a medida que se agregan dominios heterogéneos.

pruebas pesimistas

Las aggchains envían sus actualizaciones de estado y pruebas a los nodos apostados de Agglayer que las organizan, generan compromisos con todos los mensajes y crean pruebas recursivas. a continuación, agglayer genera una única prueba de zk de aggreGate.iod (a la que llaman "prueba pesimista”) para establecer todo lo relacionado con las cadenas de agregación en ethereum. Debido a que la agregación de pruebas aquí amortiza los costos a través de cualquier cantidad de cadenas arbitrarias, es práctico desde una perspectiva de costos publicarlos en ethereum para un rápido establecimiento lo antes posible. El programa de prueba pesimista está escrito en código Rust regular, utilizando zkvm sp1 de Succinct para facilitar el desarrollo y el alto rendimiento.

estas pruebas pesimistas refuerzan:

  • contabilidad intercadena: demuestra que todos los invariants del puente se respetan (es decir, ninguna cadena puede retirar más tokens de los que se han depositado en ella).
  • La validez de las aggchains - demuestra que cada cadena ha actualizado su estado de manera veraz, sin equivocaciones de cadena o bloques inválidos.
  • Seguridad entre cadenas: demuestra que las actualizaciones de estado que son el resultado de transacciones entre cadenas con una latencia inferior a Ethereum son consistentes y se pueden liquidar en Ethereum L1 de forma segura. Esto incluye la ejecución atómica exitosa de paquetes de cadena cruzada tanto de forma sincrónica como asíncrona.

con esto, el agglayer asegura que el asentamiento ocurra en ethereum solo si y solo si se cumplen las condiciones anteriores. si no se cumplen, entonces las cadenas respectivas no pueden liquidarse. como tal, el agglayer puede permitir que un coordinador (por ejemplo, un secuenciador compartido o un constructor) pase mensajes entre cadenas con baja latencia sin confiar en ese coordinador para la seguridad.

interoperabilidad rápida y segura entre cadenas cruzadas

Las cadenas de agregación pueden utilizar las garantías proporcionadas aquí tanto en entornos de interoperabilidad asincrónica como síncrona para expresar restricciones sobre la validez del bloque en relación con otros rollups.

Esto permitiría a los usuarios enviar paquetes de cadena cruzada que deben ejecutarse correctamente de manera atómica en ambos lados. No solo la inclusión atómica. De hecho, se está haciendo cumplir que el estado resultante de ellos debe ser exitoso. Esto es perfecto para complementar exactamente lo que describimos como deficiente en las garantías de inclusión atómica de un secuenciador compartido solo.


fuente:Brendan agricultor, Cadenas de bloques agregadas

tomando nuestro ejemplo anterior:

  • tenemos dos rollups (runay rbcompartiendo el mismo secuenciador perezoso y el aglomerante
  • envío un conjunto de cadena cruzada para quemar eth simultáneamente en ra y acuñar eth en rb
  • un constructor súper construye un bloque para ambas cadenas al hacer esto, al cual el secuenciador compartido se compromete
  • el contrato puente de acuñación en rbpuede emitir optimistamente el eth dependiendo del estado de runa (en este caso, ejecutando con éxito la quema de eth)
  • estos bloques y pruebas se envían a la capa de agregación, lo que demuestra que ambas cadenas actuaron de manera válida (tanto de forma independiente como con respecto a la otra) y que el puente compartido se utilizó de forma segura

Para que esto se resuelva correctamente en Ethereum, ambas partes del paquete deben ejecutarse correctamente. Si falla uno de los lados, los bloques serían inválidos y no se podrían resolver. Eso significa que si el secuenciador compartido firmó un bloque en el que no se quemó ETH en R.unapero acuñado eth en rbSi se encontrara una prueba de trabajo más larga en otra cadena, se produciría una reorganización de ese bloque. Esto garantiza la seguridad de todas las cadenas y evita que se resuelvan acciones deshonestas entre cadenas.

hay dos puntos a tener en cuenta con respecto a estas reorganizaciones:

  • serían increíblemente cortos porque serían detectados y comprobados de inmediato.
  • solo pueden ocurrir si el coordinador (por ejemplo, el secuenciador y/o el constructor) de la cadena a la que estás conectado es activamente malicioso.

estas reorganizaciones deben ser extremadamente raras y mínimas debido a los puntos anteriores, pero debido a esto, las aggchains tendrán control total sobre qué cadenas desean componer de manera atómica y bajo qué supuestos de confianza. por ejemplo, runpuede aceptar un estado de cadena de rb para componer con basado en el consenso de su secuenciador, pero para rcpuede que también solicite una prueba enviada, y para rdquizás quieren que aseguren cripto-económicamente todas las dependencias atómicas entre cadenas cruzadas. cada cadena puede hacer sus propios compromisos personalizables aquí para baja latencia y vivacidad. agglayer simplemente proporciona la base máximamente flexible y mínimamente dogmática para que las cadenas tengan interacciones seguras entre cadenas cruzadas.

También puede ver aquí por qué un diseño de este tipo es en la práctica incompatible con un diseño basado en fallos. En teoría podrían hacer esto, pero en ese caso sería posible experimentar reorganizaciones increíblemente profundas. Probar y resolver rápidamente todas las cadenas hace que el peor de los casos sea muy corto, lo que también actúa como un elemento disuasorio natural para cualquier intento malicioso.

aislamiento de fallas para demostradores heterogéneos

Es importante destacar que el Agglayer permite de forma única cadenas completamente heterogéneas. Puede tener un AggChain con cualquier máquina virtual personalizada, Prover, capas DA, etcétera mientras comparte un puente de forma segura con todos.

¿Cómo es posible esto? La razón por la que esto normalmente no es aceptable es porque un único participante defectuoso (por ejemplo, con un error de circuito) normalmente podría engañar a un puente y drenarlo de todos los fondos. Bueno, ahí es donde entra la prueba de contabilidad intercadena mencionada anteriormente. Estas pruebas aseguran que se respeten todas las invarianzas del puente, de modo que incluso en el caso de un probador no válido, solo se podrían drenar los fondos depositados en la cadena afectada. La falla está completamente aislada.

neutralidad creíble

Este tipo de infraestructura se ve muy beneficiada por una neutralidad creíble, por lo que la Código totalmente abierto IFOR Agglayer es territorio neutral.En un espíritu similar, el AggLayer utilizará eth como el único token de gas para pagar las tarifas de agregación de pruebas.

sin embargo, ciertamente no es perfecto. especialmente al principio, no será totalmente neutralmente creíble. es probable que haya una capacidad de actualización del contrato en el camino hacia la inmutabilidad y la consagración como un bien público.

Dicho esto, no tiene que ser perfectamente neutralmente creíble, nada lo es. (Veremos esto de nuevo a continuación con los rollups basados). En la práctica, ofrece probablemente la visión técnica más convincente y competitiva, y adopta una actitud intencionalmente minimalista hacia el bloqueo y la extracción de alquileres. El objetivo es permitir que las aggchains mantengan tanta soberanía como sea posible, al tiempo que pueden abstraer la composabilidad intercadenas minimizada de confianza.

Las aggchains no necesitan ninguna máquina virtual específica, entorno de ejecución, secuenciador, capa de datos, token de participación, token de gas o gobierno común. Las cadenas pueden salir cuando lo deseen. No hay requisitos de reparto de ingresos. No necesitas desplegar como un l3 en la cadena de otra persona.

las razones para lanzar l3s encima de l2s generales han sido en su mayoría, en mi opinión, soluciones temporales mientras se construyen arquitecturas similares a la capa de agregación. Sin embargo, hay que dejar claro que esta es una razón totalmente válida para lanzarlos hoy. La capa de agregación v1 es solo un contrato de puente compartido simple. La v2, con agregación de pruebas y la capacidad de obtener una interoperabilidad segura y de baja latencia, ni siquiera está en funcionamiento. No se puede esperar que la gente espere durante años cuando tienen la urgencia de lanzar algo hoy que les brinde la distribución más rápida.

Pruebas en tiempo real

Si bien faltan varios años para ser práctico en cualquier configuración de baja latencia, debemos tener en cuenta que la prueba en tiempo real también podría usarse junto con la secuenciación compartida para la seguridad entre cadenas. También es genial, así que lo cubriremos brevemente. Más específicamente, la prueba "en tiempo real" se refiere a los tiempos de prueba que son más cortos que los tiempos de ranura de la cadena en cuestión. Consideremos de nuevo el ejemplo del puente de acuñación y quemadura entre cadenas:

  • tenemos dos rollups (run y rb) compartiendo el mismo secuenciador perezoso
  • quiero usar un puente de quema y acuñación entre ra → rb que quema simultáneamente en ra y acuña en rb
  • El Super Builder crea un bloque de cadena cruzada que incluye un paquete de estas transacciones de cadena cruzada. Dentro de los bloques, el generador incluye una prueba de la transición de estado que se incluye en el otro paquete acumulativo.

Ya teníamos la garantía del secuenciador compartido de la inclusión del haz atómico síncrono, y ahora cada contrato puede verificar una prueba del estado de la otra cadena para saber que se ejecutará correctamente.

para la demostración en tiempo real, idealmente queremos que el tiempo de demostración sea solo una pequeña fracción del tiempo total de la ranura, maximizando así la "ventana de sincronía". esta es la parte del tiempo de la ranura en la que puedes procesar transacciones que operarían de forma sincrónica entre cadenas, ya que necesitas presupuestar suficiente tiempo en la ranura para crear la prueba y colocarla en el bloque.


fuente: Justin drake, demostración en tiempo real

Tenga en cuenta que implícitamente terminaríamos fusionando o colocando constructores y probadores aquí. Existe un claro incentivo para que los constructores optimicen las velocidades de prueba para que puedan construir hasta el último segundo y encajar tanto como sea posible en su bloque.


fuente: Justin Drake, demostrando en tiempo real

si este alto incentivo para la demostración en tiempo real se materializa en los próximos años, también debemos tener en cuenta que esto, por supuesto, no es en absoluto favorable para la demostración descentralizada. los probadores deberían ser relativamente centralizados, ya que se fusionan o se instalan junto con los constructores.

resumen

La componibilidad sincrónica universal es realmente genial, pero no está muy claro qué tan valiosa es en realidad. Internet es asincrónico y nunca lo sabrías. Esto se debe a que es rápido y la complejidad se abstrae. Eso es todo lo que quieren los usuarios.

Espero que la mayor parte del valor de usar algo como Agglayer no esté solo en la configuración síncrona. Más bien, es el hecho de que puede actuar como una forma de abstracción de cadena cruzada de rollup. Hacer que muchas cadenas se sientan más como una con los aspectos orientados al usuario que importan (por ejemplo, activos nativos más fungibles, funcionalidad de aplicación nativamente intercadenas, interoperabilidad rápida, etc.).

La componibilidad sincrónica es claramente valiosa desde el punto de vista financiero (por ejemplo, permitir liquidaciones, arbitraje más eficiente, refinanciamiento más eficiente mediante préstamos flash). Sin embargo, al igual que Internet es asíncrono y funciona bien, TradFi es, por supuesto, asíncrono. Es razonable querer ser incluso mejor que TradFi, pero debemos tener claro que la sincronicidad universal no es un requisito para una buena ejecución. También hay un costo real para construir y proporcionar infraestructura síncrona.

personalmente creo que el mejor argumento a favor de necesitar usc es que en la práctica conduce a una mejor experiencia de usuario y desarrollo. Es imposible negar el enorme beneficio que esto ha sido para ecosistemas como Solana. Sin embargo, esperemos que esto sea más un problema actual y no un problema eterno.

El simple hecho del asunto es que también es algo difícil para cualquiera razonar en esta etapa. Esto no es un binario "todo en cripto es sincrónico" o "todo es asincrónico." Creo que fundamentalmente tendremos que resolver y gravitar hacia este último, pero ambos pueden existir de manera ad hoc.

rollups basados en Ethereum

Bien, ahora deberíamos tener una buena idea del espacio de solución para abordar la fragmentación en los rollups. La siguiente pregunta es, ¿cómo deberíamos involucrar la capa base en todo esto? ¿Cuál es el papel de Ethereum aquí?

utilizaremos las siguientes abreviaturas a lo largo de:

  • bl - capa base
  • rollup basado en br
  • preconfs - preconfirmaciones

a menos que se indique lo contrario, el bl en cuestión del que hablaremos es ethereum, y los brs son ethereum brs. Sin embargo, los conceptos básicos se aplican ampliamente, ya que podrías lanzar brs en cualquier lugar.

rollups basados en vainilla

las implementaciones iniciales de rollup hace varios años fueron en realidadplaneado para ser brs, pero eran abandonado a favor de secuenciadores centralizados para baja latencia y alta eficiencia. Lo que ahora llamamos secuenciación basada, Vitalik se refiere a ella como "anarquía total“en ese momento. era relativamente impráctico e ineficiente antes de la evolución de la infraestructura de PBS de Ethereum (con constructores sofisticados).

Los brs fueron entonces llevados de vuelta al centro de atención en marzo de 2023,donde se definieron de la siguiente manera:

“Se dice que un rollup está basado, o secuenciado por L1, cuando su secuenciación es impulsada por la base L1. Más concretamente, un rollup basado es aquel en el que el próximo proponente L1 puede, en colaboración con los buscadores y constructores L1, incluir sin permiso el siguiente bloque de rollup como parte del próximo bloque L1.”

deberían ofrecer los siguientes beneficios:

“la secuenciación de dichos rollups, basada en la secuenciación, es máximamente simple y hereda la vitalidad y descentralización de l1. Además, los rollups basados están particularmente alineados económicamente con su base l1.”

Específicamente, obtienes la seguridad en tiempo real de ethereum:

«heredas la resistencia a la censura y la actividad de Ethereum. Entonces no solo tienes las garantías de liquidación de Ethereum, sino que también tienes la resistencia a la censura, la resistencia a la censura en tiempo real, no la retardada que conoces con la puerta de escape, sino la de tiempo real».

Ser un rollup basado es el diseño lógico una vez que hayas elegido una capa base:

"Ethereum está maximizando estas dos propiedades, seguridad y neutralidad creíble, es casi la definición de un derecho de rollup... Un rollup es aquel que ya ha comprado la suposición de seguridad de Ethereum. No está agregando una nueva suposición de seguridad. No estás cayendo en un eslabón más débil. simplemente está reutilizando la suposición de seguridad existente. Y dos, ya has aceptado Ethereum como una plataforma creíblemente neutral, de lo contrario habrías elegido otra cadena. Y ahora puedes preguntarte por qué no todo el mundo utiliza la secuenciación de la capa uno".

en su forma más simple, los brs ciertamente pueden lograr los objetivos de diseño anteriores. si el rollup no implementa su propio secuenciador, entonces implícitamente el proponente actual de ethereum decide qué se incluirá cada 12 segundos (tiempo de ranura de ethereum).

sin embargo, la secuenciación basada todavía tiene sus desventajas, que es exactamentepor qué los rollups suelen implementar su propio secuenciador:

  • Los usuarios de rollup no quieren esperar 12 segundos o más para bloques de Ethereum en preconfs rápidas.
  • preconfs seguros - a veces los bloques de Ethereum se reorganizan, por lo que los usuarios tienen que esperar aún más tiempo para estar seguros, lo cual nuevamente a los usuarios no les gusta. Los secuenciadores pueden ofrecer preconfs que no dependen de los bloques de Ethereum no finalizados y, por lo tanto, no necesitan reorganizarse incluso si Ethereum experimenta una reorganización breve.
  • publicación en lotes eficiente - los secuenciadores pueden agrupar una gran cantidad de datos, comprimirlos y publicarlos periódicamente en el bl de manera optimizada en costos (por ejemplo, asegurando el uso completo del blob).

rollups basados + preconfs

¿Entonces, podemos tener nuestro pastel y comérnoslo también? entrar basado preconfs.

Aquí explicaremos brevemente la intuición detrás de los preconfs basados en BRS para que podamos compararlos con los rollups tradicionales. Más adelante, volveremos para analizar los preconfs con mayor detalle en general (es decir, tanto los preconfs de BR como los de BL en las transacciones de Ethereum L1).

La idea principal es que los preconfs de br deben provenir de los proponentes de bl. Para proporcionar preconfs, estos proponentes deben poner alguna garantía (por ejemplo, re-estacar) y optar por condiciones adicionales de reducción (es decir, que los preconfs que proporcionen realmente lleguen a la cadena, como se prometió). Cualquier proponente dispuesto a hacerlo puede actuar como un secuenciador de br y proporcionar preconfs.

debemos tener en cuenta que los proponentes (es decir, validadores) se espera que deleguen este papel de proporcionar preconfs a entidades más especializadas conocidas como “Gate.ioways”. la entrega de preconfs requerirá una entidad relativamente sofisticada, y ethereum quiere mantener a los proponentes poco sofisticados.

sin embargo, se espera que los relés existentes también asuman este papel. El Gate.ioway solo actuaría como interfaz entre el usuario y el relé, por lo que agregar otra entidad independiente solo agrega complejidad y latencia (aunque la latencia también podría abordarse con la co-ubicación). El relé ya es confiable para los constructores y proponentes, por lo que estaríamos agregando otro requisito de confianza en ellos por parte de los usuarios aquí.

ten en cuenta que si bien los validadores actualmente actúan como proponentes de bloques de Ethereum, se está considerando una actualización mediante la cual el propio protocolo subastaría directamente los derechos de propuesta a través deSubastas de ejecución. Esto permitiría a entidades sofisticadas comprar derechos de propuesta directamente, evitando así la necesidad de que los validadores (los proponentes actuales) deleGate.io a ellos como se contempla aquí.

en cualquier caso, el punto importante es que cualquier preconf más rápido que el consenso de ethereum (12s) requiere un tercero de confianza (ttp). ya sea que tu ttp sea un validador restante, apostadoSubasta de ejecuciónganador, deleGate.io de Gate.io, o cualquier otra cosa - fundamentalmente no puede proporcionar seguridad en tiempo real para ethereum. ya sea que coinbase te esté dando un "preconf basado" como proponente de ethereum o un "preconf tradicional" como secuenciador de rollup - estás confiando en coinbase. del mismo modo, pueden depositar una fianza de algunos eth, pero en cualquier caso esto es independiente de la seguridad del consenso de ethereum.

debemos notar entonces que cualquier diseño preconf basado necesariamente resta valor a los objetivos declarados de brs con los que comenzamos (simplicidad y seguridad bl).Las preconfs basadas son cada vez más complejas, y no pueden proporcionar las garantías de seguridad en tiempo real de ethereum.

sin embargo, deberías conservar la capacidad de forzar una transacción directamente a través de una transacción bl si estos preconfers se desconectan o comienzan a censurar. estas garantías de ethereum deberían ser aún más fuertes cuando listas de inclusión se implementan.

para brs - ttps proporciona preconfirmaciones rápidas, y el bl proporciona seguridad eventual.

rollups no basados + fallback basado

ahora consideremos un rollup tradicional (es decir, no basado). su propio secuenciador (ya sea centralizado o descentralizado) brinda preconfirmaciones rápidas. más tarde, sus usuarios obtienen plena seguridad de ethereum con retraso. esto incluye la vivacidad (crecimiento del libro mayor + resistencia a la censura) que proviene de algún tipo deinclusión forzada o Respaldo de BLmecanismo.

Como señalé en ¿Los rollups heredan la seguridad?:

los rollups tienen la capacidad de exponer reglas de confirmación con propiedades de seguridad equivalentes a las de su cadena principal. Pueden recibir estas propiedades a lo sumo a la velocidad del consenso de su cadena principal (y en la práctica, a menudo es un poco más lento dependiendo de la frecuencia con la que el rollup publique en la cadena principal).

Los rollups también pueden proporcionar una regla de confirmación más flexible (es decir, los secuenciadores) para una mejor experiencia de usuario, pero conservan la opción de fallback en caso de fallo. Si tu secuenciador se detiene, puedes seguir avanzando.

ten en cuenta que la tiempo para seguridad eventuales la variable clave a optimizar aquí:

la suposición de que los usuarios de rollup pueden retroceder a una vivacidad equivalente a la cadena principal asume que se puede obtener inclusión forzada exactamente a la velocidad de los bloques de la cadena principal (por ejemplo, si el secuenciador de rollup te está censurando, que puedes forzar la inclusión de transacciones en el siguiente bloque de ethereum).

en la práctica, generalmente hay un breve retraso. si permites la inclusión forzada inmediata, podrías exponer censura rentable mev entre otras complejidades. sin embargo, hay diseños que pueden proporcionar garantías de vivacidad casi en tiempo realdesde la cadena de anfitrión (por ejemplo, tal vez a la velocidad de unos pocos bloques de la cadena de anfitrión en lugar de un bloque).

en este espíritu,Sovereign labs tiene un diseñoque hace lo siguiente:

  • secuenciación con permisos: los rollups establecen un secuenciador con permisos cuyas transacciones se procesan inmediatamente después de su inclusión en el bloque. Debido a que tienen un bloqueo de escritura en el estado del rollup, pueden proporcionar preconfirmaciones confiables más rápidamente que el tiempo de bloqueo del bloque.
  • secuenciación basada: los usuarios también pueden enviar transacciones directamente a su bl, pero se procesan con un retraso de n bloques (donde n es suficientemente pequeño). Esto reduce en gran medida el “tiempo hasta la seguridad eventual”, de hecho, incluso llaman al diseño “secuenciación basada con confirmaciones suaves” debido a eso! (¡nota que esta definición de brs entraría en conflicto con la definición que proporcionamos anteriormente, es decir, que el proponente de bl debe tener el derecho de secuenciar el br o ser deleGate.iod por ellos).

para los no-brs: ttps proporciona preconfs rápidas y el bl ofrece seguridad eventual.

¿Por qué?

como podemos ver, ambos caminos descritos anteriormente producen el mismo resultado efectivo:

Estos brs con preconfs ya no proporcionan la simplicidad o la seguridad en tiempo real de Ethereum. Entonces, ¿cuál es el punto de todo esto ahora? ¿Por qué no simplemente reforzamos los fallbacks en los rollups “tradicionales”? ¿Qué diablos es un rollup “basado” en este punto?

esto realmente vuelve a míPrueba de gobernanza Publicación del año pasado en la que discutí los casos de uso fundamentales para el replanteamiento específico de Ethereum:

1) técnico (compromisos del proponente) - no hay forma de evitarlo - si quieres un compromiso creíble con el ordenamiento de un bloque de Ethereum, tiene que provenir de los validadores de Ethereum.MEV-Boost++es un ejemplo de una aplicación hipotética que podría caer en esta categoría.

2) social: considero que la alineación de Ethereum es el caso de uso principal para la mayoría de las aplicaciones de restaking hoy en día, no la agrupación de seguridad económica o descentralización. Está llegando a decir " mira, somos un proyecto de EthereumEs por la misma razón que las cadenas siguen llamándose ethereum l2s.independientemente de la arquitectura.

Podemos modernizar esto en el contexto de preguntarnos ¿cuál es el valor de un "br + preconfs" sobre un "rollup tradicional + reserva rápida"?

1) técnico (compromisos del proponente) - ethereum brs con preconfs tienen un beneficio técnico fundamental: pueden obtener un compromiso creíble del proponente actual de ethereum con respecto a la inclusión y el ordenamiento de los contenidos de un bloque de ethereum. Esto es potencialmente valioso por las mismas razones por las que potencialmente queremos que un montón de rollups compartan un secuenciador. Si el proponente de bl también es el proponente de br (es decir, el secuenciador), entonces pueden proporcionar las mismas garantías de inclusión atómica con el bl que se pueden obtener entre cualquier rollup que comparta el secuenciador. Tienen un monopolio en ambas cadenas. Ahora bien, ¿cuánto valor tiene esto? Volveremos a eso en un momento.

2) social (alineación/neutralidad creíble) - te encante o lo odies,Alineación de Ethereumes un punto de venta para ser un br. Voy a ser honesto, no sé mucho sobre taiko más allá de que son los chicos de br, y probablemente no sabría quiénes son si no fueran los chicos de br. Todos quieren un buen co-marketing. Hay valor en ser los primeros en moverse aquí, pero sospecho que este no es un valor duradero y no se aplica a muchos futuros posibles brs. De manera similar, todos hemos oído hablar de los primeros puñados de avs, pero ¿puedes nombrar todos los actuales? Yo no puedo.

A un nivel más alto, no lograrás que todos los rollups de Ethereum opten por el (hipotético) "optimism shared sequencer" o el "arbitrum shared sequencer". Sin embargo, tienes más posibilidades de lograr que todos opten por el "ethereum shared sequencer". Sin nuevo token, sin nueva marca, sin nuevo consenso. Si crees que es valioso que todos los L2 de Ethereum se unan en la secuenciación, entonces esta neutralidad creíble es potencialmente el punto de Schelling más fuerte para lograr ese objetivo.

Esta neutralidad creíble es probablemente la más valiosa para los desarrolladores de rollups que intentan atraer a usuarios de diferentes ecosistemas (por ejemplo, aplicaciones con infraestructura básica como ens). Pueden dudar en usar el secuenciador de Optimism si alienará a los usuarios de Arbitrum, o viceversa.

cubriremos cada uno de estos en más detalle a continuación.

neutralidad creíble

Profundizando en ese punto social, los BR a menudo se ven como la opción más "alineada con Ethereum". Dejando a un lado el juicio de cualquiera sobre el valor de esto, el punto importante es que esto presupone un alto grado de neutralidad creíble para cualquier diseño de BR.

Un br neutralmente creíble es fácil de diseñar en el caso básico, pero como señalamos, nadie realmente los quiere. Por lo tanto, las preconfs requieren que el proponente opte por condiciones adicionales de slashing. Estas condiciones adicionales de slashing requieren que el proponente utilice algún sistema adicional (por ejemplo, potencialmente el restaking de la capa propia,Simbiótico, u otra norma) para asumir el compromiso. Un rollup puede estar feliz optando por el "secuenciador de Ethereum" creíblemente neutral en abstracto, pero es probable que se pierda la neutralidad creíble si está utilizando proyectos financiados con fondos privados, tal vez incluso con tokens propios.

hay varias preguntas abiertas sobre el colateral aquí:

tamaño del colateral

Los diseños iniciales han supuesto que los proponentes tendrían que poner personalmente una cantidad increíblemente alta de garantía de alrededor de 1000 eth. El problema es que fundamentalmente un proponente siempre puede retractarse de su promesa de delegar a Gate.io y construir un bloque por sí mismo, equívocamente en los prefijos. Esto puede ser increíblemente valioso, y 1000 eth está cómodamente por encima de los pagos más altos observados que han pasado por MEV-Boost desde su inicio. La desventaja es que esto, por supuesto, crea necesariamente una barrera alta para los proponentes más pequeños, mientras que los más grandes (por ejemplo, Coinbase) podrían poner razonablemente 1000 eth mientras ganan recompensas en todo su peso de inversión.>13% del total de eth apostado) porque los registrantes pueden presentar un solo bono para todos sus validadores. hay Otras ideas para permitir a los proponentes con bonos mucho más pequeños, aunque, por supuesto, vienen con compromisos. El espacio de diseño aquí es simplemente incierto.

vale la pena señalar quesubastas de ejecución aliviaría esta preocupación, ya que podemos suponer que todos los proponentes serían entonces actores sofisticados fácilmente capaces de esto.


fuente: Barnabé monnot, de mev-boost a epbs a aps

Sin embargo, incluso los grandes operadores dudan en poner grandes cantidades debido a posibles problemas de disponibilidad que podrían resultar en penalizaciones (un fallo en la disponibilidad por parte de un operador, que da lugar a que nuestras transacciones previas se pierdan antes de ser incluidas en un bloque, es un fallo de seguridad para los usuarios y debe ser penalizado severamente).

Tipo de colateral

Vanilla ETH es probablemente la única garantía creíblemente neutral en esta situación. Sin embargo, naturalmente existirá el deseo de utilizar activos más eficientes en términos de capital (por ejemplo, STETH). Hay algunas ideas para que un suscriptor se encargue de esta conversión, como se describe en mteam aquí.

plataforma

no sería muy 'crediblemente neutral' si las 'preconfs basadas en ethereum' son más como las 'preconfs basadas en eigenlayer' o las 'preconfs basadas en simbiótica'. hay equipos que planean ir en esta dirección, pero no es un requisito estricto utilizar tal plataforma. es posible crear un estándar general y neutral para que todos lo utilicen, y dicho sistema parecería estar mejor posicionado para su adopción general como la opción más basada.

Será necesario adoptar estándares de bien público para que los diseños previos basados sean "creíblemente neutrales".

Preconfirmaciones

inclusión vs. preconfs del estado

ahora cubriremos preconfs en mayor detalle. si bien discutimos un tipo específico de preconf anteriormente (preconfs br en estado), debemos tener en cuenta que son un concepto totalmente general. puedes ofrecer preconfs en transacciones bl además de brs, y puedes ofrecer diferentes niveles de preconfs:

  • inclusión preconfs - un compromiso más débil de que una transacción será incluida eventualmente en la cadena.
  • preconfs de estado: el compromiso más fuerte de que una transacción eventualmente se incluirá en la cadena y una garantía del estado resultante.

lo último (preconfs del estado) es, por supuesto, lo que los usuarios quieren que sus billeteras les muestren:

intercambié 1 eth por $4000 usdc y pagué 0.0001 eth en comisiones

no inclusión preconfs:

mi transacción intentando intercambiar 1 eth por $4000 usdc y pagando hasta 0.0001 eth en tarifas eventualmente aterrizará en la cadena, pero tal vez tenga éxito, tal vez falle, veremos

Sin embargo, debemos tener en cuenta que las inclusiones preconfs son efectivamente intercambiables con las inclusiones de estado en el caso de las acciones tomadas por el usuario en un estado no discutible (por ejemplo, transferencias simples donde solo el propio usuario puede invalidar la transacción). En este caso, una promesa de que, por ejemplo, "la transferencia de USDC de Alice a Bob se incluirá en los próximos bloques" es suficiente para que una billetera simplemente muestre al usuario "has enviado tus USDC a Bob".

no es sorprendente que los compromisos más fuertes (preconfs estatales) sean más difíciles de obtener. Fundamentalmente, requierencompromiso creíbledesde la entidad que actualmente tiene el monopolio de proponer bloques (es decir, un bloqueo de escritura en el estado de la cadena). en el caso de las preconfederaciones de ethereum l1, este es siempre el proponente actual de ethereum l1. en el caso de las preconfederaciones de br, esto es presumiblemente el próximo proponente de ethereum l1 en la anticipación de br (lo que los convierte en el proponente actual de br), como veremos a continuación. proponente y secuenciador son términos generalmente intercambiables, siendo el primero más utilizado en el contexto l1 y el segundo en el contexto l2.

precios preconfs

otra gran distinción que debemos hacer es qué tipo de estado están tocando estos preconfs:

  • estado no contencioso: nadie más necesita acceso a este estado (por ejemplo, Alice quiere transferir USDC a Bob)
  • Estado contencioso: otros quieren acceder a este estado (por ejemplo, intercambios en un grupo de AMM de ETH/USDC)

Las preconfs son restricciones sobre el bloque que se puede producir en última instancia. En igualdad de condiciones, restringir inherentemente el espacio de búsqueda para los constructores solo puede reducir el valor potencial que pueden capturar al pedirlo. Eso significa que se devolvería menos valor al proponente. para que sea compatible con los incentivos, Gate.ioway debe cobrar una tarifa de preconf ≥ el MEV potencial perdido por restringir el resultado.

esto es lo suficientemente simple cuando la pérdida de MEV es ~0 (por ejemplo, en una transferencia de USDC). En este escenario, cobrar una tarifa fija nominal podría ser razonable. Pero tenemos un gran problema: ¿cómo valoramos las preconfs en un estado controvertido? Valorar las preconfs con anticipación frente a justo a tiempo parece que pagaría menos. Con todo lo demás igual, es más rentable para un constructor esperar hasta el último segundo posible para capturar y valorar con precisión el MEV.

Sin embargo, supongamos que hay suficiente demanda de usuarios para preconfs rápidas en el estado contencioso (teniendo en cuenta tanto a los buscadores sofisticados como a los usuarios normies), de modo que a veces habrá un precio de liquidación que sea beneficioso para todos. Ahora bien, ¿cómo se fija exactamente el precio de una preconf para una transacción en un estado contencioso que, de otro modo, podría incluir en cualquier momento de los próximos 12 segundos, renunciando potencialmente a oportunidades más rentables que ya no serían posibles?

Las preconfs sobre el estado disputado que se transmite a lo largo del bloque entrarían en conflicto con la forma en que los constructores crean bloques. La fijación de precios requiere estimar con precisión el impacto de MEV de incluirlo ahora en lugar de retrasarlo, lo que significa ejecutar y simular los posibles resultados. eso significa que Gate.ioway ahora necesita ser un buscador/constructor altamente sofisticado.

ya asumimos que Gate.ioway y relay se fusionarían. si necesitan seguir fijando precios preconfs, entonces también se fusionarán con el constructor. también aceptamos que usc aceleraría la fusión del constructor y el probador. también parece queSubastas de ejecuciónvenderá los derechos de proponente directamente a actores sofisticados (probablemente constructores) capaces de fijarles un precio.

esto pone la totalidad de la cadena de suministro de transacciones ethereum l1 y br en una caja que tiene un monopolio de escritura bloqueado en el estado de todas las cadenas durante ese período.

las políticas de ordenamiento del servicio preconf son poco claras (por ejemplo, ¿siempre se ejecutan en orden de llegada o se ordenan de otra manera). También es posible que Gate.ioway realice una subasta de todas las preconfs (por ejemplo, permitiendo a los buscadores hacer ofertas por las preconfs), aunque no está claro cómo sería ese diseño y necesariamente significaría una mayor latencia.

problema de intercambio justo

hay un problema de intercambio justo con preconfs donde la forma de Gate.io en realidad no está directamente incentivada para liberar la preconf.

considere el siguiente ejemplo:

  • la actual Gate.ioway tiene un monopolio de 12s
  • un usuario envía una solicitud de transacción preconf justo al comienzo del intervalo (t = 0)
  • El Gate.ioway espera hasta t = 11.5 para liberar todas las preconfs que hicieron durante su intervalo, dejando un margen de 500 ms para incluirlas todas en su bloque. En ese momento, pueden decidir qué preconfs incluir si son rentables y cuáles excluir.

En este escenario, el usuario puede terminar pagando por la preconf aunque en realidad no la reciba hasta el final de la ranura. Gate.ioway también podría dejarlo al final de la ranura si deciden que no es rentable incluirlo. esta retención por parte de Gate.ioway no es una falta objetivamente imputable (pero podría ser atribuible intersubjetivamente).

de hecho, en realidad hay un incentivo para que Gate.io retenga las preconfs hasta el final.Donde hay asimetría de información, hay MEV. mantener las transacciones privadas permitiría a un constructor tener una visión más actualizada del estado del mundo, lo que les permitiría tasar mejor el riesgo y capturar mev. no hay consenso sobre el conjunto de preconfs que se les da a los usuarios, por lo que Gate.io no puede ser considerado responsable aquí.

Tendrían que haber normas establecidasy expectativas de que el preconferidor chisme inmediatamente en público todas las preconfs. esto daría a los usuarios lo que quieren de inmediato y permitiría a otros ver que Gate.ioway está proporcionando los servicios esperados. si no lo hacen en el futuro, entonces los usuarios no confiarían en ellos y no les pagarían por las preconfs. la reputación de Gate.ioway tiene valor. dicho esto, también puede serExtremadamente valioso Ser deshonesto aquí y volver en contra de las preconfsiones.

Preconfs de capa base L1

con los puntos generales de la preconf fuera del camino, ahora discutiremos los matices de las preconf L1. aunque no los mencionamos antes, hay proyectos construyendo estos, y su interacción con las preconf BR será importante.

por ejemplo,Perno es un protocolo que quiere permitir a los proponentes de ethereum hacer compromisos creíbles sobre el contenido de sus bloques. Los proponentes registrados pueden ejecutar el sidecar de bolt para recibir solicitudes previas de los usuarios, confirmarlas y luego enviar esta información a relays y builders que pueden devolver bloques que respeten estas restricciones (es decir, devuelven un bloque que incluye las transacciones a las que el proponente dio preconfs).

es importante destacar aquí queBolt v1La descripción aquí solo admite inclusiones de transacciones simples preconfs para un estado no controvertido en el que solo el usuario puede invalidar la preconf. Como discutimos anteriormente, estos son los compromisos más simples y débiles para proporcionar.

Todos estos equipos de preconf tienen ambiciones más grandes (por ejemplo, preconfs estatales, subastas de bloques parciales, subastas de tragamonedas o de tragamonedas parciales), entonces, ¿qué los detiene?

  • la responsabilidad: las violaciones de compromiso deben poder demostrarse en la cadena para el recorte objetivo. Es relativamente fácil demostrar la inclusión de transacciones, pero no está tan claro cómo hacer cumplir otros compromisos, como las subastas de ranuras.
  • requisitos de capital: proporcionar compromisos arbitrarios significa que el valor de incumplir un compromiso podría ser arbitrariamente alto. Es probable que Gate.io termine necesitando apostar grandes cantidades (por ejemplo, miles de eth) para proporcionarlos. Estos bien podrían terminar siendo agrupados, beneficiando a las entidades más grandes (por ejemplo, grandes empresas comerciales o Coinbase) y dejando fuera a entidades más pequeñas.
  • precios - hay muchas preguntas abiertas sobre cómo fijar el precio de algo como las preconfiguraciones de estado transmitidas continuamente, incluso si decidimos que es factible y valioso.
  • Participación en la red: este es quizás el punto más importante y fundamental. Como mencionamos, solo el proponente actual que tiene un bloqueo de escritura en el estado puede proporcionar compromisos como preconfs estatales. En teoría, el 100% de los proponentes podrían optar por este sistema e imitarlo. En la práctica, eso no sucederá.

mev-boost, un producto más simple con años de experiencia que es increíblemente rentable para ejecutar,>92% de participaciónpara el contexto (probablemente incluso un poco más alto ya que esto no tiene en cuentamin-bid. un nuevo servicio de preconfiguración seguramente obtendría una tasa de participación mucho menor. pero incluso si pudiera llegar al ~90% range, esto no parece ser un producto útil para los usuarios normales. no se puede decir a los usuarios el 10% del tiempo “oh lo siento, no hay preconfiguraciones disponibles en este momento, vuelva a intentarlo en un momento.”

En el mejor de los casos, esto parece que las preconfs estatales solo serían una herramienta opcional para buscadores y comerciantes sofisticados que puedan querer obtener un compromiso antes en el bloque cuando ese espacio tiene un proponente optado. Eso puede ser valioso, pero no hay fragmentación o mejoras de UX aquí.

preconfiguraciones de rollup basadas en l2

Las preconfs de BR deben provenir de los proponentes de BL (por eso están "basadas"). Esto requiere que apuesten por alguna garantía y opten por condiciones de recorte adicionales (es decir, que los preconfs que proporcionen lleguen a la cadena como se prometió). Cualquier proponente que desee hacerlo puede actuar como secuenciador BR y proporcionar preconfs.

Es importante destacar que estos br preconfs son preconfs de estado, no solo preconfs de inclusión. Esto es posible porque los brs optan por un diseño en el que otorgan un monopolio de secuenciador rotativo a los proponentes de bl que se registran para ser Gate.ioways.

hoy, un validador de ethereum sirve como proponente para cada ranura, y el programa del proponente siempre se conoce para la época actual y la siguiente. una época son 32 ranuras, por lo que siempre conocemos los próximos 32-64 proponentes en un momento dado. el diseño funciona otorgando al siguiente secuenciador activo (es decir, el siguiente secuenciador en la mirada hacia adelante) poderes de monopolio para secuenciar transacciones para los brs que optaron por este sistema de preconfiguración. Gate.ioways debe firmar para avanzar en el estado de las cadenas de br.

Tenga en cuenta que cada proponente (incluso aquellos que no han optado por ser un Gate.ioway) tiene el derecho pero no la obligación de incluir transacciones que han sido preconfirmadas por los secuenciadores (es decir, aquellos proponentes que han optado por ser un Gate.ioway). Pueden actuar como un incluidor siempre y cuando tengan la lista completa de transacciones que han sido preconfirmadas hasta ese momento (el secuenciador puede crear un bl blob que tenga las transacciones br y difundirlas).


fuente: Secuenciación de Ethereum, justin drake

el flujo de transacción funciona de la siguiente manera:

  1. El usuario br envía su transacción al siguiente secuenciador en la vista previa (propositor de la ranura n+1 en la imagen de abajo)
  2. el secuenciador proporciona inmediatamente una preconfirmación del estado resultante (por ejemplo, el usuario cambió 1 eth por $4000 usdc en la br y pagó 0.0001 eth en tarifas)
  3. en este punto, cualquier incluidor puede incluir la transacción secuenciada (el proponente de la ranura n lo hace en la imagen a continuación)


fuente: Secuenciación de Ethereum, justin drake

si los otros incluidores no incluyen los preconfs, entonces el secuenciador que los dio simplemente puede incluirlos onchain cuando sea su turno como el proponente bl. por ejemplo, en la imagen de arriba, digamos que el incluidor de la ranura n decidió no incluir los preconfs que el secuenciador de la ranura n+1 entregó. entonces el secuenciador de la ranura n+1 sería responsable de incluir todos los preconfs que entregó durante la ranura n y la ranura n+1 cuando presente su bloque bl para n+1. esto permite al secuenciador dar con confianza preconfs durante el período completo entre ellos y quienquiera que haya sido el último secuenciador.

para simplificar las explicaciones anteriores, simplemente asumimos que el proponente l1 cumpliría este papel preconferido. Sin embargo, como se describió anteriormente, esto no es probable que sea el caso. Se requerirá una entidad sofisticada para fijar los preconfs, ejecutar nodos completos para todos los BR, tener protección contra DOS y ancho de banda suficiente para todas las transacciones de BR, etc. Ethereum quiere mantener a los validadores muy poco sofisticados, por lo que es de suponer que los proponentes subcontratarán preconfs a otra entidad de la misma manera que subcontratan la producción de bloques L1 completa a través de MEV-Boost hoy en día.

Los proponentes pueden deleGate.io a Gate.ioways a través de mecanismos dentro o fuera de la cadena, y esto se puede hacer hasta justo antes de su ranura. Como se señaló anteriormente, es probable que en la práctica esta función sea asumida por los relés. También es posible que tengan que fusionarse con los constructores.


fuente: Secuenciación basada, Justin Drake

como se describió anteriormente, solo una entidad puede ser deleGate.iod para ser el Gate.ioway en un momento dado. esto es necesario para proporcionar preconfs de estado confiables. los uis (por ejemplo, billeteras como metamask) buscarían quién es el próximo Gate.ioway y enviarían las transacciones del usuario allí.

¿Qué tan basados en Ethereum serán los rollups?

con suficiente contexto ahora en su lugar - ¿deberían basarse los rollups de Ethereum? hay realmente dos preguntas incrustadas aquí:

  1. ¿Deberían muchos rollups de Ethereum compartir un secuenciador?
  2. Si es así, ¿debería ser un secuenciador basado (es decir, que involucre a los proponentes de ethereum bl y la infraestructura de mev circundante)?

En primer lugar, es importante tener en cuenta que puede compartir un secuenciador con otras cadenas de forma ad hoc. Por ejemplo, el proponente de Ethereum puede secuenciar un bloque para usted si ofrece la oferta más alta, luego algún otro consenso bft podría secuenciar su próximo bloque si ofrece la oferta más alta. Sin embargo, esto aún requiere que una cadena se integre completamente en esta subasta uniforme compartida que puede ejecutarse sincrónicamente con estas otras cadenas, por lo que aún existen compensaciones en cuanto al control y la flexibilidad (por ejemplo, tiempos de bloque compartidos). Solo que la entidad secuenciadora ganadora puede cambiar.

De todos modos, supongamos simplemente que se cumple la condición 1. Creo que en este punto tenemos evidencia convincente de que existe suficiente demanda para utilizar un secuenciador compartido descentralizado. Incluso si les importa menos el "aspecto compartido", creo que hay un valor increíble en poder comprar un secuenciador descentralizado como servicio directamente (de hecho, creo que este es el mayor valor aquí).

Ahora, ¿debería este secuenciador compartido ser un secuenciador basado en Ethereum?

técnico (compromisos del proponente)

No veo un argumento técnico sólido para usar un secuenciador basado en Ethereum. Cualquier interoperabilidad entre BRS y Ethereum L1 sería increíblemente limitada debido a la incapacidad de ejecutarse de manera confiable contra el L1 (es decir, no tener consistentemente un bloqueo de escritura en el estado L1), largos tiempos de bloque (12s) y el hecho de que las transacciones de BR que desearan interactuar con el L1 tendrían que reorganizarse junto con él. Aquí no hay almuerzo gratis. Esto no desbloquea ningún producto valioso orientado al usuario en comparación con cualquier otro secuenciador compartido externo.

el valor principal que veo es que agregar el ethereum l1 a esta subasta combinatoria más grande puede resultar en un mayor valor agregado creado por Gate.iopermitir que el l1 capture más valorLlevando esta lógica al extremo, probablemente deberíamos poner todo en el mundo en la misma subasta. Esta subasta universal también debería secuenciar boletos para conciertos de Taylor Swift. Todavía no estoy del todo allí.

esto es solo para resaltar que hay una complejidad técnica y social real en la creación y la adopción de todos en esta subasta compartida, lo cual tiene un costo real, que en mi opinión probablemente supera cualquier valor adicional teórico creado aquí. Se puede construir fácilmente un diseño técnico mucho mejor para ejecutar esto desde los primeros principios si no intentamos colocarlo encima de ethereum l1 (por ejemplo, simplemente tener un mecanismo de consenso rápido y simple construido para este propósito). sin mencionar el hecho de que tal subasta combinatoria crearía un aumento exponencial en la complejidad.

En la práctica, existe un riesgo significativo para mí de que esto pueda ser severamente contraproducente para Ethereum, ya que esta arquitectura basada en preconf parecería ser potencialmente aceleracionista en relación a la infraestructura de MEV cuando la cadena de suministro de Ethereum ya es algo frágil. Esto pone en riesgo la descentralización y la resistencia a la censura de la red, que son precisamente las cosas que la hacen valiosa desde el principio.

social (neutralidad creíble)

Veo un argumento social válido para un secuenciador basado en Ethereum.

como se mencionó anteriormente, no hay duda de que la "alineación" es una venta para los primeros br. Eso está bien, pero no creo que dure. Es genial ser el primer br, no es genial ser el octavo. Debe haber algún otro valor agregado.

Creo que la neutralidad creíble de un secuenciador basado en Ethereum es potencialmente ese valor. Es probable que sea el argumento más fuerte a favor de tal diseño, al menos. Hay muchas cadenas que quieren tener un secuenciador descentralizado listo para usar. Si finalmente podemos diseñar suficiente infraestructura sobre esto que mejore la experiencia de usuario entre cadenas, entonces aún mejor. Sin embargo, de los proyectos que quieren un diseño de este tipo, imagino que muchos de ellos dudan en "elegir un bando" con cualquier protocolo de terceros. Como se indicó anteriormente, imagine que es una cadena de aplicaciones con una infraestructura general básica como ENS y desea un paquete acumulativo. No querrás elegir el (hipotético) secuenciador compartido de Arbitrum y apagar a la multitud de optimismo, o viceversa.

posiblemente la única solución al problema de coordinación social aquí es tener un secuenciador compartido creíblemente neutral, para lo cual Ethereum es claramente el candidato más fuerte. Tenga en cuenta que esto pone aún más énfasis en los puntos que mencioné anteriormente sobre la neutralidad creíble - si este es el principal valor agregado de tal servicio, ese debe ser un objetivo de diseño increíblemente prioritario al crearlo. No funcionará si tiene la apariencia de ser el proyecto personal de algún protocolo de terceros con sus propios motivos de lucro. Tiene que ser el secuenciador compartido de Ethereum en realidad.

Vale la pena señalar que también hay críticas razonables de que "neutral" aquí es un código para "ethereum", es decir, que su principal motivación es beneficiar a ethereum y su infraestructura nativa circundante. Y, por supuesto, dicho sistema beneficiaría a estas partes. Significaría una mayor captura de valor para el activo ether y más rentabilidad para los creadores, relays y buscadores de ethereum.

rollups basados en la rapidez

capas base rápidas

Ahora debemos entender que puedes tener brs en una bl lenta como Ethereum, puedes agregar preconfs confiables para una experiencia de usuario más rápida, e incluso puedes garantizar la seguridad al moverte entre cadenas a través de garantías criptoeconómicas o criptográficas.

como se señaló, ¿qué pasa si simplemente diseñamos esta cosa desde cero? sin lidiar con la deuda técnica y las decisiones de una cadena existente. ¿cuál es la forma obvia de construir la cosa...

Anteriormente, discutimos cómo la única razón técnica para ser un br con preconfs para un bl dado (por ejemplo, Ethereum) es para que su proponente pueda proporcionar compromisos creíbles en momentos respecto a la inclusión atómica síncrona con el bl.

Sin embargo, no discutimos seriamente la capacidad de ser un br sin preconfs. Básicamente descartamos esto porque Ethereum es lento y los usuarios son impacientes.

¿Entonces por qué no usamos simplemente un bl rápido para brs?

esto resuelve prácticamente todos los casos límite complejos y preocupaciones que teníamos antes. no queremos casos límite extraños donde Gate.ioways tenga fallas de vida (que tienen el mismo resultado que las fallas de seguridad aquí), no queremos que se retracten de preconfesiones prometidas (es decir, fallas de seguridad), y no queremos reorganizaciones de ethereum. es exactamente por eso que existe el consenso.

¡las capas están muertas, larga vida a las capas de secuenciación!

la mayor parte de la conversación sobre secuenciadores perezosos los considera como un secuenciador de rollup que luego deposita sus datos en alguna otra capa de datos. por ejemplo, los dos primeros rollups de Astria,FormayLlama) usarán Celestia como su capa DA. El consenso de Astria secuenciará estos rollups, y luego transmitirá sus datos a Celestia.

esta combinación es especialmente buena porque son complementos obvios: Astria proporciona toda la infraestructura de secuenciación y Celestia proporciona una verificación minimizada de confianza a través demuestreo de disponibilidad de datos (das).

Sin embargo, Astria también podría utilizarse para secuenciar un rollup que sea nativo de Ethereum, Bitcoin, Solana o cualquier otra cosa que desee. Por ejemplo, incluso podría configurarse para ser utilizado como un preconfer para Ethereum "BRS con preconfs" (por ejemplo, en lugar de un Gate.ioway centralizado, ya que un secuenciador perezoso es básicamente solo un relé incentivado y descentralizado).

Para ser claros, cada cadena es una capa da. Los nodos completos siempre pueden comprobar si hay da. Es una parte de las condiciones de validez de cualquier cadena que los datos estén disponibles, por lo que el consenso siempre está firmando que los datos están disponibles. Los nodos ligeros que comprueban su aprobación obtienen una suposición de mayoría honesta. La única diferencia es si la cadena proporciona otra opción para que los clientes ligeros muestren directamente para da en lugar de preguntar al consenso.

sin embargo, como señalé en ¿Los rollups heredan seguridad?Cadenas rápidas como Astria podrían técnicamente agregar un camino lento para Das (para mejorar la verificabilidad), y cadenas lentas como Celestia podrían agregar un camino rápido para la secuenciación (con una suposición de confianza mayoritaria y sin Das), llamado "..."bloques rápidos cuadrados lentos.”

moverse hacia la integración vertical de capas especializadas como la secuenciación o das estrecharía aún más la distinción entre blockchains modulares e integrados. esto se aplica de manera similar a la integración vertical del capa de liquidaciónmediante la adiciónLas cuentas verificadoras de ZK a la capa base de celestia.

Sin embargo, hay un valor significativo en mantener estos servicios separados en lugar de agruparlos. Este es el enfoque modular que permite a los rollups elegir qué características desean de la estantería (por ejemplo, quiero comprar secuenciación descentralizada con bloques rápidos, pero no quiero pagar por das, o viceversa). Los investigadores han demostrado que quieren das, pero hasta ahora los usuarios solo han demostrado que quieren bloques rápidos.

agrupar servicios como en elbloques rápidos cuadros lentos“sería muy opinado e integrado. esto necesariamente agregaría complejidad y costo. el efecto de la longitud de la ranura en juegos de tiempoLa descentralización (y potencialmente) que ahora es omnipresente en Ethereum también es un factor a considerar.

capa base rápida vs. lenta + preconfs

pero también puedes usar astria como el bl para los rollups. Los secuenciadores compartidos pueden considerarse como bls que están optimizados para los brs propios.

cuando su BL es rápida, su BR no necesita preconfs porque obtiene confirmaciones rápidas de manera predeterminada! Luego su rollup obtiene la seguridad en tiempo real de su BL, a diferencia de los BR + preconfs que necesariamente pierden esto.

Los BRS sin preconfs son de hecho la forma más lógica de construir un rollup. Por eso, todos los rollups de hoy en día comenzaron allí:

Está claro que un BL con bloques rápidos soluciona la mayoría de nuestros problemas en "based rollups + preconfs". Los secuenciadores compartidos se construyen naturalmente más desde un enfoque de primeros principios de "los desarrolladores de aplicaciones solo quieren lanzar una cadena rápida, confiable y descentralizada, ¿cómo se la doy?" Intentar agregar preconfs después del hecho en una capa base más lenta como Ethereum resulta en las complejidades que hemos descrito anteriormente.

todos estamos construyendo lo mismo

la modularidad es inevitable

Así que, vimos cómo podemos volver a unir cadenas modulares de Gate.io, proporcionando composabilidad síncrona universal (usc). Por supuesto, hay compensaciones, pero reintroducen un grado significativo de unidad mientras preservan mucha más flexibilidad que el uso de una sola máquina de estado. También hay un argumento muy convincente para mí de que la composabilidad asíncrona es todo lo que necesitamos para la gran mayoría de los casos de uso. Necesitamos baja latencia, rendimiento y buena experiencia de usuario. Internet es asíncrono y funciona bastante bien abstrayendo todo eso. La composabilidad es un gran valor añadido de la criptografía, pero composabilidad ≠ sincronía.

A pesar de los beneficios de flexibilidad y soberanía, la mayoría de las personas estarían de acuerdo en que eventualmente necesitaremos muchas cadenas para escalar de todos modos. Esto significa que terminaremos con muchos sistemas que necesitamos unificar, por lo que la dirección modular es inevitable aquí.

¿ethereum + preconfs → solana?

Ahora, comparemos los finales aquí. En particular, compararemos el final de Solana con el final de Ethereum si sigue este camino de maximizar la unidad y la experiencia de usuario con rollups basados en base + preconfs.

en esta visión, tenemos un montón de estos brs utilizando el secuenciador basado en Ethereum. Gate.ioways está transmitiendo continuamente preconfs prometidos por el proponente (es decir, sin ningún peso de consenso) a los usuarios con baja latencia, luego los proponentes de Ethereum los comprometen en un bloque completo de vez en cuando. Esto puede sonar familiar porque es prácticamente lo que describimos anteriormente para Solana con la transmisión de fragmentos.

Entonces, ¿es esto simplemente un Solana más complicado? La gran diferencia aquí está en los tiempos de ranura:

Ethereum intenta agregar esto encima de una cadena lenta claramente presenta problemas a primera vista:

  • El consenso de Ethereum es demasiado lento para los usuarios, por lo que la única forma de obtener una experiencia de usuario rápidamente neutral y creíble es a través de preconfs prometidos por los proponentes de forma opcional. Su principal cuello de botella hoy en día es la agregación de firmas debido al enorme tamaño de su conjunto de validadores.MaxEBy la agregación de firmas mejorada podría ayudar aquí).
  • esto resulta en monopolios de proponentes mucho más largos, lo que proporciona mayores incentivos y libertad para capturar más mev actuando deshonestamente (p. ej., retener preconfs).
  • Si Gate.ioways comienza a retrasar o retener preconfs, entonces el peor caso para los usuarios retrocede a depender de los tiempos de ranura de Ethereum. Incluso si los productores de bloques de Solana detuvieran la construcción y transmisión continua de bloques dentro de sus monopolios asignados (es probable que sea racional para ellos hacerlo en cierta medida por la misma razón exacta), entonces, en el peor de los casos, se vuelve a depender de un consenso de rotación rápida. El monopolio de cuatro ranuras es necesario hoy en día para la fiabilidad de la red.
  • En la práctica, es probable que haya muy pocas Gate.ioways, al menos al principio, lo que dará como resultado un conjunto de operadores más centralizado en comparación con cadenas como Solana.
  • potencialmente requisitos de garantía increíblemente altos para los proponentes (señalando que el espacio de diseño aún está en progreso).
  • las preocupaciones sobre los problemas de liveness son increíblemente costosas aquí (ya que los problemas de liveness del operador que llevan a la reducción de preconfs son fallas de seguridad para los usuarios, y por lo tanto deben ser severamente penalizables).

todo esto se resuelve con un consenso rápido. todos estos sistemas son literalmente por qué creamos sistemas bft en primer lugar. entonces, ¿por qué no debería ethereum hacer que su consenso sea más rápido? ¿hay algunos compromisos menos obvios al tener tiempos de bloque de capa base de súper baja latencia?

Afortunadamente no tengo nada mejor que hacer que escribir un ensayo sobre si los tiempos de bloque más cortos son buenos. La gran preocupación con los tiempos de ranura más cortos está relacionada con la centralización de validadores y operadores. Específicamente, existen preocupaciones con respecto a la interacción de los tiempos de ranura cortos con juegos de tiempo:

ya vemos juegos de sincronización progresando en Ethereum. Los proponentes proponen bloques más tarde en sus espacios, ganando más dinero a expensas de otros. Los relés también ofrecen “juegos de sincronización como servicio"donde de manera similar retrasan los bloques más tarde en la ranura:


fuente: Datos siempre

los juegos de tiempo fueron un gran tema de discusión en el algo infamePodcast de Justin vs. toly banklessde hace algunas semanas:

por ejemplo, digamos que eres 100ms más rápido que los demás

si tienes ranuras de 1s, puedes ganar un 10% más que todos los demás

si tienes 10s slots, puedes ganar un 1% más que los demás

— jon charbonneau (@jon_charb) 4 de junio de 2024

Justin argumentó principalmente que los juegos de sincronización serán un problema, y las recompensas incrementales siempre serán relevantes. Toly argumentó principalmente que los juegos de sincronización no serán un problema, y que las recompensas incrementales obtenidas de la extracción adicional de MEV no son suficientes para preocuparse.

Personalmente, me resulta difícil ignorar la importancia de cronometrar los juegos aquí:

Creo claramente que hay una gran cantidad de valor en la dirección que están tomando tanto Solana como Ethereum. Si nada más, veremos cómo se desarrolla todo en la práctica. Estratégicamente, también creo que tiene sentido que Ethereum se incline hacia lo que lo hace diferente aquí. Maximizar la descentralización como medio para lograr la resistencia a la censura en circunstancias adversas. Ethereum ha hecho muchos sacrificios para mantener un protocolo increíblemente descentralizado porque es una necesidad para el largo plazo. Tiene una diversidad de clientes inigualable, distribución de propiedad de la red, partes interesadas del ecosistema, descentralización de los operadores y más. Si (y probablemente cuando) Solana enfrenta una seria presión de censura en el futuro, se volverá cada vez más evidente por qué Ethereum ha tomado las decisiones que ha tomado.

preconf.wtf acaba de suceder en zuberlin la semana pasada, y tal vez no sorprenda a nadie, todos estaban hablando de preconfs y based rollups. y todo eso fue realmente genial. pero personalmente encontré Charla de Vitalikenlistas de inclusión de un bit por atestadory la charla de barnabé sobreSobrecargar al proponente de ejecución en su lugar (de mev-boost a epbs a aps)ser lo más importante para el futuro de Ethereum.


fuente: Barnabé monnot, De mev-boost a epbs a aps

las conversaciones sobre preconf y based rollup han comenzado a ganar impulso recientemente, y definitivamente todavía estoy en el lado más cauteloso. Vitalik famosamente estableció lo siguienteEndgame:

Sin embargo, nos hemos adentrado bastante en la "producción centralizada" sin implementar aún protecciones más fuertes contra la censura, como listas de inclusión. Básicamente, Ethereum se encuentra en la mitad de la fila inferior de esta imagen. (Digo la mitad porque la censura no es realmente blanco y negro, y Ethereum solo tiene una "censura débil", es decir, la mayoría pero no todos los bloques están censurados, así que solo tienes que esperar un poco y luego serás incluido):


fuente: Prueba de gobernanza

Empíricamente, la cadena de suministro MEV de Ethereum L1 actualmente censura en tiempo real más bloques que cualquiera de estos L2 con secuenciadores centralizados.

l2s ya pueden obtener el cr eventual del l1 (que aún es muy bueno) sin estar basados. Las preconfirmaciones basadas no obtienen la seguridad en tiempo real del protocolo ethereum, obtienen la seguridad en tiempo real de un pequeño grupo de proveedores de infraestructura relativamente centralizados que lo rodean. Para obtener un cr en tiempo real mejorado, la mejor opción probablemente sea externalizar la secuenciación a algún tipo de secuenciador descentralizado que ejecute un consenso bft simple. Esto será mucho más sólido que centralizar muchas cadenas en un cuello de botella actualmente relativamente centralizado. Esta situación puede mejorar con cambios como subastas de ejecución y listas de inclusión, pero eso no está exactamente a la vuelta de la esquina.

Con todo esto considerado, no me queda claro que expandir la dependencia de la infraestructura de MEV de Ethereum L1 y luego afianzarla para L2 sea una gran idea en esta etapa, cuando hay un puñado de personas que construyen y transmiten todos los bloques de Ethereum, la mayoría de los bloques sin censura de Ethereum hoy dependen de un único constructor (Titán), y ninguna de las herramientas CR se ha implementado en el protocolo todavía. Esto se siente agresivamente aceleracionista en un punto frágil. Ethereum ciertamente debería estar trabajando para mejorar la experiencia de usuario de L2, pero no a expensas de todas las propiedades subyacentes que queríamos en primer lugar.

conclusión

Todos estamos construyendo lo mismo.

bueno, más o menos. obviamente, estas cosas no son todas literalmente lo mismo. siempre habrá diferencias prácticas entre estos sistemas. sin embargo, la mega-tendencia general en cripto es clara, todos estamos convergiendo hacia arquitecturas cada vez más similares.

las diferencias técnicas matizadas entre ellos pueden tener implicaciones significativas en la práctica para dónde terminan, y no podemos subestimar el papel fundamental que juega la dependencia del camino en estos sistemas, incluso cuando convergen hacia juegos finales similares.

además, es bastante malditamente imposible razonar sobre algunas de estas cosas.Como dijo vitalik:

“Una nota de precaución que tengo para las AP es que creo que desde una perspectiva puramente técnica, en realidad creo que es bastante sencillo y que somos totalmente capaces de llevarlo a cabo con muy poca probabilidad de error técnico... pero desde una perspectiva económica hay muchas más oportunidades para que las cosas salgan mal...

Al igual que con eip-1559, pudimos averiguarlo con la teoría. Fuimos a algunas conferencias de economía encantadoras y aprendimos sobre los peligros de las subastas de precio inicial y lo malas que son, y descubrimos que las subastas de segundo precio no son creíbles, y luego descubrimos que, ¡hey, usemos un mecanismo de precio fijo localizado dentro de cada bloque, y pudimos hacer mucho con la microeconomía.

Pero aps no es así, ¿verdad? Y la pregunta de si aps llevará a Citadel o Jane Street o Justin Sun o quien sea a producir el 1% de todos los bloques de Ethereum o el 99%, es muy muy difícil, probablemente imposible de averiguar desde los primeros principios.

y por lo tanto, lo que quiero ver en este momento es experimentación en vivo... para mí personalmente, la diferencia entre hoy y sentirme realmente cómodo con las aps es básicamente que las aps funcionen correctamente en una capa 2 de Ethereum que tiene una cantidad media de valor, actividad, comunidad y disputas reales ocurriendo, y que eso dure durante un año, posiblemente más, y que realmente podamos ver algunas consecuencias en vivo.

así que sí, tampoco sé qué va a pasar. solo tendremos que esperar y ver. en cualquier caso, mientras todos convergimos hacia lo que sea este juego final, tenemos mucho más en común que diferencias, así que asegurémonos de por favor...

renuncia:

  1. este artículo es un reimpreso de [dba].reenviar el título original 'todos estamos construyendo lo mismo'. todos los derechos de autor pertenecen al autor original [jon charbonneau]. si hay objeciones a esta reimpresión, por favor contacte al Gate.io aprenderequipo, y ellos lo manejarán rápidamente.
  2. exención de responsabilidad: las opiniones expresadas en este artículo son únicamente 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 aprendizaje de Gate.io. a menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
ابدأ التداول الآن
اشترك وتداول لتحصل على جوائز ذهبية بقيمة
100 دولار أمريكي
و
5500 دولارًا أمريكيًا
لتجربة الإدارة المالية الذهبية!