Recientemente, lo de Harmony me dejó bastante impactado. Los atacantes se apoyaron en la repetición (replay) de recibos entre fragmentos y acuñaron, de la nada, tokens ONE con una participación de más de dos decenas por ciento. Mientras el equipo del proyecto congelaba fondos, también preparaba revertir toda la cadena hasta el bloque anterior al ataque. En la comunidad el debate fue un caos total: ¿se debe cambiar o no? Yo miré durante mucho tiempo las palabras “revertir”.
Eso toca un problema que mucha gente malinterpreta: la “finalidad” de una cadena, ¿se trata de un sello que cae de una vez, en un instante, o de algo que va creciendo poco a poco?
En la sección 3.8 del whitepaper de @Dusk , lo llaman “finalidad por deslizamiento (rolling finality)”, y dividen el estado de cada bloque en cuatro niveles: accepted (aceptado), attested (respaldado), confirmed (confirmado) y final (final). Estos cuatro niveles son progresivos: un bloque, una vez aceptado, no queda clavado de inmediato; la determinación se vuelve cada vez más espesa a medida que se van superponiendo nuevos bloques.
Las reglas son en realidad muy intuitivas: por cada bloque adicional que quede “respaldado” después, el de antes se vuelve un poco más sólido; solo cuando todos sus ancestros bajo sus pies llegan a ser final, él mismo se considera final. En otras palabras, la finalidad no la hereda de sí mismo, sino que se le transmite desde los cimientos.#dusk
Lo que le da peso a esos respaldos son los $DUSK bloqueados en garantía por los que apuestan. Votar mal o ayudar a falsificar conlleva penalizaciones y confiscación, así que detrás de cada “confirmación” hay dinero real respaldándola.
Aquí hay escondido un tipo de paradoja, a la que llamo “finalidad prestada”: incluso si un bloque ya está marcado como final, si se derrumba alguno de sus ancestros, ese bloque igual cae con ellos. Esto es lo mismo que el rollback en Harmony: si el libro contable se puede cambiar o no, nunca es una pregunta binaria de “sí o no”, sino más bien un problema gradiente de “cuánto cuesta”. La tecnología puede asignar niveles de finalidad, pero si se hace o no el rollback, al final lo decide la naturaleza humana. DYOR: no confíes solo en una sola voz mía.
Eso toca un problema que mucha gente malinterpreta: la “finalidad” de una cadena, ¿se trata de un sello que cae de una vez, en un instante, o de algo que va creciendo poco a poco?
En la sección 3.8 del whitepaper de @Dusk , lo llaman “finalidad por deslizamiento (rolling finality)”, y dividen el estado de cada bloque en cuatro niveles: accepted (aceptado), attested (respaldado), confirmed (confirmado) y final (final). Estos cuatro niveles son progresivos: un bloque, una vez aceptado, no queda clavado de inmediato; la determinación se vuelve cada vez más espesa a medida que se van superponiendo nuevos bloques.
Las reglas son en realidad muy intuitivas: por cada bloque adicional que quede “respaldado” después, el de antes se vuelve un poco más sólido; solo cuando todos sus ancestros bajo sus pies llegan a ser final, él mismo se considera final. En otras palabras, la finalidad no la hereda de sí mismo, sino que se le transmite desde los cimientos.#dusk
Lo que le da peso a esos respaldos son los $DUSK bloqueados en garantía por los que apuestan. Votar mal o ayudar a falsificar conlleva penalizaciones y confiscación, así que detrás de cada “confirmación” hay dinero real respaldándola.
Aquí hay escondido un tipo de paradoja, a la que llamo “finalidad prestada”: incluso si un bloque ya está marcado como final, si se derrumba alguno de sus ancestros, ese bloque igual cae con ellos. Esto es lo mismo que el rollback en Harmony: si el libro contable se puede cambiar o no, nunca es una pregunta binaria de “sí o no”, sino más bien un problema gradiente de “cuánto cuesta”. La tecnología puede asignar niveles de finalidad, pero si se hace o no el rollback, al final lo decide la naturaleza humana. DYOR: no confíes solo en una sola voz mía.


