¿Qué es la disponibilidad de datos en las blockchains?
La disponibilidad de datos garantiza que la información necesaria para verificar un bloque se haya publicado, de modo que cualquiera pueda descargarla y comprobarla.
La disponibilidad de datos es la garantía de que los datos necesarios para comprobar un bloque se han publicado realmente, de modo que cualquiera pueda descargarlos y verificarlos. Se convierte en un problema real para las redes de capa 2 y los clientes ligeros, que dependen de que otros publiquen los datos. Si esos datos se retienen, nadie puede demostrar si las transacciones que contienen eran válidas.
Una forma cotidiana de imaginarlo
Imagine una tienda que le entrega un recibo que solo muestra el total. El total podría ser correcto, pero usted no puede comprobarlo, porque falta el detalle de los artículos. La disponibilidad de datos es la garantía de que ese detalle existe y de que cualquiera puede leerlo. Una blockchain o una capa 2 que publica solo un resumen de sus transacciones, sin los datos subyacentes, pide a los usuarios que confíen en el total.
Por qué es sencillo en una blockchain simple
En una cadena base como Bitcoin o en la capa principal de Ethereum, un nodo completo descarga cada bloque íntegramente y comprueba cada transacción. Si falta parte de un bloque, el nodo no puede validarlo y simplemente lo rechaza. La disponibilidad de datos queda garantizada por el propio acto de verificación. Nuestra guía sobre nodos de blockchain explica ese proceso.
Por qué se vuelve difícil para los rollups
Un rollup procesa transacciones fuera de la cadena principal y publica un resumen de vuelta. Para que el sistema sea seguro, cualquiera debe poder reconstruir el estado del rollup y cuestionar o verificar lo que hizo el operador. Eso solo es posible si los datos de las transacciones subyacentes se publican en algún lugar al que otros puedan acceder.
El riesgo tiene nombre: un ataque de retención de datos. Un operador podría publicar un compromiso con apariencia válida mientras oculta los datos que hay detrás. En los rollups optimistas, nadie podría producir una prueba de fraude sin esos datos. En los rollups ZK, la prueba todavía muestra que el cambio de estado fue válido, pero los usuarios no podrían calcular sus propios saldos para retirar fondos de forma independiente. Nuestra guía sobre blockchains de capa 1 frente a capa 2 explica los dos diseños de rollup.
Qué ocurre si se retienen los datos
Considere un rollup optimista cuyo operador se vuelve deshonesto. Publica en Ethereum un nuevo estado que afirma que ahora es propietario de los fondos de todos, junto con un compromiso con las transacciones que supuestamente produjeron ese estado. Normalmente, cualquiera que observe descargaría los datos de las transacciones, vería que la afirmación es falsa y enviaría una prueba de fraude dentro del periodo de impugnación, y el estado incorrecto sería rechazado.
Si el operador además retiene los datos de las transacciones, nadie puede construir esa prueba, porque nadie puede mostrar qué paso fue incorrecto. El estado fraudulento podría entonces volverse definitivo. Los mismos datos ausentes también impedirían a los usuarios utilizar las vías de escape del rollup, que les permiten retirar fondos directamente a través de la capa 1 si el operador deja de cooperar, porque esas vías exigen que los usuarios demuestren lo que poseen. Publicar los datos es lo que mantiene funcionando ambos mecanismos de seguridad.
Cómo lo gestiona Ethereum: los blobs
Antes, los rollups publicaban sus datos como datos de transacción ordinarios en Ethereum, que todos los nodos procesaban y que se conservaban indefinidamente. Eso convertía esos datos en la mayor parte de las comisiones de los rollups.
Una actualización de Ethereum en 2024, conocida como proto-danksharding (EIP-4844), introdujo los blobs: un tipo de datos separado adjunto a los bloques. Los blobs son más baratos porque la capa de ejecución no los procesa y los nodos los eliminan tras un periodo fijo, de unos 18 días. Ese plazo es suficiente para que cualquiera pueda descargar y comprobar los datos, y los compromisos con ellos permanecen en la cadena de forma permanente. El resultado fue una fuerte caída de las comisiones en muchas redes de capa 2.
¿Quién comprueba que los datos están disponibles?
En Ethereum actualmente, cada nodo de consenso descarga los datos de los blobs de cada bloque, al menos hasta que expiran. Los usuarios de rollups y los observadores independientes dependen de ello.
El espacio para blobs tiene su propio mercado
Los blobs tienen un precio separado de las transacciones ordinarias, con su propia comisión que sube cuando la demanda de espacio para blobs supera la cantidad objetivo por bloque y baja cuando la demanda es escasa. Durante la mayor parte del tiempo desde su lanzamiento, el espacio para blobs ha sido barato, lo que explica la fuerte caída de las comisiones de los rollups. Pero como muchos rollups utilizan el mismo espacio para blobs, un aumento repentino de la demanda desde una parte del ecosistema puede elevar a la vez los costes de datos para todos. Por tanto, las comisiones de los rollups dependen en parte de la actividad en otros lugares, y no solo del tráfico propio de cada rollup.
| Dónde publica sus datos un rollup | Costo relativo | Cuánto tiempo los nodos los conservan | Quién garantiza la disponibilidad |
|---|---|---|---|
| Datos de transacción de Ethereum (calldata) | El más alto | Permanentemente | Validadores de Ethereum |
| Blobs de Ethereum | Más bajo | Alrededor de 18 días | Validadores de Ethereum |
| Una red separada de disponibilidad de datos | Generalmente el más bajo | Depende de la red | Los validadores de esa red |
Muestreo de disponibilidad de datos
Los blobs todavía requieren que los nodos procesen todos los datos de los blobs, lo que limita cuánto se puede añadir. El plan a más largo plazo, al que a menudo se llama full danksharding, usa muestreo de disponibilidad de datos (DAS).
Figura: Muestreo de disponibilidad de datos. Debido a la codificación redundante, ocultar cualquier dato hace que fallen muchas muestras.
La idea es ingeniosa. Los datos se expanden con piezas redundantes adicionales, de modo que si falta cualquier parte del original, también falta una gran parte de los datos expandidos. Cada nodo descarga entonces algunas muestras pequeñas y aleatorias. Si todas sus muestras llegan, puede tener una gran confianza en que los datos completos están disponibles, sin tener que descargarlos todos. Cuando muchos nodos muestrean de forma independiente, resulta extremadamente difícil ocultar datos.
Capas de disponibilidad de datos
Algunos proyectos se especializan en la disponibilidad de datos como un servicio separado: redes cuya función principal es publicar y garantizar datos para rollups y otras cadenas, en lugar de ejecutar transacciones. Esta es una de las piezas detrás de la idea de blockchains modulares, en las que la ejecución, la liquidación, el consenso y la disponibilidad de datos pueden gestionarse mediante capas distintas.
Usar una capa separada de disponibilidad de datos puede reducir los costos, pero cambia los supuestos de seguridad. Un rollup que publica sus datos en Ethereum depende de los validadores de Ethereum para la disponibilidad; uno que publica en otro lugar depende de esa otra red.
Rara vez verás las palabras «disponibilidad de datos» en una billetera, pero dan forma a dos cosas que sí notas. Es una parte importante de lo que pagas en comisiones en las redes de capa 2, y determina si puedes salir de una capa 2 con tus fondos si su operador deja de cooperar. Al comparar redes, conviene saber dónde publica cada una sus datos. Para información general sobre comisiones, consulta nuestra guía sobre comisiones de transacción en blockchain.
Rollups y validiums
El lugar donde una capa 2 guarda sus datos determina qué tipo de sistema es:
| Diseño | Prueba de ejecución correcta | Dónde van los datos | Principal compromiso |
|---|---|---|---|
| Rollup optimista | Pruebas de fraude durante un periodo de impugnación | En Ethereum | Larga espera para los retiros |
| Rollup ZK | Prueba de validez con cada lote | En Ethereum | Tecnología más compleja |
| Validium | Prueba de validez con cada lote | Fuera de Ethereum, con un comité o red de datos separado | Más barato, pero los usuarios dependen de quien tenga los datos |
Un validium puede demostrar que sus cambios de estado son correctos y, aun así, dejar a los usuarios sin poder retirar fondos si los custodios de datos dejan de cooperar. Por eso «¿dónde están los datos?» es una de las preguntas más útiles que se pueden hacer sobre cualquier capa 2.
Este artículo es contenido educativo y no constituye asesoramiento financiero, de inversión, legal ni fiscal. Los activos digitales son volátiles y puedes perder el monto que inviertas.
Para ver cómo encaja la disponibilidad de datos entre los otros componentes de las aplicaciones descentralizadas, consulta qué es Web3.