TeleportDAO: Equilibrando la seguridad y eficiencia de verificación de datos - Últimas prácticas en el diseño de nodo ligero

Avanzado7/14/2024, 3:12:39 PM
TeleportDAO y Eigen Labs recientemente coescribieron un documento que aborda los problemas de seguridad y eficiencia que enfrentan los nodos ligeros al acceder y verificar datos on-chain dentro de las blockchains de Prueba de Participación (PoS). El documento presenta una solución novedosa que mejora la seguridad y eficiencia de los nodos ligeros en las blockchains PoS a través de diversas medidas como incentivos económicos, mecanismos de pre-seguridad asegurados, "seguridad programable" personalizada y rentabilidad.

Resumen; no leído

Teleportdao y Eigen Labs publicaron recientemente un artículo centrado en los desafíos de seguridad y eficiencia a los que se enfrentan los nodos ligeros en las cadenas de bloques de prueba de participación (PoS) al acceder y verificar los datos en cadena. El documento propone una nueva solución para garantizar la seguridad y la eficiencia de los nodos ligeros en las cadenas de bloques POS a través de incentivos económicos, mecanismos de preseguridad asegurados, "seguridad programable" personalizable y rentabilidad. Vale la pena seguir investigando este enfoque innovador. Nota: Eigen Labs, el desarrollador detrás del protocolo de reparticipación Eigenlayer y Eigenda, ha recaudado más de USD 150 millones de firmas de capital de riesgo de renombre como A16Z, Polychain y Blockchain Capital. Teleportdao, con sede en Vancouver, Canadá, se centra en la infraestructura de comunicación entre cadenas públicas de Bitcoin y EVM. El protocolo recaudó con éxito USD 9 millones a través de una venta pública en Coinlist, con inversores como Appworks, OIG Capital, DefinanceX, Oak Grove Ventures, Candaq Ventures, Ton, Across y Bitsmiley.

problemas con el diseño de nodo ligero

actualmente, en las blockchains de prueba de participación (PoS), los validadores garantizan la seguridad de la red bloqueando una cierta cantidad de participación (como 32 eth en Ethereum) para participar en la red de consenso. esto significa que la seguridad de las blockchains de prueba de participación está económicamente protegida: a mayor participación total, mayor es el costo o la pérdida potencial para cualquiera que intente atacar la red. este mecanismo de pérdida depende de una característica conocida como “seguridad de responsabilidad”, que permite la pérdida de la participación de un validador si firma estados conflictivos. los nodos completos son vitales para mantener la integridad de las blockchains de prueba de participación. almacenan todos los datos de transacciones, verifican las firmas de consenso, mantienen un historial completo de transacciones y ejecutan actualizaciones de estado. estas tareas requieren recursos informáticos significativos y hardware avanzado; por ejemplo, ejecutar un nodo completo de Ethereum requiere al menos 2 TB de almacenamiento SSD. por otro lado, los nodos ligeros reducen las demandas de recursos informáticos almacenando solo encabezados de bloques, lo que los hace adecuados para verificar transacciones/estados específicos en aplicaciones como carteras móviles y puentes entre cadenas. sin embargo, los nodos ligeros dependen de los nodos completos para obtener información sobre bloques durante la verificación de transacciones. actualmente, la cuota de mercado de los proveedores de servicios de nodos está bastante concentrada, lo que compromete la seguridad, la independencia y la inmediatez. este artículo explora soluciones para equilibrar los costos de adquisición de datos y la latencia para lograr una seguridad óptima para los nodos ligeros.

soluciones de diseño de nodos ligeros existentes

Bitcoin introdujo la verificación de pago simple (SPV) como protocolo para nodos ligeros. SPV permite a los nodos ligeros verificar si una transacción está incluida en un bloque específico utilizando Merkle Proof y los encabezados de bloque. Esto significa que los nodos ligeros solo necesitan descargar los encabezados de bloque para verificar la finalidad de la transacción comprobando la profundidad del bloque. En consecuencia, el coste computacional de la verificación del consenso de los nodos ligeros en Bitcoin es relativamente bajo. Sin embargo, en las cadenas de bloques POS como Ethereum, las comprobaciones de consenso son inherentemente más complejas. Implican el mantenimiento de todo el conjunto de validadores, el seguimiento de sus cambios de participación y la realización de numerosas comprobaciones de firmas para la red de consenso. Además, la seguridad de los nodos PoW Light se basa en la suposición de que la mayoría de los nodos completos son honestos. Para superar las limitaciones de SPV, FlyClient y Non-Interactive Proof-of-Work (NIPOPOW) ofrecen pruebas de costos sublineales a los clientes. Sin embargo, estos métodos son menos efectivos para los modelos de consenso POS.

en pos blockchains, la seguridad se logra a través de un mecanismo de pérdida. este sistema asume que los participantes del consenso son racionales, lo que significa que no atacarán la red si el costo supera cualquier posible beneficio. para reducir los costos de verificación, el protocolo actual de los nodos ligeros de Ethereum utiliza un comité de sincronización de 512 validadores seleccionados al azar, cada uno con una participación de 32 eth, pero el proceso de firma no está sujeto a pérdida. este diseño sin pérdida tiene importantes fallos de seguridad; las firmas deshonestas en el comité de sincronización pueden engañar a los nodos ligeros para que acepten datos inválidos sin ningún castigo. incluso con un mecanismo de pérdida, la participación total del comité de sincronización es pequeña en comparación con el vasto grupo de validadores de Ethereum (más de 1 millón hasta marzo de 2024). por lo tanto, este método no proporciona a los nodos ligeros una seguridad equivalente al conjunto de validadores de Ethereum. este modelo es una variante especial de la computación multiparte en configuraciones racionales pero carece de garantías económicas y no aborda las amenazas de proveedores de datos maliciosos e irracionales.

para abordar los desafíos de seguridad y eficiencia en el proceso de arranque de pos, popos introduce un juego segmentado para desafiar de manera efectiva el árbol de Merkle adversario del timing de pos. Si bien se logran requisitos de espacio mínimos y se evita la necesidad de que los clientes estén siempre en línea y mantengan participaciones, el problema de permitir que los clientes se desconecten y se vuelvan a unir a la red sin incurrir en costos significativos sigue sin resolverse.

