Introducción a Bitcoin

Firma invitada

Mikel Lezaun Iturralde

Bitcoin es la primera moneda nativa digital. Como moneda digital, Bitcoin no tiene ninguna componente física, simplificando mucho, se puede afirmar que los bitcoin son registros informáticos y claves para realizar transacciones. Bitcoin opera en una extensa red de ordenadores abierta a quien lo desee, descentralizada (todos los nodos son iguales, no hay un nodo central que gestiona la red) y en la que los nodos tienen una copia de la gran base de datos de todas las transacciones. La red Bitcoin funciona con la tecnología blockchain, que garantiza por sí misma la seguridad de su gran base de datos. Bitcoin emite su propia moneda sin ningún respaldo de una entidad financiera o banco central. La emisión de moneda la hace Bitcoin en tiempo, número y destino siguiendo unas reglas fijas, independientemente del valor de cambio de bitcoin y de la coyuntura económica. En este artículo se describe los principales procesos del sistema blockchain, o cadena de bloques, y Bitcoin.

Foto: Executium / Unsplash
  1. Introducción

En el sistema bancario tradicional, para hacer una transferencia de una cuenta de un banco a otro banco, se cursa la orden, el banco comprueba si la cuenta del ordenante tiene fondos, resta del saldo de su cuenta el dinero de la transferencia y comunica al otro banco que debe sumar esa cantidad al saldo de la cuenta del destinatario. Esta gestión no mueve billetes de un lado a otro, simplemente es un cambio en los saldos de las cuentas. En realidad, todo esto lo hace un programa informático. Los bancos son los intermediarios y garantes de las transacciones, son quienes mantienen de forma segura toda la información en sus bases de datos y por ello cobran sus comisiones.

Ya en 1996, el Premio Nobel de economía Milton Friedman apuntó la necesidad de que se creara un protocolo específico para transferir valor por Internet, para trasferir dinero electrónico de un usuario A a uno B, sin que A tenga por qué saber la identidad de B o B quien es A.

En 2008, Satoshi Nakamoto, del que hasta la fecha no se sabe nada, ni quien, quienes o qué es, publicó un artículo en la lista de correo Cryptography de Internet, en el que definía un protocolo de comunicaciones para transmitir valor, basado en una red en la que todos los nodos se comportan como iguales, sin jerarquías. El año siguiente, él mismo publicó la primera versión del software Bitcoin, creó la red del mismo nombre y las primeras unidades de moneda, que también denominó bitcoin. En 2010, una vez puesto en marcha el sistema Bitcoin, Nakamoto se apartó y desapareció del mapa.

Características de la red Bitcoin

Las características más destacables de las monedas digitales, en particular de la red blockchain (cadena de bloques) de Bitcoin son las siguientes.

  • La red blockchain de Bitcoin es abierta, todo el que quiera puede participar, no se necesita autorización ni identificación.

  • La red es transfronteriza, se puede transferir de un punto a cualquier otro punto del mundo. En realidad, los bitcoin no residen en ningún sitio, no son algo físico.

  • La red es neutral, no hay que dar ninguna explicación a una transferencia. La red procesa cualquier transacción independientemente del ordenante, destinatario y cantidad.

  • La red es resistente a la censura, nadie puede evitar que se realice una transacción.

  • La red es pública, todo es verificable por todos, la red es totalmente transparente.

  • La red por sí misma gestiona las transacciones y garantiza la seguridad tanto de las transacciones como de la base de datos. No necesita de intermediarios ni de bancos.

  • Las transacciones son seudónimas, no se sabe directamente quien es el emisor ni quien el receptor.

  • Las transacciones son muy fáciles de realizar. El único coste es la tasa por transferencia que se abona a los denominados mineros, que además es voluntaria. Ahora bien, hace tiempo que se prioriza las transacciones con las comisiones más altas.

  1. Preliminares

Digitalización

