Volví a revisar la documentación de Dusk anoche, y la sección sobre el modo de emergencia me hizo ver el consenso de una manera un poco diferente.

Al principio, pensé que un mecanismo de emergencia era simplemente una copia de seguridad para cuando los validadores se desconectan. Pero los detalles son más interesantes.

Dusk utiliza comités de validación y de ratificación, con provisioners seleccionados aleatoriamente que votan sobre si un bloque propuesto es válido y sobre si ese resultado debe aceptarse. Un quórum requiere umbrales distintos según el voto, incluida una supermayoría de 2/3 para votos de Válido.

¿Qué ocurre cuando la red no logra ese quórum?

Después de 16 iteraciones fallidas, según la documentación, el protocolo entra en modo de emergencia. En lugar de agotar el tiempo de espera y rendirse, las iteraciones pueden permanecer abiertas hasta que un candidato obtenga suficiente apoyo. Se pueden ejecutar varias iteraciones al mismo tiempo, lo que aumenta la probabilidad de producir un bloque, pero también crea la posibilidad de bifurcaciones.

Me pareció interesante ese equilibrio.

Si varios bloques candidatos alcanzan consenso, el protocolo resuelve la bifurcación eligiendo el candidato de la iteración más baja. Me interesa saber cómo se comporta esto bajo una congestión prolongada de la red o un aislamiento parcial, especialmente cuando distintas partes de la red ven los mensajes en momentos diferentes.

El último recurso es aún más inusual. Si la última iteración falla, los provisioners que controlan una mayoría de la participación total pueden solicitar un bloque de emergencia. Ese bloque no contiene transacciones y permite que la red avance hacia la siguiente ronda.

Esto plantea preguntas sobre gobernanza y descentralización.

¿Exigir una mayoría de la participación para un bloque de emergencia crea un mecanismo de seguridad útil, o podría convertirse en un punto de influencia durante una falla grave de la red?

¿Y qué tan robusto es el sistema cuando la comunicación se ve fuertemente interrumpida pero distintos comités siguen operando?

Sigo investigando los casos límite, pero estas son las partes del diseño de consenso que encuentro más valiosas para entender.

@Dusk $DUSK #dusk

#dusk $DUSK @Dusk