Después de reiniciar un nodo, ¿se recuperan las transacciones perdidas en mempool? (v0.14.1)

A partir de la v0.14.0, el mempool ahora se guarda al apagar un nodo y se vuelve a cargar después de iniciarlo. Si un nodo ha estado inactivo durante menos de 20 minutos, digamos, ¿el nodo de bitcoin intenta recuperar las transacciones que se perdió o espera hasta que las ve en un bloque antes de solicitar las transacciones perdidas a un par?

¡Gracias!

Respuestas (1)

Bitcoin Core (v0.14+) no intenta activamente aprender acerca de las transacciones que se perdió.

Históricamente, esto no se hizo porque extendería innecesaria e involuntariamente la vida útil de las transacciones en el mempool. Esto ya no es un problema porque el mempool es limitado y se ocupa correctamente de la caducidad y el desalojo.

Sin embargo, no existe un protocolo eficiente para lograr la sincronización de mempool. Podríamos solicitar todos los txid de todos los pares, pero esto equivaldría a varios cientos de MB de datos, la mayoría de los cuales son redundantes (ya que serían idénticos entre pares). Se han realizado algunas investigaciones sobre protocolos de reconciliación establecidos, que encuentran de manera eficiente las diferencias entre los mempools y simplemente transfieren las diferencias. Sin embargo, nada de eso está cerca del despliegue.

Esto es lo que pensé que es el caso. ¿Existe alguna necesidad de un protocolo que sincronice activamente los mempools cuando los nodos se reinician después de una cantidad razonable de tiempo de inactividad (20-120 minutos, por ejemplo) de modo que el mempool aún no se haya anulado por completo? También puede indicarme cualquier investigación realizada sobre la reconciliación de conjuntos de mempool. Gracias
He descrito protocolos de alto nivel para sincronizar bitcointalk.org/index.php?topic=1377345.0 y en detalles técnicos más detallados en people.xiph.org/~greg/mempool_sync_relay.txt Bitcoin no necesita sincronización activa pero espero que podamos usarlo para reducir el ancho de banda utilizado por la retransmisión.