Bitcoin Mining, la generación de bitcoins

Publicado por Andrea Navarro en

MiningLa creación de divisas es una parte fundamental de la economía  , en el caso de el dinero tradicional los gobiernos deciden cuanto dinero debe crearse y a que ritmo. En el caso de Bitcoin no existe ente regulador ya que se trata de un sistema descentralizado. Para poder generar nuevos Bitcoins debe realizarse un proceso llamado minado(mining) siendo denominadas las personas que realizan este trabajo mineros.

 

¿Qué es el mining?

El mining o minado consiste en aprobar y agregar los registros de transacciones de Bitcoins a la cadena de bloques.

Cadena de bloques

La cadena de bloques es un registro publico de todas las transacciones ocurridas en la red, esta cadena se encuentra en todos los nodos de la red, al realizarse una transacción esta debe aprobarse antes de ingresarse a la cadena evitando así transacciones fraudulentas donde se intenten reutilizar bitcoins que ya han sido gastadas en otra transacción o inexistentes.

Cadena de bloques, mining

Cadena de bloques duplicada en cada nodo de la red

Al minar se aumenta la seguridad de la red logrando un consenso entre todos los nodos participando y como recompensa se le asigna al minero bitcoins nuevos que pasan a formar parte de el total en circulación.

¿Cómo funciona el minado?

El proceso de minado esta diseñado para consumir recursos y tiempo manteniendo de esta manera la cantidad de bloques generados sea estable. Para demostrar que el minado se ha realizado siguiendo las pautas indicadas deben tener una prueba de trabajo válida que será verificada por otro nodo de la red.

Prueba de trabajo

La prueba de trabajo es un conjunto de datos que cuesta trabajo y tiempo producir y debe cumplir con ciertos requerimientos. Bitcoin utiliza hashcash, un algoritmo criptográfico que utiliza la función hash para generar un bloque. Cada bloque contiene el hash del bloque anterior creando de esta manera la cadena. Si se quiere modificar un bloque y que sea tomado como valido debería generarse el bloque anterior y por lo tanto el anterior a este y así sucesivamente lo que asegura la fidelidad de las transacciones.

Cadena de bloques, mining

Cadena de bloques

La dificultad de la creación de cada bloque es recalculada  2016 bloques y es ajustada para que el tiempo de minado de un bloque tenga un promedio de 10 minutos. Al ingresar nuevos mineros o aumentar su capacidad de minado más bloques son creados al día, el promedio disminuye y el algoritmo aumenta la dificultad de creación lo que estabiliza nuevamente el promedio.

¿Cómo minar?

Inicialmente era posible minar bitcoins utilizando CPUs , para acelerar el proceso los mineros utilizaban GPU, estas permitían una extracción más rápida pero al mismo tiempo requerían más energía y sistemas de enfriamiento lo que hacia que la minería no fuera rentable.

Maquina para bitcoin mining

Máquina basada en ASIC para minado de Bitcoin

La siguiente generación utilizó circuitos integrados de aplicación especifica (ASIC) que pueden ser programadas específicamente para la minería requiriendo menos energía y tiempo. Software para minería ASIC son BFGMiner y CGMiner. En la actualidad se vende hardware diseñado específicamente para la minería de Bitcoins como AntMiner S7, Avalon6, SP20 Jackson.

AntMiner S7 para mining

AntMiner S7

Al aumentar la dificultad del minado se vuelve cada vez más difícil para los mineros individuales encontrar un bloque por lo que se generar mining pools donde varios mineros se organizan en grupos y comparten las ganancias obtenidas de manera equitativa. CGMiner es un software que permite minar en un mining pool.

Finalmente existen empresas de minería que proveen contratos de minería en la que se le alquila al cliente una capacidad especifica de minería por un tiempo determinado.

Espero que le sirva este resumen, para aprender más sobre Bitcoin y su minado les aconsejo la Wiki de Bitcoin.

¡Hasta la pŕoxima!


¿Preguntas? ¿Comentarios?

Si tenés dudas, o querés dejarnos tus comentarios y consultas, sumate al grupo de Telegram de la comunidad JuncoTIC!
¡Te esperamos!


Andrea Navarro

- Ingeniera en Informática - Docente universitaria - Investigadora