Inicio / Blog / Bitcoin 1/2: funcionamiento y aspectos destacables

Bitcoin 1/2: funcionamiento y aspectos destacables

Publicado el 10/01/2014, por Jesús Díaz (INCIBE)
bitcoin

Con las nuevas tecnologías, cada vez surgen nuevas formas de resolver situaciones cotidianas incorporando mejoras en el servicio prestado (en sus costes asociados, la facilidad de uso, etc.), por ejemplo, el uso de email en lugar de correo ordinario. Uno de los casos de más relevancia en la actualidad son los métodos de pago electrónico y, concretamente, las monedas electrónicas. Entre estas últimas, está ganando mucha popularidad la divisa electrónica Bitcoin. Pero, ¿qué es Bitcoin? En pocas palabras, Bitcoin es un sistema de dinero electrónico. Las monedas electrónicas tienen generalmente dos implicaciones fundamentales, y es que combinan la comodidad de poder hacer pagos por Internet con el anonimato de los pagos en efectivo. Pero Bitcoin no es el primer sistema de dinero electrónico que existe. Esta idea es original de 1985, y fue propuesta por David Chaum en su artículo “Security without identification: transaction systems to make Big Brother obsolete”. Desde entonces, se han propuesto multitud de sistemas incorporando mejoras en diferentes aspectos, o sacrificando algunas características en pro de otras. Entonces, ¿qué hace especial a Bitcoin? La principal razón es que Bitcoin no es controlado por ninguna autoridad, sino que lo controlan sus usuarios. En este aspecto, Bitcoin ha sido pionero. Por ello y, por otras razones, ha ganado mucha popularidad.

A continuación haremos un breve repaso de los principales aspectos del sistema, con la intención de entender qué características ofrece con respecto a sus antecesores y muchos de sus competidores.

Funcionamiento

En esta sección describiremos de manera breve y sencilla el funcionamiento de Bitcoin y sus bloques principales. Por convención, utilizaremos Bitcoin (con mayúscula inicial) para referirnos al sistema o la red P2P y bitcoin (con minúscula inicial) para referirnos a las monedas electrónicas que se generan.

En el sistema Bitcoin, podemos encontrar dos tipos de participantes:

  • Usuarios: compran y venden utilizando bitcoins, generando y publicando las transacciones correspondientes.
  • Mineros: reciben transacciones de otros usuarios, las verifican, y trabajan para incluirlas en la cadena de bloques de transacciones aceptadas.

Resumiendo, la red Bitcoin funciona como se muestra en la Imagen 1.

 

 

Diagrama de una transacción Bitcoin

Imagen 1. El protocolo Bitcoin.

  1. Bob hace un pago en bitcoins a Alice.
  2. Alice y Bob envían la transacción a la red P2P de Bitcoin.
  3. Un minero recibe la nueva transacción y la verifica.
  4. El minero encuentra un bloque válido que incluye la nueva transacción.
  5. El minero envía el nuevo bloque a la red P2P de Bitcoin.
  6. El resto de usuarios de Bitcoin actualizan su cadena, verificando que el nuevo bloque es válido.

Por otro lado, en el sistema Bitcoin hay tres pilares fundamentales: criptografía asimétrica, funciones hash y arquitectura P2P.

La criptografía asimétrica se utiliza para generar “cuentas” de bitcoins, que en la jerga del sistema se llaman direcciones. Estableciendo una analogía con cuentas bancarias, la clave pública (la dirección) sería el número de cuenta, y la clave privada sería la contraseña de la cuenta. Para hacer una transacción desde una dirección A a una dirección B, el propietario de A firmará con su clave privada tantas bitcoins como quiera transferir a B junto con la clave pública (dirección) de B.

Gracias a la arquitectura P2P, cuando se crea una transacción, esta difunde al resto de nodos de la red. En este punto, los mineros procederán a validar las nuevas transacciones.

Para validar transacciones nuevas, los mineros las combinan con transacciones ya validadas, añadiendo además un número aleatorio, aplicando al resultado una función hash criptográfica. No obstante, no será válido cualquier hash resultante, sino que deberá cumplir un requisito especial (normalmente comenzar con un número determinado de ceros). Las funciones hash son funciones no invertibles, por lo que la única forma de conseguir un resultado válido es probar números aleatorios por ensayo y error hasta encontrar uno que produzca un hash válido.

Este conjunto de datos se conoce como bloque de transacciones, y por su elevado coste de cómputo, se conocen como pruebas de trabajo (tras la idea original del Hashcash). El minero que genere un bloque válido, lo publica, y ese bloque queda añadido a la cadena de bloques existentes. Los usuarios de Bitcoin se descargan la cadena de bloques, y verifican que todos los bloques sean válidos. La cadena válida de mayor longitud es la considerada como “legítima” bajo la premisa de que la potencia de cálculo controlada por cualquier atacante será menor que la del resto de usuarios, lo cual, gracias a las pruebas de trabajo, es muy difícil.

¿Por qué es seguro el sistema?

Brevemente, la seguridad de Bitcoin se basa fundamentalmente en que un atacante no podrá superar la potencia de cómputo de todos los usuarios honestos del sistema (y, obviamente, que no podrá romper las primitivas criptográficas subyacentes).

Primero, las funciones hash criptográficas no son invertibles, por lo que es necesario aplicar fuerza bruta hasta conseguir un hash válido. Por lo tanto, un atacante que quiera incluir una transacción ilegítima tendrá que computar el nuevo bloque más rápido que el resto de la red. Si el atacante tiene menos potencia de cómputo que el resto de mineros, ellos generarán un bloque nuevo (legítimo), y los cálculos realizados por el atacante serán automáticamente inservibles.

Este mecanismo de autorregulación es el principal aspecto técnico novedoso de Bitcoin: en los sistemas precedentes, para evitar double spending (pagar varias cosas con la misma moneda), se recurría a una entidad central, controlada por alguna autoridad, lo cual hacía al sistema en cuestión directamente dependiente de la fiabilidad de dicha autoridad. Pero no sirve sólo para evitar double spending, también es una forma de consensuar el protocolo “oficial” (por ejemplo, si un minero intentase aumentar su recompensa por encontrar un nuevo bloque, el resto de usuarios rechazarían dicho bloque por incluir una recompensa inválida).

Segundo, gracias a las propiedades de la criptografía asimétrica, sólo quien conozca la clave privada correspondiente a una clave pública (dirección) determinada, podrá gastar las bitcoins asociadas. Así, el sistema es ajeno a los problemas de transacciones bancarias típicas, en las que el tráfico tiene que estar protegido mediante cifrado para evitar robos. Esto no es un problema en Bitcoin, donde por definición, las transacciones son públicas.

Conclusión

En resumen, desde el punto de vista técnico, el sistema Bitcoin ha puesto en marcha unos mecanismos de autorregulación distribuida en un campo en el que parecía complicado hacerlo. Desde el punto de vista económico y social, crea un escenario totalmente nuevo, donde es difícil predecir qué efectos tendrá o cómo será su adopción. En una próxima entrega analizaremos los acontecimientos en la historia de Bitcoin que han influenciado su evolución, y que pueden servir para predecirla. También veremos que Bitcoin no proporciona anonimato en las transacciones, creencia común pero injustificada que ha espoleado en parte su uso para fines ilegítimos.