Clientes SPV y nodos completos

Supongamos que un cliente SPV se desconecta en el bloque X (lo que significa que tiene encabezados de bloque hasta el bloque X) y luego vuelve a conectarse cuando la cadena de bloques está en el bloque Y. En ese momento, necesita resincronizar su conjunto UTXO. Entonces, hace lo siguiente: (1) obtiene los encabezados de bloque de los bloques X a Y; (2) construya un filtro de floración para sus direcciones y solicite un nodo completo para enviar todas las transacciones que coincidan con este filtro de floración del bloque X al Y; (3) el nodo completo lo hace y, si se encuentra una coincidencia, envía los datos de la transacción junto con una prueba Merkle al cliente SPV; (4) El cliente SPV verifica la prueba y, si es correcta, actualiza su conjunto de UTXO en consecuencia.

¿Es así como realmente suceden las cosas?

En caso afirmativo, entonces mi pregunta es ¿por qué el nodo completo simplemente no puede hacer lo siguiente: (1) enviar su conjunto UTXO al cliente SPV; (2) El cliente SPV luego filtra los UTXO de su interés y coloca esos UTXO en su propio conjunto de UTXO.

¿No se sigue este método porque no implica ninguna verificación del cliente SPV y este nodo completo puede dar al cliente SPV un conjunto UTXO totalmente incorrecto?

Bienvenido a Bitcoin.stackexchange. En general, es mejor hacer una pregunta a la vez. Cuantas más preguntas haga al mismo tiempo, es menos probable que alguien intente responderlas. Podría responder partes de esto, pero no lo haré porque no estoy seguro acerca de otras partes y no quiero escribir una respuesta parcial. Ver el centro de ayuda y cómo hago una buena pregunta

Respuestas (1)

¿Es así como realmente suceden las cosas?

En caso afirmativo, entonces mi pregunta es ¿por qué el nodo completo simplemente no puede hacer lo siguiente: (1) enviar su conjunto UTXO al cliente SPV; (2) El cliente SPV luego filtra los UTXO de su interés y coloca esos UTXO en su propio conjunto de UTXO.

El conjunto de UTXO es grande y se requeriría una prueba para cada UTXO. Las pruebas para cada UTXO serían costosas de construir y se enviaría una cantidad extremadamente grande de datos innecesarios a través del cable, lo que consumiría ancho de banda de red que podría usarse mejor en otros lugares.