A√ļn no tienes acceso a esta clase

Crea una cuenta y contin√ļa viendo este curso

Curso de Bitcoin para Developers

Curso de Bitcoin para Developers

Juan Sebasti√°n Marulanda

Juan Sebasti√°n Marulanda

Minando un bloque

7/16
Recursos

Aportes 11

Preguntas 2

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi√≥n.

Minando un bloque.

La minería es el mecanismo fundamental que habilita un consenso descentralizado a través de cuatro pilares fundamentales.

.

  • Validaci√≥n independiente de transacciones.
  • Agregaci√≥n independiente de transacciones en nuevos bloques.
  • Verificaci√≥n de nuevos bloques.
  • Selecci√≥n independiente de la cadena con m√°s computaci√≥n acumulada.

.
Políticas.

  • Conjunto de reglas de validaci√≥n que se aplican adicional al consenso sobre transacciones no confirmadas.
  • No afecta las transacciones en bloques.
  • Uso de recursos, heur√≠sticas, reglas.

.
Coinbase Transcation.

  • Transacci√≥n especial que contiene la recompensa por el proceso de minado.
  • Solo tiene una salida.

.
Recompensas y Fees.

  • Existen dos tipos de recompensas:
    • A√Īadir un nuevo bloque a la cadena principal.
    • Sumando las tarifas (fees) de las transacciones a√Īadidas en el bloque.
      • Tarifas totales = Suma (salidas) + Suma (entradas).

.
Estructura Coinbase Transaction Input.

Campo Descripci√≥n Tama√Īo (bytes)
Transaction Hash Todos sus bits son cero, no tiene referencia a un hash de transacción. 32
Output index Todos los bit son unos: 0xFFFFFFFF 4
Coinbase Data Size Longitud de la información, de 2 a 100 bytes. 1-9 bytes
Coinbase Data Información usada para un nonce extra y etiquetas de minería. Variable
Sequence number 0xFFFF 4

.
Estructura Transaction Input.

Campo Descripci√≥n Tama√Īo (bytes)
Transaction Hash Referente a la transacción que contiene la UTXO a usarse. 32
Output index El índice de la UTXO. 4
Unlocking-Script Size Longitud del script, de 2 a 100 bytes. 1-9 bytes
Unlocking-Script Script que satisface con las condiciones del script que bloquea la UTXO. Variable
Sequence number 0xFFFF 4

.
Construyendo el encabezado.

  • Version.
  • Previous block hash.
  • Merkle Tree.
  • Timestamp.
  • Target.
  • Nonce.

.
Minando un bloque.

  • Pasar la cabecera de un bloque a trav√©s de una funci√≥n de hashing hasta encontrar un valor v√°lido.
  • Proof-of-Work:
    • SHA 256.
    • Producir una salida que sea igual o menor que el objetivo.
    • Objetivo alto, menor dificultad.
    • Objetivo bajo, mayor dificultad.
    • ¬ŅCu√°ntos de los bits iniciales deben ser cero?

En esta página podemos ver como la dificultad de la red de BTC aumenta en función del hasrate de la misma red

https://studio.glassnode.com/metrics?a=BTC&category=Miners&m=mining.DifficultyLatest

En realidad las tarifas totales son la diferencia entre la suma de salidas y la suma de las entradas. El exceso es lo que es recolectado por los mineros:

fees = Sum(Inputs) - Sum(outputs)

Minuto 1:20 ‚ÄúSOLO TIENE UNA SALIDA‚ÄĚ, pero el dice solo tiene una entrada

Lean Mastering Bitcoin, porque de verdad que este profesor está de… u.u

Correccion solo tiene una salida

Minando un Bloque

Aqui el script de prueba de trabajo, no estaba el link en recursos

https://github.com/bitcoinbook/bitcoinbook/blob/develop/code/proof-of-work-example.py