Minería bitcoin

DISCLAIMER: Si aún no leíste una introducción al bitcoin, hicimos una introducción sobre que es el bitcoin.

¿De donde viene el bitcoin?

Como todo en el mundo material, bitcoin no aparece de la nada, sino que se crea a través de un proceso de resolución de problemas matemáticos avanzados que se denomina comúnmente minería; dicho proceso se desarrolla en los primeros días con el poder de resolución de una computadora normal, y la recompensa son 12.5 bitcoins, el cual va directo a tus bolsillos como una recompensa por haber realizado dicho trabajo.

Icarus Bitcoin Mining. Licencia CC 2.0 Wikimedia Commons

¿Qué es la minería?

Es una analogía que se realizó con aquellas personas que trabajaban en las minas para extraer oro de la tierra para que alguien más también pueda usarlo. Los mineros ejecutan programas de computación con software y hardware especializado para automatizar el proceso de creación y seguridad de la red. Los mineros:

  • Colectan transacciones de la red
  • Validan las transacciones
  • Una vez validada, lo guardan en un conjunto de paquete de datos llamados bloques
  • Hacen un proceso llamado hashing para encontrar nuevos bloques
  • Suben los nuevos bloques a la red, añadiendo el bloque a la cadena de bloques, obteniendo una recompensa a cambio

Como se realiza el minado

Bitcoin como habíamos dicho no trabaja como una autoridad centralizada, trabaja como un equipo de nodos descentralizados quienes hacen el trabajo de cuidar y mejorar el proyecto en toda la red.

Esta parte del trabajo se llama minería.

Los mineros (quienes hacen minería) son los encargados de colectar las transacciones (ej: Pepe le pasó 0.01 btc a Pepa y Juan 1 BTC a Juana) en un conjunto de paquetes llamados bloque. Estos bloques se van juntando uno a uno en una red de transacciones llamada cadena de bloques o blockchain que no permite ningún tipo de conflicto de transacciones.

Esto es necesario aclarar ya que las personas pueden enviar y firmar dos transacciones en dos lados; imagina esto como escribir dos cheques pero no tienes fondos para las mismas. Lo que hace la cadena de bloques es determinar cual transacción cumple con todos los requisitos y cual no. Esto ayuda a prevenir la falsificación de transacciones.

Bitcoin hace difícil el proceso de crear bloques. En lugar de dejar a cualquiera que pueda hacer bloques, los mineros deben usar un proceso de hash criptografico para que el bloque reúna todos los requisitos necesarios para ser uno, este proceso también se le conoce como hashing. ¿Como sabemos cuando es bueno? Esa es la parte donde uno debe computar y analizar el bloque hasta que el protocolo decida que es lo suficientemente bueno y reúne todos los requisitos para poder subir el bloque.

La dificultad citada incrementa con el paso del tiempo haciendo cada vez más difícil encontrar un bloque. Anteriormente bastaba con una laptop para resolver los problemas pero hoy día requiere mucho más hardware especializado para el mismo.

No es todo. Además del hashing, el bloque contiene las transacciones válidas. Estas transacciones válidas fueron validadas por los mineros o de lo contrario no obtendrán ninguna recompensa.
Por ello, cuando alguien desea adquirir bitcoins uno no solamente compra una moneda, lo que hace es participar en un sistema de redes los cuales son bastante difíciles de producir. Supongamos que alguien tiene un bitcoin falso compitiendo con los otros validados, el bitcoin falso deberá engañar al resto de la red para que se vea como de confianza. ¿Qué produce todo este trabajo? Una red segura y resistente a la censura que pelea cada minuto en contra del fraude.

¿Que es la recompensa, como se obtiene y que se resuelve?

El proceso en sí (resolución de problemas, creación y recompensa) es bastante difícil de explicar pero utilizaremos un ejemplo (muy) simplificado para entender como funciona el problema en sí.

Primero juntamos los datos: Haciendo el hashing correspondiente encontramos que el hash del último bloque es (El bloque en sí, es mucho más largo pero por el bien del ejemplo lo simplificamos a 30 caracteres):

00000000000001adf44c7d69767585

Hay hashes que también están esperando ser incluidos. (Simplificado nuevamente):

5572eca4dd4
db7d0c0b845

Luego de ello tenemos también la nueva transacción y su correspondiente hash que hemos encontrado que nos da la recompensa (12.5 BTC):

916d849af76

Construimos ahora el nuevo bloque

Una vez que tenemos los datos anteriores, estamos listos para el nuevo bloque. Este contiene los hashes mencionados previamente y también del bloque previo a este. Ahora ¿como se ve realmente? A continuación se muestra una aproximación a como se verá:

00000000000001adf44c7d69767585--5572eca4dd4-db7d0c0b845-916d849af76--

A minar

¿Cuál es la meta? Completar el bloque con un nonce. La primera pieza es que el bloque nuevo inicia con 13 ceros, entonces asumimos que esa es la dificultad actual. Si bien bitcoin utiliza doble sha256 para hacer hashing, por el bien de este ejemplo se utilizará md5 para el hashing.

Iniciamos. Se intentará entonces nonce = 1, para iniciar el computo del hash. Se vería algo similar a:

> echo "00000000000001adf44c7d69767585--5572eca4dd4-db7d0c0b845-916d849af76--1" | md5sum 
8b9b994dcf57f8f90194d82e234b72ac

Primer intento. Mala suerte. Como se notará en el ejemplo anterior, el hash no tiene un 0, tiene un 8. Entonces se prueba con nonce = 2:

