Fragmento del Libro Porque Bitcoin

LAS TRANSACCIONES PASO A PASO

La primera distinción que debemos hacer para evitar confusiones es aclarar la diferencia entre moneda y sistema de pago. Con el término «moneda» nos referimos al objeto de intercambio, al token, a la ficha que tiene un determinado valor, al billete o moneda, al objeto físico o digital que intercambiamos y al cual le asociamos un valor nominal. Por ejemplo, son monedas el euro, el dólar o la libra; pero también las fichas telefónicas, las cuentas de colores, los cigarrillos intercambiados en las cárceles, los metales preciosos, los billetes de papel, etc.

Por otro lado, los sistemas de pago son las infraestructuras, también físicas o digitales, que permiten transferir esta moneda. Por ejemplo, son sistemas de pago las redes Visa o MasterCard, las infraestructuras de pago de PayPal, las transferencias bancarias, los cheques de caja, los cajeros automáticos, las letras de cambio, etc.
Una vez hecha esta sencilla distinción, preguntémonos: ¿qué es Bitcoin? Bitcoin es ambas cosas: es una moneda y al mismo tiempo un sistema de pago.

Como fue precisado por Satoshi Nakamoto, se distingue el Bitcoin con «B» mayúscula del bitcoin con «b» minúscula. Esta diferencia, que no se puede distinguir en el habla, a veces genera algunos malentendidos.

Aclaremos:

– Con el término Bitcoin nos referimos a la red y la infraestructura que permite la transferencia de fondos: el algoritmo de proof-of-work, la blockchain, el mining, etc.

– Con el término bitcoin nos referimos a la unidad de valor que intercambiamos cuando realizamos transacciones y a veces es abreviado como btc.

La moneda bitcoin tiene la ventaja de tener una gran divisibilidad. Si, por ejemplo, la moneda euro (€) es divisible en un máximo de cien unidades, denominadas 1 centésimo de euro, la moneda bitcoin, en cambio, es divisible en cien millonésimas (100.000.000) de unidades. Esta unidad más pequeña se llama satoshi, en honor a su anónimo fundador.
Un satoshi, unidad de medida a menudo abreviada como sat, equivale a 0,00000001 bitcoin. Por lo tanto, cada bitcoin en la cadena de bloques es divisible hasta el octavo decimal. Los bitcoines (o satoshi) obviamente existen en formato digital. No se encuentran en la naturaleza, no son tangibles y no existen físicamente. Sólo existen como un número dentro de la blockchain, el registro contable que contiene la historia de todos los movimientos de fondos.

En particular, cada satoshi existe solamente asociado a una dirección pública de Bitcoin, la cual no es más que una cadena alfanumérica del tipo:
bc1q83l4ls22glqj8rzmzqkzjzpp6z9g6cylavyqga

Una dirección de bitcoin puede ser representada de manera equivalente como una cadena de texto o como un código QR (Quick Response). Podríamos comparar la dirección pública con un tradicional IBAN bancario, que puede ser divulgado de manera segura para recibir pagos. Sin embargo, la diferencia es que una dirección de bitcoin está pensada para ser utilizada una sola vez, por una cuestión de privacidad y seguridad, nunca debe ser reutilizada.
La generación de una dirección pública de Bitcoin se realiza mediante funciones criptográficas precisas a partir de la criptografía asimétrica, también conocida como criptografía de clave pública.

Para no complicar demasiado el asunto, que retomaremos más adelante, consideremos en una primera aproximación este modelo: los satoshi (o bitcoin) sólo existen asociados a una dirección pública. Cuando hablamos de una transacción, por ahora entendamos que una cierta cantidad de bitcoin se «transfiere» de una dirección A hacia otra dirección B. Por lo tanto, al final de la transacción, los fondos en bitcoin que estaban asociados a una dirección A ahora estarán asociados a una dirección B.
Intentemos ver cómo se realizan las transacciones dentro de la red, al menos a nivel elemental y con todas las simplificaciones del caso. Recordemos que Bitcoin se basa en una infraestructura del tipo peer-to-peer, donde todos los participantes están en el mismo nivel y no sólo eso, recordemos que ninguno de estos nodos ha proporcionado ningún dato personal. Nadie se conoce dentro de la red, por lo tanto, nadie está obligado a confiar en nadie más.
Ilustremos los pasos individuales que se suceden cuando se realiza una transacción, para luego abordarlos individualmente. Supongamos que Alice es el remitente de esta transacción y que Bob es el destinatario.

