Desarrollado sobre Cardano, Mithril pone la seguridad como máxima mientras busca mejorar la eficacia de la sincronización de la cadena y el estado del arranque - descubra cómo.
En todo protocolo criptográfico, la seguridad es primordial para garantizar la integridad, la confidencialidad y la autenticidad de las transacciones y de los datos de los usuarios.
El protocolo Mithril, desarrollado sobre Cardano, pone la seguridad como máxima mientras busca mejorar la eficacia de la sincronización de la cadena y el estado del arranque. Mithril introduce un esquema umbral multi-firma (STM) basado en staking con el que se reduce significativamente el tiempo necesario para la sincronización de nodos mediante la recuperación de una instantánea del estado actual del blockchain. Pero, ¿cómo gestiona el protocolo el mantenimiento de una seguridad robusta sin comprometer, por ello, la velocidad y la escalabilidad?
El presente artículo examina la configuración de seguridad empleada por Mithril, mostrando los mecanismos que garantizan su resistencia.
Seguridad
Mithril facilita unos sólidos ajustes de seguridad basados en las características técnicas del protocolo y la participación en el staking.
#El protocolo
En Cardano, Ouroboros designa aleatoriamente los nodos que actuarán como productores de bloques en función del stake que poseen. Determinados mensajes o acciones requieren un número específico de participantes [poseedores de ada] que ofrezcan sus firmas criptográficas.
En aras de potenciar la escalabilidad en un entorno blockchain, es crucial abordar la complejidad de las operaciones críticas que crecen linealmente con el número de participantes. Al aumentar el número de participantes, el proceso de agregar eficientemente sus firmas se vuelve más complejo. En una situación media, cada participante tendría que firmar individualmente el mensaje correspondiente para garantizar una firma que represente a la mayoría de los participantes. Aunque este enfoque es factible, resulta ineficaz en términos de escalabilidad y velocidad.
Mithril ha sido diseñado para hacer uso del staking y garantizar una eficiente incorporación de múltiples firmas sin comprometer la seguridad en los sistemas blockchain. Afronta el reto de la escalabilidad de la agregación de numerosas firmas utilizando un umbral basado en el stake: en lugar de requerir un número fijo de participantes para validar un mensaje, Mithril requiere una fracción del stake total para generar una firma correcta. Ello posibilita una agrupación eficaz y mejora el rendimiento.
Como el protocolo Mithril opera de forma no interactiva, los firmantes no necesitan comunicarse directamente entre sí. El proceso de agrupación combina todas las firmas en una sola, con una complejidad logarítmica basada en el número de firmas.
¿Cómo mantiene la seguridad el protocolo?
Mithril se vale del mecanismo proof-of-stake de Cardano, que puede integrarse en diferentes soluciones (por ejemplo, una wallet como servicio). Adicionalmente, permite un rápido arranque del estado de la cadena al permitir a los interesados validar puntos de control específicos en la cadena, ya sea reduciendo el proceso de verificación del historial completo de transacciones o acelerándolo. Esto supone una ventaja para las aplicaciones ligeras, como los wallets ligeros, y puede facilitar una verificación eficiente del recuento o la toma de decisiones de gobierno, por ejemplo.
El diagrama siguiente ilustra el proceso de firma:
[Infografía Traducida al español por Cardanians Hispanos.]
- Las personas que firman, en Mithril generan un par de claves y distribuyen sus claves de verificación al agregador y a otros firmantes.
- Llegado el momento de firmar, cada firmante calcula un Boletín de los datos a firmar y genera hasta m firmas, donde m es un parámetro del protocolo. El número de firmas producidas depende de la apuesta de cada firmante y de una función aleatoria verificable, combinando así la firma y la selección en una única “lotería”.
- Las firmas se envían al agregador, que selecciona k firmas entre todas las candidatas recibidas, donde k es también un parámetro predefinido del protocolo.
- Las firmas y las claves de verificación se combinan en un árbol Merkle [ver notas del traductor] de tal forma que el proceso de verificación requiera una única operación de curva elíptica.
- A continuación, el agrupador puede distribuir una instantánea hecha con el certificado y los datos reales firmados.
Las siguientes características contribuyen a la seguridad de Mithril:
- Predicado de elegibilidad y filtrado basado en el stake: al controlar la elegibilidad de los firmantes en función de su stake, Mithril garantiza que el proceso de firma siga siendo manejable y eficiente.
- Combinación de selección aleatoria y firmas: Mithril combina el proceso de selección aleatoria con el mecanismo de firma. Este enfoque garantiza que las firmas sean generadas por usuarios seleccionados mediante un proceso justo, verificable y pseudoaleatorio.
- Agrupación y verificación de firmas: Mithril requiere al menos k índices de lotería únicos recopilados de todas las sesiones de firma para producir multifirmas con éxito. Esta firma conjunta puede verificarse eficientemente utilizando una única operación de curva elíptica, reduciendo así la sobrecarga computacional.
- Registro de claves y organización del árbol Merkle: Para minimizar los costes computacionales, Mithril organiza las claves de verificación de los participantes en una estructura de árbol Merkle. Los verificadores solo tienen que conocer la raíz del árbol Merkle, lo que reduce la información a la que tienen que acceder. Ello garantiza que el proceso de verificación siga siendo eficiente incluso en comunidades grandes.
Incorporando estos elementos y técnicas de diseño, Mithril garantiza la seguridad de su esquema STM, ofreciendo operaciones criptográficas eficientes y escalables al tiempo que aprovecha la configuración basada en stakes de Cardano.
Participación en el staking
Mithril basa su modelo de seguridad en la participación activa de las partes interesadas [poseedores de ada que desean firmar] en la producción de firmas para los certificados. Una mayor tasa de posesión de stake por parte de interesados honestos y cooperativos refuerza las garantías de seguridad que ofrecen los certificados. Significando que cuantas más partes interesadas contribuyan al proceso de firma, más resistente y segura será la red frente a posibles ataques.
Dentro del entorno Mithril, los adversarios no pueden producir certificados incorrectos o falsos. No obstante, los adversarios pueden abstenerse o negarse a firmar los certificados, lo que puede perturbar el buen funcionamiento y aumentar el tiempo que tarda en firmarse un certificado.
Al fomentar una red sólida con una participación significativa de las partes interesadas, Mithril garantiza la integridad y la fiabilidad de la blockchain. Esta participación activa y el compromiso con la seguridad constituyen la columna vertebral del enfoque de Mithril sobre la participación en el stake.
Enfoque de participación con staking de Mithril
El enfoque de IOG para establecer la mayoría honesta implica:
- Invitar a operadores de stake pools (SPO) conocidos a participar en el lanzamiento de la beta de la mainnet.
- Ofrecer auditoría y supervisión del comportamiento de los participantes de Mithril
- Incentivar el buen comportamiento. Si el participante no se comporta honestamente, no obtendrá sus recompensas, por ejemplo.
Para obtener más información sobre cómo convertirse en participante de la red, consulte esta SPO [guía de incorporación] de Mithril (SPO onboarding guide | Mithril. A complete guide.).
Para saber más sobre Mithril, asegúrese de unirse a este canal de Discord, participe en las discusiones de GitHub y consulte la documentación de Mithril para obtener más detalles.
Traducción al español de “How Mithril facilitates strong security settings”, escrito por @Olga_H ryniuk, Redactor Técnico Principal de Comunicaciones y Marketing en IOG, en agosto 22 de 2023.
Notas del traductor
- Corchetes del traductor.
- indica que el enlace apunta a un contenido en idioma español.
árbol Merkle: Un árbol hash de Merkle (en inglés: Merkle hash tree) o árbol de Merkle o árbol hash es una estructura de datos en árbol, binario o no, en el que cada nodo que no es una hoja está etiquetado con el hash de la concatenación de las etiquetas o valores (para nodos hoja) de sus nodos hijo. Son una generalización de las listas hash y las cadenas hash.
Permite que gran número de datos separados puedan ser ligados a un único valor de hash, el hash del nodo raíz del árbol. De esta forma proporciona un método de verificación segura y eficiente de los contenidos de grandes estructuras de datos. En sus aplicaciones prácticas, normalmente el hash del nodo raíz va firmado para asegurar su integridad y que la verificación sea totalmente fiable.
Fuente: Wikipedia