La fortuna Satoshi
Tras diversos analisis y reportes interesantes en transacciones de blockchain para Bitcoin no hay tema más interesante y misterioso que el fundador conocido por el alias Satoshi Nakamoto. Pude hacer la estimación más precisa del número de bloques extraídos y bitcoins propiedad de Satoshi: 1.125.150 bitcoin extraídos hasta el bloque 54.316con un valor total estimado de bitcoin no gastado de al menos $ 10.9 mil millones de dólares en el mercado actual. Además del tamaño de su fortuna, también pudimos deducir el propósito del minero de Patoshi: defender a la joven red de los ataques.
La minería es fundamental para el funcionamiento de la red de Bitcoin, lo que garantiza que las transacciones se ejecuten de forma segura. Para que se procese una transacción, uno de los muchos mineros debe agruparla en el bloque que ha extraído. La fuerza de la red de Bitcoin se correlaciona positivamente con la cantidad de mineros: más mineros significa una red más segura, más confiable y más resistente a los ataques. En pocas palabras, la minería es un juego de adivinanzas en el que los participantes tratan simultáneamente de adivinar un número enorme. El ganador puede minar el bloque y reclamar la recompensa del bloque (50 bitcoins por bloque en los primeros días) y, además de las transacciones, otros detalles relacionados con el proceso de minería, como los valores nonce y extranonce (utilizados por el minero durante el proceso de minería), se agregan al bloque. En 2013 Sergio Demian Lernerdescubrió que había un patrón distinto visible en este valor extranonce en la transacción coinbase (la transacción en la que se crea el bitcoin recompensado por minar un bloque) de cada bloque.
Figura: El Patrón Patoshi.
La figura de arriba muestra los valores de extranonce en alturas de bloque por debajo de 20,000 con cada bloque representado por un punto y creando un patrón distintivo similar a una sierra. Lerner argumentó que las líneas diagonales son creadas por mineros que utilizan el software estándar de bitcoin publicado públicamente: las líneas rectas que dejan atrás son el resultado de que el minero incremente la extranonce durante su propio proceso de minería o cada vez que se extrae un nuevo bloque en la red. . El patrón de sierra distintivo se crea al restablecer el valor de extranonce a cero, lo que sucede cada vez que se reinicia un minero. Las líneas casi verticales del gráfico se han atribuido a un minero al que Lerner llamó Patoshi. Sabemos con certeza que Patoshi fue operado por Satoshi, porque su patrón surge en el mismo nacimiento de la red y extrajo el bloque que creó los bitcoins enviados aHal Finney . Lerner encontró pruebas adicionales para sus afirmaciones en los nonces (otro valor utilizado en el proceso de minería que también se almacena en cada bloque, pero es diferente del extranonce) de los bloques extraídos por el minero de Patoshi: el último byte del nonce siempre fue dentro de los rangos de 0 a 9 o de 19 a 58, mientras que todos los demás mineros usaron el rango completo de 0 a 255. Este descubrimiento facilitó la atribución de bloques a Patoshi al eliminar los que tenían nonces fuera del rango. Sin embargo, la atribución de bloques siguió siendo difícil en las intersecciones de Patoshi y los patrones de minero estándar, especialmente después del bloque 20,000, después del cual la cantidad de mineros activos aumentó considerablemente.
Figura: El patrón de Patoshi se vuelve más claro cuando se ajusta para rangos extranonce.
Sospechábamos que el rango limitado del último byte de los nonces era el resultado de dividir el trabajo entre varias computadoras o núcleos de CPU, y cada uno usaba un número diferente para evitar la duplicación del trabajo. Con esto en mente, verificamos si hubo alguna variación dentro del rango como resultado de la adición o eliminación de la capacidad de extracción y descubrimos que, de hecho, cambió con el tiempo. Por ejemplo, el rango [0–9][19–58] solo se usó durante los primeros 18 015 bloques y luego se redujo a [0–9][19–48] hasta el bloque 21308, y lo mismo sucedió para períodos de bloques posteriores ( rangos por período de bloque enumerados en la tabla a continuación) (Hallazgos similares se han descrito en este blog anónimo). Nuestra investigación también reveló algunos detalles nuevos e interesantes: entre los bloques 21 467 y 25 777, el rango [0–9] solo se usó al comienzo de cada cadena de Patoshi (cada cadena es una sola ejecución del minero y, por lo tanto, una sola línea en la anterior). gráfico) y el número 39 solo se usaba esporádicamente. Entre los bloques 25.811 y 54.316 falta por completo el número 29 en algunas cadenas. Estas anomalías podrían indicar que ciertas computadoras o núcleos estaban defectuosos o apagados durante estos períodos. Estos hallazgos nos permitieron excluir aún más bloques que no fueron extraídos por Satoshi y nos brindaron una imagen más clara (consulte la figura anterior), que fue especialmente valiosa en alturas de bloque más altas donde la actividad minera en la red aumentó drásticamente.
Tabla : Los rangos para las terminaciones de nonce de Patoshi por período de bloque.
La atribución mejorada de los bloques de Patoshi nos permitió determinar con precisión la velocidad de extracción promedio para el minero de Satoshi y, sorprendentemente, descubrimos que los cambios en el rango final de nonce no se correlacionaron con los cambios en la velocidad de extracción: la velocidad de extracción promedio se mantuvo increíblemente constante durante largos períodos de tiempo. . Por ejemplo, para todo el rango de bloques entre la altura 2000 y 16 000, el número promedio de bloques extraídos por Patoshi por hora fue casi exactamente 0,6 por 10 minutos, aunque el número de mineros varió mucho durante este período. De los datos se desprende que el minero de Patoshi ajustó su velocidad entre bloques para mantener el promedio; cuando una cadena de Patoshi creaba más de 0,6 bloques/10 minutos, el tiempo de bloque para el siguiente bloque de Patoshi era en promedio menor y viceversa.suficientes bloques para que otros los extraigan. A medida que más mineros “ honestos “ se unieron a la red y un ataque del 51 % se volvió menos probable, Satoshi pudo reducir gradualmente sus actividades mineras. En segundo lugar, Satoshi afirmó que el tiempo de bloque ideal era de unos 10 minutos.y al controlar suficiente potencia de procesamiento, fue posible mantener artificialmente el tiempo de bloqueo en este momento cuando no había suficiente o demasiada actividad en la red. Sospechamos que Patoshi estaba compuesto por al menos 48 computadoras, con una máquina para la coordinación y más en espera en caso de un ataque, lo que explicaría el rango faltante de [10–18]. Tan pronto como Satoshi consideró que la red era lo suficientemente fuerte, redujo los bloques de Patoshi por objetivo de 10 minutos para dar a otros una mejor oportunidad de minar un bloque.
Figura: Bloques extraídos cada 10 minutos por cadena Patoshi (más de 20 bloques).
Conocer los rangos cambiantes de nonce nos permitió atribuir más bloques a Satoshi y con mayor certeza: un estimado de 22 503 de los primeros 54 316 bloques extraídos. Para 50 de estos bloques se han gastado las transacciones de coinbase (o recompensas mineras), una de las cuales ciertamente la realizó Satoshi en una transacción de 10 BTC a Hal Finney . 31 de los bloques gastados son posibles falsos positivos, lo que significa que coincidieron con la ‘huella digital’ de Patoshi por casualidad y pertenecen a un minero diferente. Estamos seguros de que 18 de los bloques gastados pertenecían a Satoshi, lo que hace que el total gastado por Satoshi sea de 907 BTC (el precio por BTC era inferior a $0,01 USD en el momento de estas transacciones) y deja 1 122 693 BTC sin gastar.
El objetivo de esta investigación no era solo averiguar cuánto, sino también por qué Satoshi estaba minando de esta manera particular. ¿Satoshi dejó de minar con el minero Patoshi después del bloque 54,316? Es imposible saber si el software de minería se cambió y se volvió indetectable como resultado o si Satoshi continuó minando usando el software de minería disponible públicamente. Se han encontrado algunas anomalías en los bloques superiores, como la representación excesiva de nonces que terminan en [0–9] después del bloque 70 000 y un patrón extraño que utiliza los mismos rangos entre los bloques 109 500 y 112 500, pero por el momento es seguro decir que el El minero de Patoshi se apagó en mayo de 2010. El momento del cierre, el comportamiento de la minería, la disminución sistemática en la velocidad de minería y la falta de gasto sugieren fuertemente que Satoshi solo estaba interesado en hacer crecer y proteger la red joven. Los bitcoins extraídos por Patoshi posiblemente fueron un mero subproducto de estos esfuerzos y es poco probable que el resto se gaste alguna vez, aunque la pregunta sigue siendo por qué Satoshi simplemente no los quemó en este caso. Nuestros hallazgos no excluyen la posibilidad de que Satoshi también estuviera ejecutando un minero utilizando el software lanzado públicamente, aunque solo sea con fines de prueba, y creemos que es probable que al menos uno de los patrones que no son de Patoshi también pertenezca a Satoshi.
Nota: según nuestra investigación, Satoshi ha extraído y gastado los siguientes bloques: 9, 286, 688, 877, 1760, 2459, 2485, 3479, 5326, 9443, 9925, 10645, 14450, 15625, 15817, 19093, 23014 , 28593 y 29097.
Figura: un primer plano del patrón Patoshi ampliado.