El estado de la minería en las criptomonedas, parte I

0
Una de las razones por las que empezamos Obelisk fue porque percibimos que los desarrolladores de monedas en general tenían una visión muy pobre sobre el mundo de la minería. Creímos, entonces, que la mejor manera para entenderlo sería ensuciándonos las manos y trayendo una unidad minera al mercado. Desde que comenzamos Obelisk, hemos aprendido mucho sobre el campo de la minería, así como de las Unidades de Procesos Gráficas (GPU), de los ASIC, de las Matrices de Puertas Programables (FPGA), de los sistemas resistentes a los ASIC, de las granjas de minería, de la electricidad y de toda una serie de otros temas que los desarrolladores de monedas deberían tener presentes. No podemos compartir todo lo que sabemos, pero hemos juntado información de acuerdo a ciertos puntos clave, que pienso serán de ayuda para los diseñadores de criptomonedas y otros miembros de la comunidad de divisas electrónicas.

La resistencia ante los ASIC

Hemos sido pesimistas con respecto a la resistencia ASIC por mucho tiempo y nuestra aventura al experimentar en el mundo del hardware confirmó contundentemente nuestra posición. El hardware es extremadamente flexible. Los dispositivos computacionales con propósitos generales como los CPU, GPU, e incluso los DRAM, reducen sustancialmente su verdadero potencial para ser útiles en la computación cotidiana. Para el desarrollo básico de hardware, se puede optimizar a la mayoría de algoritmos solo con retirar toda la generalidad y concentrarse en una cosa específica. Casi todos los algoritmos resistentes a ASIC fueron diseñados por ingenieros de software por medio de supuestos sobre las limitaciones del hardware personalizado. Estos supuestos tienden a ser incorrectos. Equihash es tal vez el blanco más fácil, dado que mucha gente tuvo confianza en este algoritmo y nosotros venimos diciendo por cerca de un año que sabemos hacer ASIC para equihash muy efectivos. La clave es hacer memorias de ordenamiento. Parece que muchos de los diseñadores de algoritmos no se dan cuenta que pueden juntar las piezas computacionales y las piezas de almacenamiento dentro de un chip en un ASIC. Cuando un GPU hace computaciones de equihash, debe hacer todo el recorrido hacia una memoria externa al chip, traer la información al núcleo computacional, manipular la información y luego enviar la información trabajada de nuevo a la memoria que se encuentra fuera del chip. Con equihash, la información requiere de una manipulación tan simple que es suficiente con unir el almacenamiento y la computación. Por lo tanto, se puede hacer la mayor cantidad de manipulación in situ, reduciendo sustancialmente la cantidad de energía usada para llevar y traer la información y disminuyendo también la cantidad de tiempo entre los ajustes de la información. Esto incrementa notablemente la eficiencia y la velocidad. No hace falta decir que no nos sorprendió en lo más mínimo cuando Bitmain sacó al mercado poderosos ASIC para equihash. Los ASIC de Bitmain son en realidad considerablemente menos eficientes (entre factor 5-10) de lo que nuestros estudios internos sugieren que deberían ser. Pueden existir muchas razones para esto, pero más allá de ello, pensamos que es bastante razonable asumir que ASIC más poderosos para equihash serán lanzados en los próximos meses. También tenemos vagos diseños para ethash (el algoritmo de Ethereum). Debemos admitir que ethash no fue tan fácilmente adaptable a nuestros ASIC, como equihash. Pero de lo que hemos visto en productos del mercado actual, se puede trabajar considerablemente mejor que con GPU obsoletos. Ethash es por mucho el algoritmo más resistente a ASIC que hemos tomado en consideración, la mayoría de los otros tiene atajos que son incluso más significativos que los atajos que se puede tomar con equihash. Al final, siempre se puede crear un hardware a la medida que funcione mejor que un hardware de propósitos generales. No puedo hacer más énfasis en que todos con quienes he hablado a favor de la resistencia de ASIC han subestimado consistente y fundamentalmente la flexibilidad que tienen los ingenieros de hardware para diseñar de acuerdo a problemas específicos, incluso con un presupuesto limitado. Para cualquier algoritmo, siempre habrá un camino que los ingenieros de hardware personalizado puedan tomar para ganarle al hardware de propósitos generales. Es una limitación fundamental del hardware con fines generales.

Resistencia a bifurcación dura