Al hablar de Bitcoin se dice que es una moneda digital. Digitalizar no es otra cosa que convertir un texto, un documento en números. Todos los símbolos tipográficos tienen un equivalente numérico. Cualquier número, entendido como el valor que representa, se puede escribir de distintas formas. En el sistema decimal se utilizan los diez caracteres 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9; en el hexadecimal los dieciséis caracteres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f y en el binario solamente los caracteres 0 y 1. En particular, cualquier documento se puede convertir en una lista de 0 y 1. Lo mismo que en el sistema decimal, las operaciones matemáticas se pueden realizar en los otros sistemas. En un sistema electrónico el 0 se corresponde con un circuito abierto y el 1 con uno cerrado. Así, la información trasladada a números binarios se puede almacenar y tratar matemáticamente en dispositivos electrónicos.

A modo de ejemplo, la expresión binaria de la palabra covid-19 es

0110001101101111011101100110100101100100001011010011000100111001

y la de Covid-19

0100001101101111011101100110100101100100001011010011000100111001

Notemos que solo se diferencian en el tercer carácter, en el primer caso es 1 y en el segundo 0.

Funciones resumen

Dado un documento, en muchos casos interesa tener un resumen representativo que lo identifique de forma única y que sirva para verificar su correcta trasmisión y almacenamiento en redes y sistemas digitales. Para obtener estos resúmenes, en Bitcoin se utilizan las funciones resumen (hash en inglés) criptográficas. Las principales características de estas funciones son las siguientes.

  • Una función resumen no es aleatoria, en general es fácil de calcular y aplicada a un mismo documento siempre da el mismo resultado. Por contra, de un resumen criptográfico no es posible recuperar computacionalmente el documento del que proviene.

  • Las funciones resumen son muy sensibles, una levísima modificación de la entrada produce un resumen completamente diferente.

  • Sea cual sea el tamaño de la entrada, que en general suele ser grande, la longitud del resumen es la misma. Así, del resumen no se puede deducir si proviene de un documento extenso o de uno breve.

Las funciones resumen se calculan a partir de la expresión binaria del documento, esto es, de su expresión en 0 y 1. Para ello, se expande la lista original de 0 y 1 a una más amplia, se descompone esta nueva lista en bloques, en cada bloque se cambia varias veces de sitio los 0 y 1 y se realizan distintas operaciones matemáticas. Esto es relativamente fácil de hacer, siempre se siguen las mismas reglas. Así, validar el resumen de un texto es prácticamente instantáneo.

En Internet se encuentran muchas páginas web que calculan el resumen de un documento con distintas funciones resumen. En Bitcoin, de todas las transacciones y bloques se calcula el correspondiente resumen identificativo. Para ello utiliza la función resumen SHA-256, que proporciona resúmenes formados por 256 ceros o unos, que se traducen en 64 caracteres hexadecimales 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f. Por ejemplo, el resumen de la palabra covid-19 es

88529c3ac8ebd2dcb21a432c4ea0190c8370850b73ef95a527d150d4d424bc62

y el de la palabra Covid-19

993ab4dd1fb517c10afcd32c007ec64c3d76bac264104bf44c57f5667f609da7

Como se ve, una simple diferencia de un carácter 0 y 1 da un resumen completamente diferente.

El resumen de los tres párrafos de la introducción de este mismo documento es

aedd1bb22c321638f1155e3611bed6e677b73de5c428a9ed956d35f54d47a3e6

que también tiene 64 caracteres hexadecimales.

Árbol de Merkle

Supongamos que tenemos un bloque de documentos, cada uno con su resumen criptográfico y que, para reforzar la seguridad del contenido del bloque, se quiere obtener un resumen de todos los resúmenes. Para ello se construye un árbol de Merkle, que consiste en lo siguiente. Se ordenan los resúmenes de los documentos del bloque (no hay que olvidar que los resúmenes no dejan de ser números) y se van juntando de dos en dos en un mismo texto. De cada uno de los nuevos textos formados por un par de resúmenes, se obtiene su resumen. Con los resúmenes obtenidos se vuelve a repetir la operación, esto es, se forman los textos de pares de resúmenes y de cada uno se obtiene su resumen. Se sigue el proceso hasta llegar a un solo resumen, que se denomina raíz de Merkle. Así, cualquier modificación en una transacción almacenada, para que sea coherente, implica la modificación de su resumen, lo cual conlleva la modificación de la raíz de Merkle.

