Estaba pensando en el consenso de @Dusk a través de una situación sencilla.
Imagina a dos personas que toman rutas diferentes hacia el mismo destino. Una sale primero pero se retrasa. La otra sale más tarde y llega primero.
¿Decides automáticamente que la segunda ruta fue la correcta?
Eso fue lo que me hizo interesante el diseño de resolución de bifurcaciones de Dusk.
La Atestación Sucinta funciona mediante iteraciones. Si una iteración falla, el protocolo puede avanzar. Pero si varias iteraciones en última instancia producen candidatos válidos, Dusk da prioridad a la iteración más baja.
Así que si la iteración 2 y la iteración 5 llegan a quórum, la iteración 5 no gana simplemente porque terminó más tarde, sino porque lo hizo con éxito.
El protocolo se preocupa por dónde apareció el candidato dentro del proceso de consenso.
Eso se vuelve especialmente interesante con la finalización progresiva. $DUSK tiene en cuenta candidatos de iteraciones inferiores que aún no se han resuelto, en lugar de tratar cada iteración posterior exitosa como final de inmediato.
También hay un incentivo sutil aquí. los validadores tienen razones para ayudar a resolver iteraciones anteriores en lugar de simplemente esperar la más nueva.
Me gusta este diseño porque trata el consenso menos como una carrera y más como una secuencia controlada de intentos.
Para la infraestructura financiera, esa distinción podría importar.
Tal vez la finalización determinista no se trate solo de llegar a un acuerdo rápidamente. También se trata de saber qué acuerdo merece prioridad.
#dusk $DUSK #DUSK