La mayoría de personas cree que la computación se divide en tres categorías: CPU, GPU y ASIC. Si bien esas son las categorías generalmente visibles para el público, en el mundo de los chips existe uno solo: el ASIC. Dentro de las oficinas y las fábricas de Nvidia, Intel y otras compañías, se refieren a sus productos como ASIC. Las categorías con las que el público conoce a los chips son en realidad una escala para la flexibilidad del ASIC. Me gustaría usar una escala del 1 al 10 para medir la flexibilidad. De un lado con ‘1’, vamos a poner un CPU de Intel. En el otro lado, el ‘10’, será un ASIC de Bitcoin. Los creadores tienen la capacidad de crear chips que se ubiquen en cualquier lugar de la escala. Mientras uno se mueve del 1 al 10, se va perdiendo flexibilidad, pero se gana desempeño. También se disminuye la cantidad de esfuerzo de diseño y desarrollo que se necesitan al sacrificar la flexibilidad. En esta escala, un GPU es un ‘2’. Usualmente, no vemos equipos desarrollados para estar entre un GPU y un ASIC –completamente inflexible–, porque típicamente en el momento en que se ha descartado mayor flexibilidad de la que tiene un GPU, se tiene en mente una función muy específica y se puede sacrificar cada gramo de flexibilidad para maximizar su desempeño. Además, es más barato diseñar ASIC completamente inflexibles, por lo que no se ve demasiados artefactos en la mitad. Dos ejemplos de productos entre un GPU y un ASIC son los mineros de Baikal y la Unidad de Procesamiento Tensorial (TPU) de Google. Estos son chips que pueden cubrir un rango flexible de aplicaciones con desempeños considerablemente mayores al de un GPU. El caso Baikal es particularmente interesante, porque es mejor que los obsoletos GPU en la minería de un gran número de monedas, todas usando el mismo chip base. También parece ser lo suficientemente flexible para seguir una bifurcación dura (hardfork). La estrategia de inhabilitar a un ASIC a través de una bifurcación dura irá perdiendo potencia cada vez que suceda, porque los diseñadores de chips pueden hacerlos flexibles, desde muy poco hasta muy flexibles, sacrificando sólo un poco de desempeño con cada nivel de flexibilidad. Los desarrolladores de Monero se han comprometido mantener la misma estructura general para el algoritmo de prueba de trabajo (PoW). Debido a esa promesa, creemos que un minero de Monero es capaz de sobrevivir bifurcaciones duras con un daño menor a factor 5 en su desempeño. Equihash es un algoritmo de tres parámetros. La minería de Zcash ocurre con una decisión particular para estos parámetros. Por lo tanto, una bifurcación dura de Zcash no intencionada para inhabilitar un ASIC involucraría probablemente cambiar uno o más de esos parámetros. Hemos sido capaces de construir una arquitectura base para un ASIC de equihash que sería capaz de seguir un hardfork sin importar qué parámetros se eligieran. Es decir, un hardfork básico que cambie los parámetros del algoritmo no sería suficiente para desconectar a nuestro chip, se necesitaría un cambio más profundo. A pesar de esta flexibilidad, creemos que nuestro ASIC sería capaz de ver aumentos masivos de velocidad y eficiencia comparado con un GPU. Nunca conseguimos financiamiento para el ASIC de equihash y, como resultado, nuestro diseño quedó en veremos. La conclusión una vez más regresa a las capacidades de los ASIC. Pienso que muchas personas todavía no se dan cuenta de que la flexibilidad en un ASIC es posible y esperan desconectar a cualquier ASIC de su red mediante hardfork rutinarios. Quizá sea suficiente en algunos casos, pero, así como algunos algoritmos pueden tratar de ser resistentes a ASIC, los ASIC pueden tratar de ser resistentes a bifurcaciones duras, especialmente cuando esos cambios son menores. Continúa con la lectura en la segunda sección, donde se hablará de los ASIC secretos de Monero, otros ASIC secretos, la expocisión y la agilidad del fabricante. David Vorick, autor de este artículo, es el desarrollador en jefe de Sia, una plataforma de blockchain basada en la nube. Hace más o menos un año, Vorick y algunos miembros del equipo de Sia empezaron Obelisk, una compañía de producción de Circuitos Integrados de Aplicación Específica (ASIC) para criptomonedas. Los primeros ASIC saldrán al mercado en alrededor de 8 semanas. Este artículo recopila el camino que Vorick y su equipo experimentó con Obelisk, el cual les otorgó un gran entendimiento sobre el mundo de la minería en las criptomonedas. La versión original en inglés se publicó en Sia Blog. Las imágenes fueron tomadas del artículo original. 

Deje un Comentario

Su correo electrónico no será publicado.