¿Cuánto se tarda en validar un bloque completo?

Me interesa saber cuánto tiempo se tarda en validar un bloque de Bitcoin en una PC doméstica promedio. Estoy menos interesado en un número preciso. Soy plenamente consciente de que puede ser diferente entre diferentes máquinas. Estoy más interesado en una estimación. Las respuestas anteriores no proporcionaron un número o incluso un cálculo aproximado.

Respuestas (1)

Su pregunta en realidad no proporciona suficiente contexto, incluso con la condición de que no le importe qué máquina específicamente.

¿Te refieres a la caché en frío durante la descarga del bloque inicial o te refieres a la punta de la cadena en un nodo en ejecución? La diferencia en este punto es probablemente de dos órdenes de magnitud en velocidad.

Por lo general, en la punta casi no se realiza ninguna validación de transacción, excepto por la consistencia de doble gasto en el momento en que se acepta un bloque: todas las transacciones ya se han recibido y validado.

¿Desea un tiempo para procesar solo un bloque sin la escritura de base de datos necesaria que generalmente se procesa por lotes en muchos bloques? La diferencia aquí es quizás un factor de dos en velocidad en el caso sin caché, mucho más en el caso con caché.

Puede ejecutar bitcoin core con -debug=bench para que registre tiempos detallados para las diversas partes de la validación para ver la validación en su propio sistema.

Los números de orden de magnitud están en el orden de un par de milisegundos para el caso común de almacenamiento en caché completo en la punta a un par de segundos para cachés en frío y vaciado. Potencialmente minutos si el bloque fuera construido adversarialmente.

Gracias por la respuesta, seré más específico: estoy ejecutando una simulación aproximada que calcula el tiempo que lleva propagar un bloque. Por razones de simplicidad, me gustaría que todos los nodos fueran idénticos. Lo que significa el mismo ancho de banda y el mismo retraso de propagación entre cada dos nodos. También me gustaría usar una estimación aproximada del tiempo que lleva validar un bloque. Sé que algunas de las transacciones ya fueron aprobadas, pero otras no. Por eso me interesa la estimación, que tiene en cuenta: transacciones nuevas promedio por bloque, potencia computacional, etc.
En Bitcoin, los bloques no se validan antes de propagarse la gran mayoría de las veces. (Con BIP152 se propagan antes de la validación si todos los datos se conocen de antemano, con FIBER siempre se propagan antes de la validación) En un rango reciente de 288 bloques, veo 11 bloques donde había 1 o más transacciones desconocidas con un tasa promedio de 0.059 transacciones desconocidas por bloque. Por otro lado, la red Bitcoin explota retrasos desiguales para obtener una propagación más rápida.