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 capa 2 de Bitcoin y le permite aprovechar toda la seguridad inherente a Bitcoin.
La finalización se refiere al punto en el 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 tanto computacional como económicamente.
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; entonces, ¿cómo logra Stacks eso?
Como se comentó anteriormente, los mineros son responsables de producir los bloques de Stacks durante su periodo, que corresponde a un solo bloque de Bitcoin. Como parte de su transacción de confirmación de bloque, que es la transacción que previamente comprometía el hash del siguiente bloque de Stacks en la cadena de Bitcoin, a los mineros se les exigirá en su lugar añadir un hash de bloque indexado.
El hash de bloque indexado es el hash del primer bloque producido por el último minero de Stacks en 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 de 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 al poner la prevención de forks en los stackers, y permite que los nodos con copias actualizadas del estado de la cadena de Stacks identifiquen qué bloques de Stacks se ven afectados por una reorganización de Bitcoin y recuperen las transacciones de Stacks afectadas.
Esta relación entre stackers, mineros, bloques de Bitcoin y 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 de Stacks al inicio del periodo N se escribe en Bitcoin. Incluso si en una fecha futura todas las claves de firma de los antiguos stackers fueran comprometidas, 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 que tienen finalización en 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 actual de Bitcoin) esa transacción se escribirá en Bitcoin como parte del estado de la cadena de 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 de Stacks al inicio del periodo N queda anclado a Bitcoin. Esto hace que revertir la historia de Stacks para el 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: dependientes de Bitcoin e internas.
Dependientes de Bitcoin 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 tus BTC en L2 puedan 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 vuelvan a procesar en el mismo orden.
La idea clave es la siguiente:
Bajo Nakamoto Stacks, las transacciones no se reorganizarán de forma impactante debido a un fork de Bitcoin. No solo las reorganizaciones son relativamente infrecuentes, sino que las transacciones en Stacks que se reorganizaron debido a un fork de Bitcoin se comportan igual que las transacciones reorganizadas de Bitcoin. Con algún análisis futuro, las transacciones puramente en la cadena L2 podrían algún día quedar totalmente sin afectación.
Lee más sobre el comportamiento de las reorganizaciones de Bitcoin
Si estás interesado en 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?