Mastering Bitcoin

Mastering Bitcoin


9. La Cadena de Bloques » Árboles Merkle y Verificación de Pago Simplificada (SPV)

Página 66 de 98

Árboles Merkle y Verificación de Pago Simplificada (SPV)

Los árboles merkle son ampliamente utilizados por los nodos SPV. Los nodos SPV no tienen todas las transacciones y no descargan bloques completos, solo las cabeceras de bloque. Con el fin de verificar que una transacción está incluida en un bloque sin tener que descargar todas las transacciones del bloque, utilizan una ruta de autenticación, o ruta merkle.

Consideremos, por ejemplo, un nodo SPV que esté interesado en los pagos entrantes a una dirección incluida en su cartera. El nodo SPV establecerá un filtro bloom en sus conexiones con sus compañeros para limitar las transacciones recibidas a solo aquellas que contengan direcciones de interés. Cuando un compañero vea una transacción que coincida con el filtro de bloom, enviará ese bloque usando un mensaje merkleblock. El mensaje merkleblock contiene la cabecera del bloque, así como una ruta merkle que vincula la transacción de interés con la raíz merkle en el bloque. El nodo SPV puede utilizar esta ruta merkle para conectar la transacción con el bloque y verificar que la transacción está incluida en el bloque. El nodo SPV también utiliza la cabecera del bloque para vincular el bloque con el resto de la cadena de bloques. La combinación de estos dos enlaces, entre la transacción y bloque, y entre el bloque y la cadena de bloques, prueba que la transacción está registrada en la cadena de bloques. Con todo, el nodo SPV habrá recibido menos de un kilobyte de datos para la cabecera del bloque y la ruta merkle, una cantidad de datos que es más de mil veces menor que un bloque completo (aproximadamente 1 megabyte actualmente).

Ir a la siguiente página

Report Page