otro enfoque de investigación utiliza pruebas de conocimiento cero para crear pruebas concisas. por ejemplo, mina y plumo facilitan la verificación de consenso ligero usando combinaciones snark recursivas y pruebas de transición de estado basadas en snark. sin embargo, estos métodos imponen cargas computacionales significativas en los productores de bloques para generar pruebas y no abordan la compensación de los nodos ligeros por posibles pérdidas. en otros protocolos de pos (como el protocolo tendermint en cosmos), se ha explorado el papel de los nodos ligeros en su protocolo de comunicación interblocos (ibc). pero estas implementaciones están adaptadas a sus ecosistemas específicos y no son directamente aplicables a ethereum u otros blockchains pos.

diseño de un nuevo plan de nodo ligero

En general, el nuevo plan incorpora un módulo de seguridad económica para lograr una "seguridad programable", que permite que los nodos ligeros elijan diferentes diseños en función de sus requisitos de seguridad específicos. Las suposiciones de seguridad siguen el principio de 1/n + 1/m, lo que significa que siempre y cuando haya al menos un nodo honesto y efectivo tanto en la red de nodos completos como en la red de inspectores, la red puede funcionar correctamente.

módulos/roles involucrados

  • blockchain: el protocolo se basa en una cadena de bloques programable con reglas definidas para la finalidad del bloque. Por ejemplo, en la cadena de bloques de ethereum, un bloque se considera final después de al menos dos épocas subsiguientes, que generalmente tardan alrededor de 13 minutos.
  • contrato inteligente de confiscación: el protocolo incluye un contrato de confiscación en cadena que sigue las abstracciones estándar del contrato inteligente. Puede acceder al hash del bloque del bloque anterior en la cadena de bloques. Todas las partes pueden enviar información a este contrato.
  • proveedores de datos: los proveedores de datos ejecutan nodos completos y mantienen un registro del estado más reciente de la cadena de bloques. Ponen en juego activos y ofrecen servicios para verificar la validez de los estados solicitados por los nodos ligeros. Firman todos los datos enviados a los nodos ligeros con claves correspondientes a sus claves públicas, asegurando la fuente y la integridad de los datos.
  • inspectores: los inspectores son nodos completos conectados a nodos ligeros que ayudan a verificar datos. Cualquiera puede convertirse en un inspector y ganar recompensas al monitorear y penalizar a las partes que se comportan mal. Para mayor simplicidad, el siguiente plan asume que cada nodo ligero está conectado a al menos un inspector honesto.
  • nodos ligeros: los nodos ligeros tienen como objetivo verificar si un estado/ transacción específica está incluida en la cadena de bloques con un costo mínimo. Se conectan a un grupo de proveedores de datos e inspectores durante el proceso de verificación.
  • red: los proveedores de datos forman una red de pares (p2p) y utilizan el protocolo de difusión para propagar datos. Los nodos ligeros se conectan a varios proveedores de datos para enviar solicitudes y recibir respuestas.

plan 1: seguridad primero

El plan 1 se centra en garantizar la fiabilidad de los datos a través de un período de desafío y una red de inspectores. En términos simples, después de que un nodo ligero recibe datos firmados por los proveedores, reenvía estos datos a la red de inspectores para su revisión. Si se detecta algún dato fraudulento dentro de un período especificado, el inspector notificará al nodo ligero que los datos no son fiables, y el módulo de confiscación del contrato inteligente confiscará los tokens apostados por el proveedor de datos. De lo contrario, el nodo ligero puede confiar en la fiabilidad de los datos. El proceso específico para que los nodos ligeros soliciten datos es el siguiente:

  1. Los nodos ligeros obtienen la última lista de proveedores de datos de la red actual y el nodo ligero recupera la última lista de proveedores de datos de la red actual y establece un período de desafío. Tenga en cuenta que los períodos de desafío son independientes para cada nodo ligero, pero hay un período de desafío máximo que se aplica a todos los nodos ligeros. El período de desafío es el tiempo máximo que la red de inspectores tiene para verificar la confiabilidad de los datos, por lo que cuanto más largo sea el período, mayor será el retraso para una sola transacción.
  2. después de obtener la lista, el nodo ligero selecciona un grupo de proveedores de datos y se asegura de que sus fondos apostados superen el valor de la transacción actual. En teoría, cuanto más altos sean los fondos apostados, mayor será el costo para que un proveedor de datos actúe de manera malintencionada, y menor será el costo de confianza para el nodo ligero.
  3. El nodo ligero envía una solicitud de datos a este grupo de proveedores de datos, incluyendo el número de bloque y el estado objetivo (la prueba de inclusión de la transacción).
  4. los proveedores de datos responden con el hash del bloque correspondiente y la prueba de inclusión de la transacción, junto con sus firmas.
  5. al recibir esta información, el nodo ligero la reenvía a la red de inspectores conectados. si al final del período de desafío no se recibe ninguna advertencia de fiabilidad de datos, el nodo ligero verifica las firmas y, si son correctas, confirma la fiabilidad de los datos.

  1. sin embargo, si se recibe una advertencia de la red del inspector, el nodo ligero debe descartar las firmas recibidas previamente. la red del inspector presentará pruebas al módulo de confiscación del contrato inteligente. si el contrato inteligente verifica que ha ocurrido una actividad maliciosa, se confiscará la participación del proveedor de datos. dado que algunos o todos los proveedores de datos seleccionados han sido penalizados, el nodo ligero necesita obtener una nueva lista de proveedores de datos de la red actual para confirmar el evento de confiscación.

