En este post anterior hablamos de qué era el ataque del 51%, y de cómo podía afectar a varias criptomonedas, documentando algunos ataques ocurridos este año. La posibilidad de un ataque del 51% es una preocupación grave para cualquier potencial inversor en un proyecto, o para cualquier usuario.
¿Cuáles son los mecanismos de defensa contra ello? Voy a hablar de tres de ellos: el cifrado y resistencia ASIC, la desincentivación y, en otro post, el modificar el protocolo de consenso.
Cifrado y resistencia ASIC
El primer punto de defensa es el algoritmo de cifrado, que es el responsable directo de la cantidad de dinero que se necesita para minar el 51% de una red. La utilización de un algoritmo más complejo o más sencillo no es el tema a debatir, ya que esto afectaría a todos los usuarios por igual, y el objetivo es que nadie pueda minar mucho más que los demás.
La idea aquí es combatir la centralización del minado, y en concreto la minería hecha con dispositivos ASIC (Application Specific Integrated Circuits). Estos dispositivos son diseñados para un propósito único, un único cálculo en el que son mucho mejores que cualquier dispositivo genérico. A la hora de minar, podemos usar una CPU de un ordenador cualquiera, pero también una unidad para computación gráfica, GPU, que es más eficiente. O podemos comprar un dispositivo creado para minar específicamente una moneda, o más bien un algoritmo de cifrado concreto, lo cual es extremadamente más eficiente.
Si valoramos en una escala de 1 a 10 la versatilidad y la eficiencia de un dispositivo de minado, una CPU de un ordenador normal tendría una versatilidad de 10 y una eficiencia de 1, y un ASIC una versatilidad de 1 y una eficiencia de 10, con la GPU teniendo versatilidad y eficiencia de 2. No hay valores intermedios, si un fabricante va a diseñar un hardware específico para una determinada moneda, está dispuesto a sacrificar toda la versatilidad. Y la escala es exponencial, un minero que use la CPU de un ordenador convencional nunca va a poder competir con una ASIC. Incluso los más potentes supercomputadores no pueden competir con un pequeño grupo de ASICs operando en paralelo. Casi todas las criptomonedas cuyo consenso usa la minería, en principio descentralizadas y al alcance de cualquiera, en la vida real están controladas por grupos de mineros usando ASICs, con fortísimas inversiones en hardware.
El bull run hizo que fabricar ASIC para monedas y algoritmos concretos, incluso las relativamente pequeñas, fuera rentable. Destaca aquí el fabricante Bitmain, que regularmente saca productos muy específicos. Uno de sus productos, el A3, que minaba monedas cifradas con el algoritmo Blake2B (en ese momento, Siacoin, Verge, Decred y Vcash) consiguió 20 millones de dólares en ventas en sus primeros 8 minutos de salir al mercado. Con un coste de salida de 2375 dólares, el beneficio esperado por día era de unos 500 dólares en el momento de salir (enero 2018), de ser usada para minar Siacoin (SC).
Podeis ver los beneficios actuales en la página ASIC Miner Value. Como es esperable tras la caída del mercado, los beneficios están hoy por hoy en unos 500 dólares el mes, no el día.
Esto es perfectamente legal, y además tiene un grave riesgo si se hace a pequeña escala: si la moneda baja de valor, el beneficio baja mucho pero el coste del hardware y de la electricidad que consume es el mismo. Además, un fork en la moneda puede actualizar el mecanismo de cifrado, y hacer que todas las ASIC fabricadas para ella se vuelvan inútiles. Es lo que hizo Siacoin cuando vio en peligro su descentralización, volviendo inútil el A3, que ahora no vale prácticamente para nada. Y el ASIC más rentable ahora mismo en ASIC Miner Value, el Obelisk SC1, es para el nuevo algoritmo de Siacoin, cuyos desarrolladores ya están trabajando en dejarlo obsoleto.
Aunque esto puede ser arriesgado para pequeños inversores, en gran escala es increíblemente beneficioso, recuperando la inversión en muy poco tiempo, siempre y cuando esa inversión sea suficientemente grande. Esto hace que las monedas que se minan con ASIC tiendan a concentrarse en un pequeño grupo de mineros, y una fuerte inversión puede permitir a un pequeño grupo dominar la moneda. Este factor afecta a casi todas las monedas de Proof of Work, empezando por Bitcoin y Ethereum en su forma actual.
Más preocupante aún es la posibilidad de que se desarrolle un ASIC específico en secreto, y se mine en la sombra una moneda. Si se hace público, existe un incentivo muy fuerte para el comprador de no abusar de la red, incluso aunque llegue al 51% y pueda hacerlo, dado que no deja de ser un robo de dinero, y de realizarse un ataque y ser detectado lo que haría la comunidad de usuarios es vender y tirar el precio abajo, y lo que harían los desarrolladores es actualizar la moneda con un fork que cambie el protocolo de minado.
Sin embargo, un hardware creado en secreto puede tomar el control sin nadie darse cuenta. Es lo que pasó a Monero (XMR), que durante un tiempo tuvo el 51% de la red controlada, sin darse cuenta, y sin que se sepa realmente si los que tomaron el control de la red usaron ese control para hacer un doble gasto o algo similar, dado que XMR está centrada precisamente en la privacidad. Existe una fuerte sospecha de que el enorme dinero que ganaron los que estaban detrás de esto, incluso limitándose a los beneficios de la minería en sí, sin ningún ataque, son la fuente de financiación de los numerosos ataques del 51% realizados este año.
Ante esto tenemos varias soluciones:
- Una es la creación de algoritmos de cifrado específicamente diseñados para NO poder minarse con un ASIC. Son los algoritmos y monedas ASIC-resistentes.
- Otra es la realización de forks frecuentes pero por sorpresa, para desincentivar. Y sobre todo al anunciarse la salida de un ASIC cuyo objetivo es esa moneda.
Es habitual combinar las dos cosas. La lista de monedas que han implementado algoritmos incluye Ethereum (ETH), Bitcoin Gold (BTG), Vertcoin (VTC), Groestcoin (GRS), Electroneum (ETN), AEON, y NavCoin (NAV), entre otras. Particularmente Vertcoin y Bitcoin Gold estaban enfocadas en la resistencia ASIC. Bitcoin Gold es un fork de Bitcoin que específicamente se diferencia porque es resistente a ACID, y Vertcoin está muy enfocado en el tema desde su creación, con continuos cambios de algoritmo.
¿Os suenan estos nombres? Bitcoin Gold, Vertcoin y Electroneum han sido tres de las criptomonedas que han sufrido recientemente un ataque del 51%, y es seguro que se han usado ASIC para ellos. Su sistema ha sido hackeado, incluso siendo las monedas que más insistían ser resistentes a este ataque. Quizá los hackers las han elegido específicamente por eso...
Esto ha llevado a varios expertos (como aquí y, sobre todo, este magnífico post de un desarrollador de Siacoin, que es la fuente de varias cosas dichas aquí) a proclamar que la resistencia ASIC es imposible: la velocidad a la que una empresa puede fabricar un software específico para un algoritmo de minado es muy alta, quizá mayor que la velocidad con la que una empresa puede desarrollar un algoritmo de minado distinto y que funcione bien. Peor aún, si el objetivo es un ataque, es muy posible que la fabricación del aparato se haga en secreto, y el ataque venga cuando menos se espere. Pero en general, hoy en día está abierto a opiniones si la resistencia ASIC es posible o no.
Mención aparte merece el equipo de Monero (XMR), que tras haber visto su red controlada durante meses sin darse cuenta, han declarado la guerra a los mineros que usan ASIC. De momento, no existe un hardware ASIC público que mine Monero, ni se sabe de que se hayan efectuado ataques del 51%.
Desincentivación.
Esta segunda línea de defensa ya se ha tocado un poco en la anterior: se basa en hacer improductivo el hacer un ataque del 51%.
Por ejemplo, tomar el 51% de Bitcoin requiere una inversión gigantesca, con un poder de minado global millones de veces superior al que se encuentra en otras criptomonedas. Hacerlo en secreto es prácticamente imposible. Y tomar el 51% de bitcoin y realizar un ataque de doble gasto que pase desapercibido más aún.
Suele ignorarse esto, pero Bitcoin ha tenido el 51% de la red controlada por una única organización, el grupo de mineros Ghash.IO, en 2014. Podeis ver aquí un artículo sobre el tema, donde Ghash.IO insiste en que no abusará del poder y que lo cederá lo antes posible, que también incluye una graciosa cita de Andreas M. Antonopoulos, uno de los mayores expertos en Blockchain y Bitcoin, explicando que el ataque del 51% es 'imposible porque nunca sería rentable', opinión que ha quedado un poco en evidencia varias veces este año, aunque no para Bitcoin.
El objetivo más razonable de los ataques del 51% es el doble gasto, lo que implica que el ladrón debe gastar dos veces su dinero, y guardarlo. Se requiere tiempo y liquidez para esto, y es de esperar que se haga usando un exchange. Por ello, monitorizar las transacciones en los exchanges parece razonable. Al detectarse el doble gasto, la cuenta se congela y el dinero del ladrón se transfiere a la víctima. Esto sin embargo requiere un mercado centralizado, en un mercado descentralizado esto es imposible.
Otra opción para el atacante es generar moneda nueva, lo que se hizo en el ataque a Vertcoin. Esto no aplica a monedas que tienen una inflación controlada, o directamente cero, lo que ocurre en muchas criptomonedas. Un ejemplo de ataque fracasado basado en emitir nuevos tokens fue el realizado contra Bitcoin en 2010, cuando un hacker aprovechó una vulnerabilidad del software para generar algo más de 92.233.720.368 Bitcoins. La comunidad detectó la transacción 'extraña' y anuló todo, corrigiendo la debilidad. El valor de bitcoins generado al parecer era un número aleatorio, por lo que quizá esto no hubiera sido detectado si el resultado no hubiera sido tan enorme. Este no fue un ataque del 51%, pero no deja de ser curioso.
La tercera manera de combatir el ataque del 51%, y al parecer la más eficiente, es modificar el protocolo de consenso. En el siguiente post hablaremos de ello.
Espero que os haya parecido interesante. Mucho más de blockchain en nuestros programas formativos Blockchain.
{{cta('696fb4ce-61b4-4b2f-8445-57b44d6ba51e')}}
Descubre más artículos en el Criptoblog sobre...