Podemos identificar los siguientes pasos en secuencia:

1- Alice firma la transacción
2- La transacción se propaga en la red
3- Cada nodo verifica la sintaxis de la transacción
4- La transacción verificada se inserta en la mempool
5- Los mineros insertan la transacción en un bloque candidato
6- El minero que encuentra la solución confirma y publica el bloque
7- Todos concuerdan en la transferencia realizada
8- La transacción ahora queda grabada en la blockchain

1- Alice firma la transacción

Supongamos que en una dirección bitcoin de Alice están asociados 100.000 satoshi y que ella desea transferir 30.000 satoshi a una dirección controlada por Bob. En primer lugar, Bob deberá comunicarle a Alice su propia dirección bitcoin, la cual ella utilizará para componer el mensaje de transacción que más tarde deberá firmar.
Luego, mediante su clave privada, que sólo ella conoce, Alice firma un mensaje en el que anuncia su intención de transferir 30.000 satoshi a la dirección que Bob le ha comunicado. La firma digital (digital signature) es una tecnología que le permite a cualquier persona verificar de manera independiente que Alice, y sólo Alice, haya autorizado esta transacción y que el mensaje no sea alterado posteriormente (integridad).

2- La transacción se propaga en la red

Después de firmar el mensaje, Alice lo envía a todos los nodos de la red. La transmisión de información ocurre en tiempos casi instantáneos. La ubicación del remitente y el destinatario es prácticamente irrelevante.
En pocos segundos, todos los nodos alcanzados pueden constatar la existencia de un cierto mensaje que contiene la solicitud de mover 30.000 satoshi desde una dirección concreta (que sabemos pertenece a Alice) hacia otra dirección (que sabemos pertenece a Bob).
No hay identidades: cualquiera puede, sin limitaciones ni restricciones, realizar una transacción hacia cualquier persona, incluso a otra dirección controlada por sí mismo. Todo lo que los nodos de la red ven es simplemente una solicitud para transferir una determinada cantidad de satoshi de una dirección bitcoin a otra dirección bitcoin.

3- Cada nodo verifica la sintaxis de la transacción

Aquí ocurre un paso muy importante, justo en virtud del hecho de que nadie está obligado a confiar en nadie –y no hay una entidad que perfile a los usuarios o que gestione el servicio– todos deben poder verificar que la solicitud avanzada por Alice es legítima y honesta. ¿Qué significa «legítima y honesta»?, que debe estar escrita correctamente, respetando todas las reglas compartidas del protocolo.
Lo que ocurre ahora es que cada nodo individual realiza una verificación independiente de la sintaxis de la transacción escrita por Alice. Si se respetan las reglas del protocolo, la verificación concluye positivamente, pero, por otra parte, si el mensaje de la transacción violara incluso un pequeño parámetro, sería rechazada instantáneamente por todos los demás nodos y no se propagaría, negando la posibilidad de escribir esta nueva transacción en la blockchain.

Esta verificación de la sintaxis consta de una veintena de criterios a tener en cuenta, entre los cuales, y a modo de ejemplo, podemos ver:

– Verificar que el tamaño de la transacción sea efectivamente inferior al tamaño máximo establecido para un bloque

– Verificar que los satoshi que Alice está intentando gastar estén efectivamente disponibles para Alice. Esto se hace escaneando el historial de transacciones pasadas para asegurarse de que realmente existió una transacción previa en la que se transfirieron al menos 30.000 (o más) satoshis a la dirección de Alice

– Verificar que no haya un intento de «doble gasto»: en la blockchain no debe haber dos transacciones que intenten gastar la misma salida

– Verificar que la firma digital sea auténtica

– Verificar que el número de satoshis salientes de la transacción sea igual o inferior a los de entrada y otros controles.

