Saltar al contenido
Finance & Banking
Evolution Program
Inicio / modules / 18-blockchain-y-dlt-para-instituciones-financieras / classes

Clase 02 · Resúmenes, firmas y árboles de Merkle

← 01 · Sistemas distribuidos aplicados a finanzas · Índice de la parte · 03 · Claves, direcciones y gestión criptográfica →

Parte 19 — Blockchain y DLT para instituciones financieras · Nivel: Profesional — perfil bancario · Duración: 90 minutos

🎯 Propósito

Entender las tres piezas criptográficas sobre las que se apoya todo lo demás, y —sobre todo— qué garantiza cada una y qué no. La mayoría de los errores de diseño en esta materia vienen de atribuirle a una pieza una propiedad de otra.

La clase anterior planteó el problema del acuerdo. Esta introduce las tres primitivas criptográficas sobre las que se construye la solución, y que aparecen en todas las clases siguientes.

📚 Objetivos

Al finalizar podrás:

  1. Distinguir integridad, autenticidad y no repudio, y decir qué pieza aporta cada una.
  2. Explicar qué propiedades tiene una función de resumen y qué ocurre cuando una se rompe.
  3. Construir y verificar una firma digital, y describir el ataque que corta.
  4. Implementar un árbol de Merkle y su prueba de inclusión.
  5. Determinar qué se puede y qué no se puede demostrar con estas piezas.

Agenda de 90 minutos

La clase dura noventa minutos y se recorre en cinco tramos. No es un horario rígido: es el orden en que los bloques de esta página se sostienen unos a otros, y por eso conviene respetarlo aunque cambien los tiempos.

Los diez primeros minutos se dedican a recuperar la clase anterior, porque casi todo lo que aquí se explica supone algo que ya se vio. Los veinticinco siguientes desarrollan los conceptos con la fuente oficial a la vista: las referencias del final de la página no son un adorno bibliográfico, se consultan mientras se estudia. Del minuto 35 al 55 se resuelve el ejemplo guiado paso a paso, sin saltarse ninguno, porque el error típico vive precisamente en el paso que parece obvio. Los veinticinco minutos siguientes son de práctica con datos propios o sintéticos —nunca reales de terceros—, que es cuando se comprueba si se entendió. Los diez últimos cierran con las preguntas de comprobación y el registro del entregable.

Si el tiempo aprieta, lo que se recorta es la práctica y se traslada al laboratorio de la parte; lo que no se recorta nunca es el ejemplo guiado.

🧩 Conceptos centrales

Los tres primeros términos son la función de resumen y sus propiedades; los cinco siguientes, la firma y la estructura que permite probar sin revelar. La prueba de inclusión es lo que hace útil el árbol: permite demostrar que un dato está en un conjunto enorme entregando solo unos pocos resúmenes.

Concepto Comprensión verificable
función de resumen Transforma cualquier entrada en una salida de tamaño fijo
resistencia a preimagen Dado el resumen, no se puede reconstruir la entrada
resistencia a colisión No se pueden encontrar dos entradas con el mismo resumen
firma digital Prueba de que quien posee una clave privada aprobó un contenido
no repudio El firmante no puede negar haber firmado
árbol de Merkle Estructura que resume un conjunto en un solo valor
raíz de Merkle Resumen del conjunto completo
prueba de inclusión Demostración de que un elemento está, sin mostrar el resto

🧠 Modelo mental

El modelo mental es una huella que no se puede falsificar: cualquier cambio en el dato cambia su resumen por completo, y por eso comparar resúmenes equivale a comparar los datos sin tenerlos.

TRES PIEZAS, TRES PROPIEDADES DISTINTAS

  RESUMEN        integridad
                 «este contenido no cambió»
                 NO dice quién lo produjo

  FIRMA          autenticidad y no repudio
                 «quien tiene esta clave aprobó esto»
                 NO dice cuándo, ni que sea verdad

  ÁRBOL          integridad de un CONJUNTO, con prueba parcial
                 «este elemento está en el conjunto»
                 NO dice que el conjunto sea el correcto

EL ERROR CLÁSICO
  «está firmado, luego es cierto»

  una firma prueba QUIÉN, no QUÉ es verdad.
  Un banco puede firmar un dato falso perfectamente.

📖 Desarrollo

1. Qué garantiza una función de resumen

Una función de resumen se usa como si fuera una huella digital, y solo lo es mientras se cumplen ciertas propiedades. El bloque las enumera y muestra qué ataque concreto se abre cuando una de ellas se rompe.