Firma digital

Una firma digital es un mecanismo criptográfico que garantiza que la firma de un documento es auténtica, esto es, que no ha sido suplantada; que el documento no ha sido alterado y, además, que quien lo firma no lo puede repudiar. Bitcoin, para la autentificación de las transacciones, para la firma digital, utiliza un sistema criptográfico de clave pública y clave privada. Las claves pública y privada de una firma digital son dos números muy grandes, dependientes entre sí y que se generan simultáneamente mediante un algoritmo matemático. Generar los dos números es relativamente fácil, pero el camino inverso, obtener de uno de ellos el otro, es computacionalmente imposible.

La clave privada se debe guardar de forma muy segura para que nadie tenga acceso a ella. Por contra, como indica su nombre, la clave pública es pública. La firma se realiza con la clave privada. El proceso de firma digital es como sigue. En primer lugar, la aplicación informática de la firma digital obtiene el resumen del documento. Luego, este resumen, mediante un algoritmo matemático basado en la clave privada del firmante, se encripta. Junto con el documento se graba su resumen, el resumen encriptado y la clave pública. Todo esto es público, de acceso libre. Para verificar la autenticidad de la firma se utiliza la clave pública del firmante. Primero se comprueba que el resumen es el del documento. A continuación, se aplica al resumen encriptado un algoritmo matemático basado en la clave pública y el resultado tiene que ser exactamente igual que el resumen del documento firmado. Si ocurre así, el documento firmado es auténtico. Si no, se rechaza, ya que haciendo lo que se indica, solo se recupera el texto del resumen del documento si se utiliza la clave pública de quien lo ha firmado. Esta comprobación la puede hacer quien quiera.

  1. Monedero o wallet

Crear una cuenta bitcoin es muy fácil. Basta con registrarse en alguna de las múltiples páginas web dedicadas a ello e introducir una serie de datos personales. Una vez registrado, para operar se necesita instalar un monedero o wallet, que no es más que una simple aplicación informática que permite transferir y recibir moneda digital. Instalado el monedero, él mismo crea los pares de claves pública y privada para la firma digital de las transacciones. A partir de la clave pública, el monedero genera de forma determinista la dirección. Los monederos guardan la identificación de las transacciones dirigidas a sus claves públicas y direcciones y su contenido es de acceso público. Ahora bien, las correspondientes claves privadas se deben mantener bien guardadas, ya que, como se verá, con ellas se hacen las transferencias de las transacciones registradas en el monedero. Una misma persona puede tener varios monederos. También, conforme va recibiendo transacciones, se puede ir cambiando las claves privada y pública y por tanto la dirección de recepción. Así, no se sabe si distintas direcciones en realidad corresponden a un mismo usuario.

Un ejemplo de clave pública es

020766fd4ffbbfa2086a96b335ba6eff24b58e4819936f8dc9d4002dabc9b11405

que genera mediante cálculos matemáticos la dirección

1FVRX63gUDxkQ25C7ivMa27C9nT1DUafmD

  1. Transacciones