Todas estas verificaciones –es importante repetirlo– son realizadas por cada nodo individualmente y de manera independiente.

Este hecho merece una breve reflexión«Don’t trust. Verify». (No confíes, verifica).

La máxima recurrente en la comunidad de Bitcoin
4- La transacción verificada se inserta en la mempool

Volviendo a nuestra transacción, después de que la solicitud presentada por Alice haya sido verificada por todos los nodos de la red –lo que requiere sólo unos pocos segundos– la transacción es «verificada» correctamente. Ahora se incluye en una lista provisional de cada uno de los nodos alcanzados.
Una especie de «limbo», llamado memory pool, transaction pool o simplemente mempool, donde se colocan todas las transacciones verificadas (como la de Alice) que esperan ser «confirmadas».
Ahora alguien tiene que realizar un paso muy importante: insertar la transacción de Alice en una página (es decir, un bloque) del registro público, y aquí es donde entran en juego los famosos mineros.

5- Los mineros insertan la transacción en un bloque candidato

Para confirmar la transacción de Alice, intervienen algunos actores «especiales» que llamamos mineros (miners) que desempeñan un papel crucial dentro de la infraestructura. Para comprender qué actividades realizan en particular, es necesario entender en este punto, al menos en términos generales, la lógica del funcionamiento de la blockchain.
Como ya se ha mencionado, el protocolo establece que las transacciones no se confirmen individualmente una por una, como ocurre, por ejemplo, en los sistemas de pago tradicionales como Visa o MasterCard. El protocolo de Bitcoin establece que las transacciones se agreguen en bloques (nuestras famosas páginas del registro contable) y que se confirmen todas juntas.
La transacción solicitada por Alice deberá ser insertada, junto con muchas otras, en un bloque preciso y sólo se considerará «confirmada» cuando todo su contenido se considere válido como la siguiente página del registro contable.
En este punto, para confirmar un bloque de transacciones, los mineros deben realizar algún trabajo para resolver ese enigma matemático que habíamos introducido anteriormente.
En nuestra analogía, para simplificar, habíamos hablado de resolver un juego como el sudoku, pero ahora debemos intentar ser un poco más precisos. En el ecosistema de Bitcoin la prueba de trabajo se basa en el uso de la función hash según la primitiva criptográfica SHA-256 (Algoritmo de Hash Seguro de 256 bits).

LA FUNCIÓN HASH

El algoritmo de la función hash consiste en tomar unos datos de entrada (input) de longitud arbitraria y producir como salida (output) un resultado determinístico (llamado hash o digest) de longitud fija (256 bits), una especie de «huella digital» de ese texto de entrada específico.
Para cada entrada específica, su hash resultante, es decir, la salida después de aplicar la función a ese texto, siempre devolverá el mismo valor. Cualquiera puede verificarlo de forma independiente.

Sin embargo, tan pronto como se produce cualquier modificación del texto original, el nuevo hash resultante siempre será de la misma longitud, pero completamente diferente en los caracteres alfanuméricos que lo componen. No importa la magnitud de la modificación, para obtener un resultado totalmente diferente, basta con una sola letra modificada, un espacio de más, la adición de un carácter u otras variaciones.

¿En qué consiste el famoso enigma matemático que se debe resolver para encontrar la solución a la prueba de trabajo? Podríamos definirlo así: se debe encontrar el número progresivo que, añadido al final de la cadena de texto de entrada y dado como entrada a la función hash, produzca un hash resultante que comience con un cierto número de ceros consecutivos
Por ejemplo, que comience con cuatro ceros consecutivos, eso es todo.
Para encontrar la solución, el minero se ve obligado a proceder por intentos: agregará un número de prueba al final del texto (llamado nonce) y lo dará como entrada a la función hash. Si el resultado comienza con 4 ceros consecutivos, habrá encontrado una solución válida. De lo contrario, el minero deberá intentarlo de nuevo, agregando otros números de prueba al final del texto y repitiendo todo el proceso hasta encontrar un hash resultante que alcance el objetivo: comenzar con cuatro ceros consecutivos.