PROPIEDADES QUE SE EXIGEN

  DETERMINISTA     la misma entrada da siempre la misma salida
  RÁPIDA           calcularla es barato
  PREIMAGEN        dado h, no se puede hallar m tal que H(m) = h
  SEGUNDA PREIMAGEN dado m, no se puede hallar m' ≠ m con igual resumen
  COLISIÓN         no se pueden hallar dos mensajes cualesquiera
                   con el mismo resumen
  EFECTO AVALANCHA cambiar un bit cambia media salida

QUÉ PASA CUANDO SE ROMPE LA RESISTENCIA A COLISIÓN
  se pueden construir DOS documentos con el mismo resumen:
  uno inocuo, que se firma, y otro malicioso, que hereda
  la firma

  → por eso las funciones con colisiones demostradas
    se retiran del uso, aunque «sigan funcionando»

2. Firma digital, paso a paso

Firmar y verificar son dos procedimientos de tres pasos que conviene tener claros por separado. El bloque los detalla y explica por qué lo que se firma nunca es el mensaje entero.

FIRMAR
  1. se calcula el resumen del mensaje
  2. se opera ese resumen con la clave PRIVADA
  3. el resultado es la firma

VERIFICAR
  1. se calcula el resumen del mensaje recibido
  2. se opera la firma con la clave PÚBLICA
  3. si coinciden, la firma es válida

POR QUÉ SE FIRMA EL RESUMEN Y NO EL MENSAJE
  · el mensaje puede ser enorme; el resumen es fijo
  · la operación criptográfica es cara

Y AQUÍ ESTÁ LA DEPENDENCIA QUE HAY QUE VER
  la seguridad de la FIRMA depende de la del RESUMEN.
  Si se puede fabricar una colisión, la firma de un
  documento vale para el otro.

3. Lo que una firma no dice

Una firma válida demuestra menos cosas de las que se le suelen atribuir, y casi todos los incidentes vienen de ahí. El bloque separa lo que demuestra de lo que no, indicando en cada caso qué mecanismo adicional haría falta.

UNA FIRMA VÁLIDA DEMUESTRA
  que quien poseía la clave privada aprobó ESE contenido

NO DEMUESTRA
  · CUÁNDO se firmó
      → hace falta un sello de tiempo de un tercero
  · que el firmante sea quien dice
      → hace falta ligar la clave a una identidad
  · que el contenido sea VERDADERO
      → una firma no valida hechos
  · que el firmante quisiera firmar ESO
      → si firma a ciegas un resumen, no sabe qué firmó
  · que la clave no estuviera comprometida
      → hace falta revocación

CONSECUENCIA PRÁCTICA
  «lo firmó el banco» y «es cierto» son afirmaciones
  distintas. Un registro distribuido garantiza la primera.

4. Árbol de Merkle

El árbol de Merkle permite resumir un conjunto grande en un solo valor y, a partir de él, demostrar pertenencia sin revelar el resto. El bloque construye uno pequeño y sigue una prueba completa.

CONSTRUCCIÓN
  hojas:  H(d1) H(d2) H(d3) H(d4)
  nivel 1: H(H(d1)+H(d2))   H(H(d3)+H(d4))
  raíz:    H( nivel1_izq + nivel1_der )

PARA QUÉ SIRVE
  · resumir un conjunto grande en un valor
  · demostrar que un elemento pertenece,
    revelando solo log₂(n) resúmenes

PRUEBA DE INCLUSIÓN DE d3 EN UN ÁRBOL DE 4
  se entregan H(d4) y H(H(d1)+H(d2))
  el verificador recalcula la raíz
  → con 2 valores prueba pertenencia a un conjunto de 4
  → con 20 valores, a uno de un millón
LA PROPIEDAD QUE LO HACE ÚTIL EN FINANZAS
  un participante puede demostrar que su operación
  está en el bloque SIN revelar las demás operaciones

  → confidencialidad entre participantes
    con verificabilidad del conjunto

5. Prueba de exclusión: lo que cuesta más

Probar que un elemento está en el conjunto es barato; probar que no está exige una estructura distinta. El bloque explica cómo se consigue y por qué esta prueba, y no la anterior, es la que necesita un banco.

DEMOSTRAR QUE ALGO ESTÁ ES BARATO.
DEMOSTRAR QUE ALGO NO ESTÁ, NO.

  con un árbol de Merkle simple: imposible sin
  recorrer todo el conjunto

  CON EL CONJUNTO ORDENADO
    se demuestra que dos elementos consecutivos
    «rodean» al buscado y que no hay nada entre ellos
    → prueba de exclusión con el mismo coste logarítmico