Las transacciones son el vehículo para transferir bitcoin de un usuario A a uno B. Las transacciones son públicas, están identificadas por su resumen y se guardan agrupadas en bloques, que van conformado una cadena. Una transacción contiene una entrada (input) en la que consta la procedencia de los bitcoin a transferir y una salida (output) que indica a donde van esos bitcoin. Si A quiere hacer una transferencia a B, en la salida de la transacción A incluirá la dirección y clave pública que le habrá proporcionado B. La correspondiente clave privada B la mantendrá oculta y segura, ya que la tendrá que utilizar cuando quiera transferir los bitcoin que reciba en esta transacción. En la entrada de la transacción A incluirá la identificación de una transacción con suficientes bitcoin que tiene por salida una transacción que un usuario C envió a una dirección y clave pública de A. La transacción de la entrada tiene que estar sin gastar, A no la ha tenido que haber utilizado en anteriores transacciones. Esta transacción la tendrá registrada A en su monedero. La validez de la transacción, la seguridad de que A tiene los bitcoin que pretende transferir a B, la realiza A con la firma digital. Para ello A firma la transacción con la clave privada asociada a la clave pública de la salida de la transacción que realizó C dirigida a la dirección y clave pública de A. Con la clave pública se puede verificar que esta transacción solo la ha podido firmar A, lo cual asegura que A es el propietario de los bitcoin que transfiere a B. En realidad los usuarios no tienen en propiedad bitcoin, lo que tienen son claves privadas de salidas de transacciones no gastadas (en inglés UTXO de Unspent Transaction Output) para con ellas hacer transacciones. Si A pierde la clave privada, nadie puede utilizar los bitcoin de la transacción y desaparecen. Y si alguien se apodera de la clave privada, el dinero de la salida de la transacción es suyo, lo puede utilizar sin ninguna cortapisa.

La salida de una transacción solo se puede utilizar una vez y siempre se transfiere completa. Ahora bien, ¿cómo se hace una transferencia de 3,9 bitcoin, cuando se quiere utilizar una salida de transacción no gastada con 5,3 bitcoin, sin perder los 1,4 bitcoin restantes? El procedimiento ideado para solventar esta dificultad es que, en estas situaciones, efectivamente la entrada de la transacción es la salida con 5,3 bitcoin que se quiere transferir, pero se crean dos salidas, una de 3,9 bitcoin a la dirección que se quiere enviar y otra de 1,4 bitcoin a una dirección y clave pública propia. De esta forma, la salida no gastada de la auto transacción con 1,4 bitcoin vuelve al emisor y solo él la puede utilizar firmándola con su clave privada. De esta forma no pierde los 1,4 bitcoin.

Veamos como ejemplo una de transacción incluida en el bloque 672431 que se describirá más adelante. El resumen que identifica a esta transacción es

57ff5d1af48c6687f1500e5acfe9a2297d5091a62e5e8da72ae31967282bdd22

y la dirección del ordenante

1KbnB9GTmUDn9Kjebm9w7aC9s5WxjSMcR5

La entrada de la transacción, es la salida de la transacción con 3,61216838 bitcoin contenida en el bloque 672424, cuyo resumen es

d42f3804872d1b4fe466aa156bfe92e430564f445d6ac5cf172e7e1630b2560e

y dirección la del ordenante

1KbnB9GTmUDn9Kjebm9w7aC9s5WxjSMcR5

La transacción tiene dos salidas. Una con 3,54120686 bitcoin a la dirección

12hy9qkZTiBcN9kCMKvQ62YDj3D7d2Ay3H

y otra con 0,07059952 bitcoin a la dirección

3JmgHw6rjUHgkptYmKX5SmekScxjFzHve9

La tarifa que fija la transacción es 0,00036200 bitcoin

El gasto total de la transacción es 0 bitcoin, que es igual a la cantidad de la entrada.

Este sistema público de transacciones es anónimo. Aunque se puede seguir el recorrido de las transacciones, de los usuarios solo se conoce claves públicas y direcciones obtenidas de ellas.

Para facilitar las transacciones un bitcoin está fraccionado en satoshi. Un bitcoin son cien millones de satoshi.

  1. Nodos de la red

La red Bitcoin es una red descentralizada, no hay un nodo central que gestiona la red, y abierta, quien quiera puede unirse libremente a la red con solo descargar e instalar en su ordenador el software adecuado. En la red Bitcoin existen varios tipos de nodo, cada uno con sus funciones específicas.

