Aprende: 10. Confirmación de la cadena vs confirmación de la transacción
Cuando se habla de Cardano, las preguntas que se repiten a menudo son: ¿cuál es el tiempo de transacción de Cardano? y ¿cuántas confirmaciones de la red requiere Cardano antes de que se realice una transacción? Las respuestas a estas preguntas requieren una mirada más profunda a los conceptos de confirmación de la cadena y confirmación de la transacción, y cómo se relacionan con el protocolo.
Confirmación de la cadena
Este es el punto a partir del cual el protocolo garantiza que la cadena no se alterará más a causa de la aleatoriedad, o de eventos aleatorios.
La confirmación de la cadena se produce en algún momento en el futuro, después de que se hayan acuñado una cierta cantidad de bloques k futuros. El tiempo que transcurre entre el momento actual y el momento en el que se produce la confirmación de la cadena para una transacción concreta se denomina periodo de estabilidad (es decir, el número de slots necesarios para que un bloque se convierta en estable, donde estable se define como un bloque que no puede revertirse). La fórmula para calcular esta ventana es 3k/f (donde k es el parámetro que limita el crecimiento de un pool disminuyendo su rendimiento de recompensas más allá de un determinado umbral, y f es el parámetro que define el rendimiento máximo de recompensas de un pool).
Confirmación de la transacción
Es el momento en que una transacción es aceptada en la cadena y se convierte en inmutable. Aquí entran en juego los conceptos de profundidad de bloque y período de liquidación.
Una transacción puede considerarse confirmada si el bloque que la contiene es lo suficientemente profundo en la cadena. La profundidad de un bloque es un concepto relativo: la profundidad de un bloque indica cuántos bloques más se han añadido a la cadena desde que se añadió ese bloque en particular. Y como los bloques tienen profundidad, también lo tienen las transacciones que contienen.
Si la profundidad de un bloque concreto es superior a un umbral predefinido, la transacción se considera confirmada, y los activos de esa transacción pueden utilizarse de forma "segura" (es decir, el protocolo garantiza que la transacción se ha vuelto inmutable, por lo que los activos pueden negociarse, intercambiarse, etc.)
El período de tiempo que transcurre entre el momento en que se confirma una transacción y el momento en que los activos de la transacción pueden utilizarse para intercambiar con otros activos se denomina período de liquidación.
Probabilidad de inmutabilidad
Otra forma de determinar si una transacción está confirmada o no es considerando la probabilidad de inmutabilidad de la transacción. La probabilidad de que una transacción sea inmutable depende de cuántos bloques se han añadido a la cadena desde que esa transacción fue aceptada en la cadena. Cuantos más bloques se añadan, mayor será la probabilidad de que la transacción sea inmutable.
Una transacción se convierte en inmutable en cuanto su profundidad es superior a 3k/f slots (es decir, 129600 slots en la red principal actual, o 36 horas). Si esta transacción se inserta en un bloque en el slot 10, por ejemplo, sólo se convertirá en verdaderamente inmutable en el slot 129600. Esto está garantizado por el protocolo Ouroboros Praos.
Sin embargo, 3k/f slots normalmente superan los requisitos en la mayoría de las situaciones, por lo que un enfoque más práctico es considerar la probabilidad de que una transacción se convierta en inmutable. En este caso, consideramos que una transacción está confirmada si la probabilidad de que se convierta en inmutable es lo suficientemente alta.
Encuentra una copia oficial de este documento aquí:
https://docs.cardano.org/core-concepts/chain-confirmation-versus-transaction-confirmation
Más traducciones de Cardano en: Cardano For The World