> echo "00000000000001adf44c7d69767585--5572eca4dd4-db7d0c0b845-916d849af76--2" | md5sum 
5b7ce5bcc07a2822f227fcae7792fd90

Tampoco. Mala suerte. Esta ocasión inicia con un número 5.

(… muchos intentos después)

Avanzamos hasta nonce = 16 y finalmente obtenemos el cero que estábamos buscando.

> echo "00000000000001adf44c7d69767585--5572eca4dd4-db7d0c0b845-916d849af76--16" | md5sum 
03b80c7a34b060b33dd8fbbece79cee3

Como se nota el hash inicia ya con 0 pero recordemos que previamente habíamos establecido que el nivel de dificultad es 13, quiere decir que necesitamos 13 ceros. Por lo que avanzaríamos hasta nonce = 208 y obtenemos:

> echo "00000000000001adf44c7d69767585--5572eca4dd4-db7d0c0b845-916d849af76--208" | md5sum 
0055e55df5758517c9bed0981b52ce4a

En dicho ejemplo, tenemos dos ceros y cuando encuentres una solución algoritmica para 13 ceros en lugar de dos ¡acabas de minar un bloque! Y se te da la recompensa correspondiente. Aquí vemos un hash del bloque #100 que tenía 8 ceros por delante:

000000007bc154e0fa7ea32218a72fe2c1bb9f86cf8c9ebf9a715ed27fdb229a

¿Qué pasa luego? Hayas resuelto o no, vuelves a identificar los hashes como lo hicimos anteriormente e inicia nuevamente un nuevo bloque. Recuerda que debes ser el más rápido de todos, estás compitiendo contra otros mineros que también buscan la resolución.

Aclaración: para no confundir, este es un diagrama muy muy muy simplificado. Si quieren más tecnicismo, sugiero buscarlo directamente en Bitcoin Wiki.

Mining Pool

Cuando dos o tres personas juntan su poder de minado y trabajan en un pool de minado, entonces estas personas, una vez que hayan resuelto los bloques, se les recompensa con bitcoins pero dividido cada quien por su poder de minado y el trabajo realizado. Generalmente muchas personas, al adquirir un equipo de minado, suelen conectarse a estos pools para empezar a minar.

Aunque Estados Unidos es el mayor usuario y tiene algunas de las legislaciones que muchos países toman como ejemplo, es China Continental el país con mayor poder de minería del mundo.

De hecho, si miramos a las mayores empresas de minería del mundo, si bien las que producen más ganancia se encuentran en Australia, es en Hong Kong y las regiones del suroeste de China donde se centran las mayores empresas mineras por las ventajas que el mismo país ofrece.

Bitcoin halving

Cada cierto número de bloques resueltos, se produce una reducción del número de recompensas de bitcoins. A este proceso se lo denomina bitcoin halving y lo que hace es llegar al número de bloque 210.000 y reducir el número de recompensa, la primera vez se realizó en el año 2012 cuando se redujo de 50 BTC a 25 BTC; luego en julio del 2016 ocurrió el segundo halving donde pasó de 25 a 12,5 BTC; y así seguirá realizandose cada cierto tiempo.

Hoy día, es impensable (e imposible siendo realista) minar con el poder de una notebook o computadora por más buena o excelente que pueda ser para tus tareas diarias, pues el poder que requiere hoy el minado es mucho más grande y si uno insiste en ello, puede llegar a sobre-calentar su equipo, consumir mucha más energía y por supuesto no se descarta la idea de que explote tu equipo por sobrecalentamiento.

¿Es rentable minar bitcoins?

Desde el año 2011 es imposible minar con GPU o CPU. Hoy día nos manejamos enteramente con ASIC. Para darte una idea, al momento de escribir esto bitcoin consume cerca de 18,500,000 terahash. Con esta cantidad de computo, tu computadora ni tu GPU generarán el suficiente balance entre el problema y el minero como para obtener ganancias. En resumen: una pérdida de tu tiempo y dinero.

Eso sí, hoy día existen productos industriales que explotan lo mejor de las ASICs; hay corporaciones enteramente dedicadas a la construcción de equipos de minería. Los mejores equipos son aquellos que tienen una ligera ventaja en cuanto al proceso en sí, a diferencia de los demás. La competencia en este mercado se volvió tan grande que cada trimestre se presenta cuasi-religiosamente nuevos productos y también introducen mejoras a la hora de hablar del software. La verdadera desventaja de utilizar estos equipos es que una vez actualizados los hardwares, los de la generación anterior tienden a convertirse en obsoletos en muy poco tiempo.

Equipos de minería

La compra de equipos y materiales para minería se encuentra disponibles en la red. Puedo recomendar algunos equipos de minería, dada mi experiencia como minero amateur y lo digo así pues nunca llegué a hacerlo profesionalmente pero heme aquí:

  • GekkoScience USB Miner
  • AntMiner S9

Bitcoin es virtual ¿o material?

Si bien hay procesos para mantener vinculado al bitcoin mediante un papel, la existencia misma del bitcoin se basa en que es una moneda virtual y por tanto vive en internet.

Si todo ello necesitáramos hacer un resumen, he aquí un video:


Este artículo utilizó como fuente a Mastering Bitcoin: 1ra Edición bajo Licencia CC 3.0. Este articulo, así mismo, utilizó las respuestas de eMansipater, Stephané Gimenez y Murch sobre minería bajo licencia CC 3.0

Anuncios

2 comments

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s