Primero, para abordar algunos conceptos erróneos:
El nonce es parte del bloque, junto con todas sus transacciones (incluida la dirección de pago del minero), marca de tiempo, hash del bloque anterior,… Cambiar cualquiera de estos cambiará completamente el hash del bloque.
La dificultad es no el número de 0 bits requeridos en el hash. Más bien, el hash del bloque completo se interpreta como un número de 256 bits y, en comparación con algo llamado “objetivo”, también es un número. Si el hash es inferior al objetivo, la prueba de trabajo es válida. El ajuste de dificultad realmente debería llamarse ajuste de objetivo: cada 2016 bloques, el objetivo aumenta o disminuye para mantener la tasa promedio de bloques en 1 cada 10 minutos. La dificultad es la relación entre el objetivo más alto posible (=el más fácil) dividido por el objetivo actual.
La cadena aceptada no es necesariamente la más larga; más bien es la cadena con más trabajo acumulado. El trabajo aquí se outline (aproximadamente) como la suma de las dificultades de los bloques en toda la cadena. Esto significa que la tasa de producción de bloques es irrelevante para decidir quién crea la cadena ganadora, ya que los bloques más rápidos también tienen menor dificultad.
Entonces, en cuanto a su verdadera pregunta: ¿cuáles son los efectos nocivos de un tiempo entre bloques más corto?
El propósito del tiempo entre bloques es darle tiempo a la crimson para propagar el bloque recién encontrado, de modo que todos los nodos y mineros estén en la misma página.
Think about que un bloque tarda 1 segundo en propagarse a través de la crimson y que los mineros comiencen a construir sobre él (por lo que este número incluye la latencia de la crimson, pero también el tiempo de validación, el tiempo que lleva construir un nuevo conjunto de transacciones candidatas para incluir en el siguiente bloque y distribuir esta información a los hashers).
El minero A encuentra un bloque y comienza a propagarlo, por lo que los mineros B, C y D aprenden sobre este bloque 1 segundo después. Durante ese segundo, B, C y D efectivamente están perdiendo el tiempo, ya que todavía intentan construir sobre el bloque anterior. Sin embargo, A no pierde el tiempo: puede pasar a trabajar inmediatamente encima del nuevo bloque. Esto crea una pequeña ventaja para A, proporcional a la probabilidad de que se encuentre otro bloque dentro de este tiempo de propagación de 1 segundo.
Con un tiempo entre bloques de un promedio de 10 minutos, esta ventaja es pequeña (aproximadamente 0,17% de probabilidad de encontrar un bloque en 1 segundo), pero crece de manera muy significativa a medida que el tiempo entre bloques y el tiempo de propagación se acercan entre sí:
- 600 frente a 1: 0,17%
- 60 contra 1: 1,7%
- 10 contra 1: 9,5%
- 1 contra 1: 63 %
Esto tiene una serie de efectos:
- Incluso sin malicia, tiempos de bloqueo más cortos benefician proporcionalmente más a los mineros más grandes. Esto va en contra de la intención de una minería justa, donde cualquiera puede ingresar al espacio minero y obtener beneficios proporcionales a sus inversiones.
- Puede ser explotado intencionadamente más fácilmente mediante los llamados ataques de “minería egoísta”, que siempre son posibles, pero los tiempos de propagación lo empeoran.
- Un posible atacante del 51% (uno que ignora los bloques producidos por mineros honestos y solo construye sobre los suyos propios) ignora este costo de propagación. Por lo tanto, la probabilidad de que se encuentre un bloque mientras el bloque anterior aún se está propagando se traduce directamente en un beneficio que tienen el 51% de los atacantes.