Estoy leyendo sobre la tecnología bitcoin/blockchain. Por lo general, la parte sobre la prueba de trabajo y cómo crear un bloque está bien explicada. Sin embargo, lo que nunca se explica es cómo/por qué la comunicación de bloques a través de la red permite la convergencia de una 'cadena de bloques'.
Déjame explicarte: ¿qué pasa si dos mineros crean un nuevo bloque al mismo tiempo y lo transmiten al mismo tiempo? Aproximadamente el 50% de los nodos tendrían cada uno un bloque nuevo (diferente) y se basarían en él. Ahora, imagine que esto sucede de nuevo, etc. Entonces, no hay una sola cadena de bloques en la que se trabaje, ya que ahora todos los mineros trabajan en varias bifurcaciones. La propuesta de bitcoin aborda esto diciendo que se debe usar la cadena más larga pero:
¿Estos problemas son abordados por el protocolo bitcoin? Básicamente, parece que no hay pruebas de que agregar bloques de forma distribuida en la red converja limpiamente en una sola cadena.
Los nodos de Bitcoin consideran que la cadena con la mayor cantidad de pruebas de trabajo acumuladas es la mejor cadena. Cada vez que una punta de la cadena avanza agregando otro bloque, todos los nodos se reorganizarán en esa punta de la cadena tan pronto como se enteren.
Otra razón para que la red converja rápidamente en una mejor cadena se deriva de cómo se les paga a los mineros de Bitcoin. Cuando los mineros construyen sus plantillas de bloques, cada una incluye una transacción de base de monedas únicaque paga la recompensa del bloque a sí mismos. Esto significa que encontrar un bloque válido da como resultado que el autor del bloque se pague a sí mismo la recompensa del bloque a través de la transacción de base de monedas que incluyeron. Sin embargo, las salidas de las transacciones de base de monedas están sujetas a un período de maduración de 100 confirmaciones. Esto significa que solo se pueden gastar bloques que generen al menos 99 sucesores. Básicamente, esto significa que una recompensa por bloque solo se paga cuando un bloque se convierte en parte de la mejor cadena. Como las operaciones mineras incurren en grandes gastos de hardware y energía independientemente del éxito, los mineros pierden dinero cuando trabajan en bloques que no terminan en la mejor cadena. Por lo tanto, incluso cuando ocasionalmente dos mineros encuentran bloques al mismo tiempo y producen dos puntas de cadena competidoras, incluso el "perdedor"
Si bien los esfuerzos mineros individuales no están coordinados de manera centralizada, es poco común que dos bloques en competencia se encuentren a la misma altura: solo ocurre una vez al mes. La minería de Bitcoin es un proceso de Poisson que tiene como objetivo producir aproximadamente un bloque cada diez minutos. La cadencia está regulada por los ajustes de dificultad que ocurren cada 2016 bloques, que restablecen el objetivo de dificultad de modo que se espera que los próximos bloques de 2016 tomen 14 días bajo el supuesto de que la red continúa produciendo la misma cantidad de hashrate que se observó en la época anterior. .
Ahora imagina que esto sucede de nuevo, etc.
Para que las dos cadenas permanezcan uniformes, los nuevos bloques tendrían que encontrarse repetidamente exactamente al mismo tiempo. Cada vez es menos probable que esto suceda repetidamente.
La probabilidad depende del intervalo del bloque, que está regulado en 10 minutos, y de la rapidez con la que se propagan los anuncios de nuevos bloques en la red.
Actualmente, la red bitcoin ve bloques obsoletos aproximadamente una vez en 10 000 bloques. Dos mineros que obtienen un bloque al mismo tiempo es un evento aleatorio e independiente, por lo que podemos calcular que tener dos puntas de cadena con 2 bloques únicos cada uno sería una probabilidad de 1 en 100 millones. Con un intervalo de bloque de 10 minutos, esto ocurriría en promedio una vez cada 2 000 años.
Antes de Bitcoin Core 0.10.0 de 2015, la propagación de la red era más lenta y la tasa de bloques obsoletos estaba más cerca de 1 en 100. Pero incluso entonces, obtener una cadena obsoleta de 3 bloques solo ocurriría una vez cada 20 años. Lo mejor para los mineros es acelerar la propagación de bloques y, como tales, los bloques obsoletos son una ocurrencia mucho menos común.
daniel wagner
Tim
daniel wagner