La minería de Bitcoin es una parte crítica de la seguridad del sistema Bitcoin. El principio es que los mineros de Bitcoin agrupan un montón de transacciones de Bitcoin en un bloque y luego realizan repetidamente una operación de encriptación llamada Hash miles de millones de veces hasta que alguien encuentra un valor Hash objetivo especial. En este punto, el bloque se extrae y se convierte en parte de la cadena de bloques de Bitcoin. Las tareas hash no logran nada de valor por sí mismas, pero debido a que es muy difícil encontrar un valor objetivo exitoso a través de ellas, asegura que nadie tenga la capacidad y los recursos para hacerse cargo del sistema Bitcoin.
Una función Hash se refiere a tomar un bloque de datos y crear una salida más pequeña e impredecible. La función hash está diseñada para que no haya un "atajo" para obtener el resultado deseado: simplemente siga procesando bloques hasta que encuentre uno válido por fuerza bruta. Para Bitcoin, la función Hash es una función llamada SHA-256. Para brindar mayor seguridad, Bitcoin repetirá la función SHA-256 dos veces seguidas, proceso conocido como doble SHA-256.
En Bitcoin, un valor hash exitoso es un valor que comienza con suficientes ceros. Al igual que es raro encontrar un número de teléfono o una matrícula que termine con varios ceros, es raro encontrar un hash que comience con varios ceros. Pero la dificultad de Bitcoin aumenta exponencialmente. Actualmente, un hash exitoso debe comenzar con alrededor de 17 ceros. En otras palabras, encontrar un Hash exitoso es más difícil que encontrar un grano de arena entre todos los granos de arena de la tierra.
La siguiente figura muestra un bloque en la cadena de bloques de Bitcoin y su valor hash. Los bytes amarillos se codifican para generar un valor hash de bloque. En este caso, el valor hash generado comienza con suficientes 0, por lo que la extracción es exitosa. Sin embargo, Hash es difícil de obtener a la vez, en este caso, los mineros cambiarán el valor de nonce u otro contenido del bloque y luego intentarán una y otra vez.
El algoritmo hash SHA-256 utilizado por Bitcoin
El algoritmo Hash de SHA-256 toma un bloque de entrada de 512 bits (es decir, 64 bytes), cifra los datos y produce una salida de 256 bits (32 bytes). El algoritmo SHA-256 consiste en rondas relativamente simples repetidas 64 veces. La siguiente figura muestra una ronda que toma 8 entradas de 4 bytes: A a H, luego realiza algunas operaciones y genera nuevos valores de A a H.
Los cuadros azules mezclan los valores de forma no lineal, lo que dificulta el análisis criptográfico de los valores. Dado que el algoritmo utiliza varias funciones diferentes, es más difícil detectar el ataque. (Si puede encontrar un atajo matemático para generar un hash exitoso, puede hacerse cargo de la minería de Bitcoin).
Ma La mayoría de los cuadros miran los dígitos de A, B y C. Para cada posición, si la mayoría de los dígitos es 0, emite 0, de lo contrario, emite 1. Es decir, para cada posición de A, B, C, mire el número de 1 bits. Si es 0 o 1, salida 0, si es 2 o 3, salida 1.
El cuadro Σ0 invierte los dígitos de A para formar tres versiones invertidas, que luego se suman módulo 2. En otras palabras, la suma es 1 si el número de 1 bits es impar y 0 en caso contrario, y los tres valores de la suma son A invertidos 2 bits, 13 bits y 22 bits a la derecha, respectivamente.
El cuadro de "selección" de Ch selecciona el bit de salida de acuerdo con el valor de la entrada E. Si cierto bit de E es 1, el bit de salida es el bit correspondiente de F. Si cierto bit de E es 0, el bit de salida es el bit correspondiente de G. De esta forma, los bits de F y G se seleccionan aleatoriamente según el valor de E.
El siguiente cuadro Σ1 invierte y suma los bits de E, y es similar a Σ0 excepto que el desplazamiento es de 6 bits, 11 bits y 25 bits.
El cuadro rojo realiza una suma de 32 bits para generar nuevos valores para A y E, y la entrada Wt se basa en los datos de entrada con un poco de procesamiento. (Aquí es donde el bloque de entrada se introduce en el algoritmo). La entrada Kt es una constante definida para cada ronda.
Como se puede ver en la figura anterior, solo A y E cambian en una ronda. Otros valores se pasan sin cambios, el antiguo valor A se convierte en el nuevo valor B, el antiguo valor B se convierte en el nuevo valor C, y así sucesivamente. Aunque cada ronda de SHA-256 no cambia mucho los datos, después de 64 rondas, los datos de entrada estarán completamente codificados.
¿Qué significa esto para el hardware de minería?
Cada paso de SHA-256 es muy fácil de implementar en lógica digital: operaciones booleanas simples y adiciones de 32 bits. (Si has estudiado electrónica, probablemente ya puedas visualizar circuitos). Por esta razón, los chips ASIC personalizados pueden implementar el algoritmo SHA-256 de manera muy eficiente en hardware, colocando cientos de rondas en paralelo en un solo chip.
Por el contrario, Litecoin, Dogecoin y altcoins similares utilizan el algoritmo Crypt Hash, que está diseñado intencionalmente para que sea difícil de implementar en el hardware. Almacena 1024 valores hash diferentes en la memoria y luego los combina de forma impredecible para obtener el resultado final. Por lo tanto, Scrypt requiere más circuitos y memoria que SHA-256 Hash. Puede ver el impacto mirando el hardware de minería, Scrypt (Litecoin, etc.) calcula miles de veces más lento que SHA-256 (Bitcoin).
El algoritmo SHA-256 es sorprendentemente simple y fácil de hacer manualmente. (El algoritmo de curva elíptica utilizado para firmar transacciones de bitcoin sería difícil de calcular a mano porque tiene muchas multiplicaciones de enteros de 32 bytes). Hacer una ronda de SHA-256 a mano me tomó 16 minutos y 45 segundos. A este ritmo, se necesitan 1,49 días para hacer hash de un bloque completo de Bitcoin (128 rondas), para una tasa de hash de 0,67 por día (aunque puede que sea más rápido con la práctica). Por el contrario, el hardware de minería de Bitcoin actual puede generar varios billones de hashes por segundo, lo que es unas 50 millones de veces más rápido que mi hash manual. No hace falta decir que la minería manual de bitcoins simplemente no es práctica.
Un lector de Reddit preguntó sobre mi gasto de energía. De hecho, no requiere mucho consumo de energía, por lo que suponiendo que la tasa metabólica en reposo es de 1500 kcal/día, el consumo de energía del hachís artificial es de casi 10 MJ/hachís. El consumo de energía del hardware de minería general es de 1000 MJ/Hash. Por lo tanto, soy 10¹⁶ menos eficiente energéticamente. El siguiente problema son los costos de energía. Una fuente económica de energía alimentaria son las donas, que cuestan $0,23 por 200 kcal. La electricidad aquí cuesta $0,15/kWh, que es 6,7 veces más barata, más cerca de lo que esperaba. Entonces, mi costo de energía por hash es aproximadamente 67 veces mayor que el del hardware de minería. Obviamente no me voy a hacer rico con la minería artificial, y ni siquiera he incluido el costo de todo el papel y los lápices que necesitaré.
Por Sayjad Hussain
Traducción: Li Hanbo
Editor: Olivia
Tags:
En los últimos años, a medida que la tecnología de cadena de bloques se ha vuelto más madura, se ha prestado cada vez más atención a los riesgos que conlleva. En la actualidad.
El artículo es aportado por el jefe del Grupo de Cocina.
Noticias de Golden Finance Blockchain 6 de octubre Aunque el oro es el objetivo de inversión con la tasa de retorno más alta en la última década, Bitcoin aún supera al oro en 2020. Los datos muestran que.
La minería de Bitcoin es una parte crítica de la seguridad del sistema Bitcoin.
¿Puede el arte blockchain convertirse en un símbolo cultural de la industria del cifrado?A partir del 1 de octubre, habrá un trabajo completamente nuevo: un "registro" enorme y atractivo en la galería Christie's.
A los ojos de muchas personas, lo más destacable de la moneda digital es la descentralización. Por un lado, la descentralización puede proteger la propiedad privada de ser violada.
El desarrollo de varias monedas en la industria de las criptomonedas ha sido desigual, pero la industria de las monedas estables, como parte del ecosistema de las criptomonedas, ha ido ganando impulso. Tether.