- Las nuevas transacciones se transmiten a todos los nodos.
Cuando una transacción está lista para su transmisión a la red, la billetera o la aplicación que la creó generalmente transmitirá esa transacción a un conjunto de pares de la red que reconoce. Este reconocimiento puede estar preconfigurado en el sistema o creado a través de un proceso de descubrimiento, pero lo más importante es que la transacción debe llegar en algún momento a al menos un nodo de la red.
Si el nodo encuentra que la transacción es válida y cumple con las reglas de la red, la transmite inmediatamente a todos los demás nodos que conoce en la red. Cada uno de estos nodos también valida la transacción y la transmite a los nodos que conocen. Gracias a la densa conectividad en el centro de la red Bitcoin, la propagación desde el primer nodo al que llega la transacción a todos los demás nodos es muy rápida y requiere menos de 1 segundo para el conocimiento global.
Este proceso es crítico para que un nodo sea un competidor válido en el proceso de construcción de bloques. Un nodo que no transmite las transacciones al resto de la red corre el riesgo de gastar la prueba de trabajo en un bloque que podría ser rechazado debido a la sobrecarga necesaria para que todos los demás nodos descarguen la información retenida. Asegurarse de que todos los nodos tengan toda la información necesaria para validar un bloque es la mejor manera de garantizar el éxito.
- Cada nodo recopila nuevas transacciones en un bloque.
A medida que el nodo recibe nuevas transacciones, agrega continuamente las que cumplen con sus requisitos a su plantilla de bloque. A medida que aumenta el tiempo transcurrido desde que se descubrió el último bloque, también lo hace el bloque. Existe un requisito inherente para que los nodos sean lo suficientemente capaces de recopilar todas las transacciones que ocurren en el mundo en tiempo real en su bloque para poder competir.
El incentivo para hacerlo está presente en la recompensa de Coinbase, que es una combinación del subsidio por bloque y las tarifas de transacción que pagan los usuarios por el servicio de sellado de tiempo. Si bien el subsidio es alto, los nodos pueden actuar de manera rentable sin necesidad de administrar millones de transacciones. Sin embargo, cuando el subsidio se reduce a un nivel que lo hace no rentable, será crucial que los nodos administren una carga de trabajo mucho mayor, ya que cada transacción con cargo agregada a su bloque candidato aumenta los ingresos disponibles en la recompensa del bloque.
- Cada nodo trabaja para encontrar una prueba de trabajo difícil para su bloque.
A medida que crece la plantilla de bloques, el nodo actualiza constantemente los hashers con nuevas versiones de la plantilla que incluyen la mayor cantidad de transacciones posibles para maximizar los ingresos. Los hashers siempre trabajan con la versión más actualizada de la plantilla de bloque para garantizar que su trabajo sea lo más rentable posible al incluir la mayor cantidad de transacciones. El nodo y los hashers son un equipo en este sentido, trabajando juntos para resolver bloques de la manera más efectiva y eficiente posible.
- Cuando un nodo encuentra una prueba de trabajo, transmite el bloque a todos los nodos.
Tan pronto como un hasher devuelve una prueba de trabajo válida a un nodo, debe transmitir el bloque completamente formado a todos los nodos de la red lo más rápido posible. Si el nodo se retrasa en la transmisión, es posible que un nodo diferente encuentre un bloque competidor que gane la carrera para ser reconocido como el primer bloque visto. Este requisito, y el riesgo de ser superados por otros nodos en el proceso de anuncio de bloques, es un importante impulsor de los incentivos que llevan a las empresas que operan nodos a construir una infraestructura personalizada de alto ancho de banda para administrar su interconectividad y expandir la capacidad de la red en su conjunto. .
- Los nodos aceptan el bloque solo si todas las transacciones en él son válidas y aún no se han gastado.
Cuando un nodo recibe un anuncio de bloque de otro nodo, debe validar su contenido. Esto implica revisar y verificar que cada transacción gaste monedas válidas que aún no se hayan gastado y que tengan scripts válidos. Si el nodo ya recibió las transacciones en el bloque, puede omitir partes del proceso de validación; sin embargo, si hay transacciones que no ha visto en el bloque, debe solicitar esas transacciones al nodo ganador del bloque y validarlas.
Mientras tanto, si se descubre otro bloque que el nodo puede validar antes debido a que no tiene que solicitar y descargar información adicional, elegirá construir sobre el bloque que valida primero. Esto crea un incentivo muy fuerte para que los nodos no retengan transacciones del resto de la red.
- Los nodos expresan su aceptación del bloque trabajando en la creación del siguiente bloque en la cadena, utilizando el hash del bloque aceptado como el hash anterior.
Al construir sobre un bloque recibido, los nodos señalan que el bloque fue el primer bloque válido visto y contiene un conjunto de transacciones que son todas válidas y gastan monedas no gastadas. Este es el proceso mediante el cual se extiende la cadena válida más larga de prueba de trabajo y representa el convenio colectivo de la mayoría de los hashpower en la red.
Por @ChicoCifrado en el canal de Telegram de Bitcoin BSV en español