Guia completa sobre Bitcoins [Parte 1: Intro y Minería]

Bitcoins

Aunque las Bitcoins nacieron hace ya 4 años, están empezando a ponerse de moda ahora, y han pasado de ser un producto que se utilizaba únicamente en círculos de gente con conocimientos específicos de informática al público en general.

Este aumento del interés público, y por tanto de la demanda ha tenido una serie de repercusiones importantes en el mercado, incrementanto aun más el interés general, con muchísimos artículos en publicaciones como Forbes. Aunque empieza a haber mucha información al respecto, hay pocos sitios donde se explique de manera clara el concepto y los pasos a seguir para comprenderlo bien y poder empezar a trabajar con ello.

Concepto de Bitcoins

La característica más importante de las Bitcoins es que son nuevas, tanto que nunca hubo nada igual. Es posible hacer comparaciones, pero no hay absolutamente ningún sistema como las Bitcoins. Antes de empezar con la teoría es bueno saber la historia que hay detrás.

Este video expone de manera bastante adecuada los conceptos básicos de Bitcoins, y tiene subtitulos en Español:

Las Bitcoins nacen en 2009, pero no son una moneda emitida por un sistema central o gobierno. Aun así hay Bitcoins, por lo que alguien las tiene que emitir! El proceso es bastante complejo, por lo que intentaré centrarme en lo esencial. Crear bitcoins se suele llamar “bitcoin mining” (minería de bitcoins) por su similitud en cierto modo con la minería tradicional.

Minería de Bitcoins

La cuestión que menos gente entiende, y más se pregunta por Internet: Cómo funciona la creación de Bitcoins!? Voy a intentar explicarlo con las mínimas explicaciones técnicas.
Hay que entender tres conceptos clave:

  • Bloques
    Las transacciones de Bitcoins se aglomeran en grandes conjuntos de datos llamados Bloques. Dichos bloques están unidos de manera que cada bloque demuestra que el anterior era válido (Utiliza un procedimiento criptográfico con una probabilidad de fraude muy pequeña)
    Cuando realizas una transacción lo harás con Bitcoins en un determinado Bloque, y el programa que uses mostrará “X confirmaciones“, siendo X el número de Bloques que hay por delante del actual. Cuantos más bloques tenga delante más fiable es dicho Bloque, aunque sólo 1 ya es prueba más que suficiente hoy por hoy.
  • Hash
    No creo que esa palabra tenga traducción al Español. Un hash es lo que devuelve una función hash, dichas funciones se caracterizan porque a partir de una entrada producen siempre la misma salida, pero el proceso no se puede invertir. Pongamos un ejemplo, yo ejecuto una función hash sobre “Hola”, y obtengo “a7d6fgs7”. Nadie en el mundo debería ser capaz de descubrir que yo puse “Hola” para generar ese código, pero yo puedo demostrar que yo lo cree porque soy el único que sabe que se obtiene poniendo “Hola”. En la realidad es mucho más complejo, pero sigue ese patrón.
  • Dificultad
    Las Bitcoins contienen un “factor de dificultad”, un número que determina lo difícil que es encontrar un hash válido. Este factor se usa para regular la cantidad de Bitcoins que van apareciendo, ya que la idea es que aparezcan 6 Bloques por hora, o 10 minutos por Bloque (Estamos hablando globalmente) de manera que si más gente pone su ordenador a buscar Bitcoins esa dificultad se ajusta automáticamente para mantener esa velocidad.

Ahora que ya tenemos los conceptos más importantes vamos con el proceso de minería:
Lo más importante de todo: La minería no BUSCA BITCOINS, busca Bloques. Cuando encuentras un Bloque, la red te REGALA nuevos Bitcoins (De momento, luego entramos más en detalle sobre eso)

Hay una parte de cada Bloque que contiene datos aleatorios, los programas de minería de Bitcoins usan todos los datos del Bloque actual, y van probando con datos aleatorios del siguiente, hasta que descubren una cadena que cumple los requisitos (Debe ser menor que un cierto valor, determinado por la dificultad). Cuando un ordenador en algún lugar descubre un nuevo Bloque válido lo envía a la red de Bitcoin, la cual debe verificar la validez del Bloque. Si es válido el “minero” recibe una recompensa (Actualmente de 25 Bitcoins, aunque se divide a la mitad cada 210.000 Bloques) Algunas transacciones incluyen un pequeño “impuesto”, que también va al minero, la idea es que cuando la recompensa llegue a 0 haya suficientes transacciones para que siga siendo rentable la minería (Igual tienen que darle fondos mineros si no… jaja)

