Mientras exploraba los gráficos de Blockchain.info , aprendí que:
Después de leer algunos artículos relacionados, ¿es correcto decir que
Un bloque debe cumplir las siguientes condiciones para que sea válido:
Hay algunas restricciones misceláneas, pero estas son las principales. Lo que llamó "resuelto por minería" es lo que se llama satisfacer la prueba de trabajo. Lo que llamó tener al menos una transacción es la restricción de que la transacción de coinbase debe estar presente. Le animo a leer las especificaciones para obtener más información.
Si extrae un bloque, el bloque contendrá su "transacción". Pero puede (y lo hará hoy en día) contener más de 1 transacción. Las transacciones en un bloque no necesitan estar vinculadas entre sí. Se pueden vincular si en un bloque hay transacciones de (1) A->B y (2) B->C. Entonces esas dos transacciones están vinculadas, porque la transacción (2) tiene una referencia a la transacción (1).
Un bloque se define (resuelve) mediante la minería. Si tengo una computadora súper poderosa, puedo minar tan rápido que un bloque solo contendrá una transacción. (Estoy tratando de entender si existe un vínculo entre el número de transacciones y la velocidad de extracción).
Los bloques son de hecho el producto de la minería. Los nuevos bloques se generan en un proceso aleatorio que, a veces, tiene éxito muy rápidamente o, a veces, lleva mucho tiempo producir un bloque. Cuando los mineros reciben un nuevo bloque, les lleva un tiempo validarlo y averiguar qué transacciones se incluyeron. Si encuentran un bloque muy rápido, es decir, antes de que se valide el último bloque, y hubieran incluido transacciones en su bloque, podrían haber incluido accidentalmente una transacción que ya estaba confirmada en el último bloque. ¡Esto haría que su nuevo bloque no fuera válido! Por lo tanto, muchos mineros van a lo seguro y solo incluyen la transacción de base de monedas requerida en bloques cuando recién comienzan a intentar construir en un bloque recién descubierto.
Una vez que los mineros han validado por completo el bloque anterior, saben qué transacciones quedan sin confirmar y pueden llenar su bloque sin el peligro de producir un bloque inválido.
Las transacciones en un mismo bloque no están vinculadas entre sí. Entonces, los mineros resuelven una transacción, pero un bloque.
En general, cada transacción es independiente, por lo que el orden de las transacciones es irrelevante para la mayoría de las transacciones. Hay dos excepciones: 1. La transacción de coinbase debe estar en primera posición. 2. Si hay transacciones que se basan en otras transacciones en el mismo bloque, deben incluirse en el orden correcto en el bloque. Es decir, si la transacción B
gasta una salida de transacción A
, A
debe estar antes B
en la lista de transacciones. El minero verifica todas las transacciones antes de que se incluyan en el bloque, porque una transacción no válida haría que el bloque no fuera válido y el minero no obtiene una recompensa de bloque por un bloque no válido. :)