Nodos de Bitcoin podrán recusar transacciones no solicitadas con esta alternativa

By | February 22, 2021


Una propuesta plantea permitir a los nodos de Bitcoin poder recusar la recibo de transacciones que no hayan solicitado o requerido, a partir de las próximas versiones del cliente Bitcoin Core.

La alternativa apunta a despabilarse anciano eficiencia en la trámite de transacciones de Bitcoin y su transmisión entre pares. La propuesta, hecha por el desarrollador Antoine Riard en la letanía de correos de Bitcoin, fue reseñada a su vez por el boletín Bitcoin Optech.

El boletín publicado el pasado 17 de febrero explica que, en principio, antiguamente de transmitir una transacción a otros nodos, un nodo puede cursar primero un mensaje inv o de inventario. Este mensaje ligero puntada a los otros nodos para lanzarse si considerar o no almacenar y retransmitir la transacción. La respuesta afirmativa de un nodo para cobrar una transacción es el comando getdata.

Cuando el nodo reconoce la transacción, la vigilante en su memoria. La mempool de la red es la suma de la memoria que cada nodo que la red usa para almacenar las transacciones entrantes y no confirmadas, explicamos en el vocabulario de CriptoNoticias.

El portal mempool.space permite visualizar los datos sobre la mempool de Bitcoin. Fuente: Mempool Space.

Sin retención, señala la propuesta de Riard, el método inv/getdata ha sido obviado «por algunos clientes ligeros y otros softwares» por más de una decenio. Así ponen de ejemplo a bitcoinj, el cliente de Bitcoin Core en verbo Java, donde se visualiza a nivel de código cómo se envían las transacciones a los nodos, sin tener sido solicitadas por estos.

Sin que los nodos puedan evitar conocer una transacción no solicitada, un atacante podría cursar muchas transacciones pesadas o costosas de confirmar desde varios puntos de conexión en torno a un nodo objetivo, saturando así la memoria del nodo.

La comunicación apto entre nodos protege a Bitcoin

La alternativa del desarrollador es la de forzar a cumplir el protocolo de intercambio de mensajes inv/getdata, de modo que se puedan librarse y distribuir mejor los medios de procesamiento y nervio de transacciones. Los nodos podrían incluso clausurar las conexiones contra pares identificados como maliciosos o que están boicoteando la red.

La única forma posible para escamotear esta alternativa, y conseguir transmitir un mensaje inv o transacción cruda (raw tx, transacción ligera en información) cuando esta se haga efectiva, es la de apoyarse en otro par que utilice un cliente de Bitcoin compatible e interactúe con la red.

Hacer relay (dimisión) o vaguear en otro legatario para transmitir transacciones, permitiría aún que este tipo de mensajes lleguen a los nodos, pero una vez se implemente la condición de cumplir con la secuencia inv/getdata en todos los clientes, estos softwares tendrían que ir actualizándose hasta que ya se les haga impracticable transmitir transacciones crudas en la red P2P de Bitcoin.

En la discusión de GitHub entre desarrolladores, uno de los participantes confirma que con solo transmitir transacciones costosas de procesar a un nodo de audición o nodo espectador (listening node), generaría duración en la transmisión y nervio de transacciones.

Aunque el tamaño de este ataque tendría que ser enorme para crear graves artículos en la red, sí puede afectar a un nodo objetivo. Que sea teóricamente posible realizarlo amerita una alternativa experiencia de parte de los desarrolladores y colaboradores de Bitcoin.

Se plantea implementar esta aggiornamento en la interpretación 22.0 del cliente Bitcoin Core. Posteriormente de allí, todos los clientes de Bitcoin tendrán que actualizarse o no podrán cursar ningún tipo de transacción.



Source link