POR QUÉ IMPORTA EN FINANZAS
  «esta garantía NO está pignorada» es una prueba
  de exclusión, y es la que un banco necesita antes
  de prestar (clase 1, ejemplo guiado)

🧮 Ejemplo guiado

El ejemplo construye un árbol de Merkle y una prueba de inclusión. Conviene contar cuántos resúmenes hacen falta: crece con el logaritmo del conjunto, no con su tamaño.

Situación. Un consorcio publica cada día la raíz de Merkle de sus reservas para que cualquiera pueda comprobar que su saldo está incluido. Un auditor debe evaluar si esa publicación demuestra lo que el consorcio afirma.

LO QUE EL CONSORCIO PUBLICA
  · raíz de Merkle diaria de los saldos de clientes
  · cada cliente puede pedir su prueba de inclusión
  · el total declarado de pasivos: 4 820 000 000

LO QUE EL CONSORCIO AFIRMA
  «cualquiera puede verificar que sus fondos están
   respaldados»

Paso 1 — comprueba qué demuestra la prueba de inclusión.

UN CLIENTE CON SALDO DE 12 000 RECIBE SU PRUEBA
Y RECALCULA LA RAÍZ. COINCIDE.

  QUÉ HA DEMOSTRADO
    que su saldo de 12 000 está en el conjunto
    que produjo esa raíz

  QUÉ NO HA DEMOSTRADO
    · que el conjunto contenga a TODOS los clientes
    · que la suma del conjunto sea 4 820 000 000
    · que existan activos que respalden ese pasivo

Paso 2 — identifica el hueco.

EL CONSORCIO PODRÍA OMITIR CLIENTES DEL ÁRBOL

  si omite a los que no piden su prueba,
  la raíz publicada corresponde a un conjunto
  MENOR que el pasivo real

  cada cliente que comprueba ve su saldo
  y ninguno detecta la omisión

  → la prueba de inclusión NO impide la subdeclaración

Paso 3 — introduce la corrección.

ÁRBOL DE SUMAS (Merkle sum tree)

  cada nodo guarda, además del resumen,
  la SUMA de los saldos de su subárbol

  la raíz contiene el TOTAL

  QUÉ CAMBIA
    el cliente verifica su saldo Y comprueba que el total
    de la raíz es el que el consorcio declara

    omitir un cliente ahora exige reducir el total,
    y eso es visible

Paso 4 — busca el hueco de la corrección.

EL ÁRBOL DE SUMAS IMPIDE OMITIR.
¿IMPIDE TODO?

  NO. El consorcio puede incluir saldos NEGATIVOS
  en ramas que nadie va a verificar, reduciendo el total
  sin omitir a nadie

  CORRECCIÓN
    exigir que cada hoja demuestre saldo no negativo
    → una prueba criptográfica de rango por hoja

  y ahí es donde entra la clase 10

Paso 5 — evalúa el otro lado del balance.

TODO LO ANTERIOR DEMUESTRA EL PASIVO.
NO DICE NADA DEL ACTIVO.

  «tus fondos están respaldados» exige demostrar
  que existen activos ≥ pasivos

  eso NO se demuestra con un árbol de Merkle:
  exige verificar la titularidad de activos que
  viven fuera del registro

  → prueba de reservas y prueba de pasivos
    son dos cosas distintas, y la segunda es la fácil

Paso 6 — cuantifica lo que sí aporta.

ANTES DE LA PUBLICACIÓN
  el cliente confiaba en el estado de cuenta del consorcio,
  sin verificación posible

DESPUÉS, CON ÁRBOL DE SUMAS Y PRUEBA DE RANGO
  el cliente verifica:
    · que su saldo está incluido
    · que el total declarado es la suma real de los saldos
    · que ninguna hoja es negativa

  eso es MUCHO más de lo que había, y sigue sin ser
  «tus fondos están respaldados»

Paso 7 — escribe el dictamen.

DICTAMEN DEL AUDITOR

  LA AFIRMACIÓN «cualquiera puede verificar que sus
  fondos están respaldados» ES INCORRECTA.

  LO QUE LA PUBLICACIÓN DEMUESTRA, CON LAS CORRECCIONES:
    que el pasivo declarado es consistente con
    los saldos individuales

  LO QUE NO DEMUESTRA:
    que existan activos suficientes

  REDACCIÓN CORRECTA PROPUESTA
    «cualquiera puede verificar que su saldo está incluido
     en el total de pasivos que publicamos. La existencia
     de activos suficientes la verifica [x] y su informe
     está en [y], con fecha [z].»

  Y UNA OBSERVACIÓN DE MÉTODO
    la publicación es un avance real. El problema no es
    la técnica: es la frase que la describe.

