Nodos completos maliciosos que provocan ataques de denegación de servicio

Controlar >51% del poder de minería en bitcoin no es práctico debido a la inmensa inversión que se requerirá. Además, el cliente Bitcoin Core tiene protección DoS contra nodos maliciosos que envían una avalancha de transacciones. Pero, ¿qué sucedería si un atacante que ha colocado varios nodos completos en todo el mundo no reenvía las transacciones a los otros nodos honestos? Hay más de 10 000 nodos completosen la red bitcoin. Un atacante puede colocar 10 veces la cantidad de estos nodos distribuidos de manera muy eficiente en términos de dispersión geográfica para que sea uno de los primeros en ver las transacciones transmitidas. Para evitar que el nodo honesto elimine el nodo malicioso, puede retransmitir la transacción de vez en cuando para mantener activa la conexión. Dado que hay 10 veces más nodos maliciosos que honestos, es muy probable que los mineros no vean las transacciones transmitidas y no las incluyan en el bloque. ¿Se ha realizado alguna investigación para prevenir tal escenario?

Respuestas (1)

Hay significativamente más de 10k nodos completos en la red. La cifra de 10k es simplemente la cantidad de nodos accesibles que escuchan públicamente nuevas conexiones. Hay muchas más veces esa cantidad que no tienen puertos abiertos. Luke-jr publica información sobre los nodos que él mismo conoce [1] , lo que sugiere que hay del orden de 100k nodos.

Solo se necesita una conexión honesta para que las conexiones deshonestas se hagan evidentes. La configuración predeterminada en el software central de bitcoin es que un nodo realizará 8 conexiones salientes a otros pares. De forma predeterminada, el software también aceptará hasta 125 conexiones entrantes, pero los mineros en particular aumentarán esta cifra. (Los mineros también usan redes p2p separadas como la fibra).

Si una parte maliciosa controla el 90% de los nodos en la red global, entonces la probabilidad de que cualquier conexión saliente única los alcance, suponiendo que se elijan al azar, sería 0.9. La probabilidad de que las 8 conexiones salientes se conecten a los nodos maliciosos sería de 0,9^8. 10x los nodos no serían suficientes.

Hay un documento, Eclipse Attacks on Bitcoin's Peer-to-Peer Network que aborda el problema y también presenta varias contramedidas que pueden limitar la posibilidad de que un atacante pueda lograr esto, incluso si lograra hacer girar la gran cantidad de nodos requeridos.