Los nodos completos son los nodos que almacenan una copia exacta y actualizada de la cadena de bloques. Son los que verifican la validez de las transacciones y bloques de transacciones y los propagan por la red a otros nodos. Los nodos completos son los encargados de verificar que se cumplen todas las reglas del protocolo Bitcoin y, por tanto, son los que verdaderamente otorgan robustez, seguridad y estabilidad a la red. Entre los nodos completos se destacan los nodos públicos. Estos nodos ejercen de forma continua e ininterrumpida como un punto de comunicación e interconexión con otros nodos de la red para transmitir datos e información. Cualquier nodo que desee conectarse con un nodo público lo puede hacer libremente cuando quiera.

Los nodos de minería o mineros son los nodos completos que agrupan las transacciones en bloques y los confirman realizando lo que se denomina minado y que se explica más adelante.

Por último, están los nodos ligeros. Son nodos que no mantienen una copia de la cadena de bloques y no participan en el proceso de verificación y validación de las transacciones. Los nodos ligeros pueden solicitar y recibir de los nodos completos públicos el estado de una transacción concreta. En particular pueden obtener información de sus propias transacciones, si están incluidas o no en un bloque. Los nodos ligeros trabajan únicamente como puntos finales de comunicación y son ejecutables en dispositivos móviles como teléfonos y tablet.

Hay que destacar que toda transacción también debe incluir el pago voluntario de una comisión para quienes realizan las verificaciones, agrupan las transacciones en bloques y confirman los bloques, esto es, para los mineros.

  1. Bloques de la cadena

Una ver realizadas, las transacciones se trasmiten entre los nodos mediante el protocolo de comunicación de la red Bitcoin y los nodos completos verifican su validez. Una vez verificada su validez, las transacciones quedan a la espera de que los nodos mineros las agrupen en un bloque y lo confirmen. Cada minero construye su propio bloque seleccionando las transacciones que más le beneficien y no estén incluidas en bloques ya confirmados. Estos bloques son los bloques candidato y su tamaño tiene que ser inferior a un megabyte. Como se verá más adelante, para que un bloque sea confirmado, y en consecuencia también todas sus transacciones, se tiene que minar. Como minar un bloque está recompensado, hay muchos mineros construyendo su bloque candidato y todos ellos contendrán más o menos las mismas transacciones. Además, junto con las transacciones verificadas, en los bloques se introduce una primera transacción denominada coinbase, que no tiene entrada y la salida está dirigida a una clave pública y dirección del minero. Esta salida de transacción contiene los bitcoin que recibirá el minero por el minado y las comisiones de las transacciones. También, de los resúmenes de las transacciones de cada bloque se calcula su raíz de Merkle.

Todos los bloques confirmados tienen su propio resumen. Para encadenar un bloque con los anteriores, se introduce en los bloques candidato el resumen del último bloque confirmado. Así confirmado un bloque candidato con su correspondiente resumen, queda encadenado al anterior. Cualquier modificación en una transacción almacenada en un bloque requerirá cambiar el resumen de su bloque y, como este resumen está contenido en el bloque siguiente, también se deberá cambiar su resumen, y así sucesivamente. En definitiva, modificar una transacción almacenada en un bloque requiere modificar el resumen de su bloque y el de todos los bloques siguientes, lo cual resulta técnicamente irrealizable. Ésta es la gran garantía de seguridad de la base de datos Bitcoin.

Para su identificación e información, en el encabezado de cada bloque se incluye su resumen, la raíz de Merkle, una marca de tiempo, timestamp en inglés, y los datos del minado.

  1. Minado de un bloque. Prueba de trabajo

En Bitcoin, una vez conformado un bloque de transacciones, para confirmarlo hay que minarlo realizando una prueba de trabajo (PoW del inglés Proof-of-Work). La prueba de trabajo consiste en obtener un resumen del bloque que sea menor que un número fijado, denominado target, que en hexadecimal es un número de 64 cifras que comienza por unos cuantos ceros. Recordemos que los resúmenes son números y se pueden comparar con el target. Esta prueba de trabajo es muy difícil de realizar, pero muy fácil de verificar.

