Altura (Height)

La posición de un bloque en la blockchain

Diagrama que muestra la altura de un bloque en la blockchain como su distancia del bloque génesis.

La altura de un bloque indica su posición en la blockchain.

Se calcula en función de la distancia del bloque con respecto al bloque génesis.

El conteo comienza desde cero. Así que el primer bloque de la blockchain (el bloque génesis) es el bloque 0.

Uso

¿Cómo se usa la altura en Bitcoin?

Hay dos grandes ajustes que ocurren en Bitcoin en intervalos de altura específicos.

1. Ajuste de Dificultad

2.016 bloques

Diagrama que muestra el ajuste de dificultad ocurriendo cada 2016º bloque.

El objetivo se ajusta cada 2.016 bloques (aproximadamente cada 2 semanas).

Esto ayuda a mantener un intervalo de 10 minutos entre bloques conforme los mineros entran y salen de la red con el tiempo.

Por ejemplo, el primer ajuste de dificultad ocurrió en la altura de bloque 2.016, el segundo en la altura 4.032, el tercero en la 6.048, y así sucesivamente.

2. Halving del Subsidio del Bloque

210.000 bloques

Diagrama que muestra el halving del subsidio del bloque cada 210.000º bloque.

El subsidio del bloque se reduce a la mitad cada 210.000 bloques (aproximadamente cada 4 años).

Este halving del subsidio es lo que crea la oferta fija de bitcoin, porque eventualmente el subsidio llegará a cero y no se emitirá más bitcoin nuevo.

Por ejemplo, el subsidio comenzó en 50 BTC. En la altura 210.000 cayó a 25 BTC, en la altura 420.000 cayó a 12,5 BTC, y así sucesivamente. En la altura 6.930.000 (después de 33 halvings en total), el subsidio llegará a cero.

Otros usos

La altura también se usa en algunos otros lugares, sobre todo relacionados con la elegibilidad de transacciones para ser minadas:

Locktime

El campo locktime puede usarse para impedir que una transacción sea minada hasta después de una altura específica. Por ejemplo, con un locktime de 500.000, la transacción solo puede minarse en un bloque de altura 500.001 o superior.

Locktime Relativo

El locktime relativo puede usarse para impedir que una transacción sea minada hasta que la salida que gasta haya alcanzado cierta profundidad en la blockchain.

Transacción Coinbase

A partir del bloque 227.836, todas las transacciones coinbase deben contener la altura del bloque en el que serán minadas. Esto obliga a cada transacción coinbase a tener un TXID único, porque antes de eso era posible que transacciones coinbase de bloques distintos tuvieran el mismo TXID.

Cómo referenciar bloques

¿La altura es un identificador único de un bloque?

La altura no es necesariamente un identificador único de un bloque.

Durante la minería, es posible que dos bloques se minen al mismo tiempo. Por eso, puede haber dos bloques distintos compitiendo por la misma altura en la blockchain. Dependiendo de cuál bloque se construya encima primero, existe la posibilidad de que el bloque que ocupa una altura cerca de la cima cambie; eso se conoce como reorganización de la cadena.

  • El hash del bloque es la forma más confiable de referenciar un bloque. Un hash siempre referencia un bloque específico, mientras que la altura es más bien un descriptivo que un identificador único.
  • La altura se vuelve más confiable cuanto más profundo está el bloque en la blockchain. Si un bloque alcanza 3+ bloques de profundidad, es muy improbable que sea reemplazado por una reorganización.

Comandos

bitcoin-cli getblockcount

Este comando devuelve la altura actual de la blockchain.

$ bitcoin-cli getblockcount
952334

bitcoin-cli getblockhash [altura]

Este comando devuelve el hash del bloque para una altura específica en la blockchain.

$ bitcoin-cli getblockhash 952334
0000000000000000000195fe7c7ccbb3c663cbf5965966b974b14c6018b05d09

bitcoin-cli getblockheader [hash]

Este comando proporciona información básica sobre un bloque, incluida su altura.

Resumen

La altura se usa para referenciar un bloque que ocupa una posición específica en la blockchain.

Sin embargo, es mejor usar el hash del bloque para referenciar un bloque de forma confiable, ya que los bloques cerca de la cima pueden cambiar debido a reorganizaciones de la cadena. Una vez que un bloque llega a 3 o más bloques de profundidad, la altura se vuelve lo suficientemente buena como identificador único. Aun así, es más seguro usar el hash del bloque cuando sea posible.