Como se ha visto anteriormente, este sistema de prueba de trabajo establecido así y llamado proof-of-work (POW), se basa en algunas características precisas:

Para encontrar la solución, el único camino viable es proceder por intentos, no existe otra modalidad posible ni ningún «atajo».

Por un lado, el sistema requiere muchos intentos antes de poder encontrar una solución, pero, por el otro, la solución es casi inmediata para que cualquiera pueda comprobarla.

En este contexto, la publicación de tal solución es, por lo tanto, una demostración matemática de que se ha realizado un trabajo previo.

Sin embargo, la función hash no se refiere sólo a una simple cadena de texto como en nuestro ejemplo referido a la cadena «PuebloBitcoin». En realidad, se aplica a todo el texto contenido en un bloque de transacciones. Veamos cómo.

LOS MINEROS Y LA BLOCKCHAIN

La idea de partida es compartir el mismo registro de transacciones entre todos los nodos de la red. Retomando la analogía de la blockchain como si fuera un libro de contabilidad de papel, donde en cada línea anotamos a mano todas las transacciones individuales que se procesan en la red, un bloque de esta blockchain es como una única página en blanco de este libro, donde registramos todos los intercambios.
Cuando llegamos al final y no hay más espacio para escribir, nos vemos obligados a pasar la página y continuar las anotaciones en la siguiente, comenzando desde arriba y bajando hasta el fondo de la página para optimizar el espacio disponible.
Cada vez que llegamos al final de la página y no hay más transacciones que escribir, se podría decir que la página (o el bloque) «se cierra», lo que da inicio a una competencia cerrada entre estos actores particulares de la red, los mineros.

Estos mineros ahora deben resolver el siguiente enigma informático que –parafraseando– dice más o menos así: «Para resolver el bloque, se debe encontrar el número progresivo (nonce) que, agregado al final de toda la cadena de texto que representa el bloque de transacciones y dado como entrada a la función hash, devuelva un hash resultante que comience con un cierto número de ceros».
Una vez encontrada una solución válida, el ganador de esta competencia la transmitirá inmediatamente a la red, dando a todos la posibilidad de verificar personalmente la exactitud y demostrando matemáticamente que han realizado un trabajo (proof-of-work).
Reconociendo la «derrota», todos los demás mineros abandonan la búsqueda de la solución al bloque recién confirmado e inmediatamente comienzan la búsqueda de la solución al siguiente bloque. Uno que, entre los datos de entrada que se enviarán a la función hash, contendrá precisamente la solución del bloque anterior recién encontrada y publicada por el minero ganador.

Aquí está la razón por la cual se habla de «cadena de bloques» (blockchain): cada bloque está enlazado criptográficamente al anterior que, a su vez, depende estrechamente de la solución del bloque anterior que contiene la solución del anterior y así sucesivamente.
Sobre todo, recordemos que cada solución encierra en sí misma la síntesis de toda la información contenida en ese bloque. Conforma una huella criptográfica de todas las transacciones registradas, una especie de «huella digital», única e irreproducible, de ese bloque específico. Cualquier modificación de lo que se ha transcrito en el interior, aunque sea de una coma, obligaría al autor a volver a hacer todo el trabajo desde el principio.
Este trabajo tendría que hacerse contando sólo con sus propias fuerzas, compitiendo con la suma de la potencia informática de todos los mineros activos en la red. Una posibilidad que siempre ha desalentado a cualquier persona malintencionada de modificar el pasado registrado en la blockchain para obtener alguna ventaja personal.
Es este hecho lo que permite afirmar que la blockchain es prácticamente inmutable, no tanto porque nadie pueda modificar localmente el registro de transacciones que todos comparten, sino porque, si lo hiciera, tendría que hacer un trabajo monstruoso y finalmente descubriría que su bloque, que contiene su deshonesta modificación, sería rechazado instantáneamente por todos los demás nodos de la red en favor de otro bloque incluido en la cadena con más trabajo acumulado.
La confiabilidad del sistema blockchain debe entenderse en este sentido: no es económicamente conveniente para nadie realizar modificaciones en transacciones en bloques ya confirmados anteriormente.
Puesto que, cuanto más «antigua» sea la transacción, es decir, cuanto más atrás en el tiempo esté incluida en un bloque, más oneroso e insostenible resulta realizar cambios. Cada nuevo bloque que se agrega en secuencia a la cadena hace que cualquier modificación a una transacción anterior sea exponencialmente más costosa, por lo tanto, no vale la pena intentarlo.
De hecho, el sistema concebido de esta forma resulta imposible de manipular. La blockchain de Bitcoin hoy en día es considerada uno de los sistemas informáticos más seguros y confiables jamás concebidos. Durante más de una década, ha protegido el valor de cientos de miles de millones de euros.