otros puntos:

  • cualquier nodo completo puede unirse o abandonar la red de proveedores de datos enviando solicitudes de “registro” y “retiro” al contrato inteligente. Existe un requisito mínimo de participación para unirse a la red de proveedores de datos. Una vez que un nodo completo inicia un retiro, su estado cambia a “abandonado” y ya no recibirá solicitudes de nodos ligeros para evitar un comportamiento malicioso rápido. Además, la red de proveedores de datos actualiza periódicamente la lista de proveedores activos. Durante este período, los proveedores de datos no pueden retirar sus fondos y las solicitudes de retiro tendrán efecto al final del período de actualización actual. La frecuencia de actualización es mayor que el período máximo de desafío para garantizar la finalización de todas las pruebas de disponibilidad de datos de los nodos ligeros. Debido a la actividad de la red, los nodos ligeros necesitan obtener una nueva lista de proveedores activos en cada ciclo de actualización. Si el ciclo de actualización se extiende, los nodos ligeros pueden disfrutar de un proceso de verificación más simple (estimando la lista activa en función de solicitudes de “registro” y “retiro” anteriores), pero los nodos que deseen abandonar enfrentarán una espera más larga.
  • Cuando la red de inspectores recibe firmas de datos, comprueba si las firmas pertenecen a los proveedores de datos y si los datos han sido "finalmente confirmados" en la red de consenso. Si los datos no aparecen en la cadena válida, hay dos posibilidades. En primer lugar, los datos aún no han sido confirmados finalmente por la cadena de bloques, ya que las diferentes cadenas tienen diferentes reglas de finalidad, como el principio de la cadena más larga. En segundo lugar, la transacción está en un bloque en otra cadena válida. Si los datos son fraudulentos, Inspector Network enviará una solicitud de confiscación al contrato inteligente, incluida la clave pública, la firma y el número de bloque del proveedor de datos, junto con una prueba del evento de confiscación para alertar al nodo Light. El contrato inteligente utilizará los principios de finalidad de la capa de consenso para comparar el número de bloque confirmado actualmente con los datos recibidos. Si no coinciden, se desencadena el evento de decomiso. Además, si un proveedor de datos es penalizado por otro conjunto de solicitudes de datos después de haber sido elegido por el nodo Light, la red del inspector notificará de inmediato al nodo Light de la menor confiabilidad del proveedor de datos, lo que solicitará al nodo Light que obtenga una nueva lista y seleccione otros proveedores.

evaluar:

  • seguridad: el nodo ligero utiliza el módulo de participación y la red de inspectores para determinar el costo de las acciones maliciosas tanto para proveedores de datos racionales como irracionales, mejorando así la fiabilidad de los datos. sin embargo, dado que todo el protocolo se basa en la red de consenso (probado en ethereum en este documento), si la capa de consenso es atacada, este protocolo también enfrentará una potencial crisis de confianza. por lo tanto, se puede introducir un mecanismo de reputación para garantizar la seguridad del sistema en casos extremos.
  • seguridad a nivel de nodo completo: esta solución tiene como objetivo ofrecer suposiciones de seguridad equivalentes a pos de ethereum, lo que significa que los nodos completos deben asumir el riesgo de pérdida si hacen afirmaciones falsas.
  • actividad de la red: si la red actual solo tiene unos pocos proveedores de datos racionales, el nodo ligero experimentará múltiples rondas de retrasos. sin embargo, dado que la capacidad de cada proveedor de datos no es cero, cada solicitud aún puede completarse. por lo tanto, siempre que haya un nodo completo racional en la red, este puede seguir operando. además, dado que los ingresos de los proveedores de datos están vinculados a su cantidad de participación, esto fomenta que los nodos completos sobreapuesten para proteger la red.
  • Eficiencia: Los autores estiman que los validadores de Ethereum serán los principales usuarios que participarán como proveedores de datos porque ya están ejecutando nodos completos y pueden obtener ingresos adicionales a través de este protocolo. Las transacciones pequeñas pueden obtener datos confiables de un solo proveedor de datos (solo necesitan una verificación para el nodo Light), mientras que las transacciones grandes pueden requerir varios proveedores de datos para obtener datos confiables (el número de verificaciones aumenta linealmente con el número de proveedores).

plan 2: priorizar eficiencia

El plan 2 se basa en el plan uno al introducir un mecanismo de seguro para la confirmación rápida de datos. En términos simples, después de que el nodo ligero determine el seguro en función del monto y la duración de la póliza, parte o la totalidad de la participación del proveedor de datos puede ser utilizada para compensar cualquier pérdida subsecuente incurrida por el nodo ligero debido a datos maliciosos. Esto permite al nodo ligero establecer la credibilidad inicial de los datos tan pronto como reciba y verifique la firma de los datos del proveedor. El proceso específico para que el nodo ligero solicite datos es el siguiente:

  1. El nodo ligero calcula la pérdida máxima potencial de la transacción actual y luego establece la cantidad y duración de la póliza. Los fondos apostados por el proveedor de datos en el seguro deben superar la cantidad de la póliza para garantizar una compensación suficiente.
  2. el nodo ligero determina el período de desafío para la transacción. Es importante tener en cuenta que el período de política puede cubrir la verificación de inclusión de múltiples transacciones, por lo que el período total de desafío elegido por el nodo ligero no puede exceder el período de política; de lo contrario, algunas transacciones pueden no estar garantizadas.
  3. después de seleccionar los parámetros (monto de la póliza, período de la póliza, la cantidad de fondos apostados por el proveedor de datos en el seguro y la lista de intenciones del proveedor de datos), el nodo ligero envía una solicitud al contrato inteligente. después de esperar el tiempo de confirmación final del bloque, verifica si la compra del seguro fue exitosa. si falla, puede ser porque otros nodos ligeros también eligieron al mismo proveedor de datos y liquidaron primero, lo que resultó en apuestas restantes insuficientes para cumplir con la demanda original.
  4. el nodo ligero envía una solicitud de datos, que incluye el número de bloque, el estado objetivo (la prueba de inclusión de la transacción) y el número de seguro.
  5. el proveedor de datos envía los datos y la firma, que el nodo ligero verifica y envía a la red del inspector. la transacción se confirma preliminarmente.
  6. al recibir los datos y la firma, el inspector verifica inicialmente la credibilidad de los datos. si se detecta un comportamiento malicioso, se envía una prueba al contrato inteligente y se penaliza al proveedor de datos correspondiente, con la penalización distribuida al nodo ligero.