En Bitcoin, cada bloque se conforma y mina más o menos cada diez minutos y el primer minero que supera la prueba de trabajo recibe una recompensa en bitcoin de nueva creación. Se consigue mantener un ritmo de más o menos diez minutos en la creación de los bloques, controlando la dificultad del minado. La dificultad del minado es una medida de la cantidad de recursos necesarios para minar Bitcoin, que sube o baja dependiendo de la cantidad de potencia computacional disponible en la red. La dificultad se actualiza automáticamente cada 2016 bloques, más o menos cada dos semanas. Se calcula mediante una fórmula matemática a partir de lo que se ha tardado en minar los 2016 bloques precedentes.

Una vez obtenida la nueva dificultad, a partir de ella, inmediatamente se actualiza y fija un nuevo target para los 2016 bloque venideros. Éste será menor, y por tanto será más difícil minar el bloque, cuanto menor haya sido la dificultad del minado de los 2016 bloques precedentes. Así, conforme más fácil sea el minado debido a la mejora computacional, se aumenta la dificultad del minado imponiendo un target más pequeño. De esta forma, aunque varíe la capacidad computacional de la red, se consigue mantener el tiempo de unos 10 minutos entre cada bloque.

El procedimiento para superar la prueba de trabajo consiste en añadir al bloque un número arbitrario, que sólo se puede usar una vez, con el fin de que el resumen resultante cumpla la condición de ser menor que el target. Este número se denomina nonce o número de un solo uso y normalmente consta de 8 cifras hexadecimales. La única forma de obtener el número de un solo uso requerido es probando por fuerza bruta. Este proceso requiere un intensivo trabajo computacional con hardware especializado (ASIC) y consume gran cantidad de energía eléctrica. A esto se debe la creación de pools de mineros en países como China, en los que la energía es barata y el minado resulta rentable.

Una cuestión a solucionar es cómo resolver el problema del doble gasto, que una misma moneda no se pueda gastar dos veces. Esta dificultad es propia de las monedas descentralizadas, ya que al no haber un centro que controle la llegada de las transacciones, ante dos iguales, no siempre es posible decidir cual se ha producido la primera y darle a ésa la validez. En Bitcoin, con frecuencia se da el caso en que, a partir de un mismo bloque, dos mineros minen casi simultáneamente su bloque y lo distribuyen a la red por caminos distintos. Como son los propios mineros quienes conforman los bloques, los dos bloques serán parecidos, contendrán casi las mismas transacciones, pero no serán idénticos, tendrán distinto resumen. En estos casos, unos mineros trabajarán con de uno de los bloques para conformar y minar un nuevo bloque, y otros lo harán con el otro bloque. Detectada esta situación, aunque los dos bloques sean válidos, los mineros confirmarán el bloque que tenga mayor prueba de trabajo, el que tenga mayor resumen. El bloque descartado se denomina bloque huérfano. El bloque huérfano se invalida; el minero que realizó la prueba de trabajo se queda sin recompensa y las transacciones que no estén incluidas en el bloque confirmado quedan a la espera de ser incluidas en un nuevo bloque. De esta forma se evita que una transacción se utilice dos veces, que haya doble gasto, y el resultado es una única versión de la cadena de bloques. Una vez que un minero encuentra el número de un solo uso, lo anuncia inmediatamente a los otros mineros, éstos verifican la prueba de trabajo y las transacciones y deshacen su bloque candidato. La comprobación de que el minado es correcto por parte de los mineros es fácil e inmediata y el bloque junto con todas las transacciones que contiene queda confirmado e incluido en la cadena de bloques.

Como ejemplo volvemos al resumen de los tres párrafos de la introducción de este artículo. Hemos mostrado que es