6- El minero que encuentra la solución confirma y publica el bloque

Volviendo a la transacción entre Alice y Bob. Lo que hacen los mineros es ir a «pescar» transacciones verificadas de la mempool para escribirlas en el siguiente bloque. La transacción de Alice es tomada por los mineros y colocada en un bloque candidato específico, junto con muchas otras transacciones ya verificadas, pero en espera de ser confirmadas.

Ahora comienza el proceso de mining. ¿Qué se entiende por mining? como habrás deducido, es la actividad constante de realizar cálculos computacionales mediante dispositivos altamente especializados, con el único objetivo de ser los primeros en resolver «minar» un bloque.
Por lo tanto, participar en el mining significa competir con otros mineros para encontrar una solución a los diferentes bloques de transacciones, realizando innumerables intentos en busca de hashes resultantes que comienzan con un cierto número de ceros.
Se trata de una actividad computacional que requiere cada vez mayores cantidades de energía, electricidad y hardware, es decir, requiere cada vez más hash power.
Merece la pena detallar esta afirmación enfocándonos particularmente en dos aspectos cruciales:

a) el ajuste automático de la dificultad

b) la política monetaria de Bitcoin.

El ajuste automático de la dificultad

Como se ve, Bitcoin nace de una idea genial, es el resultado de décadas de estudios e investigaciones culminadas con la intuición de Satoshi Nakamoto en 2008. Lo curioso es que, en realidad, casi todas las tecnologías que componen Bitcoin ya existían en el momento de su concepción, algunas incluso desde finales de los años 70, como la firma digital. Por lo tanto, podríamos afirmar que la extraordinaria intuición de su fundador anónimo se refirió, sobre todo, a un trabajo de ensamblaje de tecnologías ya existentes y disponibles, pero hasta entonces desconectadas e independientes entre sí.

Excepto por algunas novedades, entre estas, además de la time-chain (o blockchain), también se encuentra el ajuste automático de la dificultad del problema relacionado con la actividad de minería. Antes de Satoshi, nadie lo había pensado.
¿Qué se entiende exactamente? Una vez más, recurramos a una analogía.
Imaginemos que la prueba de trabajo consiste en lanzar flechas hacia el centro de una diana circular, las flechas son disparadas a mano por cada participante y cada uno de ellos logra lanzar solamente una a la vez, digamos una cada segundo.
Poco después del nacimiento de Bitcoin había pocos tiradores de flechas, el fenómeno era conocido sólo dentro de un pequeño círculo de activistas y desarrolladores (los cypherpunk). La diana era muy grande y colocada cerca de la posición de tiro, por lo que la dificultad para acertar fuera era bastante baja: lanzando una flecha cada segundo, había una probabilidad de que aproximadamente cada diez minutos alguien lograra acertar y ganar la competencia antes que los demás.
Ahora supongamos que otros participantes entran en esta competencia y comienzan a lanzar flechas también, ¿qué pasaría en poco tiempo? Al haber muchos más tiradores, estadísticamente el tiempo necesario para acertar se reduciría muy por debajo de los diez minutos en promedio. Y si otros más se unieran y lanzaran flechas al mismo ritmo, ¡podrían pasar sólo unos pocos segundos antes de tener un ganador! Sin embargo, para que la competencia sea atractiva necesitamos mantener un tiempo medio constante de unos diez minutos antes de que haya un ganador, ¿cómo podemos hacer esto?

