¿Bitcoin Core valida las firmas de forma predeterminada?

Ha habido reclamos recientemente de que Bitcoin Core no valida las firmas en un bloque de forma predeterminada. Si esto es cierto, ¿puede Bitcoin Core afirmar ser un nodo completo?

bitcoin.stackexchange.com/questions/1797/what-are-checkpoints Los bloques antes del último punto de control no se validan opcionalmente.
@MCCCS La respuesta aceptada allí es realmente incorrecta en estos días. Los puntos de control ya no existen.
@Jannes Todavía existen, pero no se han agregado nuevos desde 2014.
@PieterWuille Eso tiene sentido. Estoy corregido. ¿Supongo que todavía están allí porque ahora son parte del consenso? Supongo que ya no son el principal factor decisivo (sobre si validar la firma o no) con el supuesto predeterminado y el supuesto válido = 0? Gracias.

Respuestas (1)

Bitcoin Core valida todas las firmas después de cierto punto y puede configurarse para validar todas las firmas en el historial si así lo desea.

La assumevalidfunción solo deshabilita la validación de firmas para bloques anteriores a un bloque configurado específico que se actualiza para cada versión. Este bloque suele tener varios (decenas de) miles de bloques de profundidad en el momento en que se realiza el lanzamiento. Cualquier bloque que sea un ancestro de ese bloque en particular (y ese bloque esté en la cadena principal) no tendrá las firmas verificadas. Todos los bloques que vienen después tendrán sus firmas verificadas. Esto significa que una vez que su nodo esté sincronizado, todos los bloques nuevos tendrán las firmas verificadas.

Además, este assumevalidno es un puesto de control ni opera en alturas de manzana. Si, por alguna razón, hubo una reorganización que eliminó el assumevalidbloque de la cadena principal, entonces se validarían todas las firmas en la cadena de bloques. Es simplemente una optimización y no afecta la seguridad de su nodo.

¿Puede el núcleo de Bitcoin afirmar ser un nodo completo?

Sí, hay más en ser un nodo completo que validar firmas. Hay más en la validación que solo firmas. Bitcoin Core aún verifica el PoW, que las salidas que se gastan existieron, etc.

¿Cómo funcionaban las cosas antes de que se introdujera "assumevalid" en 2017: github.com/bitcoin/bitcoin/pull/9484 ? Supongo que todavía se estaba saltando la validación de la firma, ¿existió esto desde el principio?
Antes de asumir la validez, las comprobaciones de firmas solo se omitían para los ancestros de los bloques de puntos de control. Entre el momento en que se agregó el último punto de control y se agregó el supuesto válido, los bloques después del punto de control siempre tendrían sus firmas validadas.