¿Cuáles son los beneficios de la tecnología de Muestreo de Disponibilidad de Datos? ¿Por qué la necesitamos?

Foto por @testalizeme?utm_source=medium&utm_medium=referral">Testalize.me en Unsplash
Conocimientos previos:
Esta serie de artículos presentará el mecanismo operativo de DAS a través de Danksharding, así como las similitudes y diferencias entre Celestia, EigenDA y AvailDA. El primer artículo presentará por qué necesitamos DAS y los beneficios que DAS aporta.
Pero de hecho, no es solo L2, la cadena Ethereum en sí también necesitará enfrentar el problema de la liberación de datos, porque los nodos ligeros no descargarán datos de bloque completos como los nodos completos, por lo que los nodos ligeros necesitan creer que "cuando aparece un nuevo bloque, de hecho se liberaron los datos completos del bloque". Cuando se engaña a un nodo ligero para que crea en un bloque "incompleto", el impacto es el mismo que cuando se le engaña para que crea en un bloque "ilegal": se conecta a un enlace que no es reconocido por otros como parte de la cadena bifurcada.

Los nodos completos no creerán en bloques incompletos, pero los nodos ligeros sí lo harán
Entonces, ¿a quién confía el nodo ligero actual de Ethereum para asegurarse de que los datos de un nuevo bloque se publiquen completamente? La respuesta es 'Validadores'. Cuando un nodo ligero recibe un nuevo bloque, no descargará los datos completos del bloque, pero verá cuántos validadores votaron por el bloque. Cuando suficientes validadores voten por este bloque, creerá que la información completa de este bloque realmente se ha publicado. Esto es una suposición perteneciente a la Mayoría Honesta, que es la creencia de que la mayoría de los validadores son buenas personas.

Cuando suficientes validadores firmen el bloque, el nodo ligero creerá que el bloque se ha liberado por completo.
Nota: En la actualidad, los nodos ligeros de Ethereum no recopilan realmente los votos de cientos de miles de validadores para el cálculo, porque el número es demasiado grande y el cálculo consume demasiados recursos. En su lugar, se asigna otro grupo de Comité de Sincronización con un número mucho menor, que consiste en la firma del validador en su interior que sirve como garantía para el nodo ligero. Esto se considera un enfoque transicional, a la espera de un diseño más completo y maduro para reemplazarlo en el futuro.
Tal capacidad no aparecerá de la nada. Para tener esta capacidad, necesitas construir una red p2p lo suficientemente estable, tener suficientes usuarios e incluso agregar funciones de privacidad a la capa de red. Esta capacidad es el foco de esta serie de artículos - Muestreo de Disponibilidad de Datos (DAS).
En un blockchain con DAS, los nodos ligeros no solo recibirán pasivamente nuevos datos de bloque, sino que participarán conjuntamente en la operación de DAS: cada nodo ligero debe ir a la red p2p para cada bloque. En el camino, busca varias piezas de datos en el bloque y guarda los datos, y los comparte con otros nodos cuando solicitan datos. Al igual que el protocolo descentralizado de intercambio de archivos BitTorrent, los nodos en la red guardan y comparten los datos que les interesan juntos en lugar de depender de un servidor centralizado.

Los nodos ligeros trabajan juntos para recuperar y compartir fragmentos de bloque de datos a través de la red p2p
Nota: En un escenario ideal, los usuarios de la cadena de bloques ejecutarían todos nodos ligeros, participarían en la operación de DAS y garantizarían la seguridad juntos, en lugar de confiar completamente en otros nodos como ahora.
Cada nodo ligero no puede creer que los datos del bloque se hayan liberado por completo hasta que obtenga con éxito cada pieza de datos que solicita. Sin embargo, una vez que se obtiene cada pieza de datos solicitada, puede creer con seguridad que los datos del bloque se han liberado. La información ha sido liberada por completo. ¿Pero por qué los nodos ligeros pueden creer con seguridad que los datos completos del bloque se han liberado incluso si solo tienen datos fragmentados? Esto se debe a que otros nodos ligeros en la red también almacenarán datos fragmentados por separado, por lo que cuando sea necesario, todos podrán trabajar juntos para unir datos completos a partir de los datos fragmentados de los demás, y otra capacidad mágica de DAS es: Los datos guardados por los nodos ligeros no necesitan cubrir los datos completos del bloque. Los nodos ligeros pueden restaurar el 100% de los datos siempre que obtengan el 50% de los datos.