aedd1bb22c321638f1155e3611bed6e677b73de5c428a9ed956d35f54d47a3e6

Fijamos como target el número

00000000000000000fffffffffffffffffffffffffffffffffffffffffffffff

Este número es el mayor escrito con 64 cifras hexadecimales que tiene 47 cifras significativas (las 17 primeras son 0). La prueba de trabajo, el minado, consiste en añadir al texto del resumen un número de un solo uso para forzar que el resumen sea menor que este número, es decir, que tenga 46 cifras significativas (las 18 primeras 0) o 47 significativas (las 17 primeras 0) seguidas de alguna que no sea la f. Esto solo se puede hacer probando, probando y probando. Como se ha indicado, esto requiere de hardware específico que consume mucha energía. Como hay muchos mineros intentando superar la prueba trabajo y como esto hay que hacerlo prácticamente de forma continua para todos los bloques, el consumo global de energía en el minado es altísimo.

  1. Recompensa por minar

Una de las claves de la superveniencia de Bitcoin se debe a que, por cada bloque minado, quien lo consigue en primer lugar recibe una recompensa en nuevos bitcoin. En concreto, todos los bitcoin que se van acuñando son para los mineros que consiguen en primer lugar el minado. También, estos son quienes reciben las comisiones de las transacciones. Está programado que cada 210.000 bloques, unos 4 años a diez minutos por bloque, la emisión de bitcoin se reduzca a la mitad. En consecuencia, la remuneración del minado por bloque también se reduce a la mitad. En los cuatro primeros años, de 2009 a 2012, se pusieron en circulación 10.500.000 bitcoin y por el minado de cada bloque se pagaron 50 bitcoin (210.000×50=10.500.000). A partir de mayo de 2020 y hasta 2024, el pago por minado se ha reducido a 6,250 bitcoin, por lo que en esos cuatro años se acuñarán en total 1.312.500 bitcoin. La producción total de bitcoin está limitada a 21 millones y a este ritmo finalizará en el año 2140. A partir de esa fecha, los mineros solo recibirán por el minado las comisiones de las transacciones. Otra cuestión muy distinta es por cuantos euros o dólares se cambie un bitcoin.

Veamos como ejemplo el bloque número 672431 de fecha 2021-02-27 13:28.

  • Bloque: 672431

  • Resumen:

00000000000000000003120e9aa5b6f1247a730c4b0dfc6716db4b855c978da5

  • Raíz de Merkle:

6b44315f7b2621d8a21554e1dc96178bd935d042e23cb77e75bf4b1f4fd78ff1

  • Número de transacciones: 2096

  • Volumen de la transacción: 1446,34840523 bitcoin

  • Recompensa por minado: 6,250 bitcoin

  • Remuneración por comisiones: 0,41695539 bitcoin

  • Target:

0000000000000000000cf4e30000000000000000000000000000000000000000

  • Nonce: 04e9a917

Es inmediato comprobar que, como números hexadecimales, el resumen es menor que el target.

  1. Comentario final

Bitcoin es una moneda totalmente digital, no se sustenta en nada físico, ni en bancos centrales, ni en organizaciones financieras. El propio Bitcoin es quien crea y emite su moneda. Bitcoin opera en una red de ordenadores abierta, descentralizada y distribuida. Esto es, quien quiera se puede integrar en la red Bitcoin, todos los nodos son iguales, no hay jerarquías, y tienen una copia de la gran base de datos de todas las transacciones. Las transacciones se realizan directamente entre origen y destino y son públicas. Su fiabilidad y seguridad reposa en la firma digital. Para almacenar de forma segura los datos, las transacciones se agrupan en bloques que se van encadenando uno detrás de otro, de forma que un bloque contiene el resumen del anterior. Una modificación de una transacción de un bloque requiere modificar su resumen, al estar este resumen incluido en el siguiente bloque, se tendrá que modificar su resumen y así uno a uno el resumen de todos los bloques siguientes, lo cual no es realizable computacionalmente. Además, como la base de datos está replicada en los nodos, habría que cambiar la de todos los nodos. Los bloques los confirman los mineros mediante una prueba de trabajo. El primer minero que supera la prueba de trabajo transmite el bloque al resto de mineros, éstos verifican la validez de las transacciones y de la prueba de trabajo, el bloque queda confirmado e incluido en la base de datos y el minero recibe una recompensa en bitcoin de nueva creación.