Aquí es donde llega la novedad propuesta por Satoshi Nakamoto: para compensar la entrada de nuevos participantes en la competición, podemos pensar en modificar el coeficiente de dificultad para acertar, por ejemplo, reduciendo el tamaño de la diana y alejándola de la posición de tiro. En este caso, estamos hablando del ajuste de la dificultad (difficulty adjustment).
Cuanto más participantes se sumen a la competencia, más pequeño se volverá el centro del objetivo y se alejará cada vez más de la posición de tiro. Lo contrario también es cierto: si algunos participantes se retiran de la competencia, el objetivo aumentará de tamaño y se acercará nuevamente a los tiradores. De esta manera, es posible garantizar que, independientemente del número de tiradores presentes en la competencia, el tiempo promedio necesario para acertar sea siempre de aproximadamente diez minutos.

Este es un punto fundamental del protocolo: cada bloque de la blockchain debe resolverse en promedio cada diez minutos (pronto comprenderemos la importancia de esto). Sin embargo, no podemos saber de antemano cuántos mineros participarán en la competencia, como sabemos, la actividad de minería es libre y abierta a cualquier voluntario.
De hecho, al igual que con los tiradores, cuanto más mineros hay en la red, menos tiempo tardarán en resolver un bloque y, por el contrario, si muchos mineros se retiraran de la competencia, reduciendo la cantidad de recursos computacionales dedicados a la actividad de minería, inevitablemente se necesitaría más de diez minutos para encontrar una solución.

Particularmente, el protocolo Bitcoin establece que:

– El espacio disponible en un bloque es de un máximo de 1 megabyte.

– El tiempo promedio de resolución de un bloque de transacciones se establece en diez minutos. Esto significa que cada aproximadamente diez minutos en promedio, se agrega un nuevo bloque a la blockchain.

– La actividad de minería consiste en aplicar continuamente la función hash a partir de los datos de un bloque de transacciones hasta encontrar, por ensayo y error, un hash resultante «particular» que esté por debajo de un parámetro determinado (difficulty).

– La regulación de la dificultad está directamente relacionada con la potencia total de minería estimada (total hash rate).

– Para garantizar la dificultad adecuada para mantener el promedio de diez minutos, el protocolo establece que, aproximadamente cada dos semanas (exactamente cada 2016 bloques), la dificultad se ajusta automáticamente según lo registrado en las dos semanas anteriores: si aumenta la potencia total de cálculo detectada, la dificultad aumenta; si el hash power detectado disminuye, entonces el problema se simplifica.

En otras palabras, la dificultad es un parámetro que mide qué tan difícil es encontrar la solución de un bloque. Una dificultad alta se traduce en una mayor potencia de cálculo necesaria para extraer el mismo número de bloques en el mismo período de tiempo, en cambio, una baja dificultad se se traduce en una menor potencia de cálculo necesaria.
En definitiva, esto permite obtener el siguiente resultado fundamental dentro del ecosistema: la potencia de cálculo (hash power) que los mineros ponen a disposición de la red tiene un impacto insignificante en el tiempo que se tarda en resolver un bloque.

Que miles y miles de mineros de todo el mundo se dediquen a la minería, o que esta sea llevada a cabo por sólo un puñado de voluntarios, poco importa, la red lo toma en cuenta y se adapta automáticamente ajustando la dificultad para mantener siempre un tiempo promedio de diez minutos para resolver un bloque de transacciones.
Si aún no está clara la importancia de este aspecto, no te preocupes, aún faltan algunas piezas para completar el cuadro. Todavía debemos ilustrar lo que el protocolo establece en términos de política monetaria.

La política monetaria de Bitcoin

Este es un punto muy delicado para una forma de dinero. Para el hombre, la política monetaria ha sido siempre una de las cuestiones más debatidas y disputadas, en todas las civilizaciones. La gestión y emisión de dinero confiere, para aquellos que tienen el control, un increíble papel de dominio. Es por esta razón que en la historia esta prerrogativa siempre ha sido ejercida por emperadores, señores, reyes, príncipes, sultanes, monarcas, mientras que ahora la ejercen los Estados y los bancos centrales. ¿Cómo se posiciona Bitcoin en cuanto a política monetaria?