Cuando empezó el sistema había tan pocos mineros que la dificultad era muy baja, por lo que aparecían varios miles de Bitcoins al día. Hoy en día el equipamiento es mucho mejor y hay mineros en todo el mundo, por lo que subió mucho la dificultad. Con la nueva dificultad la probabilidad de que un ordenador de sobremesa “bueno” (El típico para jugar, con buena gráfica y un buen procesador) encuentre un bloque nuevo es muy baja, ya que hay demasiada competencia. Por tanto aparecieron los “mining pools” (grupos de minería), te unes a una de esas “cooperativas mineras”, aumentando la probabilidad de encontrar un Bloque, y os repartís las ganancias (Lo cual trae un nuevo montón de problemas…)

El hecho de que la dificultad vaya creciendo cada vez más no sólo se hace para mantener la producción bajo control, también evita el fraude. Como cada Bloque referencia al anterior, haría falta reescribir todos los Bloques desde los que vas a usar hasta el actual para que todos sean válidos y poder usar Bitcoins falsas. El coste computacional de dicha operación es enorme, por lo que reescribir una sóla transacción costaría millones de euros.

El sistema está diseñado para que la producción se pare al llegar a 21 millones de Bitcoins. A partir de ahí la minería será rentable sólo por los impuestos.

La minería está evolucionando cada vez más: Inicialmente se hacía en el procesador normal (Tu CPU, Intel i7 por ejemplo), después alguien escribió un programa que aprovechaba las tarjetas gráficas (GPU), las cuales son increíblemente mejores justo para las tareas que requiere la minería. A principios de 2013 se empezaron a distribuir placas ASIC (circuitos integrados que realizan funciones muy específicas) diseñados sólo para la minería. Son muy caros pero supuestamente alcanzan tasas de generación de hashes muy superiores a las de las GPU.

En estos momentos, para una persona normal y corriente, en su casa, no resulta rentable la inversión en electricidad, equipamiento e internet que requiere un ordenador para llevar a cabo la minería. Si trabaja cooperativamente en un grupo lo bastante grande habría que hacer los cálculos para ver si el porcentaje que le toca de la recompensa es suficiente para amortizar los gastos. Es MUY difícil obtener beneficios de la minería si se trabaja individualmente.

Aunque se habla de la red, y Bitcoins, no existe nada centralizado. Existe un código “oficial”, que todo el mundo puede ver, y que cuando mucha gente lo ejecuta conectados a Internet se encarga de regular el funcionamiento de todo el sistema. Esto es lo que les da el poder a las Bitcoins, ninguna agencia, gobierno o empresa puede bloquearlo, cerrarlo o prohibirlo, ya que funcionan igual que los torrents. Mientras una persona tenga una copia, seguirá vivo.

Otra pregunta muy típica: Vale, entiendo el proceso de minería, pero ¿Por qué es necesaria?

Hay dos razones por las cuales es necesaria:

• La minería permite que se puedan distribuir las Bitcoins sin autoridad central

Si hubiese un banco central, se podría distribuir la moneda fácilmente, ellos imprimen representaciones físicas de la moneda (billetes por ejemplo) y te los dan. Pero con Bitcoins eso no puede ocurrir, ya que no existe un banco central, por lo que se necesita algún mecanismo que evite que alguien “imprima” mil millones de golpe, y desplome el valor de la moneda.

• Resuelve el problema de los Generales Bizantinos

Esta parte es muy complicada de explicar, sin entrar en detalles la minería asegura que no puedas gastar la mima Bitcoin dos veces, o en dos sitios.

Siguiente:

Ahora que queda clara la minería vamos con el siguiente concepto: [Parte 2: Funcionamiento del sistema Bitcoin]

Acerca de Chevi

Programador de Chevismo
This entry was posted in General and tagged , , , , , , . Bookmark the permalink.