Finalidad en Bitcoin

El concepto de finalización del 100 % en Bitcoin es crucial para el diseño de Stacks. Esto es lo que convierte a Stacks en una verdadera L2 de Bitcoin y le permite aprovechar toda la seguridad inherente a Bitcoin.
La finalización se refiere al momento en que las transacciones son irreversibles. Una vez que una blockchain alcanza la finalización, es casi imposible cambiar la historia del libro mayor sin emprender medidas extraordinarias que a menudo son prohibitivas desde el punto de vista computacional y económico.
Cuando hablamos de que los bloques de Stacks tienen finalización del 100 % en Bitcoin, queremos decir que son tan difíciles de revertir como las propias transacciones de Bitcoin.
Esa es una afirmación audaz, ¿cómo lo consigue Stacks?
Como se discutió arriba, los mineros son responsables de producir bloques de Stacks durante su periodo, que corresponde a un único bloque de Bitcoin. Como parte de su transacción de compromiso de bloque, que es la transacción que previamente comprometía el hash del siguiente bloque de Stacks en la cadena de Bitcoin, se exigirá a los mineros que añadan en su lugar un hash de bloque indexado.
El hash de bloque indexado es el hash del primer bloque producido por el último minero de Stacks durante su periodo. Este es el hash SHA512/256 tanto del hash de consenso de todas las transacciones de Bitcoin previamente aceptadas que Stacks reconoce, como del hash del propio bloque.
Esto anclará la historia de la cadena Stacks a Bitcoin hasta el inicio del periodo del minero anterior, así como todo el estado de Bitcoin causalmente dependiente que Stacks haya procesado. Esto garantiza la finalización de Bitcoin, resuelve problemas de conectividad de los mineros colocando la prevención de forks en los stackers, y permite a los nodos con copias actualizadas del estado de la cadena Stacks identificar qué bloques de Stacks están afectados por una reorganización de Bitcoin y recuperar las transacciones de Stacks afectadas.
Esta relación entre los stackers, los mineros, los bloques de Bitcoin y los bloques de Stacks es lo que mantiene la finalización de Bitcoin mientras permite a los mineros producir bloques de Stacks rápidamente. La finalización de Bitcoin se logra porque en cada bloque de Bitcoin N + 1, el estado de la cadena Stacks a partir del inicio del periodo N se escribe en Bitcoin. Incluso si en una fecha futura se comprometieran todas las claves de firma de los antiguos stackers, no podrían reescribir la historia de Stacks para el periodo N sin reescribir la historia de Bitcoin hasta el periodo N + 1.
Debido a esto, las transacciones de Stacks pueden considerarse con finalización de Bitcoin después de que concluya el periodo del que forman parte, es decir, el bloque de Bitcoin N + 1. Por ejemplo, si inicio una transacción en Stacks que es confirmada por un minero de Stacks, al concluir el periodo de ese minero (el final del bloque de Bitcoin actual) esa transacción se escribirá en Bitcoin como parte del estado de la cadena Stacks y todos los mineros futuros estarán obligados a construir sobre esa punta de cadena, haciendo que revertir la transacción sea tan difícil como revertir la transacción correspondiente en Bitcoin.
Punto clave: En cada bloque de Bitcoin N + 1, el estado de la cadena Stacks a partir del inicio del periodo N queda anclado a Bitcoin. Esto hace que revertir la historia de Stacks del periodo N sea tan difícil como reescribir la historia de Bitcoin hasta N + 1.
Transacciones Nakamoto y reorganizaciones de Bitcoin
Si las transacciones Nakamoto siguen la finalización de Bitcoin, ¿qué sucede si Bitcoin hace un fork?
Para responder a esta pregunta, necesitamos distinguir entre dos tipos de transacciones de Stacks: las que dependen de Bitcoin y las internas.
Dependen de Bitcoin las transacciones son transacciones que leen el estado de Bitcoin. Si Bitcoin hace un fork, estas transacciones cambiarán. Para estas, no se puede hacer mejor que seguir la finalización de Bitcoin. Por ejemplo, si moviste BTC de L1 a L2, debes esperar la finalización de Bitcoin antes de que tu BTC en L2 pueda usarse (no tienes BTC en L2 si la transacción en L1 queda sin confirmar debido a un fork).
Internas las transacciones no dependen del estado de Bitcoin y, por lo tanto, no cambiarán si Bitcoin hace un fork. Estas pueden tener confirmaciones más rápidas porque incluso si Bitcoin hace un fork, los firmantes pueden asegurarse de que se reprocesen en el mismo orden.
La conclusión clave es esta:
Bajo Nakamoto Stacks, las transacciones no se reorganizarán de manera impactante debido a un fork de Bitcoin. No solo las reorganizaciones son relativamente poco frecuentes, sino que las transacciones en Stacks que se reorganizaron debido a un fork de Bitcoin se comportan exactamente como lo hacen las transacciones reorganizadas en Bitcoin. Con algún análisis futuro, las transacciones puramente en la cadena L2 podrían llegar a estar completamente sin afectación.
Leer más sobre el comportamiento de las reorganizaciones de Bitcoin
Si te interesa aprender más sobre cómo funciona esto, consulta la Reorganizaciones de Bitcoin página de la documentación.
Última actualización
¿Te fue útil?