Los mineros y la cadena.

En su día intenté minar bitcoins y me costó un ordenador que se quemó después de que un día, al cabo de una hora y media de haberlo puesto en marcha,  el sonido que hacía indicaba que era “demasiado arroz para tan poco pollo”.

Fue a finales de 2012 y la minería de bitcoins comenzaba a ser algo serio. Los recursos necesarios para minar se basan en la electricidad y la capacidad de cálculo, o la potencia del equipo que usemos. Hoy en día, debido a los beneficios que ofrece, la competencia es brutal y existen grandes granjas de minería repartidas por el mundo.

La práctica de la minería es un mundo aparte y muy arriesgado. Técnicamente es complejo,  y requiere de inversiones elevadas si se quiere tener éxito, por lo que conviene estar muy seguro de lo que se hace si nos queremos dedicar a ello. Dicen que el trabajo del minero no termina nunca.

Ahora no voy a profundizar en la materia más que lo suficiente como para intentar explicar por qué su papel es importante en el funcionamiento de Bitcoin.

Recordemos que la cadena de bloques es el libro mayor que conserva el balance de los monederos de todos los usuarios de la red. La cadena está distribuida en copias exactas, en los ordenadores de los usuarios que deseen conservarla. Es pública y por lo tanto transparente. Conserva todas las transacciones realizadas, desde la primera que se hizo Satoshi a si mismo generando el primer bloque, o genesis block.

Un bloque contiene las transacciones realizadas en los últimos 10 minutos previos a ser añadido éste a la cadena. Solo puede llegar a albergar hasta 1Mb de información (transacciones). Al unirse a la cadena se añaden a él otros datos que certifican la hora exacta a la que se ha producido la unión (timestamp), y una referencia al bloque anterior denominada “hash”.

Un hash lo podemos imaginar cómo una batidora con dos puertas. Lo que metemos por la puerta de entrada se desmenuza en forma de otra cosa distinta antes de salir por la otra. Sale con un formato distinto pero en esencia contiene lo mismo que habíamos introducido.

En el caso de nuestro hash, la batidora es un problema matemático basado en la información del bloque anterior, por cuya solución compiten los mineros de forma continuada introduciendo al azar posibles resultados, a la espera de que uno de ellos coincida con la única solución al problema. El que la encuentra consigue unir el nuevo bloque a la cadena mediante el hash resultante que, desde ese momento, llevará toda la información de este bloque, más toda la información del bloque anterior. Así sucesivamente.

12-30-2015 Post03Pict -

De forma automática y sin descanso este efecto se produce, aproximadamente cada 10 minutos, en la red Bitcoin desde que Satoshi minó el genesis block.

Al encontrar la solución a un nuevo bloque el minero la transmite y es comprobada por todos los usuarios. En caso de que estén de acuerdo se produce el consenso sobre la veracidad de toda la cadena y se une el nuevo bloque El minero que ha encontrado la solución es recompensado con las cuotas de las transacciones incluidas en el bloque, más 25 bitcoins que se crean en ese instante. La transacción que crea los nuevos bitcoins se denomina coinbase y su nominal se divide por dos, cada cuatro años, mediante un proceso denominado halving, asegurando una distribución deflacionaria y predecible de los bitcoins que habrá en circulación.

La dificultad de resolver el problema que plantea cada nuevo hash para unir el siguiente bloque a la cadena, incrementa o disminuye según sea la cantidad de mineros que haya trabajado en solucionarlo durante ese periodo. Bitcoin lo detecta por la potencia que aportan al sistema y ajusta la dificultad antes de comenzar la ronda.

El hecho de que el tiempo en encontrar la solución a un nuevo bloque sean 10 minutos aproximados, y no 10 exactos, se debe a que la dificultad se ajusta mediante el cálculo de probabilidades. El azar provoca que algunos bloques se enlacen antes de lo previsto.

Mediante este sistema, un posible agresor, o falsificador de transacciones, se verá obligado a gastar muchísimos recursos para descifrar todos los hashes de la cadena, disponiendo un margen de solo diez minutos para  hacerlo y añadir información fraudulenta en su beneficio. Pasado este tiempo, tendrá que volver a gastar más recursos en el siguiente intento, ya que la cadena será un bloque más larga, y así sucesivamente.

