¿Qué es la minería de bitcoin? apareció originalmente en Quora: un lugar para adquirir y compartir conocimiento, y mejor entender el mundo. Respuesta por Jose Pineda, enamorado del Bitcoin desde 2014:

Las transacciones en la red bitcoin se propagan en un modelo “broadcast” sobre internet, donde cada cliente (el de la PC o el del celular) anuncia a todos los nodos en la red su transacción deseada, pero éstas no se “reconocen” oficialmente hasta que son registradas en un “bloque”.

Estos bloques son un conjunto de todas las transacciones (de la cuenta X salieron 5.34 bitcoins para la cuenta Y, además de 2.3 para la cuenta Z) que ocurrieron en aproximadamente los 10 minutos anteriores. Estas transacciones van firmadas digitalmente con las llaves privadas de los dueños de las cuentas origen para garantizar que verdaderamente fueron ellos quienes las iniciaron. Un bloque es un “paquete” de transacciones.

Estos paquetes tienen un número de folio y una referencia hacia el bloque anterior a ellos mismos, al que se refieren no sólo por su número, sino también por la suma de verificación del bloque anterior por si hay do o más bloques compitiendo a ese nivel, explicaré adelante. ¿Quién es el responsable de compilar las transacciones y anexarlas a la historia oficial de transacciones bitcoin? ¡Los mineros!

Pero, ¿todos y cada uno de ellos? Aquí está la parte interesante: cada bloque, además de empaquetar las transacciones de los aproximadamente los 10 minutos anteriores, va también firmado digitalmente por el minero que lo creó, quien además agrega una transacción más donde se auto asigna como premio un cierto número de bitcoins “nuevas”. Como obviamente todos los mineros quisieran ser el o la privilegiada con recibir estas monedas como compensación a sus esfuerzos, el sistema los pone a todos a competir. ¿Cómo?

Al compilado de transacciones le deben de agregar, al final, una pequeña cadena al azar de forma que la suma de verificación del paquete completo tenga por lo menos una cierta cantidad de ceros al principio (el número de ceros que debe tener se conoce como “nivel de dificultad”). El algoritmo usado para estas sumas de verificación (SHA-256) no tiene una reversa determinística conocida (esto es a propósito), por lo que buscar esa cadenita mágica -el “nonce”- se vuelve básicamente una búsqueda de fuerza bruta entre millones de posibles combinaciones, con cada minero buscando por su lado esperando encontrarla primero que los otros.

Eventualmente un minero descubre un nonce adecuado y anuncia su descubrimiento a la red. Los demás mineros validan que el nuevo bloque, digamos, el #2 sea válido. Y cuando es válido tienen dos opciones: reconocerlo como el siguiente bloque en la historia oficial de transacciones y ponerse a buscar el bloque #3 con las transacciones más recientes, o quedarse en la necia buscando producir su propio bloque #2.

Si al menos el 51% de la red reconoce como válido el primer bloque #2, las probabilidades de que produzcan el bloque #3 antes que el minero “necio” encuentre su propio bloque #2 son muy altas. Y si esto ocurre, el minero terco está perdiendo tiempo y electricidad en seguir buscando crear su propio bloque #2 cuando la mayoría de los demás mineros ya están buscando crear el bloque #4 – así que los mineros tienen un incentivo para reconocer la opinión de la mayoría y no obcecarse. Pero ocasionalmente pasa que 2 mineros en puntos opuestos del planeta encuentran su propio bloque #2 casi al mismo tiempo, y por el retraso en la propagación de información, aproximadamente la mitad de los nodos reconocen como válido uno y la otra mitad al otro. ¿Qué pasa en ese caso?

Entramos en una competencia informal entre ambos grupos de mineros por ver quien extiende la cadena más rápido: si ambas mitades hallan su propio bloque #3 más o menos al mismo tiempo el problema persiste, pero si una lo encuentra un poco más rápido que la otra entonces los mineros de la mitad que perdió se olvidan del bloque #2 que habían reconocido originalmente y pasar a reconocer como oficial al bloque #2 que viene con el nuevo bloque #3, el bloque #2 que habían reconocido originalmente queda “huérfano” y es borrado de la lista oficial de transacciones de bitcoin.

Observa que la creación de paquetes no está fija a cada 10 minutos: puede darse un poco antes o un poco después. El sistema bitcoin toma en cuenta el tiempo promedio en que están creándose los nuevos bloques y, si este es demasiado rápido (digamos, uno cada cinco minutos) eleva el nivel de dificultad. Si por el contrario los bloques están apareciendo mucho más lento que cada 10 minutos (digamos, aparecen cada 15 o cada 20 minutos) entonces baja el nivel de dificultad, buscando siempre acercarse al ideal de 10 minutos lo más posible.

Esta pregunta apareció originalmente en Quora, un lugar para adquirir y compartir conocimiento, capacitando a la gente aprender unos de otros y comprender mejor el mundo. Puedes seguir a Quora en Twitter y Facebook. Más preguntas:   Las opiniones expresadas son sólo responsabilidad de sus autores y son completamente independientes de la postura y la línea editorial de Forbes México.

 

Siguientes artículos

Familias mexicanas gastan 3,000 pesos por hijo en regreso a clases
Por

Las familias mexicanas tienen en promedio de dos a tres hijos en edad escolar, lo que aumenta los gastos en esta época,...