Interpreta: el árbol de Merkle hacía exactamente lo que sabe hacer —demostrar pertenencia a un conjunto— y la afirmación comercial le atribuía una propiedad que ninguna pieza criptográfica puede dar. Atribuir a una pieza la propiedad de otra es el error que esta clase enseña a detectar.

🧭 Perspectivas

Estas primitivas afectan a cada participante de forma distinta. La tabla lo recoge.

Actor Qué ve Qué decide
Cliente «Puedo verificar mis fondos» Si confía
Consorcio Una publicación que da confianza Cómo la describe
Auditor Una prueba de pasivos Qué dictamina
Supervisor Una afirmación de respaldo Si exige verificación del activo
Tecnología Un árbol con o sin sumas Qué implementa
Competidor Una práctica de transparencia Si la adopta
Sociedad «Verificable» como sello Riesgo de falsa seguridad

🏦 Del cliente al banco

El cliente confía en un comprobante y el banco puede demostrar su integridad sin revelar el resto. La tabla enfrenta las dos lecturas.

Vista del cliente Vista del banco Parte
«Puedo comprobar mi saldo» Prueba de inclusión, no de respaldo 19, clase 2
«Está firmado por el banco» La firma dice quién, no qué es cierto 19, clase 2
«Publican la raíz cada día» Sin árbol de sumas, se puede omitir 19, clase 2

⚖️ Riesgos y controles

Los riesgos son criptográficos y de gestión. La tabla los recoge con su control.

Riesgo Cómo se materializa Control
Atribuir a una pieza otra propiedad «Firmado, luego cierto» Separar integridad, autenticidad y verdad
Subdeclaración del conjunto Se omiten hojas del árbol Árbol con sumas
Hojas negativas Se reduce el total sin omitir Prueba de rango por hoja
Función de resumen obsoleta Colisión demostrada Política de retirada de algoritmos
Firma a ciegas Se firma un resumen sin ver el contenido Mostrar siempre lo que se firma
Confundir pasivo con respaldo Se demuestra lo fácil Verificación independiente del activo

🧪 Práctica

En labs/lab-02.md y labs/lab-03.md:

  1. Implementa firma y verificación, y demuestra que un mensaje alterado falla.
  2. Construye un árbol de Merkle y su prueba de inclusión sobre 10 000 hojas.
  3. Añade sumas al árbol y demuestra que omitir una hoja se detecta.
  4. Escribe qué demuestra y qué no demuestra tu construcción.

⚠️ Errores frecuentes

Los síntomas de la tabla describen usos incorrectos de estas primitivas. Las causas son confundir resumen con cifrado y firma con autenticación.

Síntoma Causa probable Corrección
«Firmado, luego verdadero» Se confundió autenticidad con verdad La firma dice quién
Prueba de inclusión como prueba de reservas Se demostró el pasivo El activo se verifica aparte
Árbol sin sumas Se copió la construcción básica Con sumas, omitir es visible
Implementar la criptografía a mano en producción Se copió el laboratorio Bibliotecas auditadas
Firma sin sello de tiempo Se asumió el momento La firma no dice cuándo
Clave sin revocación No se previó el compromiso Mecanismo de revocación

❓ Preguntas de comprobación

  1. ¿Qué propiedad aporta cada una de las tres piezas y cuál falta siempre?
  2. ¿Por qué la seguridad de una firma depende de la de la función de resumen?
  3. ¿Qué cinco cosas no demuestra una firma válida?
  4. ¿Por qué una prueba de exclusión exige un conjunto ordenado?
  5. En el ejemplo guiado, ¿por qué la afirmación del consorcio era incorrecta aun siendo la técnica correcta?

📥 Entregable

Guarda en portfolio/parte-19/clase-02/:

🔗 Referencias cruzadas

🔐 Seguridad, ética y límites

Trabaja siempre con datos sintéticos o propios: nunca uses datos reales de terceros, números de cuenta, documentos de identidad ni antecedentes crediticios ajenos. Este material es formativo y no constituye asesoría financiera, tributaria ni legal; las tasas, comisiones, límites y normas citados cambian y deben verificarse en la fuente oficial vigente del país donde se aplique. Cuando un cálculo alimente una decisión que afecte a otra persona, registra los supuestos y quién los aprobó.

📗 Fuentes y verificación


Anterior Índice Siguiente
← 01 · Sistemas distribuidos aplicados a finanzas Parte 19 · Programa 03 · Claves, direcciones y gestión criptográfica →