Además, el ataque solo sería posible si los recursos del supuesto agresor superasen a los empleados por más del 50% de los usuarios de la red. Teniendo en cuenta que la potencia de la red Bitcoin supera hasta en 8 veces a las 500 super-computadoras más potentes del mundo juntas, la tarea de atacar la red se convierte en algo prácticamente imposible. A un agresor que llegase a reunir los recursos suficientes, le sería mucho más rentable utilizarlos para minar bitcoins con la posibilidad de conseguir 25 cada diez minutos.

La tecnología de la comunicación define los protocolos como métodos de transmisión de datos, basados en normas arbitrarias que son específicas de cada uno de ellos. Se trata de reglas básicas que refieren a la forma en que se empaqueta la información, y en cómo se sincronizan el receptor y el transmisor para la transmisión de un mensaje. Dicho de otra forma, para enviar un mensaje a través del protocolo de un servicio de transmisión hemos de cumplir sus reglas, y por eso jamás podremos enviar un mensaje desde WhatsApp para que lo reciba otro usuario en Skype.

No recuerdo donde leí que en la actualidad existen tantos protocolos, que no hay cabeza en el mundo capaz de memorizar todos sus nombres.

Bitcoin es el primer protocolo que garantiza de forma autónoma el consenso entre todos sus usuarios, sobre la veracidad de los mensajes que se transmiten por su red. Lo hace a través de la participación voluntaria, y para garantizar el trabajo requerido sin depender de terceras partes que podrían discriminar, censurar o manipular su contenido, incentiva a los usuarios que aportan recursos propios al sistema. Dicho incentivo son unos cupones electrónicos llamados bitcoins, que son creados de manera deflacionaria al asegurarse cada archivo. De esta forma se consigue que el resto pueda confiar en el funcionamiento de la red, y en la distribución de la cantidad fijada de bitcoins que se crearán mediante este método. Un protocolo cuyo nombre será difícil de olvidar.

El precio de un bitcoin, según lo escribo, es de 360 dólares. Si tienes uno ahora mismo, solo tú puedes decidir qué hacer con él, y nadie te lo puede quitar en caso de que solo tú conserves la llave privada del monedero. Su valor solo depende del que le dé otra persona que lo quiera intercambiar contigo, desde cualquier parte del mundo, por otro bien que a ti te pueda interesar. Si decides transferirlo lo podrás hacer en cualquier momento y tardará tres segundos en llegar, y unos 20 minutos en confirmarse la transferencia para que su destinatario pueda disponer de él. La transferencia solo te costará 0,03 euros aunque en lugar de un bitcoin enviases millones, o solo una centésima.

Esta es una explicación poco científica pero con la que espero podáis haceros una idea de cómo funciona la cadena de bloques, y del papel de la minería en el proceso de construirla y asegurarla a través de su protocolo. Aunque no hace falta saber todo esto para usar bitcoin, oiréis hablar del algoritmo “Proof of work” y de su componente el hash criptográfico SHA-256.

Bitcoin reúne varias disciplinas complicadas de entender, pero por su potencial y por la cantidad de problemas que resuelve tan eficientemente en un solo programa, resulta sorprendentemente sencillo y elegante comparado con la complejidad de los sistemas bancarios, que a su lado resultan obsoletos.

La criptografía es quizá la más complicada y entra en juego también en el funcionamiento de los monederos, que de momento dejo pendiente para otro artículo.

A los que os pueda interesar os dejo un vídeo que explica de forma sencilla el concepto de la criptografía de llave pública, o de doble llave, ideada por Whitefield Diffie  y Martin Hellman en 1976. El vídeo, aunque está en inglés, lo explica utilizando colores antes de meterse en la matemática, por lo que entender el concepto resulta más sencillo.

Pliego de descargas:

Bitcoin es un experimento y nada de lo que hayas leído representa la intención de aconsejarte, o de influir en tus decisiones respecto a tus inversiones, o a tu economía personal. El propósito de los artículos de este blog es el de explorar un nuevo ecosistema tecnológico, aprendiendo sobre sus posibilidades, sus propiedades y características innovadoras.