18 MAY. 2024 · En este capítulo Iván y Chema nos hablarán de varios temas muy importantes en las Blockchain en general y en Subspace en particular, entre ellas se hablará de:
- Los desafíos de seguridad en las blockchains: ataques, vulnerabilidades y la necesidad de mecanismos robustos de consenso.
- Protocolo Dilithium.
- Del protocolo KZG.
- Que son los Rollup.
- Que son Sharding.
- Del Dilema del Granjero.
Para entender la importancia de los mecanismos de consenso en las blockchains, primero debemos reconocer los desafíos de seguridad que enfrentan estas redes. Las blockchains, aunque altamente seguras en comparación con muchos otros sistemas, no están exentas de riesgos y vulnerabilidades.
Ataques Comunes:
- Ataques del 51%: Ocurren cuando un solo actor o grupo controla más del 50% del poder de cómputo de la red. Este control les permite alterar el orden de las transacciones y evitar que nuevas transacciones obtengan confirmaciones, lo que podría llevar a un doble gasto de criptomonedas.
- Ataques de Sybil: En estos ataques, un solo atacante crea múltiples identidades falsas para ganar una influencia desproporcionada en la red, afectando procesos de votación o consenso.
- Ataques de Reorganización (Reorg Attacks): Involucran la reescritura de partes de la cadena de bloques, lo que puede revertir transacciones ya confirmadas y facilitar el doble gasto.
Vulnerabilidades:
- Errores en el Código: Las blockchains dependen de software complejo que puede contener errores. Vulnerabilidades en el código pueden ser explotadas por atacantes para comprometer la red.
- Problemas de Escalabilidad: A medida que más usuarios se unen a una red blockchain, la cantidad de transacciones aumenta, lo que puede llevar a cuellos de botella y aumentar las posibilidades de ataques debido a la sobrecarga del sistema.
- Descentralización: La falta de suficiente descentralización puede hacer que una blockchain sea vulnerable a ataques centralizados. Si una red no tiene suficientes nodos independientes, puede ser más fácil de atacar.
La Necesidad de Mecanismos Robustas de Consenso:
- Proof of Work (PoW): Aunque consume mucha energía, PoW ha demostrado ser un mecanismo de consenso robusto y seguro contra muchos tipos de ataques, debido a la gran cantidad de recursos necesarios para comprometer la red.
- Proof of Stake (PoS): Más eficiente energéticamente, PoS selecciona validadores en función de la cantidad de criptomonedas que poseen y están dispuestos a "apostar" como garantía. Esto reduce los riesgos de centralización y ataques del 51%, ya que el costo de adquirir el control mayoritario de la red es muy alto.
- Proof of Space (PoSpace) y Proof of Time (PoTime): Utilizados en Subspace, combinan el uso del espacio de almacenamiento disponible y la secuencia temporal para crear un consenso seguro y eficiente. Esto permite una mayor descentralización y reduce el consumo energético.
Estos mecanismos de consenso no solo protegen la red contra ataques, sino que también garantizan la integridad y la disponibilidad de los datos, asegurando que las transacciones sean válidas y estén en el orden correcto. En Subspace, el uso de Proof of Space y Proof of Time, junto con el protocolo Dilithium, proporciona una solución avanzada y segura para enfrentar estos desafíos. En resumen, los desafíos de seguridad en las blockchains son múltiples y complejos, pero con la implementación de mecanismos de consenso robustos, podemos mitigar estos riesgos y construir redes más seguras y confiables."
Dilithium
Es un protocolo de consenso utilizado en Subspace que combina la Prueba de Espacio (Proof of Space) con codificación de borrado y compromisos de KZG. Esta combinación crea un sistema ligero, seguro y eficiente en términos energéticos, permitiendo la participación de cualquier persona con un SSD, y mejorando la seguridad y escalabilidad de la red blockchain.
KZG (Kate-Zaverucha-Goldberg)
Es un esquema de compromiso criptográfico basado en polinomios que permite la creación de pruebas eficientes y cortas para verificar propiedades específicas de los datos sin revelar los datos completos. Utilizado en blockchains para mejorar la escalabilidad y la privacidad, KZG es crucial en técnicas como rollups y sharding, facilitando la verificación de transacciones y datos distribuidos de manera segura y eficiente. Imagina que tienes un libro con mil páginas, y alguien quiere demostrar que una página específica tiene un error tipográfico sin mostrar todo el libro. Usando KZG, esta persona puede crear un compromiso criptográfico del libro completo, que es como una huella digital única del contenido. Luego, genera una prueba específica solo para la página con el error. Con esta prueba y el compromiso inicial, cualquier verificador puede confirmar que la página contiene el error tipográfico, sin necesidad de ver las otras 999 páginas. Esto es útil en blockchains para verificar partes de datos (como transacciones) sin tener que procesar o revelar todo el conjunto de datos, mejorando la eficiencia y privacidad. es similar a hacer un MD5 pero con diferencias clave. Ambos crean un "resumen" o "huella digital" de datos, pero tienen usos y características diferentes.
- MD5: Es una función hash criptográfica que toma una entrada y produce un resumen de 128 bits. Se usa para verificar la integridad de los datos, pero no permite verificar partes específicas de los datos sin tener la totalidad de ellos. Además, MD5 ya no se considera seguro contra ataques criptográficos avanzados.
- KZG: Va más allá de una simple función hash. No solo crea un compromiso de los datos completos, sino que permite generar pruebas específicas para subcomponentes de los datos (como una página de un libro). Estas pruebas permiten verificar propiedades de esos subcomponentes sin revelar todo el conjunto de datos, lo que es fundamental para aplicaciones en blockchains que requieren pruebas de integridad y privacidad. En resumen, mientras que MD5 simplemente verifica si los datos han cambiado, KZG permite pruebas detalladas y eficientes sobre porciones específicas de los datos sin necesidad de acceso al conjunto completo.
Rollups:
- Definción: Los rollups son una solución de escalabilidad para blockchains que agrupan múltiples transacciones en una sola transacción fuera de la cadena principal (off-chain). Luego, estas transacciones agrupadas se envían como una sola transacción comprimida a la cadena principal (on-chain).
- Funcionamiento: Los rollups procesan transacciones off-chain, pero publican datos comprimidos (llamados "pruebas de rollup") on-chain para mantener la seguridad y la verificación de la cadena principal. Esto reduce la carga en la cadena principal y mejora el rendimiento.
- Tipos:
-
- Optimistic Rollups: Asumen que las transacciones son válidas por defecto y solo realizan verificaciones si se detecta un fraude.
- ZK-Rollups (Zero-Knowledge Rollups): Utilizan pruebas de conocimiento cero para validar las transacciones off-chain de manera eficiente y segura.
Sharding:
- Definición: Sharding es una técnica de escalabilidad que divide la cadena de bloques en varias "shards" (fragmentos) más pequeños y manejables. Cada shard procesa su propio conjunto de transacciones y contratos inteligentes, permitiendo que múltiples shards operen en paralelo.
- Funcionamiento: En lugar de que cada nodo de la red procese todas las transacciones, los nodos solo procesan las transacciones de su shard específico. Esto distribuye la carga de trabajo y mejora significativamente la capacidad de procesamiento de la red.
- Beneficios: Sharding aumenta la capacidad de transacciones por segundo (TPS) de una blockchain, mejorando su rendimiento y escalabilidad sin comprometer la descentralización.
En resumen, rollups y sharding son técnicas que mejoran la escalabilidad de las blockchains al reducir la carga en la cadena principal y distribuir el procesamiento de transacciones. Rollups agrupan transacciones off-chain y las publican on-chain, mientras que sharding divide la cadena en fragmentos que procesan transacciones en paralelo.
El Dilema del Granjero
En el contexto de las blockchains, especialmente aquellas que utilizan el Proof of Space (PoSpace) como Subspace, se refiere a la tensión entre la utilización eficiente del espacio de almacenamiento y la seguridad del consenso. En PoSpace, los participantes (llamados "granjeros" en lugar de "mineros") dedican espacio en sus discos duros para almacenar datos que prueban su participación en la red. El dilema surge porque:
- Almacenamiento vs. Utilidad: Los granjeros deben decidir cuánto espacio de almacenamiento dedican a la red versus a otros usos personales o comerciales. Un mayor compromiso con la red puede aumentar sus recompensas, pero reduce el espacio disponible para otras aplicaciones.
- Seguridad vs. Costos: Más almacenamiento dedicado aumenta la seguridad de la red, ya que dificulta los ataques. Sin embargo, esto también implica costos mayores para los granjeros en términos de hardware y mantenimiento.
El dilema del granjero destaca el equilibrio necesario entre maximizar las recompensas individuales y contribuir a la seguridad y eficiencia global de la blockchain.
https://informaticapolo.com/podcast-de-subspace-en-espanol-03-ataques-y-vulnerabilidades-del-protocolo-dilithium/
Música:
Track: Different
Music by https://www.fiftysounds.com