¿Quién mantiene la lista de nodos de bitcoin y no son un eslabón débil en la seguridad del sistema?

Entiendo que entre las personas que ejecutan los nodos de Bitcoin y, por lo tanto, el protocolo de Bitcoin, el sistema es seguro y sin confianza.

Sin embargo, parece haber un eslabón débil: la lista oficial de nodos de bitcoin.

Sin embargo, quien mantenga la lista oficial, teóricamente puede conspirar para asegurarse de que el 51% de los nodos estén bajo su control y puede realizar operaciones nefastas como duplicar gastos y/o cambiar transacciones.

¿Cómo se maneja este tema?

¿Puede aclarar qué quiere decir con "lista oficial de nodos de Bitcoin"? ¿ Estás hablando de la lista codificada de semillas de DNS ? Cambiar esta lista garantizaría, en el mejor de los casos, que las personas que usaron esa lista solo verían los nodos bajo el control del atacante, al menos temporalmente. No le ayudaría a controlar el 51% de toda la capacidad minera real en la red.
En otras palabras, pueden montar un ataque Sibyl pero no un ataque del 51 % .
Sí, la semilla DNS. Si controla la semilla DNS, controla los nodos a los que se envían todas las transacciones nuevas y controla el "registro oficial" de la cadena de bloques (ya que puede decirle a sus nodos qué versión de la cadena de bloques devolver). No estoy hablando necesariamente de minería.
en las semillas de DNS: obtiene una propuesta de DNS que viene con el software, y durante el tiempo de trabajo, las conexiones de DNS cambian (según la accesibilidad, la velocidad y probablemente más). Entonces, las semillas de DNS son solo para iniciar su nodo. El DNS en sí mismo es un servicio de "Internet", y quienquiera que controle las tablas puede manipular el enrutamiento de datos. Existe una discusión sobre DNSSEC, pero no se usa realmente, por lo que, obviamente, la mayoría de las personas confían en DNS en Internet. Seguro que no hay ningún problema de seguridad en el núcleo de bitcoin, debido al uso de servidores DNS. El problema de seguridad estaría debajo de la aplicación principal de bitcoin...

Respuestas (1)

En primer lugar, en realidad no existe una lista "oficial" de semillas de DNS. Probablemente esté pensando en la lista utilizada por Bitcoin Core. Pero otros clientes son libres de elegir una lista diferente o descubrir a sus compañeros de una manera completamente diferente. Los usuarios de Bitcoin Core también pueden reconfigurar su software para usar una lista diferente. Así que esta lista es simplemente la predeterminada para un cliente en particular.

Esta lista es elegida por los desarrolladores de Bitcoin Core, al igual que todo lo demás en el código fuente de Bitcoin Core. Puede leer aquí sobre los criterios que (afirman) utilizan al seleccionar nodos para esta lista.

Es cierto que si los desarrolladores de Bitcoin Core decidieran ser malvados, podrían modificar esta lista para tener solo semillas de DNS que solo devolverán direcciones para nodos maliciosos controlados por ellos. Eso les permitiría montar un ataque Sibyl contra cualquier usuario de Bitcoin Core.

Pero si lo piensas bien, si los desarrolladores de Bitcoin Core decidieran ser malvados, podrían hacer cosas mucho peores, mucho más fácilmente. Podrían simplemente poner algún código que enviaría inmediatamente todas las monedas en la billetera directamente a ellos, tan pronto como se ejecute el software. ¿Por qué molestarse en jugar con las semillas de DNS y todo eso?

Y si piensas un poco más, este mismo tipo de riesgo existe con cada pieza de software que usas: estás confiando en que el software no contiene nada malo.

Entonces, ¿cuál es nuestra protección contra esto? Bitcoin Core es de código abierto. Usted y todos los demás pueden ver todos los cambios que se han realizado hasta ahora y pueden juzgar por sí mismos si alguno de esos cambios ha sido malo. Usted y todos los demás pueden probar las semillas de DNS proporcionadas en la lista y ver si parecen devolver nodos que se comportan bien. Si no lo hicieran, es muy probable que encuentre advertencias al respecto en otros lugares de Internet, tal como probablemente lo haría si los desarrolladores de Bitcoin Core hubieran realizado cualquier otro cambio maligno.

Si todos los operadores de semillas de DNS enumerados actualmente de repente deciden conspirar para ser malvados, la situación es similar: la gente probablemente se dará cuenta bastante rápido y usted se enterará. Pero los desarrolladores de Bitcoin Core eligen semillas que, por lo que saben, son operadas por personas independientes que parecen ser individualmente honestas y no tienen ninguna razón particular para conspirar.


Si, por otro lado, un operador de semillas de DNS individual decide volverse malvado, sin la cooperación de los desarrolladores de Bitcoin Core, los riesgos son mucho menores. Mientras quede al menos una semilla honesta, es probable que se conecte a algunos nodos honestos además de los deshonestos. Y si te conectas con éxito al menos a un nodo honesto, un ataque de Sibyl no funciona: el nodo honesto te enviará la cadena de bloques adecuada, y sabrás por su mayor dificultad que es el correcto y que los demás son falsos. .


En general, debes tener cuidado al usar términos como "sin confianza y seguro". Estos términos nunca son absolutos. Siempre tienes que confiar en alguien para algo, y siempre hay formas de violar la seguridad. Lo mejor que puede hacer es tratar de entender exactamente en quién está confiando, qué está confiando en ellos para hacer y qué evidencia puede usar para decidir si son dignos de esa confianza.