¿La cadena de bloques de bitcoin es realmente no corruptible? [duplicar]

Algunas personas dicen que la prueba de trabajo es mejor que la prueba de participación, porque no es posible reescribir toda la cadena de bloques en el acto. Uno tendría que "re-minar" todo.

Pero creo que esto no es cierto! Un atacante hipotético puede reescribir toda la cadena de bloques de bitcoin y hacer que las marcas de tiempo hagan que el tiempo de bloqueo sea exactamente de 10 minutos, y de esta manera la dificultad de la minería se mantendrá al mínimo, y no se requiere una minería real. El esfuerzo minero es mínimo.

Según tengo entendido, ese problema se resuelve prácticamente al verificar la cadena de bloques en el código fuente. Los desarrolladores bloquean el código duro en el código fuente para que nadie pueda hacer eso. ¿ Es correcta mi descripción de la situación ?

En otras palabras: sin puntos de control, la cadena de bloques de bitcoin es intrínsecamente corruptible y puede destruirse. ¿Que me estoy perdiendo aqui?

PD: No se trata de PoW vs PoS. Esto se trata básicamente de la afirmación de que PoW no es corruptible. Si mis conclusiones son ciertas, podemos hacer lo mismo con las cadenas de bloques PoS y usar puntos de control para evitar la corrupción.

Varias suposiciones incorrectas aquí: por "cadena más larga" nos referimos a la cadena con la mayor parte del trabajo (no solo la mayoría de los bloques), y los puntos de control fueron una forma histórica de optimizar la velocidad de sincronización que está siendo abolida (una de las razones para abolirla en realidad se debe a a que sea propenso a causar malentendidos en el modelo de seguridad de Bitcoin, como su pregunta). Si un punto de control alguna vez impide una reorganización real de la cadena, PoW está completamente roto.
@PieterWuille El documento técnico de bitcoin dice la cadena más larga y no dice la mayoría del trabajo. ¿Puede proporcionar referencias (o código) que confirmen que la cadena más larga = la mayoría del trabajo?
El documento técnico solo describe la idea aproximada detrás del diseño de Bitcoin, y la implementación práctica difiere y la amplía de muchas maneras (por ejemplo, el documento técnico no dice que el suministro de monedas es finito). En cuanto a la prueba: github.com/bitcoin/bitcoin/blob/v0.16.0/src/… es donde el código decide qué rama intentar validar y llama a una función que encuentra la mayor cadena de trabajo. Pero en realidad, esta es una propiedad de diseño muy fundamental, y la verás descrita en muchos lugares (incluso en docenas de respuestas en este sitio).
@PieterWuille Gracias. El código es suficiente evidencia. ¡Salud!

Respuestas (1)

Su ataque no funcionaría porque los nodos toman la cadena de mayor trabajo como líder, la cantidad de bloques es irrelevante. Cualquier cadena de ataque debe gastar al menos tanto trabajo como se hizo para el original. En realidad, esto solía ser un error en el documento técnico y en la implementación inicial del software de bitcoin: buscaba la cadena más larga en lugar de la mayoría del trabajo. Se arregló muy temprano.

Los puntos de control se están centralizando a medida que otorgan poder a los desarrolladores. Ya no se hacen en Bitcoin.

¿Podría proporcionar pruebas/evidencia de que "la mayoría del trabajo" gana en bitcoin, y no la cadena más larga? Nunca vi esto en ninguna parte.