¿Qué es la minería? ¿Por qué en la gran mayoría de los casos, las tarjetas de video son más adecuadas para la minería de criptomonedas que una CPU? ¿Por qué los asics son tan buenos? En esta publicación, intenté en un lenguaje comprensible hablar sobre los conceptos básicos del lado técnico de la minería.
Para comprender la imagen general, la información se proporciona de forma simplificada, se omiten algunos detalles.
¿Qué es la minería?
Tome la
cadena de bloques de Bitcoin como ejemplo. Para simplificarlo tanto como sea posible, el poder de cómputo de las computadoras mineras tiene como objetivo cifrar las operaciones de transferencia de bitcoins de una billetera a otra.
¿Cómo se ve?
Supongamos que Satoshi Buterin envió 1 bitcoin de su billetera a la billetera de Vitalik Nakamoto. De acuerdo con la esencia de la cadena de bloques, debe
cifrar la información que contiene las direcciones de las billeteras de Satoshi y Vitalik, así como la cantidad de bitcoins transferidos. Aquí entra en juego el equipo de minería: necesita encontrar la opción de cifrado correcta.
De acuerdo con el algoritmo de hash SHA-256, en el que se construye la cadena de bloques de Bitcoin, debe hacer esto de una manera estrictamente definida. Por ejemplo, el algoritmo instruyó a encriptar la información para que el final de la cadena encriptada fuera cero. Un requisito similar proviene de los desarrolladores de criptomonedas: necesitan un cifrado con cierto símbolo para aumentar la resistencia al agrietamiento.
El hierro comienza a funcionar: para resolver este problema matemático mediante el método de selección. La información "billetera Satoshi Buterin ---> 1 BTC ---> billetera Vitalik Nakamoto" se convierte en una cadena encriptada como "dh523456l29e4f6ab42d99c81156d3a17228d6e1eef4139be78dgw5jh63f2348". Pero en esta opción, no hay cero al final. Luego, el hardware comienza a elegir una nueva opción de cifrado, agregando un símbolo a la información que no cambia su significado.
Tan pronto como se encuentra la combinación necesaria de cifrado, se escribe en la base de datos (blockchain) y, más específicamente, en una pequeña parte de esta base de datos, que se denomina bloque.
Brevemente sobre la cadena de bloquesBlockchain es una base de datos que es esencialmente un registro de transacciones. Sus ideas principales establecidas por los desarrolladores:
- dejar que haya un único registro de transacciones;
- que todos tengan una copia de la revista;
- encriptaremos todas las entradas de diario para que el enemigo no lo obtenga;
- Dividimos la revista en bloques y los conectamos en cadenas.
Una copia de esta base de datos (una copia de la cadena de bloques) se almacena en los discos duros de cada uno de los mineros, pero esta base de datos es de hecho un solo organismo: se actualiza y sincroniza en todas las computadoras. Por lo tanto, para descifrar la cadena de bloques, debe descifrarla inmediatamente en todas las computadoras conectadas a la cadena de bloques.
Los desarrolladores de blockchain de Bitcoin han determinado que el tamaño máximo de bloque no puede exceder ~ 1 Mb. Y para que el bloque se considere formado, debe llenarse con registros de transacciones cifrados. Una vez que se forma el bloque, la cadena de bloques genera automáticamente una transacción de emisión de bitcoins para recompensar al
minero por su trabajo.
Pero no piense que solo puede tomar y ordenar con calma mil combinaciones, encontrando la correcta. Más de una docena o incluso más de cien capacidades pueden "trabajar" en una tarea. Y quién será el primero, "eso y zapatillas". Resulta que mientras más poder de cómputo tenga, mayor será la posibilidad de ser el primero en encontrar la opción de cifrado correcta.
Pero un minero puede formar un bloque separado en su computadora durante mucho tiempo. Es poco probable que alguien esté satisfecho con la posibilidad de minar durante varios años sin interrupción, formando un solo bloque y luego recibiendo 12.5 bitcoins como recompensa (este es el número de bitcoins que ahora se emiten para la formación de un nuevo bloque). Por lo tanto, las personas reúnen su poder en piscinas. En este caso, la red de Bitcoin asigna una recompensa por los bloques formados no a un minero individual, sino a un grupo. El grupo, a su vez, distribuye las recompensas a los mineros individuales, de acuerdo con el tiempo gastado y el poder (menos la comisión).
¿Por qué tarjetas de video, no CPU?
La arquitectura del procesador de gráficos (GPU) y la unidad central de procesamiento (CPU) son muy diferentes. Las CPU modernas constan de 4-8 núcleos, lo que las hace adecuadas para resolver tareas grandes y complejas. Además, con esta arquitectura, pueden cambiar rápidamente de una tarea a otra.
Y los procesadores gráficos se crearon para resolver una gran cantidad de tareas pequeñas y simples. Por lo tanto, no consisten en un par de núcleos grandes, sino en miles de núcleos pequeños. De esta forma, es mucho más conveniente para ellos procesar millones de píxeles y polígonos. Pero realizar tareas complejas, además de cambiar de una a otra, es demasiado difícil para la GPU.
Los creadores de tarjetas de video inicialmente buscaron mejorar la imagen y su procesamiento en juegos de computadora. Y definitivamente no esperaban que una arquitectura similar de sus GPU fuera la más adecuada para la minería.
Después de todo, ¿qué es la minería? Esta es una enumeración de cientos de miles de combinaciones diferentes para el cifrado, que difieren en esencia por un solo carácter. Miles de núcleos de GPU pueden hacer frente a un trabajo tan simple y mucho más rápido que 4-8 núcleos de CPU inteligentes pero pequeños.
A modo de comparación: el núcleo de la CPU procesa ocho instrucciones de 32 bits por reloj (AVX). Y el procesador de la tarjeta gráfica Radeon HD 5970 procesa 3200 instrucciones de 32 bits por ciclo.
Pero hay dispositivos en los que la minería es aún más rápida: se denominan ASIC.
ASIC
Traducido del inglés, circuito integrado de aplicación específica significa "circuito integrado de propósito especial". Este es un equipo que está hecho para resolver un problema estrictamente específico. Si hablamos de ASIC para la minería, en esencia es "todo en uno": una unidad de fuente de alimentación, un dispositivo de enfriamiento y una pequeña placa en la que se encuentran las CPU, ROM, RAM y otros bloques. Y si las tarjetas de video no se crearon originalmente para minería, entonces dicho hardware se "afila" precisamente para esta tarea.
Tomemos, por ejemplo, la tarjeta gráfica AMD Radeon RX 580, que es popular entre los mineros de bitcoin. Cuesta alrededor de 26,000 rublos y su potencia de extracción es de 1.5 GH / s. Ponemos ASIC AntMiner R4 en contra: a un costo de ~ 100,000 p. Su capacidad es de 8.7 TH / s. La diferencia es obvia.
Antminer r4Además, los fabricantes de ASIC de minería los crean para la extracción de una determinada criptomoneda. Seleccionan componentes y configuran software en ASIC de tal manera que se las arregla mejor para resolver problemas de acuerdo con el algoritmo específico en el que se construye una criptomoneda específica (por ejemplo, SHA-256 para minar bitcoin). Es decir, en teoría, el asic para bitcoin se puede usar para
extraer otra criptomoneda , pero su rendimiento en este caso no será impresionante.
Pero si luego puede conectar la tarjeta de video a la computadora y jugar varios juegos con ella, entonces no puede hacerlo con el ASIC: instalan sistemas operativos muy simplificados en ellos, cuyas habilidades están especialmente diseñadas para la minería de criptomonedas.
Resumen
Presentamos la minería en el ejemplo de bitcoin en una forma simplificada e intentamos explicarlo de la manera más comprensible. Cabe señalar que para diferentes criptomonedas, las tarjetas de video de diferentes fabricantes son más adecuadas: una se adaptará más a Nvidia y AMD será la mejor solución para la otra. Esto se debe al hecho de que las criptomonedas se basan en diferentes algoritmos: la tarjeta de video cuyas características de diseño son las más adecuadas para cada una es la mejor.