La emisión de moneda bitcoin está totalmente regulada, tanto en sus tiempos como en su número y destino, por unas reglas fijas. La emisión es totalmente independiente del valor de los bitcoin, de que haya una mayor o menor demanda de bitcoin y de la coyuntura económica del momento. Ninguno de los bitcoin que se emiten van al mercado, todos se adjudican a los mineros que superan la prueba de trabajo. La retribución en bitcoin por minado también está fijada por el propio sistema. Cada cuatro años la emisión de bitcoin se reduce a la mitad. Como en total se emitirán 21 millones de bitcoin, se alcanzarán los 21 millones en el año 2140. En 2020 ya han sido acuñados alrededor de 18.593.000 bitcoin. Se estima que alrededor de tres o cuatro millones de bitcoin han desaparecido por pérdida de las claves privadas, errores en las direcciones, etc.

Realizar la prueba de trabajo requiere hardware especializado de elevado consumo energético. Como le retribución por minado resulta al cambio alta, hay muchos mineros y pools de mineros que se dedican al minado. Como el minado de los bloques es prácticamente continuo, ya que en cuanto se mina un bloque se comienza a conformar el siguiente, el consumo global de energía por minado es muy elevado, lo cual suscita mucha controversia.

Para terminar, unas observaciones sobre Bitcoin.

Las monedas al uso tienen que cumplir tres funciones: permitir almacenar valor, realizar intercambios y transacciones, y servir como unidad de cuenta. Esto último significa servir de referencia de valor como, por ejemplo, basta con leer el precio en euros de un teléfono móvil para hacerse una idea de su valor. Según estos criterios, no se puede decir que las criptomonedas sean monedas de verdad, ya que no cumplen estas tres propiedades. La que más se cumple es la de almacenamiento de valor. Pero como medio de intercambio no se acepta en demasiados sitios, y debido a su constante cambio de valor, tampoco sirve como referencia. Las criptomonedas no serán monedas de verdad hasta que no se cumplan estas tres propiedades, en particular hasta que no se generalice cambiar bitcoin por, por ejemplo, un coche, un billete de avión o la realización de un trabajo.

Existen en el mercado casas de cambio que permiten cambiar bitcoin por dólares o euros y viceversa. Así, quienquiera puede adquirir bitcoin e ingresar en la red Bitcoin. En sus dos primeros años, 2009 y 2010, el valor del bitcoin era prácticamente cero y el 2-01-2011 valía 5 dólares. En enero de 2015 se cambiaba por alrededor de 300 dólares y desde entonces, con grandes altibajos, no ha dejado de acumular valor. ¿Hasta cuanto podrá alcanzar su valor? ¿Se está ante una burbuja?

Bibliografía

Para un estudio más detallado

Mikel Lezaun. Blockchain. Bitcoin, La Gaceta de la RSME, Vol. 24 (2021), Núm. 3, Págs. 533-558.

Sobre el autor: Mikel Lezaun Iturralde es catedrático de matemáticas aplicadas en el Departamento de Matemáticas de la UPV/EHU

1 comentario

  • […] Mikel Lezaun Iturralde Bitcoin es la primera moneda nativa digital. Como moneda digital, Bitcoin no tiene ninguna componente física, simplificando mucho, se puede afirmar que los bitcoin son registros informáticos y claves para realizar transacciones. Bitcoin opera en una extensa red de ordenadores abierta a quien lo desee, descentralizada (todos los nodos son iguales, no […]  […]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *