¿Por qué Bitcoin ya no tiene puntos de control?

He leído que se eliminaron los puntos de control en Bitcoin porque no impedían ningún ataque significativo.

¿Por qué un punto de control regular no debería prevenir los ataques de la mayoría? Por ejemplo, si se realiza un punto de control cada N bloques y (por ejemplo) 3/4 del poder hash está de acuerdo, ¿no sería posible utilizarlo como un mecanismo para crear una confirmación permanente de las transacciones antes del punto de control? Suponiendo, por supuesto, que los clientes verifiquen esos puntos de control y los hagan cumplir para que se incluyan en la cadena válida.

Si N es grande, entonces no ayuda mucho, porque los ataques mayoritarios pueden ser muy dañinos incluso si solo retroceden unos pocos bloques. Si N es pequeño, quien establece los puntos de control tiene un poder desproporcionado para determinar cuál es la rama "correcta" de la cadena de bloques, violando el objetivo de la descentralización.
¿No puede ser la rama derecha de la cadena de bloques la que tenga más PoW en el momento del punto de control?
@confused00 Sí, eso es lo que sería si N fuera seis bloques. En el caso de una división de la red (digamos que alguien cortó los cables submarinos a Nueva Zelanda), entonces, cuando la red se reincorpora, ¿cómo se debe resolver esto?

Respuestas (1)

El problema es que asumes que un ataque mayoritario es un ataque que se puede prevenir. No lo es. Es una ruptura fundamental de los supuestos de seguridad.

La suposición de la prueba de trabajo (PoW) es que la mayoría del hashrate cooperará y convergerá en una sola cadena, porque es lo más ventajoso desde el punto de vista financiero. Cuando ese ya no es el caso, PoW está roto y deberíamos pasar a otra cosa, no para tratar de arreglarlo.

Puede pensar que agregar puntos de control ayuda a mejorar esta situación, pero considere esto:

  • O los puntos de control se crean para bloques antiguos (de semanas o meses), en cuyo caso claramente no se puede evitar nada. Una reorganización de una semana de duración destruiría por completo la moneda y la confianza en ella, y esto no la impediría.

  • O los puntos de control se crean para bloques recientes (tal vez días u horas), en cuyo caso pueden afectar qué cadena se acepta en la red durante ciertas circunstancias, pero al mismo tiempo reemplaza efectivamente el consenso basado en PoW con "developers-decide". " consenso... algo que no necesita un protocolo complejo de igual a igual en absoluto, ya que los desarrolladores necesitan ejecutar sistemas para mantener el sistema bajo control.

Entonces, los puntos de control tienen un efecto, y cambian las suposiciones de seguridad en una que no sea interesante, o no lo hacen, y no importan.

Para responder a su pregunta: la razón principal para eliminar los puntos de control se debe a la confusión que crean. Hacen que las personas piensen que son parte del modelo de seguridad del sistema (como muestra su pregunta). Ese no es el caso. Se introdujo como una necesidad para implementar una optimización (saltar la validación del script) y un ataque de denegación de servicio no relacionado (el disco de un nuevo nodo se llena con bloques de baja dificultad durante la sincronización). Debido a algunos cambios en el protocolo P2P (sincronización basada en encabezados), ya no necesitamos puntos de control para hacer estas cosas de manera segura.

Esta respuesta pierde el aspecto temporal de los ataques. La mayoría de las monedas, excepto Bitcoin, pueden tener un 51%
@ user239558 Entonces están rotos.
Hay un tipo de ataque mayoritario que no mencionaste y que los puntos de control resuelven perfectamente. La construcción de una cadena más larga pero inválida. Si un atacante construye una cadena con solo una transacción no válida, entonces el resto de la cadena coincide para siempre con el consenso de bitcoin, los puntos de control evitan que los nuevos nodos tengan que validar ambas cadenas hasta ese bloque no válido. El ataque es uno que interrumpiría los nuevos nodos, retrasando su entrada a la red, potencialmente por mucho tiempo. No podemos asumir que Bitcoin siempre tendrá la mayor potencia de hash.
@BTI no lo entiendo. Si hay otra cadena mayoritaria (que creo que inherentemente hace que la minoritaria sea insegura, pero está bien), la bifurcación ocurrirá en el primer bloque que no es válido para Bitcoin. Eso es como máximo un bloque que necesita ser validado y rechazado. Sus sucesores ni siquiera se descargarán.
Tienes razón en que otra cadena mayoritaria pone en riesgo a una cadena minoritaria. Veo tu punto allí. Sin embargo, dijiste que "hay como máximo un bloque que debe validarse", pero ¿cómo sabes qué bloque es? Supongo que podrías pedirle pistas a otros nodos, lo que probablemente te ayude a descubrir dónde ocurre la división. Supongo que eso resuelve suficientemente el problema. ¡Gracias por seguirnos! Tendré que pensar un poco sobre eso y probablemente revisar mi posición.
Validas los bloques uno por uno, de padre a hijo. Si en algún momento encuentra un bloque no válido, lo marca junto con todos sus descendientes como no válidos. Si nunca nota el bloque que causa la bifurcación, simplemente significa que no ha visto la bifurcación.
"Cuando ese ya no sea el caso, PoW está roto y deberíamos pasar a otra cosa". Creo que la función de PoW se degradaría , no se rompería. Verse obligado a elegir entre dos cadenas alternativas (o un pequeño número de ellas) con una cantidad significativa de PoW aún permite una convergencia más efectiva hacia el consenso que no tener ninguna señal honesta para coordinar.