FPGA son las siglas de Field Programmable Gate Array,o en español Matriz de Puertas Programables en Campo. Estos son unos diminutos dispositivos semiconductores que tienen la capacidad de programarse para realizarse acciones muy concretas de forma rápida y eficiente.
AA pesar de que existen desde hace algún tiempo, no son dispositivos muy usuales. Sin embargo, los FPGA cuentan con una característica que los hacen únicos en distintas aplicaciones. Los FPGA tienen la capacidad que pueden reprogramarse. Esta característica los diferencia de su principal competencia, los dispositivos ASIC. Pues los ASIC se fabrican a medida y no pueden reprogramarse una vez han sido diseñados, por lo que; solo pueden usarse para tareas muy específicas.
Inicialmente los FPGA se caracterizaban por ser lentos, consumir grandes cantidades de energía y tener poca capacidad de cómputo paralelo. Sin embargo, esto ha cambiado gracias a las mejoras introducidas a la tecnología del silicio y al desarrollo de sistemas programables. Esto se ha traducido en una mejora sustancial en términos de velocidad y capacidad de trabajo en paralelo. Transformando a los FPGA en candidatos perfectos para aplicaciones de alta demanda de poder cómputo.
Intel, una de las grandes compañías diseñadoras de chips y procesadores del mundo, es una de las compañías que más ha invertido en el desarrollo de los FPGA. Ellos al igual que Xilinx, invierten una gran cantidad de recursos en mejorar esta tecnología y llevarla a múltiples usos en la industria. ¿Pero por qué razón? ¿Qué ventajas representan los FPGA? y ¿Cómo pueden impactar en la tecnología blockchain? Revisaremos cada uno de estos casos.
Características de los FPGA
Existen distintas razones y características por las que se invierte y desarrollan los FPGA, pero entre ellas las más relevantes son:
Arquitectura programable
Los FPGA a diferencia de otras arquitecturas, son programables. Esto les otorga una gran flexibilidad de uso, puesto que su programación puede alterarse para mejorarles o solucionar fallas. Esto permitiría por ejemplo; optimizar un FPGA para manejar de mejor manera procesos complejos tras haberse realizado un análisis y optimización de su programación inicial. Con ello, la nueva versión del software del FPGA permitiría mejorar el rendimiento o solucionar problemas de seguridad detectados, una situación imposible usando arquitecturas como la ASIC.
Normalmente la programación de los FPGA se realiza en lenguajes de programación de bajo nivel llamados Verilog o VHDL. Ambos sirven para «describir» al FPGA la forma en cómo debe manejar el hardware del mismo. Sin embargo, muchas empresas ofrecen sistemas de programación de más alto nivel que facilitan esta tarea aún más.
Debajo tienes un ejemplo hipotético, para comprobar la ventaja de esta arquitectura en el mundo blockchain.
Ejemplo 1
Juan compra un equipo FPGA de minería para Ethereum con una capacidad de 1 TH/s. Con ello Juan obtiene buenas ganancias. Sin embargo, el desarrollador del equipo ha sacado una nueva actualización de software dirigido a dicho equipo FPGA. La misma garantiza una optimización de 15% en la velocidad de minado, y una disminución de 4% en el consumo eléctrico. Al aplicar la actualización, su equipo ahora es capaz de minar a 1,15 TH/s y ha reducido sus gastos eléctricos, obteniendo mejores ganancias.
Desarrollo acelerado del hardware
Dado que los FPGA son más sencillo a nivel lógico, las compañías son capaces de traer nuevos productos al mercado de forma más rápida. Al tiempo también en el que los FPGA evolucionan y ofrecen mejores características. Esto es algo que los ASIC no pueden ofrecer, porque su desarrollo requiere de ciclos de fabricación mucho más extensos.
Para las compañías dedicadas a blockchain esto es perfecto. Si por ejemplo, una compañía diseña un dispositivo de hardware FPGA para manejar Lightning Network, desarrollar y mejorar dicho dispositivo le será más fácil que hacer otro desde cero. Con ello el costo general por diseño y el tiempo de salida al mercado de nuevos dispositivos disminuye. Una situación ventajosa para las compañías blockchain, especialmente en un mundo tecnológico que avanza a pasos agigantados.
Mejor nivel de integración en hardware
Los FPGA actuales incluyen procesadores en el chip, sistemas de entrada y salida de datos y mucho más. Más funciones dentro de la FPGA significan menos dispositivos en la placa de circuitos, lo que aumenta la fiabilidad al reducir el número de fallos de los dispositivos. Adicional a la fiabilidad, también aumenta el rendimiento, pues estos sistemas son capaces de construirse más integrados en el die.
Esta es una de las características más llamativas de los FPGA frente a los ASIC. Los ASIC son en general, una serie de chips que trabajan en paralelo dentro de una complicada tarjeta de circuitos. En dicha tarjeta hay equipos de diferentes fabricantes y con ordenes de calidad distintas. La falla de uno de esos circuitos, significa la falla de todo el ASIC. Pero en los sistemas FPGA esto es distinto. Debido a que el proceso de fabricación es más integrado, la calidad de los circuitos incluidos puede controlarse mucho mejor. Con esto, se puede mejorar sustancialmente la calidad de los dispositivos y su vida útil se alarga.
Disminución de los costos totales de operación
Los ASIC suelen ser más baratos que una solución FPGA. Pero el mantenimiento de un ASIC es mucho más costoso. De hecho, debido a la inamovilidad del hardware ASIC estos quedan rápidamente obsoletos. Sin embargo, los FPGA mejoran en muchos sentidos esta situación.
En el siguiente ejemplo, podrás comprobar el impacto que puede tener la tecnología.
Ejemplo 2
Suponga que Daniel tiene una granja de minería con 1000 equipos ASIC dedicados a minar Bitcoin. Por otro lado, Mónica tiene 1000 equipos FPGA dedicados a minar Bitcoin también. Pasados unos meses las granjas de Daniel y Mónica no son rentables debido al aumento de dificultad de minería de Bitcoin y la llegada de un nuevo halving. Daniel por su parte, tuvo que deshacerse de sus equipos ASIC vendiendolos como equipos de segunda mano. Toda una inversión cientos de miles de dólares que ahora tiene que reponer si desea seguir minando.
Pero Mónica, sigue usando los mismo 1000 equipos FPGA para minar. Ella los ha actualizado para minar Monero con el fin de seguir obteniendo ganancias de sus viejos equipos. Esta situación le permite obtener más dinero para reinvertir en nuevos equipos FPGA para minar Bitcoin y al mismo tiempo tener equipos para minar Monero. Diversificando con ello su actividad minera y sacando mejor partido a sus inversiones.
En el caso de Daniel, su inversión de cientos de miles de dólares prácticamente ha quedado en el olvido. Tiene que vender los equipos, para poder reinvertir en nuevos y seguir minando. Pero Mónica tiene la oportunidad de seguir minando, y sacando provecho de esos viejos equipos que compro. Con ello su inversión en equipos FPGA tiene una mejor relación inversión/ganancia en el tiempo. Y eso es algo muy importante a la hora de invertir en una granja de minería.
Con todas las características antes explicadas es fácil darse cuenta el gran impacto que esta tecnología supone en el mundo blockchain. Se habla de readaptar equipo con un alto poder de cómputo para que realicen otras tareas que también son importantes. Ello diversifica las oportunidades de desarrollo y abre las puertas a nuevos e interesantes proyectos sobre blockchain. Porque si, blockchain es un mar de posibilidades y de futuros, y la tecnología FPGA tiene mucho que ofrecer en todo ello.
FPGA Mineros reconocidos
Los FPGA mineros más reconocidos en el mundo de la minería de criptomonedas son los siguientes:
Spartan – Xilinx
La serie Spartan de Xilinx, son de los FPGA usados para minería más reconocidos por su versatilidad, potencia y fiabilidad. Son uno de los FPGA más ampliamente usado para la minería de criptomonedas, especialmente porque existen desarrollos de software muy útiles para sacar máximo provecho de los mismos. Entre los puntos fuertes de los últimos modelos Spartan, está la capacidad de crearse conjunto de varios kits FPGA para hacer un minero de trabajo paralelo (conocidos como rig). Bajo esta configuración, el rendimiento de minería aumenta exponencialmente.
Stratix – Altera/Intel
Estos son otros FPGA muy usados en minería. Su principal característica es que se venden usualmente como kits de desarrollo por lo que se puede hacer con ellos cualquier cosa. Intel adquirió la compañía Altera, pero siguió desarrollando y mejorando los modelos Stratix, y creando modelos de menor consumo (pero menor rendimiento).
El último modelo Stratix, es Stratix10. Este modelo es capaz de usar las más nuevas tecnologías de memoria, con el fin de obtener altos niveles de rendimiento. Al igual que los Spartan, estos modelos pueden usarse en grupos de minería paralela, lo que les dota de una mayor potencia de minería final.