Respuestas>Descubre los conceptos básicos de la cadena de bloques>¿Qué es la finalidad de la cadena de bloques?
¿Qué es la finalidad de la cadena de bloques?
// Tags
finalidad de la cadena de bloquesfinalidad de la transacciónconfirmación de bloques
En resumen: La finalidad de la cadena de bloques es el momento en el que una transacción se considera confirmada de forma permanente y no puede revertirse, modificarse ni eliminarse del libro mayor. Las distintas cadenas de bloques alcanzan la finalidad de diferentes maneras y a diferentes velocidades, que van desde segundos hasta minutos. Comprender la finalidad es fundamental para los desarrolladores que crean aplicaciones en las que el momento en que se confirman las transacciones influye directamente en la experiencia del usuario, la seguridad y los fondos.
La explicación sencilla
Cuando envías una transacción en una cadena de bloques, esta no se convierte en definitiva en el instante en que haces clic en «enviar». La transacción entra en la red, es recogida por un validador o un minero y se incluye en un bloque. Pero incluso después de aparecer en un bloque, suele haber un intervalo de tiempo en el que la transacción podría, en teoría, revertirse si la red se reorganiza (lo que se conoce como «reorg»). La finalidad es el momento en que ese intervalo se cierra.
Piensa en ello como si enviaras un cheque por correo. Echar el cheque al buzón es como hacer pública tu transacción. Que la oficina de correos lo recoja es como que la transacción entre en el mempool. Que el cheque llegue al banco es como su inclusión en un bloque. Pero el pago no es realmente definitivo hasta que el banco lo procesa y los fondos se transfieren de forma irreversible. La finalidad de la cadena de bloques es ese último paso: el momento en el que la reversión se vuelve práctica o matemáticamente imposible.
Las distintas cadenas de bloques definen este concepto de forma diferente. Bitcoin la «finalidad probabilística», en la que cada bloque adicional que se añade sobre tu transacción hace que su reversión sea exponencialmente más difícil. Tras seis confirmaciones (aproximadamente 60 minutos), una Bitcoin se considera lo suficientemente segura para la mayoría de los fines. Ethereum, desde su transición a la Prueba de Participación (Proof of Stake), logra la finalidad mediante un proceso denominado Casper FFG, en el que los comités de validadores votan para finalizar los puntos de control aproximadamente cada 12-13 minutos. Una vez finalizadas, revertir esas transacciones obligaría a los atacantes a quemar al menos un tercio de todo el ETH apostado, lo que resultaría económicamente catastrófico. Solana la finalidad en una sola ranura en unos 400 milisegundos gracias a su combinación de «Proof of History» y «Proof of Stake», y tiene previsto reducir este tiempo por debajo de los 150 milisegundos con la próxima actualización del protocolo Alpenglow.
¿Cómo se logra la firmeza?
La finalidad se genera mediante el mecanismo de consenso de una cadena de bloques. En la Prueba de Trabajo, la finalidad es probabilística: los mineros alargan la cadena más larga, y cada bloque añadido hace que revertir los bloques anteriores resulte exponencialmente más costoso. En los sistemas de Prueba de Participación (Proof of Stake) y de Tolerancia a Fallos Bizantinos (BFT), los validadores certifican o votan los bloques, y una vez que una mayoría cualificada (normalmente dos tercios del valor apostado) da su visto bueno, el bloque se considera definitivo y revertirlo requeriría destruir una cantidad catastrófica de participación. El diseño del consenso es lo que determina si una cadena ofrece finalidad probabilística, determinista o económica, y la rapidez con la que se alcanza.
Tipos de finalidad
Existen varias categorías de finalidad que los desarrolladores deben comprender. La finalidad probabilística significa que una transacción se vuelve más segura con cada nuevo bloque que se añade a ella, pero, técnicamente, siempre existe una probabilidad distinta de cero de que se revierta. Bitcoin otras cadenas de «prueba de trabajo» utilizan este modelo. La probabilidad de reversión disminuye exponencialmente con cada confirmación, pero nunca alcanza el cero absoluto.
La finalidad determinista (o absoluta) significa que, una vez que una transacción se ha finalizado, es matemáticamente imposible revertirla sin romper el propio protocolo de consenso. Las cadenas de «Proof of Stake» como Ethereum tras la fusión) y muchas cadenas basadas en BFT logran esto. Una vez que un número suficiente de validadores certifica un bloque y este alcanza un punto de control de finalidad, se convierte en permanente.
La finalidad económica es un concepto estrechamente relacionado. Incluso en cadenas con finalidad determinista, la garantía real es de carácter económico: revertir una transacción finalizada requeriría destruir tanto valor apostado que ningún agente racional lo intentaría. En Ethereum, esto significa quemar más de 11 millones de ETH (un tercio del total de ETH apostado) para revertir un bloque finalizado.
La finalidad instantánea es el objetivo que persiguen algunas cadenas más recientes y las soluciones de Capa 2. Cadenas como Avalanche un mecanismo de consenso en el que los validadores miden repetidamente las preferencias de los demás y llegan a una decisión en cuestión de segundos. Algunos rollups de Capa 2 logran una finalidad «blanda» near desde la perspectiva del secuenciador, pero la verdadera finalidad depende de cuándo se liquidan las pruebas o los datos del rollup en la Capa 1.
Finalidad probabilística frente a finalidad determinista
Los modelos de finalidad se dividen en dos grandes categorías. La finalidad probabilística se refuerza con cada nuevo bloque, pero nunca alcanza la certeza absoluta, mientras que la finalidad determinista garantiza la irreversibilidad en el momento en que el protocolo de consenso finaliza un bloque. La tabla siguiente resume las diferencias clave.
Finalidad probabilística
Finalidad determinista
Consenso
Prueba de trabajo
Prueba de participación o BFT
Riesgo de reversión
Disminuye exponencialmente, nunca llega a cero
Matemáticamente imposible una vez finalizado
Confirmación
Esperar varios bloques
Punto de control de finalización único
Ejemplos de cadenas
Bitcoin, Litecoin, Dogecoin
Ethereum, Avalanche, BNB Smart Chain
Compensación
Una certeza sencilla y pausada
Certeza más rápida, consenso más complejo
¿Qué es el «Time to Finality» (TTF)?
El «Time to Finality» (TTF) es el tiempo total que transcurre desde que un usuario envía una transacción hasta que la red garantiza que esta no puede revertirse. Se mide desde la firma y la difusión hasta el punto de control de consenso que convierte la transacción en definitiva. El TTF es la cifra práctica que más importa a los desarrolladores, ya que determina cuánto tiempo debe esperar un comerciante, una plataforma de intercambio o un puente antes de considerar una transacción como liquidada. Un TTF más bajo se traduce en aplicaciones más rápidas y con mayor capacidad de respuesta, pero el umbral adecuado de espera depende del valor que esté en juego.
Finalidad en las principales cadenas de bloques
Las distintas cadenas alcanzan la finalidad mediante diferentes modelos de consenso y a velocidades muy distintas. La tabla siguiente resume cómo liquidan las transacciones las redes más utilizadas.
Blockchain
Consenso
Tipo de finalidad
Plazo aproximado hasta la resolución definitiva
Bitcoin
Prueba de trabajo
Probabilístico
Unos 60 minutos (6 confirmaciones)
Ethereum
Prueba de participación (Casper FFG)
Determinista y económico
Entre 12 y 13 minutos (2 épocas)
Solana
Prueba de historia y prueba de participación
Optimista, de una sola ranura
Tiempos de respuesta de hoy: el objetivo es unos 150 ms con Alpenglow
Avalanche
Avalanche «Snowman» y Avalanche
Determinista
Entre 1 y 2 segundos
BNB Smart Chain
Prueba de autoridad apostada con finalización rápida
Determinista
Entre 2 y 3 segundos
Estas cifras son aproximadas y varían con las actualizaciones del protocolo. Comprueba siempre las garantías de finalidad vigentes en la documentación oficial de cada red antes de utilizarlas en un entorno de producción.
Quicknode datos de bloques tanto recientes como definitivos mediante RPC de baja latencia en Ethereum, Solana, BNB Smart Chainy muchas otras redes. Para consultar tutoriales paso a paso sobre cómo desarrollar con datos finalizados, consulta laGuía para desarrolladores Quicknode .
Finalidad frente a inmutabilidad
Los términos «finalidad» e «inmutabilidad» suelen utilizarse indistintamente, pero describen conceptos diferentes. La inmutabilidad significa que los datos, una vez registrados en el libro mayor, no pueden modificarse. La finalidad significa que la red ha acordado que una transacción es permanente y no se reorganizará fuera de la cadena. Un bloque puede ser immutable el sentido de que su contenido es fijo, pero seguir siendo reversible si queda huérfano durante una reorganización antes de alcanzar la finalidad. La finalidad es la garantía que cierra esa ventana.
Por qué la finalidad es importante para los desarrolladores
La finalidad influye directamente en la forma de desarrollar la aplicación. Si estás desarrollando un exchange descentralizado, debes saber cuándo se ha liquidado realmente una operación antes de actualizar los saldos. Si estás creando un puente entre dos cadenas, las suposiciones prematuras sobre la finalidad pueden dar lugar a ataques de doble gasto, en los que un usuario retira fondos de la cadena de destino antes de que su depósito se haya confirmado realmente en la cadena de origen.
En el caso de las aplicaciones de pago, la finalidad determina cuánto tiempo debe esperar un comerciante antes de confirmar una compra. En los protocolos DeFi, afecta al momento de la liquidación, a la fiabilidad de las actualizaciones de los oráculos y a las estrategias de MEV (valor máximo extraíble). En los mercados de NFT, determina cuándo es seguro mostrar las transferencias de propiedad. En los puentes entre cadenas, los desajustes de finalidad entre las cadenas de origen y destino son una de las principales causas de los ataques a los puentes.
Las reorganizaciones de bloques (reorgs) son la consecuencia práctica de la «finalidad débil». Una reorganización se produce cuando la red sustituye un bloque añadido recientemente por otro diferente, normalmente porque dos validadores han generado bloques que compiten entre sí en momentos similares y la red ha tenido que resolver el conflicto. Las transacciones del bloque sustituido pueden eliminarse o reordenarse. Las aplicaciones que no tienen en cuenta las reorganizaciones pueden mostrar transacciones fantasma que desaparecen posteriormente, lo que genera confusión entre los usuarios y puede acarrear pérdidas económicas.
Cómo Quicknode la finalidad
La infraestructura Quicknode está diseñada con la finalidad integrada. Quicknode Streams proporciona datos de la cadena de bloques en orden de finalidad con gestión integrada de reorganizaciones, lo que garantiza que tu aplicación reciba datos coherentes y fiables incluso durante las reorganizaciones de la red. En lugar de consultar las confirmaciones de bloques y realizar un seguimiento manual de las reorganizaciones, Streams la entrega «exactamente una vez» de bloques finalizados, recibos y trazas. Esto facilita considerablemente el desarrollo de aplicaciones que dependen de un estado confirmado en lugar de suposiciones optimistas.
La API Core Quicknode también ofrece acceso tanto a los datos de los bloques más recientes como a los ya confirmados en todas las redes compatibles, lo que te permite elegir el nivel de confirmación adecuado para tu caso de uso. Tanto si necesitas la rapidez de los datos de los bloques más recientes para una interfaz de usuario ágil como la seguridad de los datos confirmados para la liquidación de transacciones, Quicknode te Quicknode la flexibilidad necesaria para desarrollar tu solución en consecuencia.
Para aplicaciones basadas en eventos, Quicknode Webhooks pueden notificar a tu backend en el momento en que se finalicen nuevos bloques o se produzca una reorganización, para que puedas reaccionar ante el estado confirmado sin necesidad de realizar sondeos constantes.
¿Cuánto tiempo tarda en alcanzarse la finalidad de la cadena de bloques?
El tiempo varía desde menos de un segundo en cadenas como Avalanche Solana unos 12 o 13 minutos para la finalidad total en Ethereum aproximadamente una hora para alcanzar la seguridad de seis confirmaciones en Bitcoin. El tiempo adecuado que hay que esperar depende del valor de la transacción.
¿La finalidad de la cadena de bloques es lo mismo que la inmutabilidad?
No. La inmutabilidad significa que los datos no se pueden modificar una vez escritos, mientras que la finalidad significa que la red garantiza que una transacción no se revertirá ni se reorganizará fuera de la cadena. Un bloque puede ser immutable , reversible antes de alcanzar la finalidad.
¿Qué cadena de bloques tiene la finalización más rápida?
Entre las principales redes, Avalanche, BNB Smart Chain y Solana en segundos o menos. La próxima actualización Solana, denominada «Alpenglow», tiene como objetivo alcanzar una finalidad de aproximadamente 150 milisegundos.
¿Qué es una reorganización y qué relación tiene con la firmeza?
Una «reorg», o reorganización, se produce cuando la red sustituye un bloque añadido recientemente por otro que compite con él. La «finalidad» es el momento a partir del cual las «reorgs» ya no pueden afectar a una transacción, por lo que las aplicaciones deben esperar a que se alcance la finalidad antes de considerar que los fondos se han liquidado.
¿Por qué es importante la finalidad para los desarrolladores?
La finalidad determina cuándo es seguro realizar operaciones con saldos, transacciones, transferencias entre cadenas y cambios de titularidad. Una valoración errónea de la misma es una de las principales causas de los ataques a los puentes entre cadenas y de los ataques de doble gasto, por lo que comprender las garantías de finalidad de cada cadena es esencial para desarrollar aplicaciones seguras.