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