La respuesta la proporciona el protocolo. El algoritmo en el que se basa prevé una emisión continua y controlada de nuevos bitcoines, que se emiten gradualmente y se suman a la cantidad monetaria ya existente. Cada vez que se mina un nuevo bloque y se agrega a la blockchain, el algoritmo prevé una emisión de bitcoines totalmente nuevos, según una cantidad precisa, asignados justamente a los mineros que han encontrado y presentado las soluciones correspondientes.
Intentemos ser más precisos, yendo por puntos.

La tasa de emisión
En el momento de la implementación de la blockchain por parte de Satoshi Nakamoto, como sabemos, el 3 de enero de 2009, obviamente no había bitcoines en circulación. Fue sólo a partir de ese día que, minando el primer bloque de transacciones (genesis block) por parte de su fundador anónimo, comenzaron a generarse las primeras unidades. Aproximadamente cada diez minutos el algoritmo preveía, para el primer minero capaz de encontrar la solución, una recompensa de 50 nuevos bitcoines. La introducción de estas nuevas unidades, que se agregan a la masa monetaria ya existente en cada bloque, se llama block subsidy. Siempre debemos tener en cuenta que en 2009 no había un precio para el bitcoin, no existía un mercado como el de hoy. Era principalmente un experimento informático, poco o nada considerado por parte de las autoridades o personas fuera del estrecho círculo de activistas del movimiento cypherpunk. Los principales mineros eran el propio Satoshi Nakamoto y unos pocos desarrolladores voluntarios. Mientras minaban los primeros bloques bastante fácilmente, aprovechaban para probar y perfeccionar el código, así como para solucionar algunos errores que se iban detectando.
Por lo tanto, aproximadamente cada diez minutos se emitían 50 bitcoines, pero hoy ya no es así. De hecho, el protocolo prevé un fenómeno preciso, llamado halving (reducción a la mitad), por el cual esta cantidad de emisión se reduce a la mitad cada cuatro años. Gracias a este evento de reducción a la mitad del «block subsidy», tenemos lo siguiente:

– desde el 03 de enero de 2009 hasta el 28 de noviembre de 2012 se emitieron 50 nuevos bitcoines por cada bloque

– desde el 28 de noviembre de 2012 hasta el 09 de julio de 2016 se emitieron 25 nuevos bitcoines por cada bloque

– desde el 09 de julio de 2016 hasta el 10 de mayo de 2020 se emitieron 12,5 nuevos bitcoines por cada bloque

– desde el 10 de mayo de 2020 hasta aproximadamente abril/mayo de 2024 está prevista la emisión de 6,25 nuevos bitcoines por cada bloque

– desde abril/mayo de 2024 hasta aproximadamente abril/mayo de 2028 se emitirán 3,125 nuevos bitcoines por cada bloque

– desde abril/mayo de 2028 hasta aproximadamente abril/mayo de 2032 se emitirán 1,5652 nuevos bitcoines por cada bloque

– desde 2032 hasta 2036 se emitirán 0,78125 nuevos bitcoines

– desde 2036 hasta 2040 se emitirán 0,390625 nuevos bitcoines

– desde 2040 hasta 2044 se emitirán 0,1953125 nuevos bitcoines

Y así sucesivamente, reduciendo la cantidad a la mitad aproximadamente cada cuatro años. Se seguirá adelante con esta emisión hasta que se extraiga la última unidad disponible, es decir, el último satoshi. Que, como se ilustró anteriormente, equivale a 0,00000001 bitcoin.

Ahora podemos entender por qué era importante mantener, en promedio, una resolución de cada bloque aproximadamente cada diez minutos, pues de esta manera es posible prever en el tiempo y controlar la tasa de emisión de la oferta monetaria, que no debe depender de la potencia de cálculo de la red (hash power) disponible para el mining.La pregunta que surge ahora es obvia: a fuerza de reducir la recompensa a la mitad, ¿en qué año se completará la minería?
Esto es simple matemática, haciendo un cálculo rápido, cualquiera puede constatar que el protocolo prevé, con base en estas reglas, que el último satoshi disponible se extraerá alrededor del año 2140. Sí, ¡en más de un siglo! Después de este evento, ya que se habrán extraído las 21 millones de unidades previstas y no se generarán más bitcoines.
En ese momento, toda la economía mundial se basará, en una oferta monetaria fija, experimentando una situación sin precedentes en la historia: una forma de dinero que no puede ser sujeto de la inflación, es decir, una moneda totalmente des-inflacionaria

