Mastering Bitcoin

Mastering Bitcoin


8. La Red Bitcoin » Filtros Bloom y Actualizaciones de Inventario

Página 56 de 98

Filtros Bloom y Actualizaciones de Inventario

Los filtros bloom se utilizan para filtrar las transacciones (y bloques que las contienen) que un nodo SPV recibe de sus compañeros. Los nodos SPV crearán un filtro que haga coincidir solo las direcciones mantenidas en la cartera del nodo SPV. El nodo SPV enviará un mensaje filterload al compañero, que contiene el filtro bloom a usar en la conexión. Después de haber establecido un filtro, el compañero probará cada una de las salidas de transacción contra el filtro bloom. Solo las operaciones que coincidan con el filtro se envían al nodo.

En respuesta a un mensaje getdata desde el nodo, los compañeros enviarán un mensaje merkleblock que contiene solo las cabeceras de bloques para los bloques que coinciden con el filtro y una ruta merkle (ver apartado sobre árboles de Merkle) para cada transacción correspondiente. El compañero entonces también enviará mensajes tx que contienen las transacciones coincidentes por el filtro.

El nodo que crea el filtro bloom puede añadir patrones al filtro de forma interactiva mediante el envío de un mensaje filteradd. Para borrar el filtro bloom, el nodo puede enviar un mensaje filterclear.

Debido a que no es posible eliminar un patrón de un filtro bloom, un nodo tiene que borrar y volver a enviar un nuevo filtro bloom si ya no se desea un patrón.

Ir a la siguiente página

Report Page