---
# System prepended metadata

title: 11 - Altura (Cadena de Bloques)

---

# 11 - <font color="#F7A004">Altura (cadena de bloques)</font>
> Posición de un bloque en la cadena de bloques

![image](https://hackmd.io/_uploads/S15vsnndlx.png)


> [!Note] 
> #### Altura Actual = 910.162
> Fecha: 2025-08-15
> Hora: 11:00 horas
> Esta es la altura del bloque en la punta de la cadena de bloques.

La altura de un bloque indica su posición en la cadena de bloques.
Se calcula en función de su distancia desde el bloque génesis.

## 1️⃣ Uso
> ¿Cómo se le da uso a la altura en Bitcoin?
_Hay dos ajustes importantes que tienen que tomarse en cuenta en Bitcoin en intervalos de altura específicos.

**1. Ajuste de objetivo**
> 2.016 bloques

![image](https://hackmd.io/_uploads/rJV8hh3uge.png)
> [!Note] 
> Próximo Ajuste = 911.232 ( a 1.070 bloques de distancia)
> Altura Actual: 910.162

El objetivo se ajusta después de cada 2,016 bloques (un estimado de  2 semanas).

Esto ayuda a mantener un intervalo de 10 minutos entre bloques a medida que los mineros se unen y abandonan la red con el tiempo.

Por ejemplo, el primer ajuste de objetivo tuvo lugar a una altura de bloque de 2.016, el 2do a una altura de 4.032 , el 3ro a una altura de 6.048 , y así sucesivamente.

## 2️⃣ Reducción a la mitad del subsidio en bloque

![image](https://hackmd.io/_uploads/Hkcx6n2_gg.png)
> [!Note] 
> Próxima Reducción a la mitad = 1.050.000( a 1.139.838 bloques de distancia)
> Altura Actual: 910.162

El subsidio por bloque se reduce a la mitad después de cada 210.000 bloques (~ cada 4 años).

Esta reducción a la mitad del subsidio por bloque es lo que crea el suministro fijo de bitcoin, ya que eventualmente el subsidio tiende a cero y no se emitirán nuevos bitcoins.

Por ejemplo, el subsidio por bloque inicó en 50 BTC. Cuando su altura fue de 210.000 bloques, se redujo a la mitad, a 25 BTC; cuando u altura fue de 420.000 , se redujo a la mitad, a 12,5 BTC, de esa forma suecede hasta que su subisidio tiende a cero.

## 3️⃣ Uso alterntaivo del Bloqueo
> Su altura se usa en ade otras formas en Bitcoin, principalmente para tener que ver con la elección de las transacciones para ser minadas:

**Tiempo de bloqueo**
![image](https://hackmd.io/_uploads/HyreC3h_xg.png)

El campo de tiempo de bloqueo se puede usar para evitar que se ejecute una transacción hasta después de una altura específica (para nostros es tiempo).

Por ejemplo, si establece un tiempo de bloqueo de 500.000 en una transacción, esa transacción solo se podrá extraer en un bloque con una altura de 500.001 o superior.

**Tiempo de bloqueo relativo**
![image](https://hackmd.io/_uploads/B1CNA3nule.png)
> El tiempo de bloqueo relativo se puede usar para evitar que se ejecute una transacción hasta que el resultado que use alcance una determinada profundidad en la cadena de bloques.

**1. ¿Qué es el tiempo de bloqueo relativo en Bitcoin?**
> Es una función que permite que una transacción sólo sea válida después de que haya pasado cierto tiempo o cierta cantidad de bloques desde que se confirmó la entrada que está usando

**2. ¿Cómo funciona?**
> Cuando una transacción usa una entrada (es decir, usa un UTXO), esa entrada viene de una transacción anterior que está en otro bloque.
Con el tiempo de bloqueo relativo, podés decir:

Esta entrada no se puede usar hasta que el bloque en el que se confirmó esté, por ejemplo, a 6 bloques de **profundidad**

**3. ¿Qué significa profundidad?**
> La profundidad es la diferencia entre: la altura actual de la blockchain menos la altura que fue incluido el UTXO (entrada)

Por ejemplo, si establece un tiempo de bloqueo relativo de 100 bloques en una entrada de transacción usando la salida de una transacción en el bloque 500.000 , esa transacción solo se puede minar en un bloque a una altura de 500.101 o superior.

**Transacción de Coinbase**
![image](https://hackmd.io/_uploads/Hk9YkT2Oxg.png)

A partir del bloque 227.836, todas las transacciones de Coinbase deben contener la altura del bloque en el que se van a minar.

Esto ocondicionaa que cada transacción de Coinbase tenga un TXID único, ya que antes de esto era posible que las transacciones de Coinbase en diferentes bloques tuvieran el mismo TXID .

## 4️⃣Referencia
> ¿La altura es un identificador único para un bloque?
No es condición que la altura sea un identificador único para un bloque.

Durante el proceso de minado, es posible que se minen dos bloques simultáneamente. Por lo tanto, puede haber dos bloques diferentes compitiendo por la misma altura en la blockchain:

![image](https://hackmd.io/_uploads/B1swlandle.png)
> Esta es una parte normal de cómo funciona Bitcoin.

En consecuencia, dependiendo de qué bloque se arme primero, existe la posibilidad de que cambie un bloque que ocupa una altura cercana a la parte superior de la cadena.

![image](https://hackmd.io/_uploads/BksKxphOxl.png)
> Esto se conoce como reordenamiento de la cadena 

Si bien la altura es una forma útil de hacer referencia a un bloque en la cadena de bloques, no siempre se puede confiar en ella para hacer referencia a un bloque específico, especialmente si ese bloque está cerca de la parte superior de la cadena de bloques.

> [!Tip] 
> _El hash de bloque es la forma más fiable de referenciar un bloque. Un hash de bloque siempre hace referencia a un bloque específico, mientras que la altura es más un descriptor que un identificador único._
> _La altura se vuelve más confiable cuanto más desciende un bloque en la cadena de bloques. Si un bloque obtiene más de 3 bloques de profundidad en la cadena de bloques, es muy improbable que se desplace debido a un reordenamiento de la cadena._


## 5️⃣Comandos

➡️ **bitcoin-cli getblockcount**
_Este comando devuelve la altura actual de la cadena de bloques._
:::info
$ bitcoin-cli getblockcount
910.162
:::
> [!Note] 
_La altura de la cadena de bloques es actualmente de 910.162. No obsstante, como el conteo inicia desde cero, técnicamente hay un total de 910.163 bloques en la cadena de bloques. Este dato no es muy útil, pero queremos mencionarlo de todos modos._


➡️ **bitcoin-cli getblockhash [height]**
_Este comando devuelve el hash del bloque para una altura específica en la cadena de bloques._
:::info
$ bitcoin-cli getblockhash 910162
0000000000000000000108ec16ac747a6db947f6a64d12f4e6bfd83c5be5c9ee
:::

> [!Caution]
_Como fue indicado, la altura no es una forma fiable de referenciar bloques cerca de la cima de la cadena de bloques. Por ejemplo, si se usara [ bitcoin-cli getblockhash 910162nombre del bloque] para obtener el hash del bloque que se encuentra actualmente en la cima de la cadena, el resultado podría cambiar si se produce un reordenamiento  de la cadena._

> [!Note] 
_Si su nodo contiene varios bloques a la misma altura, este comando devouelve el hash del bloque que forma parte de la cadena más alta actual. Si hay varios bloques en el extremo de su cadena, su nodo considerará el primer bloque que reciba como parte de la cadena más lalta actual (aunque, de nuevo, esto puede cambiar si se produce un reordenamiento de la cadena)._


➡️ **bitcoin-cli getblockheader [hash]**
_Este comando proporciona información básica sobre un bloque, incluida su altura._

:::info
$ bitcoin-cli getblockheader 0000000000000000000108ec16ac747a6db947f6a64d12f4e6bfd83c5be5c9ee
{
    "hash": "0000000000000000000108ec16ac747a6db947f6a64d12f4e6bfd83c5be5c9ee",
    "confirmations": 1,
    "height": 910162,
    "version": 537395200,
    "versionHex": "20080000",
    "merkleroot": "ea8b34cf2ca195af6d2cdf4675056ac1162fc3d6fe219c0957c396a3363c1c87",
    "time": 1755264578,
    "mediantime": 1755258956,
    "nonce": 2495982441,
    "bits": "17022cb3",
    "difficulty": 129435235580344.8,
    "chainwork": "0000000000000000000000000000000000000000da603bc9284d4680e1d89a2d",
    "nTx": 3949,
    "previousblockhash": "00000000000000000000d153bbd3e077db9281803e628c42eba67ad6fa6253a3"
:::