otros puntos:

  • los tokens apostados por los proveedores de datos en el seguro son independientes para diferentes solicitudes de nodos ligeros para evitar el riesgo de múltiples reembolsos de seguros. una vez que un nodo ligero selecciona a un proveedor de datos, el contrato inteligente bloquea los tokens apostados correspondientes en el seguro, y otros nodos ligeros no pueden asignar esta apuesta hasta que finalice el período de la póliza. si las transacciones son independientes, el monto de la póliza es igual al monto máximo de transacción. si las transacciones no son independientes, el monto de la póliza es igual al monto total de transacción. dado el mismo monto apostado, los nodos ligeros generalmente elegirán la menor cantidad de proveedores de datos posible para garantizar la eficiencia de verificación.
  • los proveedores de datos pueden iniciar una solicitud de "retiro" antes de que finalice el período de seguro, pero el monto del retiro solo se recibirá después de que finalice el período de la póliza.
  • estricamente hablando, el período de la póliza debe ser más largo que el tiempo de confirmación final del bloque + período total de desafío + retraso de comunicación + retraso de computación/verificación. cuantos más proveedores de datos se seleccionen, más largo será el período de póliza requerido en función del período total de desafío.

evaluación:

  • escalabilidad: la escalabilidad del plan dos depende de la cantidad total de tokens que los proveedores de datos estén dispuestos a apostar en el seguro.
  • costo de la póliza: dado que los niveles de seguridad más altos están vinculados al período de desafío, los proveedores de datos deben apostar durante un tiempo igual o mayor que el período de desafío. así, los requisitos de seguridad más altos conducen a períodos de apuesta más largos y mayores costos para el nodo ligero. en términos de fórmula, el costo de apuesta para los proveedores de datos se calcula como la ganancia del nodo proveedor de datos / (utilización promedio anual de apuestas multiplicado por el número total de bloques por año). el precio que el nodo ligero debe pagar es el costo de apuesta multiplicado por el período de póliza y el tamaño de la póliza.

eficacia del plan

En primer lugar, con respecto a la eficiencia de cálculo del nodo ligero, ambos planes para nodos ligeros muestran una eficiencia de verificación a nivel de milisegundos (los nodos ligeros solo necesitan verificar los datos una vez). En segundo lugar, en cuanto a la latencia del nodo ligero, bajo diferentes configuraciones experimentales (como se muestra en la figura a continuación), la latencia también está a nivel de milisegundos. Es importante señalar que la latencia aumenta linealmente con el número de proveedores de datos pero siempre se mantiene a nivel de milisegundos. Además, en el plan uno, debido a que el nodo ligero necesita esperar los resultados del período de desafío, la latencia es de 5 horas. Si la red del inspector es lo suficientemente confiable y eficiente, esta demora de 5 horas puede reducirse considerablemente.

tercero, en cuanto a los costos del nodo ligero, en la práctica, los nodos ligeros incurren en dos costos principales: tarifas de gas y primas de seguros, ambos de los cuales aumentan con el monto de la póliza. además, para los inspectores, las tarifas de gas involucradas en la presentación de datos serán reembolsadas por el monto confiscado para garantizar incentivos suficientes para la participación.

direcciones de expansión

  • más garantía: actualmente, los proveedores de datos apuestan fichas eth, pero la información de la transacción se calcula en términos de usd. esto requiere que los nodos ligeros evalúen el tipo de cambio de eth cada vez que obtienen datos para asegurar una garantía suficiente. permitir múltiples fichas para apostar brindaría a los proveedores de datos más opciones y reduciría el riesgo asociado con una única moneda.
  • autorización: similar a la minería conjunta, algunos inversores minoristas pueden autorizar su eth a nodos completos para participar en la red de proveedores de datos, con ganancias distribuidas según sus acuerdos, similar a lsd.
  • garantía de bloque: para evitar la espera del período de confirmación final (12-13 segundos en ethereum), los nodos ligeros pueden utilizar una garantía para reducir este tiempo de espera. Los nodos ligeros agregan un símbolo/identificador al realizar solicitudes de datos y especifican el tipo de garantía necesaria (confirmación final/propuesta). Los proveedores de datos luego proporcionan los datos y la firma correspondientes al recibir la solicitud. Si los proveedores de datos no proponen bloques en el escenario de la “garantía propuesta”, serán penalizados.

Nota: los bloques propuestos eventualmente serán finalizados o se convertirán en bloques huérfanos.

  • costos y tarifas: para la red de inspectores, necesitan apostar una cierta cantidad de tokens (mayor que la tarifa de gas) para enviar pruebas al contrato inteligente. Además, el uso de pruebas de conocimiento cero (zkp) puede reducir los costos asociados con estas pruebas. Bajo el mecanismo de seguro, las primas pagadas por los nodos ligeros van a los proveedores de datos, mientras que la red de inspectores se queda con una parte de las ganancias perdidas de los proveedores maliciosos.
  • disponibilidad de datos: los proveedores de datos son esencialmente nodos completos. además de participar en la red de capa de consenso, también pueden verificar la disponibilidad de datos. existen dos esquemas para verificar la disponibilidad: el modelo de extracción y el modelo de empuje. El modelo de extracción implica que los nodos ligeros muestreen aleatoriamente datos de los nodos completos. El modelo de empuje implica que los productores de bloques distribuyan diferentes bloques a los proveedores de datos. Los proveedores de datos que utilizan el modelo de extracción son responsables de responder a las solicitudes de muestreo. Los nodos ligeros envían los datos recibidos a nodos/validadores de confianza, quienes intentan reconstruir el bloque. Si no pueden hacerlo, se penalizará al proveedor de datos. El protocolo de nodo ligero propuesto en este documento introduce un mecanismo de seguro, proporcionando una nueva dirección para la investigación de la disponibilidad de datos.

resumen y evaluación

El esquema de nodo ligero propuesto en este documento ofrece una "seguridad programable" para abordar las necesidades de seguridad en diversas situaciones. El esquema uno prioriza una mayor seguridad a costa de una mayor latencia, mientras que el esquema dos utiliza un mecanismo de seguro para ofrecer a los nodos ligeros servicios de "confirmación instantánea". Estos esquemas son aplicables en escenarios que requieren la finalidad de transacción, como transacciones atómicas y transacciones entre cadenas.

descargo de responsabilidad:

  1. este artículo es reproducido desde [socios de Eureka]. todos los derechos de autor pertenecen al autor original [andy、arthur]. si hay objeciones a esta reimpresión, por favor contacte al Gate learnequipo y ellos lo manejarán rápidamente.
  2. Descargo de responsabilidad: Los puntos de vista y opiniones expresados en este artículo son únicamente los 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.

