Un elemento técnico importante que olvidé mencionar es el cambio propuesto de Casper FFG a Minimmit como gadget de finalidad.
Para resumir, Casper FFG proporciona finalidad en dos rondas: requiere que cada atestador firme una vez para "justificar" el bloque y luego otra vez para "finalizarlo". Minimmit solo requiere una ronda. A cambio, la tolerancia a fallos de Minimmit (en nuestra parametrización) cae al 17%, en comparación con el 33% de Casper FFG.
Dentro de las discusiones sobre el consenso de Ethereum, siempre he sido el defensor de las suposiciones de seguridad: he insistido en alcanzar el límite teórico de 49% de tolerancia a fallos bajo sincronía, he impulsado continuamente la implementación de gadgets de recuperación ante ataques del 51%, ideé DAS para hacer las verificaciones de disponibilidad de datos resistentes a mayorías deshonestas, etc. Pero estoy conforme con las propiedades de Minimmit, de hecho incluso entusiasmado en algunos aspectos. En esta publicación explicaré por qué.
Veamos las propiedades de seguridad exactas tanto de 3SF (no la cadena de baliza actual, que es innecesariamente débil en muchos aspectos, sino el 3SF ideal) como de Minimmit.
“Red sincrónica” significa “latencia de red menor a aproximadamente 1/4 de slot”; “red asincrónica” significa “latencia potencialmente muy alta, incluso algunos nodos pueden desconectarse durante horas”. Los porcentajes (“el atacante tiene <33%”) se refieren a porcentajes de ETH apostado activo.
## Propiedades de 3SF
Caso de red sincrónica:
* Atacante tiene p < 33%: no ocurre nada malo
* 33% < p < 50%: el atacante puede detener la finalidad (al costo de perder fondos masivos mediante inactivity leak), pero la cadena continúa progresando normalmente
* 50% < p 67%: el atacante puede finalizar cosas a voluntad, y es mucho más difícil para los usuarios legítimos realizar una bifurcación minoritaria
Caso de red asincrónica:
* Atacante tiene p 33%: puede revertir la finalidad, al costo de perder fondos masivos mediante slashing
## Propiedades de Minimmit
Caso de red sincrónica:
* Atacante tiene p < 17%: no ocurre nada malo
* 17% < p < 50%: el atacante puede detener la finalidad (al costo de perder fondos masivos mediante inactivity leak), pero la cadena continúa progresando normalmente
* 50% < p 83%: el atacante puede finalizar cosas a voluntad, y es mucho más difícil para los usuarios legítimos realizar una bifurcación minoritaria
Caso de red asincrónica:
* Atacante tiene p 17%: puede revertir la finalidad, al costo de perder fondos masivos mediante slashing
En realidad creo que este último es un mejor intercambio. Aquí está mi razonamiento:
* El tipo de ataque más grave no es en realidad la reversión de finalidad, sino la censura. La razón es que la reversión de finalidad genera evidencia masiva y públicamente disponible que se puede usar para costarle al atacante millones de ETH inmediatamente (es decir, miles de millones de dólares), mientras que la censura requiere coordinación social para superarla
* En ambos casos, un ataque de censura requiere el 50%
* Un ataque de censura se vuelve *mucho más difícil* de superar cuando el atacante censurador puede finalizar unilateralmente (es decir, >67% en 3SF, >83% en Minimmit). Si no puede, entonces cuando los usuarios legítimos contracoordinan, se generan dos cadenas no finalizadas compitiendo durante varios días, y los usuarios pueden elegir. Si puede, entonces no hay un punto Schelling natural para coordinar una bifurcación suave
* En el caso de un error en el cliente, lo peor que puede ocurrir es finalizar algo con un error. En 3SF, solo se necesita que el 67% de los clientes compartan el error para que se finalice; en Minimmit, se necesita el 83%
Básicamente, Minimmit maximiza el conjunto de situaciones en las que “por defecto se generan dos cadenas compitiendo”, y eso es en realidad un resultado mucho más saludable y mucho más recuperable que “finalizar lo incorrecto”.
Queremos que la finalidad signifique definitivo. Por lo tanto, en situaciones de incertidumbre (ya sean ataques o errores de software), debemos estar más dispuestos a aceptar períodos de horas o días en los que la cadena no finaliza y en cambio progresa según la regla de selección de bifurcación. Esto nos da tiempo para reflexionar y asegurarnos cuál cadena es la correcta.
Además, creo que el “33% slashado para revertir la finalidad” de 3SF es excesivo. Si hay incluso, por ejemplo, 15 millones de ETH apostados, eso representa 5 millones ($10 mil millones) slashados para revertir la cadena una sola vez. Si tienes $10 mil millones y estás dispuesto a cometer caos del tipo que viola las leyes informáticas de muchos países, hay MUCHO MEJORES formas de gastarlo que atacar una cadena. Incluso si tu objetivo es romper Ethereum, existen vectores de ataque mucho mejores.
Y por lo tanto, si tenemos la garantía básica de >=17% slashado para revertir la finalidad (que Minimmit proporciona), debemos juzgar ambos sistemas desde ahí según sus otras propiedades — donde, por las razones que describí anteriormente, creo que Minimmit tiene un mejor desempeño.