NO ESPERABA QUE EL ORDEN DE DOS OPERACIONES IMPORTARA TANTO PARA UNA BARRA.
Estaba leyendo los cambios de Boreas de @Dusk y me detuve en una línea sobre el orden de transición de estados.
Antes de Boreas, existía un caso de mismo bloque en el que el stake podía cambiarse antes de que se aplicara una slash pendiente.
Boreas invirtió ese orden.
Ahora la slash ocurre primero.
La ejecución de la transacción viene después.
Ese es un cambio sorprendentemente pequeño para algo tan crítico para el consenso.
La penalización en sí no necesitaba una nueva filosofía. Lo importante era asegurarse de que el stake no pudiera moverse a un estado diferente antes de que la penalización ya pendiente llegara a él.
Lo que hace el cambio aún más interesante es cómo Dusk manejó bloques antiguos.
El historial anterior a Boreas aún se reproduce con el orden antiguo. Los bloques nuevos usan el nuevo.
Así que un nodo tiene que entender dos versiones válidas de la misma máquina de estados, dependiendo de dónde se encuentre en el historial de la cadena.
Ese fue el detalle que no había apreciado:
un hard fork puede corregir lo que ocurre después sin fingir que la misma regla siempre había existido.
Para Boreas, incluso algo tan mundano como “¿qué operación se ejecuta primero?” formaba parte de la corrección del consenso.
#dusk $DUSK @Dusk
Estaba leyendo los cambios de Boreas de @Dusk y me detuve en una línea sobre el orden de transición de estados.
Antes de Boreas, existía un caso de mismo bloque en el que el stake podía cambiarse antes de que se aplicara una slash pendiente.
Boreas invirtió ese orden.
Ahora la slash ocurre primero.
La ejecución de la transacción viene después.
Ese es un cambio sorprendentemente pequeño para algo tan crítico para el consenso.
La penalización en sí no necesitaba una nueva filosofía. Lo importante era asegurarse de que el stake no pudiera moverse a un estado diferente antes de que la penalización ya pendiente llegara a él.
Lo que hace el cambio aún más interesante es cómo Dusk manejó bloques antiguos.
El historial anterior a Boreas aún se reproduce con el orden antiguo. Los bloques nuevos usan el nuevo.
Así que un nodo tiene que entender dos versiones válidas de la misma máquina de estados, dependiendo de dónde se encuentre en el historial de la cadena.
Ese fue el detalle que no había apreciado:
un hard fork puede corregir lo que ocurre después sin fingir que la misma regla siempre había existido.
Para Boreas, incluso algo tan mundano como “¿qué operación se ejecuta primero?” formaba parte de la corrección del consenso.
#dusk $DUSK @Dusk