TeleportDAO: Equilibrando la seguridad y eficiencia de verificación de datos - Últimas prácticas en el diseño de nodo ligero

Avanzado7/14/2024, 3:12:39 PM
TeleportDAO y Eigen Labs recientemente coescribieron un documento que aborda los problemas de seguridad y eficiencia que enfrentan los nodos ligeros al acceder y verificar datos on-chain dentro de las blockchains de Prueba de Participación (PoS). El documento presenta una solución novedosa que mejora la seguridad y eficiencia de los nodos ligeros en las blockchains PoS a través de diversas medidas como incentivos económicos, mecanismos de pre-seguridad asegurados, "seguridad programable" personalizada y rentabilidad.

Resumen; no leído

Teleportdao y Eigen Labs publicaron recientemente un artículo centrado en los desafíos de seguridad y eficiencia a los que se enfrentan los nodos ligeros en las cadenas de bloques de prueba de participación (PoS) al acceder y verificar los datos en cadena. El documento propone una nueva solución para garantizar la seguridad y la eficiencia de los nodos ligeros en las cadenas de bloques POS a través de incentivos económicos, mecanismos de preseguridad asegurados, "seguridad programable" personalizable y rentabilidad. Vale la pena seguir investigando este enfoque innovador. Nota: Eigen Labs, el desarrollador detrás del protocolo de reparticipación Eigenlayer y Eigenda, ha recaudado más de USD 150 millones de firmas de capital de riesgo de renombre como A16Z, Polychain y Blockchain Capital. Teleportdao, con sede en Vancouver, Canadá, se centra en la infraestructura de comunicación entre cadenas públicas de Bitcoin y EVM. El protocolo recaudó con éxito USD 9 millones a través de una venta pública en Coinlist, con inversores como Appworks, OIG Capital, DefinanceX, Oak Grove Ventures, Candaq Ventures, Ton, Across y Bitsmiley.

problemas con el diseño de nodo ligero

actualmente, en las blockchains de prueba de participación (PoS), los validadores garantizan la seguridad de la red bloqueando una cierta cantidad de participación (como 32 eth en Ethereum) para participar en la red de consenso. esto significa que la seguridad de las blockchains de prueba de participación está económicamente protegida: a mayor participación total, mayor es el costo o la pérdida potencial para cualquiera que intente atacar la red. este mecanismo de pérdida depende de una característica conocida como “seguridad de responsabilidad”, que permite la pérdida de la participación de un validador si firma estados conflictivos. los nodos completos son vitales para mantener la integridad de las blockchains de prueba de participación. almacenan todos los datos de transacciones, verifican las firmas de consenso, mantienen un historial completo de transacciones y ejecutan actualizaciones de estado. estas tareas requieren recursos informáticos significativos y hardware avanzado; por ejemplo, ejecutar un nodo completo de Ethereum requiere al menos 2 TB de almacenamiento SSD. por otro lado, los nodos ligeros reducen las demandas de recursos informáticos almacenando solo encabezados de bloques, lo que los hace adecuados para verificar transacciones/estados específicos en aplicaciones como carteras móviles y puentes entre cadenas. sin embargo, los nodos ligeros dependen de los nodos completos para obtener información sobre bloques durante la verificación de transacciones. actualmente, la cuota de mercado de los proveedores de servicios de nodos está bastante concentrada, lo que compromete la seguridad, la independencia y la inmediatez. este artículo explora soluciones para equilibrar los costos de adquisición de datos y la latencia para lograr una seguridad óptima para los nodos ligeros.

soluciones de diseño de nodos ligeros existentes

Bitcoin introdujo la verificación de pago simple (SPV) como protocolo para nodos ligeros. SPV permite a los nodos ligeros verificar si una transacción está incluida en un bloque específico utilizando Merkle Proof y los encabezados de bloque. Esto significa que los nodos ligeros solo necesitan descargar los encabezados de bloque para verificar la finalidad de la transacción comprobando la profundidad del bloque. En consecuencia, el coste computacional de la verificación del consenso de los nodos ligeros en Bitcoin es relativamente bajo. Sin embargo, en las cadenas de bloques POS como Ethereum, las comprobaciones de consenso son inherentemente más complejas. Implican el mantenimiento de todo el conjunto de validadores, el seguimiento de sus cambios de participación y la realización de numerosas comprobaciones de firmas para la red de consenso. Además, la seguridad de los nodos PoW Light se basa en la suposición de que la mayoría de los nodos completos son honestos. Para superar las limitaciones de SPV, FlyClient y Non-Interactive Proof-of-Work (NIPOPOW) ofrecen pruebas de costos sublineales a los clientes. Sin embargo, estos métodos son menos efectivos para los modelos de consenso POS.

en pos blockchains, la seguridad se logra a través de un mecanismo de pérdida. este sistema asume que los participantes del consenso son racionales, lo que significa que no atacarán la red si el costo supera cualquier posible beneficio. para reducir los costos de verificación, el protocolo actual de los nodos ligeros de Ethereum utiliza un comité de sincronización de 512 validadores seleccionados al azar, cada uno con una participación de 32 eth, pero el proceso de firma no está sujeto a pérdida. este diseño sin pérdida tiene importantes fallos de seguridad; las firmas deshonestas en el comité de sincronización pueden engañar a los nodos ligeros para que acepten datos inválidos sin ningún castigo. incluso con un mecanismo de pérdida, la participación total del comité de sincronización es pequeña en comparación con el vasto grupo de validadores de Ethereum (más de 1 millón hasta marzo de 2024). por lo tanto, este método no proporciona a los nodos ligeros una seguridad equivalente al conjunto de validadores de Ethereum. este modelo es una variante especial de la computación multiparte en configuraciones racionales pero carece de garantías económicas y no aborda las amenazas de proveedores de datos maliciosos e irracionales.

para abordar los desafíos de seguridad y eficiencia en el proceso de arranque de pos, popos introduce un juego segmentado para desafiar de manera efectiva el árbol de Merkle adversario del timing de pos. Si bien se logran requisitos de espacio mínimos y se evita la necesidad de que los clientes estén siempre en línea y mantengan participaciones, el problema de permitir que los clientes se desconecten y se vuelvan a unir a la red sin incurrir en costos significativos sigue sin resolverse.