Siempre que los nodos ligeros tengan más del 50% de los datos fragmentados, pueden restaurar los datos completos del bloque.
Nota: No necesariamente es del 50%, puede ser más alto, dependiendo de la configuración del DAS, pero definitivamente será menos del 100%.
Por lo tanto, en DAS, incluso si la mayoría de los validadores votan por un cierto bloque, los nodos ligeros no creerán fácilmente en el bloque. El nodo ligero realizará un muestreo (Sampling), es decir, solicitará los datos fragmentados del bloque. Cuando se obtengan todos los fragmentos solicitados, se creerá que los datos del bloque se han publicado completamente.
Nota: "pocos" se refiere al hecho de que el número de nodos ligeros que necesitan ser muestreados y almacenados para restaurar datos completos es relativamente pequeño en comparación con todos (muchos) los nodos ligeros en la red.

Alice obtuvo con éxito la información solicitada, por lo que cree que la información del bloque ha sido completamente publicada, y eventualmente recogerá el bloque que fue descartado por otros nodos.
Entonces este pobre nodo ligero tendrá que ser engañado, y esta es también la limitación y la compensación de DAS: la garantía de "liberación completa de datos" proporcionada por DAS es una garantía de probabilidad, no una garantía 100% y categórica, pero esto sigue siendo mejor que tener que confiar completamente en la mayoría de los validadores. Si cree que la garantía de probabilidad no es lo suficientemente segura y desea estar 100% seguro de si los datos del bloque se han liberado por completo, lo siento, solo puede ejecutar un nodo completo usted mismo para descargar los datos completos del bloque.
Nota: El programa que ejecuta el nodo ligero no tiene forma de saber que ha sido engañado. Para el programa, siempre y cuando reciba todos los datos solicitados, creerá que el bloque ha sido publicado por completo. Los usuarios solo pueden descubrir a través de sus propios canales sociales que cierto bloque en realidad no ha sido lanzado por completo e instruir rápidamente a sus nodos ligeros para marcar el bloque como datos incompletos.
En este momento, es posible que te preocupe si tu seguridad solo se basa en "no enemistarse con la persona que produjo el bloque" o "el atacante no sabe quién soy, por lo que no me atacará". Sí, pero por eso se mencionó anteriormente que DAS necesita la función de privacidad de la capa de red, porque si el atacante puede saber "quién" está solicitando los datos del fragmento, o sabe que los tres fragmentos A, B y C son "el mismo" individuo que busca, entonces naturalmente puede apuntar fácilmente al objetivo y proporcionar información a la otra parte. Si la capa de red de hoy tiene una función de privacidad, entonces el atacante no tendrá forma de saber quién está solicitando esta información. Naturalmente, no habrá forma de engañar al objetivo, y la eficiencia del atacante se verá muy reducida: no tiene forma de determinar si la víctima ha sido engañada, o incluso si hay algún nodo liviano.

Si el atacante no sabe quién está solicitando información, será muy difícil engañar a los nodos ligeros.

Sin codificación de borrado, siempre que falte un poco del bloque, significa que el bloque no ha sido completamente liberado.
Si el bloque está codificado por codificación de borrado, entonces el 100% de los datos se puede restaurar con, por ejemplo, cualquier 50% de los datos. Esto significa que los nodos ligeros pueden asegurarse de que pueden restaurar los datos siempre que los datos fragmentados muestreados juntos alcancen una cobertura del 50%. Información completa del bloque. En comparación con el 100% de cobertura, el requisito del 50% de cobertura es mucho más simple. Será mucho más difícil para los productores de bloques malintencionados ocultar alguna información para engañar a los nodos ligeros.
Nota: 50% es solo un ejemplo. Diferentes necesidades requerirán un % diferente para la restauración.
¿Cómo asegurar que los nodos ligeros guarden suficientes datos? Necesitamos tener suficientes nodos ligeros o suficientes muestras para cada nodo ligero. Si hay suficientes nodos ligeros, el número de veces que se toma una muestra para cada nodo ligero no necesita ser alto; pero si no hay suficientes nodos ligeros, entonces el número de veces que se toma una muestra para cada nodo ligero debe ser lo suficientemente alto para garantizar que los nodos ligeros trabajen juntos para guardar suficientes datos.
Nota: Si el número de nodos ligeros continúa creciendo, el tamaño de los datos que pueden almacenar juntos puede aumentar realmente si el número de muestras permanece sin cambios. Por ejemplo, Celestia, que se presentará en esta serie de artículos, puede admitir tamaños de bloque flexibles. Cadena de bloques: el tamaño de bloque de Celestia se puede ajustar según el número de nodos ligeros en la red.
Además, la capa de red también necesita tener funciones de privacidad, de lo contrario el nodo ligero será identificado por el atacante. El atacante no publicará más del 50% de los datos, pero proporcionará los datos fragmentados solicitados por el nodo ligero que bloquea. Para inducir a error al nodo ligero haciéndolo creer que los datos del bloque se han publicado por completo.
Los detalles de estas tres partes se presentarán con más detalle en esta serie de artículos.