7- Todos concuerdan en la transferencia realizada

Retomemos la conversación y sigamos con la transacción entre Alice y Bob. Habíamos llegado al sexto paso en el que un minero, tras resolver un bloque, era recompensado por su duro trabajo (proof-of-work) con algunos bitcoines nuevos (además, como hemos visto, también con la suma de todas las comisiones asociadas a las transacciones contenidas en ese bloque).
Ahora ¿qué pasa con el bloque recién confirmado y la transacción que estamos considerando? Es simple, ahora todos pueden verificar, de manera casi instantánea e independiente, que la solución encontrada y exhibida por el minero ganador es correcta. Concretamente, pueden verificar que el hash encontrado en el bloque de transacciones en cuestión cumpla con los parámetros relacionados con la dificultad del problema, comenzando con un cierto número de ceros.
¿Cómo reconocen los mineros «derrotados» la validez de la solución en la práctica? ¡Moviéndose inmediatamente a buscar la solución del siguiente bloque! Con este acto, declaran implícitamente su «rendición» en la competencia relativa al bloque en curso y desvían todos sus recursos hacia la resolución de un nuevo problema, el del siguiente bloque candidato.
De este modo, todas las transacciones contenidas en el bloque recién confirmado, incluida la que estamos tomando en cuenta entre Alice y Bob, son consideradas válidas y confirmadas por todos los demás nodos. Por lo tanto, toda la red concuerda en que la transferencia se realizó correctamente, esto se conoce como consenso distribuido. La transacción ahora puede considerarse procesada con resultado positivo.
Bob ahora verá en su billetera de Bitcoin los 30.000 sat enviados por Alice (en realidad, podría haberlos visto desde el paso 4, pero ahora los verá como «confirmados»). Sin embargo, ¿cuándo podrá considerar el pago como verdaderamente irreversible, por ejemplo, para enviar los bienes o servicios comprados? Como veremos más adelante, no siempre puede hacerlo en la primera confirmación porque, por seguridad, generalmente es recomendable esperar algunas decenas de minutos adicionales, el tiempo necesario para agregar algunos bloques más a la blockchain, de manera que se deje atrás y se «entierre» el que incluía la transacción entre Alice y Bob.
Por lo general, para considerar la transferencia definitiva, las principales billeteras –de manera cautelosa– establecen una espera de tres o seis bloques posteriores. Obviamente, no es una regla precisa, una estimación precisa también debería considerar el monto del pago en sí, pero es un período de tiempo razonablemente seguro para casi todos los casos de uso. Pasado este tiempo, finalmente Bob puede afirmar con serenidad que ha recibido definitivamente los fondos de Alice, a partir de allí, tiene el control total y a su vez puede gastarlos con máxima libertad.

8- La transacción ahora queda grabada en la blockchain

Hemos llegado al último paso. La transacción ha sido confirmada y el bloque que la incluye ve ahora cómo se añaden varios bloques sucesivos, concatenados criptográficamente entre sí en secuencia. La llamada altura (height) de la cadena de bloques seguirá creciendo con el tiempo, porque mientras tanto se incluyen nuevas transacciones solicitadas en la red en nuevos bloques que se confirman posteriormente.
La transacción entre Alice y Bob ahora permanecerá para siempre grabada en la blockchain. Todos los nodos de la red compartirán una copia exacta de ese bloque que contiene, entre otras, también la transacción seguida en nuestro ejemplo, y no sólo eso, todos los nodos mantendrán esta información almacenada en la memoria para siempre.
A partir de este momento no se puede modificar nada, ni siquiera una coma de un texto o un bit de información en relación a lo contenido dentro de un bloque pasado. La transacción entre Alice y Bob es ahora parte integral y estructural de la blockchain, convirtiéndose, en cierto sentido, en eterna.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top