otro enfoque de investigación utiliza pruebas de conocimiento cero para crear pruebas concisas. por ejemplo, mina y plumo facilitan la verificación de consenso ligero usando combinaciones snark recursivas y pruebas de transición de estado basadas en snark. sin embargo, estos métodos imponen cargas computacionales significativas en los productores de bloques para generar pruebas y no abordan la compensación de los nodos ligeros por posibles pérdidas. en otros protocolos de pos (como el protocolo tendermint en cosmos), se ha explorado el papel de los nodos ligeros en su protocolo de comunicación interblocos (ibc). pero estas implementaciones están adaptadas a sus ecosistemas específicos y no son directamente aplicables a ethereum u otros blockchains pos.

diseño de un nuevo plan de nodo ligero

En general, el nuevo plan incorpora un módulo de seguridad económica para lograr una "seguridad programable", que permite que los nodos ligeros elijan diferentes diseños en función de sus requisitos de seguridad específicos. Las suposiciones de seguridad siguen el principio de 1/n + 1/m, lo que significa que siempre y cuando haya al menos un nodo honesto y efectivo tanto en la red de nodos completos como en la red de inspectores, la red puede funcionar correctamente.

módulos/roles involucrados

  • blockchain: el protocolo se basa en una cadena de bloques programable con reglas definidas para la finalidad del bloque. Por ejemplo, en la cadena de bloques de ethereum, un bloque se considera final después de al menos dos épocas subsiguientes, que generalmente tardan alrededor de 13 minutos.
  • contrato inteligente de confiscación: el protocolo incluye un contrato de confiscación en cadena que sigue las abstracciones estándar del contrato inteligente. Puede acceder al hash del bloque del bloque anterior en la cadena de bloques. Todas las partes pueden enviar información a este contrato.
  • proveedores de datos: los proveedores de datos ejecutan nodos completos y mantienen un registro del estado más reciente de la cadena de bloques. Ponen en juego activos y ofrecen servicios para verificar la validez de los estados solicitados por los nodos ligeros. Firman todos los datos enviados a los nodos ligeros con claves correspondientes a sus claves públicas, asegurando la fuente y la integridad de los datos.
  • inspectores: los inspectores son nodos completos conectados a nodos ligeros que ayudan a verificar datos. Cualquiera puede convertirse en un inspector y ganar recompensas al monitorear y penalizar a las partes que se comportan mal. Para mayor simplicidad, el siguiente plan asume que cada nodo ligero está conectado a al menos un inspector honesto.
  • nodos ligeros: los nodos ligeros tienen como objetivo verificar si un estado/ transacción específica está incluida en la cadena de bloques con un costo mínimo. Se conectan a un grupo de proveedores de datos e inspectores durante el proceso de verificación.
  • red: los proveedores de datos forman una red de pares (p2p) y utilizan el protocolo de difusión para propagar datos. Los nodos ligeros se conectan a varios proveedores de datos para enviar solicitudes y recibir respuestas.

plan 1: seguridad primero

El plan 1 se centra en garantizar la fiabilidad de los datos a través de un período de desafío y una red de inspectores. En términos simples, después de que un nodo ligero recibe datos firmados por los proveedores, reenvía estos datos a la red de inspectores para su revisión. Si se detecta algún dato fraudulento dentro de un período especificado, el inspector notificará al nodo ligero que los datos no son fiables, y el módulo de confiscación del contrato inteligente confiscará los tokens apostados por el proveedor de datos. De lo contrario, el nodo ligero puede confiar en la fiabilidad de los datos. El proceso específico para que los nodos ligeros soliciten datos es el siguiente:

  1. Los nodos ligeros obtienen la última lista de proveedores de datos de la red actual y el nodo ligero recupera la última lista de proveedores de datos de la red actual y establece un período de desafío. Tenga en cuenta que los períodos de desafío son independientes para cada nodo ligero, pero hay un período de desafío máximo que se aplica a todos los nodos ligeros. El período de desafío es el tiempo máximo que la red de inspectores tiene para verificar la confiabilidad de los datos, por lo que cuanto más largo sea el período, mayor será el retraso para una sola transacción.
  2. después de obtener la lista, el nodo ligero selecciona un grupo de proveedores de datos y se asegura de que sus fondos apostados superen el valor de la transacción actual. En teoría, cuanto más altos sean los fondos apostados, mayor será el costo para que un proveedor de datos actúe de manera malintencionada, y menor será el costo de confianza para el nodo ligero.
  3. El nodo ligero envía una solicitud de datos a este grupo de proveedores de datos, incluyendo el número de bloque y el estado objetivo (la prueba de inclusión de la transacción).
  4. los proveedores de datos responden con el hash del bloque correspondiente y la prueba de inclusión de la transacción, junto con sus firmas.
  5. al recibir esta información, el nodo ligero la reenvía a la red de inspectores conectados. si al final del período de desafío no se recibe ninguna advertencia de fiabilidad de datos, el nodo ligero verifica las firmas y, si son correctas, confirma la fiabilidad de los datos.

  1. sin embargo, si se recibe una advertencia de la red del inspector, el nodo ligero debe descartar las firmas recibidas previamente. la red del inspector presentará pruebas al módulo de confiscación del contrato inteligente. si el contrato inteligente verifica que ha ocurrido una actividad maliciosa, se confiscará la participación del proveedor de datos. dado que algunos o todos los proveedores de datos seleccionados han sido penalizados, el nodo ligero necesita obtener una nueva lista de proveedores de datos de la red actual para confirmar el evento de confiscación.

