# Finalidad de Bitcoin

<div data-with-frame="true"><figure><img src="/files/f48420661feabab450e720b8fa9861e3fd032c38" alt=""><figcaption></figcaption></figure></div>

El concepto de finalización del 100% de Bitcoin es crucial para el diseño de Stacks. Esto es lo que convierte a Stacks en un auténtico L2 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 el historial 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% de Bitcoin, queremos decir que son tan difíciles de revertir como las propias transacciones de Bitcoin.

Es una afirmación audaz, así que ¿cómo logra Stacks eso?

Como se explicó arriba, los mineros son responsables de producir bloques de Stacks durante su período de turno, que corresponde a un único bloque de Bitcoin. Como parte de su transacción de compromiso de bloque, que es la transacción que anteriormente comprometía el hash del siguiente bloque de Stacks a la cadena de Bitcoin, ahora se requerirá que los mineros agreguen 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 período de turno. 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á el historial de la cadena de Stacks a Bitcoin hasta el inicio del período de turno del minero anterior, así como todo el estado de Bitcoin causalmente dependiente que Stacks haya procesado. Esto garantiza la finalización de Bitcoin, resuelve los problemas de conectividad de los mineros al poner la prevención de bifurcaciones en manos de 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 que los mineros produzcan rápidamente bloques de Stacks. 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 período de turno 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 el historial de Stacks para el período de turno N sin reescribir el historial de Bitcoin hasta el período de turno N + 1.

Debido a esto, las transacciones de Stacks pueden considerarse con finalización de Bitcoin después de que concluya el período de turno al que pertenecen, o en el bloque de Bitcoin N + 1. Por ejemplo, si inicio una transacción de Stacks que es confirmada por un minero de Stacks, al finalizar el período de turno 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 la cadena, haciendo que revertir la transacción sea tan difícil como revertir la transacción correspondiente de Bitcoin.

{% hint style="info" %}
Punto clave: en cada bloque de Bitcoin N + 1, el estado de la cadena de Stacks al inicio del período de turno N queda anclado a Bitcoin. Esto hace que revertir el historial de Stacks para el período de turno N sea tan difícil como reescribir el historial de Bitcoin hasta N + 1.
{% endhint %}

## Transacciones Nakamoto y reorganizaciones de Bitcoin

Si las transacciones Nakamoto siguen la finalización de Bitcoin, ¿qué ocurre si Bitcoin se bifurca?

Para responder a esta pregunta, necesitamos distinguir entre dos tipos de transacciones de Stacks: las dependientes de Bitcoin y las internas.

{% hint style="info" %}

* **Dependientes de Bitcoin** las transacciones son transacciones que leen el estado de Bitcoin. Si Bitcoin se bifurca, 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 a la finalización de Bitcoin antes de que tu BTC de L2 pueda usarse (no tienes ningún BTC de L2 si la transacción de L1 queda sin confirmar debido a una bifurcación).
* **Internas** las transacciones no dependen del estado de Bitcoin y, por lo tanto, no cambiarán si Bitcoin se bifurca. Estas pueden tener confirmaciones más rápidas porque, incluso si Bitcoin se bifurca, los firmantes pueden asegurarse de que se vuelvan a procesar en el mismo orden.
  {% endhint %}

La idea clave es esta:

Bajo Nakamoto Stacks, las transacciones no se reorganizarán de forma significativa debido a una bifurcación de Bitcoin. No solo las reorganizaciones son relativamente poco frecuentes, sino que las transacciones en Stacks que fueron reorganizadas debido a una bifurcación de Bitcoin se comportan igual que las transacciones de Bitcoin reorganizadas. Con algún análisis futuro, las transacciones exclusivamente en la cadena L2 podrían algún día no verse afectadas en absoluto.

<details>

<summary>Lee más sobre el comportamiento de las reorganizaciones de Bitcoin</summary>

Si te interesa aprender más sobre cómo funciona esto, consulta la página de [Reorganizaciones de Bitcoin](/learn/es/block-production/bitcoin-reorgs.md) de la documentación.

</details>

***

{% embed url="<https://youtu.be/w2mA3ajOoNQ?si=IK8w4Kxd6v0acdDB>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.stacks.co/learn/es/block-production/bitcoin-finality.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
