En nuestra publicación anterior, que sería ejecutable, discutimos el papel del consenso prueba de este método emergente de minimización de confianza en facilitar el puente entre cadenas de bloques.
En este artículo, exploraremos la prueba de almacenamiento, que toma el concepto de verificación de minimización de confianza y lo extiende a transacciones en bloques históricos más antiguos. La capacidad de verificar transacciones pasadas y la actividad del usuario de esta manera desbloquea una gran cantidad de casos de uso entre cadenas.
En nuestro publicación anterior, introdujimos Prueba de Consenso, un enfoque de minimización de confianza para vincular fondos a través de bloques. Dado que los usuarios del puente generalmente desean ver que las transacciones ocurran inmediatamente en el momento más reciente, la prueba de consenso es muy útil porque constantemente verifican el estado más reciente de la cadena de bloques a medida que opera.
Este concepto de minimización de la confianza también se puede aplicar en otra dirección, que es retroceder en el tiempo y utilizar pruebas de conocimiento cero para verificar transacciones y datos en bloques antiguos. Estas "pruebas de almacenamiento histórico" respaldan una amplia gama de casos de uso entre cadenas, y en este artículo cubriremos estos casos de uso, cómo funcionan y los actores construidos en este espacio.
Recuperar datos históricos
Hay muchos usos para los datos históricos de la cadena de bloques. Se puede utilizar para demostrar la propiedad de activos, el comportamiento del usuario y el historial de transacciones, y luego introducir estos en contratos inteligentes o aplicaciones on-chain.En el momento de la escritura, se han escrito más de 18 millones de bloques en Ethereum.Los contratos inteligentes solo pueden acceder a los 256 bloques más recientes (o datos dentro de los últimos 30 minutos), por lo que los "datos históricos" se refieren a cualquier cosa que no sea los últimos 256 bloques.
Hoy en día, para acceder a datos históricos, los protocolos a menudo consultan nodo de archivoproveedores, es decir, terceros como Infura, Alchemy u otros indexadores. Eso significa confiar y depender de ellos y sus datos.
Sin embargo, estos datos pueden relajarse de una manera más minimizada en confianza, a través del uso de pruebas de almacenamiento.
Sin embargo, estos datos pueden recuperarse de una manera más confiable al utilizar pruebas de almacenamiento.
La prueba de almacenamiento es una prueba de conocimiento cero que permite la verificación de datos históricos almacenados en la cadena de bloques. Más específicamente, la prueba de almacenamiento se puede utilizar para probar la existencia de un estado específico en un bloque particular en el pasado.Este enfoque no requiere confianza en terceros u oráculos; en su lugar, su confianza está integrada en la prueba de almacenamiento.
¿Cómo pueden las pruebas de almacenamiento ayudar a verificar que algunos datos existen en bloques históricos antiguos? Esto requiere verificar dos cosas:
Después de recibir y verificar la prueba, el destinatario (como un contrato inteligente en la cadena de destino) cree en la validez de los datos y puede ejecutar el conjunto correspondiente de instrucciones. El concepto puede incluso ampliarse más: se pueden ejecutar cálculos adicionales fuera de la cadena con datos validados, luego se genera otra prueba de conocimiento cero para demostrar los datos y los cálculos.
Simplemente dicho, la prueba de almacenamiento apoya la recuperación de datos en la cadena histórica de una manera que minimiza la confianza. Esto es importante porque, como describimos en nuestra primera publicación, vemos que web3 se convierte en un espacio más multi-cadena y multinivel en los próximos años. La aparición de múltiples protocolos de capa 1, rollups y cadenas de aplicaciones significa que la actividad en cadena de los usuarios puede estar dispersa en varias cadenas. Esto enfatiza aún más la necesidad de soluciones de interoperabilidad que minimicen la confianza y mantengan la composabilidad de los activos de los usuarios, identidades e historial de transacciones en múltiples dominios. Este es un problema que la prueba de almacenamiento puede ayudar a resolver.
La prueba de almacenamiento permite a los contratos inteligentes verificar cualquier transacción o datos históricos como requisito previo. Esto hace que el diseño de aplicaciones entre cadenas sea más flexible.
Primero, almacenar pruebas puede demostrar cualquier dato histórico en la cadena de bloques de origen, como
La prueba puede enviarse luego a la cadena objetivo para desbloquear la gama de casos de uso entre cadenas:
Básicamente, las pruebas de almacenamiento permiten a las aplicaciones consultar y trasladar la actividad y el historial de los usuarios en cadena a través de múltiples cadenas para introducirlos en un contrato inteligente o aplicación en otra cadena.
Casos de uso de prueba de almacenamiento
Tomemos un ejemplo detallado para entender cómo funciona la prueba de almacenamiento.
Supongamos “X”, que es un protocolo DeFi con tokens en Ethereum. Se va a presentar una propuesta de gobernanza, y quieren promover la votación en cadena en cadenas objetivo de menor costo. Los usuarios solo pueden votar si poseen tokens X en Ethereum en un momento específico (lo llamamos “instantánea”), como el bloque #17,000,000.
El enfoque actual es consultar el nodo de archivo para obtener la lista completa de titulares de tokens elegibles en el bloque #17,000,000. Luego, el administrador de DAO almacena esa lista en un contrato inteligente en la cadena de destino para determinar quién puede votar. Hay algunas limitaciones para este enfoque:
Como explicamos en el artículo 2, los cálculos costosos pueden transferirse a pruebas de conocimiento cero fuera de la cadena.
El atestador zk generará una prueba concisa y la enviará a la cadena de destino para su verificación. Para los ejemplos de elegibilidad de votantes DAO anteriores, los siguientes son:
Verificar datos históricos para habilitar votación entre cadenas
La prueba se envía luego a un contrato inteligente en la cadena de destino para su verificación. Si la verificación es exitosa, entonces el contrato inteligente en el protocolo de capa 2 permite a los usuarios votar.
Este enfoque resolvió algunos problemas. No requiere:
Confía en el proveedor del nodo de archivo;
¿Qué configuraciones son necesarias para la prueba de almacenamiento?
Hasta ahora, hemos abstraído algunas de las complejidades de las pruebas de almacenamiento. Sin embargo, su uso también requiere una configuración inicial cuidadosa por parte del proveedor de servicios para garantizar que se puedan utilizar sin confiar en el proveedor. Durante este proceso, se generan y almacenan dos cosas en la cadena.
La promesa "zk" explica toda la historia de Ethereum
Ilustración de la cordillera Merkel (MMR)
A medida que se agregan nuevos bloques a la cadena de origen, los proveedores de servicios actualizan regularmente (por ejemplo, cada hora o diariamente) el “compromiso zk” y MMR para mantenerse al día con el ritmo de la cadena. Esto se hace para que el bloque pasado esté siempre vinculado a uno de los 256 bloques actualmente accesibles desde EVM. Esto garantiza que los datos históricos estén vinculados a uno de los bloques actualmente disponibles en Ethereum.
En la imagen a continuación, hemos detallado cómo completar la configuración:
En resumen, lo siguiente muestra cómo usar la prueba de almacenamiento una vez que la configuración esté completa en el contexto del ejemplo de votación de DAO que cubrimos anteriormente:
El proveedor verificará dos cosas:
Algunos participantes están construyendo contratos inteligentes que permiten que los contratos inteligentes accedan a datos en cadenas históricas de una manera que minimiza la confianza.
Actualmente, Axiomase está ejecutando en Ethereum y se compromete a proporcionar contratos inteligentes en Ethereum y acceder a datos históricos de Ethereum a través de pruebas de almacenamiento basadas en zk. El equipo también está mejorando las capacidades computacionales fuera de la cadena basadas en datos históricos y utilizando el conocimiento cero para demostrar la precisión de estos datos y cálculos.
Protocolo de Reliquiaproporciona un enfoque técnico similar a Axiom, y el protocolo se ejecuta en Ethereum y en la Era zkSync. Relic utiliza pruebas de inclusión de Merkle para demostrar la inclusión de datos (en contraposición al método de Axiom para demostrar la inclusión de Merkle en conocimiento cero).
Herodotoestá trabajando para proporcionar datos históricos sobre Ethereum para protocolos de capa 2. La implementación de prueba ya está disponible en Starknet y zkSync Era. Con financiación de la Fundación OP, creemos saber a dónde se dirige el equipo de Herodotus a continuación.
Lagrange Labs Labsha introducido pruebas totalmente actualizables a través de su reciente innovación ZK MapReduce (ZKMR). Utiliza una nueva promesa de vector llamadaRecproofsextender el concepto de actualización a la computación de datos.
Equipos trabajando en la certificación de almacenamiento
En este artículo, hemos descrito cómo la prueba de almacenamiento puede respaldar la verificación de datos en la cadena histórica sin confiar en terceros. Esto los convierte en una herramienta valiosa para la composición en cadena y la interoperabilidad entre cadenas.
A medida que el Valor Total Bloqueado (TVL) continúa migrando de Ethereum al ecosistema de Nivel 2, anticipamos la aparición de aplicaciones más expresivas que utilicen datos históricos en cadena a través de pruebas de almacenamiento.
Si bien la tecnología de conocimiento cero se está volviendo más rápida y más barata, generar continuamente pruebas de almacenamiento para mantenerse al día con los costos asociados con estar en la cadena aún es un desafío. La rentabilidad de dichos servicios dependerá del volumen de consultas generadas por la aplicación de consulta.
A pesar de los desafíos, no se puede subestimar la importancia de la prueba de consenso y la prueba de almacenamiento respaldadas por la tecnología de conocimiento cero. Esperamos ver cómo se utilizarán estas tecnologías para construir un futuro multi-cadena con un mínimo de confianza.
En nuestra publicación anterior, que sería ejecutable, discutimos el papel del consenso prueba de este método emergente de minimización de confianza en facilitar el puente entre cadenas de bloques.
En este artículo, exploraremos la prueba de almacenamiento, que toma el concepto de verificación de minimización de confianza y lo extiende a transacciones en bloques históricos más antiguos. La capacidad de verificar transacciones pasadas y la actividad del usuario de esta manera desbloquea una gran cantidad de casos de uso entre cadenas.
En nuestro publicación anterior, introdujimos Prueba de Consenso, un enfoque de minimización de confianza para vincular fondos a través de bloques. Dado que los usuarios del puente generalmente desean ver que las transacciones ocurran inmediatamente en el momento más reciente, la prueba de consenso es muy útil porque constantemente verifican el estado más reciente de la cadena de bloques a medida que opera.
Este concepto de minimización de la confianza también se puede aplicar en otra dirección, que es retroceder en el tiempo y utilizar pruebas de conocimiento cero para verificar transacciones y datos en bloques antiguos. Estas "pruebas de almacenamiento histórico" respaldan una amplia gama de casos de uso entre cadenas, y en este artículo cubriremos estos casos de uso, cómo funcionan y los actores construidos en este espacio.
Recuperar datos históricos
Hay muchos usos para los datos históricos de la cadena de bloques. Se puede utilizar para demostrar la propiedad de activos, el comportamiento del usuario y el historial de transacciones, y luego introducir estos en contratos inteligentes o aplicaciones on-chain.En el momento de la escritura, se han escrito más de 18 millones de bloques en Ethereum.Los contratos inteligentes solo pueden acceder a los 256 bloques más recientes (o datos dentro de los últimos 30 minutos), por lo que los "datos históricos" se refieren a cualquier cosa que no sea los últimos 256 bloques.
Hoy en día, para acceder a datos históricos, los protocolos a menudo consultan nodo de archivoproveedores, es decir, terceros como Infura, Alchemy u otros indexadores. Eso significa confiar y depender de ellos y sus datos.
Sin embargo, estos datos pueden relajarse de una manera más minimizada en confianza, a través del uso de pruebas de almacenamiento.
Sin embargo, estos datos pueden recuperarse de una manera más confiable al utilizar pruebas de almacenamiento.
La prueba de almacenamiento es una prueba de conocimiento cero que permite la verificación de datos históricos almacenados en la cadena de bloques. Más específicamente, la prueba de almacenamiento se puede utilizar para probar la existencia de un estado específico en un bloque particular en el pasado.Este enfoque no requiere confianza en terceros u oráculos; en su lugar, su confianza está integrada en la prueba de almacenamiento.
¿Cómo pueden las pruebas de almacenamiento ayudar a verificar que algunos datos existen en bloques históricos antiguos? Esto requiere verificar dos cosas:
Después de recibir y verificar la prueba, el destinatario (como un contrato inteligente en la cadena de destino) cree en la validez de los datos y puede ejecutar el conjunto correspondiente de instrucciones. El concepto puede incluso ampliarse más: se pueden ejecutar cálculos adicionales fuera de la cadena con datos validados, luego se genera otra prueba de conocimiento cero para demostrar los datos y los cálculos.
Simplemente dicho, la prueba de almacenamiento apoya la recuperación de datos en la cadena histórica de una manera que minimiza la confianza. Esto es importante porque, como describimos en nuestra primera publicación, vemos que web3 se convierte en un espacio más multi-cadena y multinivel en los próximos años. La aparición de múltiples protocolos de capa 1, rollups y cadenas de aplicaciones significa que la actividad en cadena de los usuarios puede estar dispersa en varias cadenas. Esto enfatiza aún más la necesidad de soluciones de interoperabilidad que minimicen la confianza y mantengan la composabilidad de los activos de los usuarios, identidades e historial de transacciones en múltiples dominios. Este es un problema que la prueba de almacenamiento puede ayudar a resolver.
La prueba de almacenamiento permite a los contratos inteligentes verificar cualquier transacción o datos históricos como requisito previo. Esto hace que el diseño de aplicaciones entre cadenas sea más flexible.
Primero, almacenar pruebas puede demostrar cualquier dato histórico en la cadena de bloques de origen, como
La prueba puede enviarse luego a la cadena objetivo para desbloquear la gama de casos de uso entre cadenas:
Básicamente, las pruebas de almacenamiento permiten a las aplicaciones consultar y trasladar la actividad y el historial de los usuarios en cadena a través de múltiples cadenas para introducirlos en un contrato inteligente o aplicación en otra cadena.
Casos de uso de prueba de almacenamiento
Tomemos un ejemplo detallado para entender cómo funciona la prueba de almacenamiento.
Supongamos “X”, que es un protocolo DeFi con tokens en Ethereum. Se va a presentar una propuesta de gobernanza, y quieren promover la votación en cadena en cadenas objetivo de menor costo. Los usuarios solo pueden votar si poseen tokens X en Ethereum en un momento específico (lo llamamos “instantánea”), como el bloque #17,000,000.
El enfoque actual es consultar el nodo de archivo para obtener la lista completa de titulares de tokens elegibles en el bloque #17,000,000. Luego, el administrador de DAO almacena esa lista en un contrato inteligente en la cadena de destino para determinar quién puede votar. Hay algunas limitaciones para este enfoque:
Como explicamos en el artículo 2, los cálculos costosos pueden transferirse a pruebas de conocimiento cero fuera de la cadena.
El atestador zk generará una prueba concisa y la enviará a la cadena de destino para su verificación. Para los ejemplos de elegibilidad de votantes DAO anteriores, los siguientes son:
Verificar datos históricos para habilitar votación entre cadenas
La prueba se envía luego a un contrato inteligente en la cadena de destino para su verificación. Si la verificación es exitosa, entonces el contrato inteligente en el protocolo de capa 2 permite a los usuarios votar.
Este enfoque resolvió algunos problemas. No requiere:
Confía en el proveedor del nodo de archivo;
¿Qué configuraciones son necesarias para la prueba de almacenamiento?
Hasta ahora, hemos abstraído algunas de las complejidades de las pruebas de almacenamiento. Sin embargo, su uso también requiere una configuración inicial cuidadosa por parte del proveedor de servicios para garantizar que se puedan utilizar sin confiar en el proveedor. Durante este proceso, se generan y almacenan dos cosas en la cadena.
La promesa "zk" explica toda la historia de Ethereum
Ilustración de la cordillera Merkel (MMR)
A medida que se agregan nuevos bloques a la cadena de origen, los proveedores de servicios actualizan regularmente (por ejemplo, cada hora o diariamente) el “compromiso zk” y MMR para mantenerse al día con el ritmo de la cadena. Esto se hace para que el bloque pasado esté siempre vinculado a uno de los 256 bloques actualmente accesibles desde EVM. Esto garantiza que los datos históricos estén vinculados a uno de los bloques actualmente disponibles en Ethereum.
En la imagen a continuación, hemos detallado cómo completar la configuración:
En resumen, lo siguiente muestra cómo usar la prueba de almacenamiento una vez que la configuración esté completa en el contexto del ejemplo de votación de DAO que cubrimos anteriormente:
El proveedor verificará dos cosas:
Algunos participantes están construyendo contratos inteligentes que permiten que los contratos inteligentes accedan a datos en cadenas históricas de una manera que minimiza la confianza.
Actualmente, Axiomase está ejecutando en Ethereum y se compromete a proporcionar contratos inteligentes en Ethereum y acceder a datos históricos de Ethereum a través de pruebas de almacenamiento basadas en zk. El equipo también está mejorando las capacidades computacionales fuera de la cadena basadas en datos históricos y utilizando el conocimiento cero para demostrar la precisión de estos datos y cálculos.
Protocolo de Reliquiaproporciona un enfoque técnico similar a Axiom, y el protocolo se ejecuta en Ethereum y en la Era zkSync. Relic utiliza pruebas de inclusión de Merkle para demostrar la inclusión de datos (en contraposición al método de Axiom para demostrar la inclusión de Merkle en conocimiento cero).
Herodotoestá trabajando para proporcionar datos históricos sobre Ethereum para protocolos de capa 2. La implementación de prueba ya está disponible en Starknet y zkSync Era. Con financiación de la Fundación OP, creemos saber a dónde se dirige el equipo de Herodotus a continuación.
Lagrange Labs Labsha introducido pruebas totalmente actualizables a través de su reciente innovación ZK MapReduce (ZKMR). Utiliza una nueva promesa de vector llamadaRecproofsextender el concepto de actualización a la computación de datos.
Equipos trabajando en la certificación de almacenamiento
En este artículo, hemos descrito cómo la prueba de almacenamiento puede respaldar la verificación de datos en la cadena histórica sin confiar en terceros. Esto los convierte en una herramienta valiosa para la composición en cadena y la interoperabilidad entre cadenas.
A medida que el Valor Total Bloqueado (TVL) continúa migrando de Ethereum al ecosistema de Nivel 2, anticipamos la aparición de aplicaciones más expresivas que utilicen datos históricos en cadena a través de pruebas de almacenamiento.
Si bien la tecnología de conocimiento cero se está volviendo más rápida y más barata, generar continuamente pruebas de almacenamiento para mantenerse al día con los costos asociados con estar en la cadena aún es un desafío. La rentabilidad de dichos servicios dependerá del volumen de consultas generadas por la aplicación de consulta.
A pesar de los desafíos, no se puede subestimar la importancia de la prueba de consenso y la prueba de almacenamiento respaldadas por la tecnología de conocimiento cero. Esperamos ver cómo se utilizarán estas tecnologías para construir un futuro multi-cadena con un mínimo de confianza.