otros puntos:

  • cualquier nodo completo puede unirse o abandonar la red de proveedores de datos enviando solicitudes de “registro” y “retiro” al contrato inteligente. Existe un requisito mínimo de participación para unirse a la red de proveedores de datos. Una vez que un nodo completo inicia un retiro, su estado cambia a “abandonado” y ya no recibirá solicitudes de nodos ligeros para evitar un comportamiento malicioso rápido. Además, la red de proveedores de datos actualiza periódicamente la lista de proveedores activos. Durante este período, los proveedores de datos no pueden retirar sus fondos y las solicitudes de retiro tendrán efecto al final del período de actualización actual. La frecuencia de actualización es mayor que el período máximo de desafío para garantizar la finalización de todas las pruebas de disponibilidad de datos de los nodos ligeros. Debido a la actividad de la red, los nodos ligeros necesitan obtener una nueva lista de proveedores activos en cada ciclo de actualización. Si el ciclo de actualización se extiende, los nodos ligeros pueden disfrutar de un proceso de verificación más simple (estimando la lista activa en función de solicitudes de “registro” y “retiro” anteriores), pero los nodos que deseen abandonar enfrentarán una espera más larga.
  • Cuando la red de inspectores recibe firmas de datos, comprueba si las firmas pertenecen a los proveedores de datos y si los datos han sido "finalmente confirmados" en la red de consenso. Si los datos no aparecen en la cadena válida, hay dos posibilidades. En primer lugar, los datos aún no han sido confirmados finalmente por la cadena de bloques, ya que las diferentes cadenas tienen diferentes reglas de finalidad, como el principio de la cadena más larga. En segundo lugar, la transacción está en un bloque en otra cadena válida. Si los datos son fraudulentos, Inspector Network enviará una solicitud de confiscación al contrato inteligente, incluida la clave pública, la firma y el número de bloque del proveedor de datos, junto con una prueba del evento de confiscación para alertar al nodo Light. El contrato inteligente utilizará los principios de finalidad de la capa de consenso para comparar el número de bloque confirmado actualmente con los datos recibidos. Si no coinciden, se desencadena el evento de decomiso. Además, si un proveedor de datos es penalizado por otro conjunto de solicitudes de datos después de haber sido elegido por el nodo Light, la red del inspector notificará de inmediato al nodo Light de la menor confiabilidad del proveedor de datos, lo que solicitará al nodo Light que obtenga una nueva lista y seleccione otros proveedores.

evaluar:

  • seguridad: el nodo ligero utiliza el módulo de participación y la red de inspectores para determinar el costo de las acciones maliciosas tanto para proveedores de datos racionales como irracionales, mejorando así la fiabilidad de los datos. sin embargo, dado que todo el protocolo se basa en la red de consenso (probado en ethereum en este documento), si la capa de consenso es atacada, este protocolo también enfrentará una potencial crisis de confianza. por lo tanto, se puede introducir un mecanismo de reputación para garantizar la seguridad del sistema en casos extremos.
  • seguridad a nivel de nodo completo: esta solución tiene como objetivo ofrecer suposiciones de seguridad equivalentes a pos de ethereum, lo que significa que los nodos completos deben asumir el riesgo de pérdida si hacen afirmaciones falsas.
  • actividad de la red: si la red actual solo tiene unos pocos proveedores de datos racionales, el nodo ligero experimentará múltiples rondas de retrasos. sin embargo, dado que la capacidad de cada proveedor de datos no es cero, cada solicitud aún puede completarse. por lo tanto, siempre que haya un nodo completo racional en la red, este puede seguir operando. además, dado que los ingresos de los proveedores de datos están vinculados a su cantidad de participación, esto fomenta que los nodos completos sobreapuesten para proteger la red.
  • Eficiencia: Los autores estiman que los validadores de Ethereum serán los principales usuarios que participarán como proveedores de datos porque ya están ejecutando nodos completos y pueden obtener ingresos adicionales a través de este protocolo. Las transacciones pequeñas pueden obtener datos confiables de un solo proveedor de datos (solo necesitan una verificación para el nodo Light), mientras que las transacciones grandes pueden requerir varios proveedores de datos para obtener datos confiables (el número de verificaciones aumenta linealmente con el número de proveedores).

plan 2: priorizar eficiencia

El plan 2 se basa en el plan uno al introducir un mecanismo de seguro para la confirmación rápida de datos. En términos simples, después de que el nodo ligero determine el seguro en función del monto y la duración de la póliza, parte o la totalidad de la participación del proveedor de datos puede ser utilizada para compensar cualquier pérdida subsecuente incurrida por el nodo ligero debido a datos maliciosos. Esto permite al nodo ligero establecer la credibilidad inicial de los datos tan pronto como reciba y verifique la firma de los datos del proveedor. El proceso específico para que el nodo ligero solicite datos es el siguiente:

  1. El nodo ligero calcula la pérdida máxima potencial de la transacción actual y luego establece la cantidad y duración de la póliza. Los fondos apostados por el proveedor de datos en el seguro deben superar la cantidad de la póliza para garantizar una compensación suficiente.
  2. el nodo ligero determina el período de desafío para la transacción. Es importante tener en cuenta que el período de política puede cubrir la verificación de inclusión de múltiples transacciones, por lo que el período total de desafío elegido por el nodo ligero no puede exceder el período de política; de lo contrario, algunas transacciones pueden no estar garantizadas.
  3. después de seleccionar los parámetros (monto de la póliza, período de la póliza, la cantidad de fondos apostados por el proveedor de datos en el seguro y la lista de intenciones del proveedor de datos), el nodo ligero envía una solicitud al contrato inteligente. después de esperar el tiempo de confirmación final del bloque, verifica si la compra del seguro fue exitosa. si falla, puede ser porque otros nodos ligeros también eligieron al mismo proveedor de datos y liquidaron primero, lo que resultó en apuestas restantes insuficientes para cumplir con la demanda original.
  4. el nodo ligero envía una solicitud de datos, que incluye el número de bloque, el estado objetivo (la prueba de inclusión de la transacción) y el número de seguro.
  5. el proveedor de datos envía los datos y la firma, que el nodo ligero verifica y envía a la red del inspector. la transacción se confirma preliminarmente.
  6. al recibir los datos y la firma, el inspector verifica inicialmente la credibilidad de los datos. si se detecta un comportamiento malicioso, se envía una prueba al contrato inteligente y se penaliza al proveedor de datos correspondiente, con la penalización distribuida al nodo ligero.

