Esta semana los usuarios de la criptomoneda Verge reportaron el tercer ataque que sufre la blockchain desde hace dos meses atrás. Una noticia que ha puesto en tela de juicio a los desarrolladores del proyecto e instaurado muchas dudas entre la comunidad de usuarios.
Los propietarios de criptomonedas Verge comunicaron desde sus cuentas en Reddit y BitcoinTalk saltos inusuales en los tiempos de confirmación de los bloques que no podían ser identificados en otros navegadores, además de constante spam que ralentizaba la blockchain. El usuario OCminer publicó datos de la red para demostrar las iregularidades en las operaciones de minería de la red.
«Esos saltos inusuales son en realidad una parte del ataque, la otra parte es tx spam que ralentiza a la mayoría de los daemons y la tercera parte reemplaza partes de la blockchain con bloques propios y así causa bloques huérfanos en la mayoría de las pools», aseguró OCminer al explicar a la comunidad que estaba ocurriendo un supuesto nuevo Ataque de Retención de Bloques, según su interpretación de los datos.
Sin embargo, usuarios y expertos en el tema destacaron que este ataque ha sido diferente a los anteriores reportados, ya que el atacante habría engañado al algoritmo scrypt (uno de los cinco algoritmos que utiliza esta blockchain) para suplantar la marca de tiempo y disminuir la dificultad de minado de la red.
De esta manera, los algoritmos de confirmación de una transacción fueron mucho más fáciles de resolver para el atacante, quien con poco gasto de poder computacional liberó las criptomonedas que había recopilado en un menor tiempo, una práctica mejor conocida como un Ataque de Retención de Bloques. Por esta razón, algunos usuarios han especulado que el aprovechamiento de la vulnerabilidad en el código de Verge, que permitió a los atacantes disminuir la dificultad de minado, pudo disminuir el porcentaje de poder de procesamiento necesario para llevar a cabo el ataque.
Ataques de Retención de Bloques
Para entender a profundidad este fenómeno que ocurre en la red de Verge, es necesario saber de qué se trata un Ataque de Retención de Bloques (Block Witholding Attack). Este tipo de operaciones maliciosas se encuentran ligadas a las actividades de minería y estrictamente al algoritmo de prueba de trabajo (PoW) que funcionan en las cadenas de blockchain para confirmar transacciones, por lo cual en resumidas cuentas es un ataque directo al control de poder de procesamiento que tienen dichas plataformas o a la marca de tiempo del algoritmo PoW.
El ataque ocurre cuando un grupo de mineros logra acaparar un alto porcentaje del poder de procesamiento de la blockchain para minar bloques con transacciones de la red que quiere mantener pero no los propaga, de modo que cuando lleva su cadena secreta más larga hasta el punto donde podría obtener una ganancia, por ejemplo el depósito de una casa de cambio. Cuando el minero decide propagar su cadena de bloques secretos, que es más larga que la actual, crea una especie de minibifurcación que deja a los bloques anteriores huérfanos, por lo que las transacciones pasadas no son válidas en ese segmento de la cadena.
En este sentido, el grupo minero tiene una mayor capacidad de minado que otros usuarios y pueden llevar a cabo transformaciones importantes en la red. Por ejemplo, un grupo de minería con el 30% de la red en sus manos puede minar sus propios bloques sin anunciarse a otros usuarios, evitar confirmaciones de bloques e incluso evitar que otros mineros encuentren nuevos bloques.
Los mineros que terminan con más bloques minados y, por ende, una cadena más larga pueden minar más rápido, incurrir en doble gasto, revertir operaciones y quedarse con todas las recompensas. Es decir, apropiarse de todas las transacciones en la red durante un tiempo determinado por la prolongación del ataque y administrarlas a su manera, dominando toda la red si consiguen controlar el 51% del poder de procesamiento.
En el caso de la blockchain de Verge, la red trabaja con un algoritmo PoW múltiple, el cual se basa en 5 algoritmos distintos para la realización de confirmaciones de bloque. Los algoritmos scrypt, x17, Lyra2rev2, myr-groestl, & blake2s trabajan de tal manera que permiten que tanto mineros ASIC como GPU logren minar en la plataforma y eviten supuestamente que un grupo de minería se apropie del 51% del poder de procesamiento.
Este último ataque no se trató de un acaparamiento de 51% del poder de procesamiento, ya que el atacante no poseía el dominio total de la red, sino que había logrado retener un grupo de bloques que estaba minando, acelerar la marca de tiempo para confundir al algoritmo scrypt y hacer que el mismo reduzca la dificultad de la red para la confirmación de esas criptomonedas, logrando disminuirla hasta un 99%.
El usuario Daniel Goldman publicó en su blog que este tipo de ataques logra eludir la barrera de dificultad de minería sin hacerla pedazos, considerándola una práctica muy astuta y sigilosa. No obstante, no logra controlar toda la red como si lo hace un ataque del 51%, ya que la aceleración de la marca de tiempo hace mucho más fácil la confirmación de bloques para todos los mineros, los cuales pueden seguir compitiendo entre sí de forma descentralizada.
Sin embargo, reducir la dificultad es solo la mitad de la historia; de forma aislada, en realidad no le daría ninguna ventaja al atacante. Con la dificultad de reducir drásticamente, minar los bloques se vuelve más fácil para el atacante, pero también se vuelve más fácil para todos los demás; los mineros siguen compitiendo entre sí al igual que antes.
Daniel Goldman
Analista
En el caso puntual de Verge, aunque el último ataque haya quedado en una retención de bloques y no en un ataque del 51%, debido a que la plataforma posee 5 algoritmos distintos, parece que el código es propenso a que se aproveche la brecha en la marca de tiempo de uno de los algoritmos, de modo que el resto de los mineros se verá afectado mientras que un escaso grupo se verá beneficiado.
Por ejemplo, en el caso del algoritmo scrypt, si disminuye la dificultad de minado, sólo los mineros que trabajan con este algoritmo se encuentran beneficiados y pueden tomar control de una mayor cantidad de bloques, mientras que los mineros de los otros 4 algoritmo mantienen su nivel de dificultad a niveles normales; una situación que podría propiciar un ataque del 51%, concluye Goldman.
Apropiación de proyectos y acusaciones de scam
Este es el tercer ataque basado en el control del poder de procesamiento de la blockchain que le ocurre a la red en tan sólo 2 meses. El primero se reportó en el mes de abril cuando el algoritmo de minado scrypt por un ataque que duró alrededor de 3 horas, perdiendo un total de 250.000 criptomonedas verge y obligando a la red a bifurcarse.
Luego de unos supuestos cambios realizados por los desarrolladores de Verge en la blockchain —agregando parches para evitar nuevos inconvenientes— la red volvió a sufrir este mes de mayo un ataque del 51% que generó unas 35 millones de criptomonedas en tan sólo cuestión de horas.
Estos ataques a la blockchain de Verge han dejado secuelas terribles para la ecosistema, ya que los atacantes no solo han violado la seguridad de la red sino que también han contribuido a crear un fenómeno en cadena que ha afectado enormemente la credibilidad de proyectos de criptomonedas semejantes.
Luego del primer y segundo Ataque de Retención de Bloques en Verge, el desarrollador que se identifica bajo el nombre de Dogedarkdev en BitcoinTalk, comunicó haber desarrollado un código parche que evitaría este tipo de operaciones maliciosas en la red, distribuyendo la información entre los usuarios para calmar los ánimos.
Sin embargo, las cosas se complicaron aún más, ya que la solución al ataque se trataba de un proyecto publicado por la criptomoneda SHIELD, cuestión que fue apuntada por los usuarios de inmediato, considerando irrespetuoso que el código fuese aplicado sin los debidos créditos.
Estas aclaratorias no agradaron al desarrollador, quien ha tenido fuertes discusiones con otros usuarios de la red asegurando que el código es de su autoria y que la blockchain de Verge no ha sufrido ningún tercer Ataque de Retención de Bloques, sino una amenaza del mismo.
Por si fuera poco, estos ataques y la falta de transparencia de información han medrado la confianza de los usuarios en la blockchain de Verge, empezando a considerarla una estafa o un proyecto fallido. En este sentido, los blogs dedicados a la plataforma se encuentren llenos de comentarios entre nuevos aficionados y veteranos discutiendo sobre la credibilidad de la blockchain y su futuro.
«Verge no solo está siendo atacado en un 51%; está sufriendo lo que es esencialmente un ataque al 100%. Este poder le otorga al atacante el control total sobre la red», finaliza uno de los usuarios de Reddit. Sin lugar a dudas, una visión de la blockchain que nos presenta un futuro incierto para Verge.
Imagen destacada por Brian Jackson / stock.adobe.com