Sello de tiempo con árbol Merkle: cómo funciona
Por BlockchainSignPublicado el

Si te has preguntado cómo un servicio puede sellar en el tiempo archivos en Bitcoin de forma gratuita cuando una transacción en Bitcoin no lo es, la respuesta es un árbol Merkle. Vale la pena entenderlo, porque el compromiso que hace es la principal diferencia entre los servicios de sello de tiempo del mercado.
El problema que resuelve
Escribir un hash en una blockchain cuesta dinero —una tarifa de transacción, pagada en la moneda de la cadena. Si cada archivo necesita su propia transacción, cada sello tiene un coste mínimo fijo.
Agrupar muchos hashes en una sola transacción elimina ese suelo. La dificultad consiste en hacerlo permitiendo que cualquiera demuestre que su hash específico estaba en el grupo, sin publicar todo el lote.
Cómo funciona un árbol Merkle
Coge un conjunto de hashes. Emparejalos y hashea cada par juntos. Vuelve a emparejar los resultados y hashea esos. Sigue así hasta que quede un solo hash.
h(A) h(B) h(C) h(D)
\ / \ /
h(AB) h(CD)
\ /
h(ABCD) ← la raíz Merkle
Ese valor final es la raíz Merkle, y compromete a todas las entradas. Cambia cualquiera de los hashes originales y la raíz cambia por completo.
Solo la raíz se escribe en la cadena. Una transacción, independientemente de cuántos archivos hubiera en el lote.
Demostrar que tu archivo fue incluido
Para mostrar que h(A) está bajo la raíz, no necesitas todo el árbol. Necesitas los hermanos a lo largo del camino desde tu hoja hasta la cima —en este caso, h(B) y h(CD). Cualquiera puede recalcular:
h( h( h(A), h(B) ), h(CD) ) == ¿la raíz en la cadena?
Esa breve lista de hermanos es la prueba Merkle o prueba de inclusión. Para un lote de un millón de archivos, son unos veinte hashes, porque la longitud del camino crece con el logaritmo del tamaño del lote, no con el propio lote.
Esto es genuinamente elegante. Es el mecanismo detrás de OpenTimestamps, y detrás de la mayoría de los sellos gratuitos.
Qué pierdes
Tres cosas, todas operativas más que criptográficas.
Debes conservar el archivo de prueba. La cadena contiene la raíz, no tu hash. Sin el camino de hermanos, no hay forma de conectar tu archivo con la transacción. Pierde la prueba y el sello desaparece —la transacción por sí sola no te ayudará.
Normalmente hay un retraso y un paso extra. Los lotes se cierran según un horario. Hasta que el lote se confirma y se registra, tu prueba está incompleta, y en algunos diseños debes volver más tarde para "actualizarla". Mucha gente nunca lo hace, y se da cuenta años después.
La verificación requiere explicaciones. Recalcular un camino Merkle es una operación sencilla para un desarrollador y una sorpresa desagradable para cualquier otra persona. Un registro cuya verificación requiere un tutorial es un registro más débil ante una audiencia no técnica.
La alternativa: una transacción cada uno
El otro enfoque es escribir cada hash en su propia transacción. Eso es lo que hacemos: el hash de tu carga útil va en los datos de entrada de una transacción Ethereum dedicada, donde cualquiera puede leerla en Etherscan con "Ver como UTF-8".
| Agrupación Merkle | Una transacción cada uno | |
|---|---|---|
| Coste por sello | Casi cero | La tarifa completa de la transacción |
| Qué debes conservar | Un archivo de prueba | Nada — el hash está en la cadena |
| Si pierdes el artefacto | Sello irrecuperable | Recuperable de datos públicos |
| Paso extra tras enviar | A menudo sí | No |
| Verificación | Recalcular un camino Merkle | Leer la transacción |
| Explicárselo a un abogado | Requiere un tutorial | Abrir el enlace |
Ninguno es criptográficamente más fuerte. Una prueba Merkle es exactamente tan sólida como una escritura directa. La diferencia radica enteramente en lo que ocurre después, con una persona que no eres tú, que sostiene un artefacto que no entiende.
Cuál elegir
Si sellas en volumen, tienes comodidad técnica y eres fiable conservando los archivos, la agrupación es excelente y el precio inmejorable.
Si sellas un pequeño número de documentos importantes, y la audiencia eventual es un cliente, una aseguradora o un tribunal, pagar por una escritura directa te compra una prueba que no tiene nada que perder ni nada que explicar.
La agrupación también es la forma sensata de ofrecer una capa gratuita, algo que vale la pena saber al comparar precios: un servicio que cobra céntimos por certificado casi certainly está agrupando, y uno que cobra dólares probablemente no lo esté.