otros puntos:

  • los tokens apostados por los proveedores de datos en el seguro son independientes para diferentes solicitudes de nodos ligeros para evitar el riesgo de múltiples reembolsos de seguros. una vez que un nodo ligero selecciona a un proveedor de datos, el contrato inteligente bloquea los tokens apostados correspondientes en el seguro, y otros nodos ligeros no pueden asignar esta apuesta hasta que finalice el período de la póliza. si las transacciones son independientes, el monto de la póliza es igual al monto máximo de transacción. si las transacciones no son independientes, el monto de la póliza es igual al monto total de transacción. dado el mismo monto apostado, los nodos ligeros generalmente elegirán la menor cantidad de proveedores de datos posible para garantizar la eficiencia de verificación.
  • los proveedores de datos pueden iniciar una solicitud de "retiro" antes de que finalice el período de seguro, pero el monto del retiro solo se recibirá después de que finalice el período de la póliza.
  • estricamente hablando, el período de la póliza debe ser más largo que el tiempo de confirmación final del bloque + período total de desafío + retraso de comunicación + retraso de computación/verificación. cuantos más proveedores de datos se seleccionen, más largo será el período de póliza requerido en función del período total de desafío.

evaluación:

  • escalabilidad: la escalabilidad del plan dos depende de la cantidad total de tokens que los proveedores de datos estén dispuestos a apostar en el seguro.
  • costo de la póliza: dado que los niveles de seguridad más altos están vinculados al período de desafío, los proveedores de datos deben apostar durante un tiempo igual o mayor que el período de desafío. así, los requisitos de seguridad más altos conducen a períodos de apuesta más largos y mayores costos para el nodo ligero. en términos de fórmula, el costo de apuesta para los proveedores de datos se calcula como la ganancia del nodo proveedor de datos / (utilización promedio anual de apuestas multiplicado por el número total de bloques por año). el precio que el nodo ligero debe pagar es el costo de apuesta multiplicado por el período de póliza y el tamaño de la póliza.

eficacia del plan

En primer lugar, con respecto a la eficiencia de cálculo del nodo ligero, ambos planes para nodos ligeros muestran una eficiencia de verificación a nivel de milisegundos (los nodos ligeros solo necesitan verificar los datos una vez). En segundo lugar, en cuanto a la latencia del nodo ligero, bajo diferentes configuraciones experimentales (como se muestra en la figura a continuación), la latencia también está a nivel de milisegundos. Es importante señalar que la latencia aumenta linealmente con el número de proveedores de datos pero siempre se mantiene a nivel de milisegundos. Además, en el plan uno, debido a que el nodo ligero necesita esperar los resultados del período de desafío, la latencia es de 5 horas. Si la red del inspector es lo suficientemente confiable y eficiente, esta demora de 5 horas puede reducirse considerablemente.

tercero, en cuanto a los costos del nodo ligero, en la práctica, los nodos ligeros incurren en dos costos principales: tarifas de gas y primas de seguros, ambos de los cuales aumentan con el monto de la póliza. además, para los inspectores, las tarifas de gas involucradas en la presentación de datos serán reembolsadas por el monto confiscado para garantizar incentivos suficientes para la participación.

direcciones de expansión

  • más garantía: actualmente, los proveedores de datos apuestan fichas eth, pero la información de la transacción se calcula en términos de usd. esto requiere que los nodos ligeros evalúen el tipo de cambio de eth cada vez que obtienen datos para asegurar una garantía suficiente. permitir múltiples fichas para apostar brindaría a los proveedores de datos más opciones y reduciría el riesgo asociado con una única moneda.
  • autorización: similar a la minería conjunta, algunos inversores minoristas pueden autorizar su eth a nodos completos para participar en la red de proveedores de datos, con ganancias distribuidas según sus acuerdos, similar a lsd.
  • garantía de bloque: para evitar la espera del período de confirmación final (12-13 segundos en ethereum), los nodos ligeros pueden utilizar una garantía para reducir este tiempo de espera. Los nodos ligeros agregan un símbolo/identificador al realizar solicitudes de datos y especifican el tipo de garantía necesaria (confirmación final/propuesta). Los proveedores de datos luego proporcionan los datos y la firma correspondientes al recibir la solicitud. Si los proveedores de datos no proponen bloques en el escenario de la “garantía propuesta”, serán penalizados.

Nota: los bloques propuestos eventualmente serán finalizados o se convertirán en bloques huérfanos.

  • costos y tarifas: para la red de inspectores, necesitan apostar una cierta cantidad de tokens (mayor que la tarifa de gas) para enviar pruebas al contrato inteligente. Además, el uso de pruebas de conocimiento cero (zkp) puede reducir los costos asociados con estas pruebas. Bajo el mecanismo de seguro, las primas pagadas por los nodos ligeros van a los proveedores de datos, mientras que la red de inspectores se queda con una parte de las ganancias perdidas de los proveedores maliciosos.
  • disponibilidad de datos: los proveedores de datos son esencialmente nodos completos. además de participar en la red de capa de consenso, también pueden verificar la disponibilidad de datos. existen dos esquemas para verificar la disponibilidad: el modelo de extracción y el modelo de empuje. El modelo de extracción implica que los nodos ligeros muestreen aleatoriamente datos de los nodos completos. El modelo de empuje implica que los productores de bloques distribuyan diferentes bloques a los proveedores de datos. Los proveedores de datos que utilizan el modelo de extracción son responsables de responder a las solicitudes de muestreo. Los nodos ligeros envían los datos recibidos a nodos/validadores de confianza, quienes intentan reconstruir el bloque. Si no pueden hacerlo, se penalizará al proveedor de datos. El protocolo de nodo ligero propuesto en este documento introduce un mecanismo de seguro, proporcionando una nueva dirección para la investigación de la disponibilidad de datos.

resumen y evaluación

El esquema de nodo ligero propuesto en este documento ofrece una "seguridad programable" para abordar las necesidades de seguridad en diversas situaciones. El esquema uno prioriza una mayor seguridad a costa de una mayor latencia, mientras que el esquema dos utiliza un mecanismo de seguro para ofrecer a los nodos ligeros servicios de "confirmación instantánea". Estos esquemas son aplicables en escenarios que requieren la finalidad de transacción, como transacciones atómicas y transacciones entre cadenas.

descargo de responsabilidad:

  1. este artículo es reproducido desde [socios de Eureka]. todos los derechos de autor pertenecen al autor original [andy、arthur]. si hay objeciones a esta reimpresión, por favor contacte al Gate learnequipo y ellos lo manejarán rápidamente.
  2. Descargo de responsabilidad: Los puntos de vista y opiniones expresados en este artículo son únicamente los 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.
Empieza ahora
¡Registrarse y recibe un bono de
$100
!