Un par de profesores de la Universidad de Sydney han publicado un reporte de una investigación enfocada al «Ataque de Balance«, una nueva modalidad de ataque que tiene alto potencial de perpetrase con éxito a cualquier criptomoneda que emplee la minería basada en algoritmos de Prueba-de-Trabajo.
La investigación fue realizada tomando como referencia la blockchain privada que es usada para las operaciones de prueba del consorcio tecnológico-bancario R3CEV; aunque según los resultados de varias pruebas realizadas por Cristopher Natoli y Vincent Gramoli, los investigadores responsables del informe, este tipo de ataques también pueden expandirse a blockchains públicas como Ethereum y Bitcoin.
Tal como es expuesto en el informe científico, un Ataque de Balance puede ser realizado siempre que una blockchain pueda ser dividida en varios sub-grupos de mineros que posean un poder de procesamiento equilibrado. El objetivo de este tipo de ataques es lograr retrasar la comunicación entre estos sub-grupos de la red para conseguir que con una sola cantidad de monedas puedan registrarse distintas transacciones en la blockchain y así generar un «doble gasto».
Acorde a las pruebas realizadas en la investigación de Natoli y Gramoli, existe para cada blockchain una cantidad exacta de tiempo y poder de procesamiento con la que un atacante tiene alta probabilidad de «engañar a la red» y generar un doble gasto.
Siendo más específicos, un atacante puede retrasar la comunicación entre dos o más sub-grupos de la red para luego realizar una transacción que sea confirmada por uno de estos sub-grupos. Posteriormente, dirige su poder de procesamiento a otro sub-grupo hasta generar la suficiente cantidad de bloques como para que el árbol de bloques de éste sub-grupo supere al de aquel primero que registró la transacción.
En la práctica, una persona podría aislar un sub-grupo de la red de mineros y luego comprar bienes con bitcoins en una tienda; una vez que la transacción sea entregada a este sub-grupo aislado de la red, inicia el Ataque de Balance para lograr que dicha transacción no sea confirmada finalmente en la blockchain de Bitcoin.
Si bien la transacción no ha sido confirmada y registrada en la blockchain, justamente por la seguridad que brinda el consenso de la red Bitcoin es que el comerciante, o el servicio de pagos, confía en que la transacción sea registrada en algún momento. Es allí donde este tipo de ataques puede ser muy dañino a las blockchains con algoritmo de Prueba-de-Trabajo (abreviado en inglés como PoW), ya que podría romper por completo la confianza que brindan estas redes.
Por supuesto las condiciones de retraso de comunicación entre los sub-grupos, los tiempos de retraso y el poder de procesamiento suficientes para realizar el ataque deben estar presentes para al menos garantizar una alta probabilidad de éxito.
Al respecto, Vincent Gramoli ejemplificó aún más al diario The Register:
Supongamos que Alice ejecuta una transacción a un comerciante que pertenece a un grupo de mineros. Espera lo suficiente para ver que no hay comunicación entre los sub-grupos, pero la transacción se comparte en el grupo y se entrega.
Una vez que sepa que la transacción ha sido entregada, sabe que recibirá bienes en el mundo real. Pero ahora, Alice puede usar su poder de minería para crear más bloques y enviarlos a otro grupo de mineros, de modo que cuando la red vuelva a ser confiable de nuevo, y los mensajes sean intercambiados entre sub-grupos, los bloques minados en los sub-grupos que no vieron la transacción original prevalecerán sobre aquellos que vieron la primera transacción.
Vincent Gramoli
Investigador
Entre los datos probabilísticos publicados en el informe, destaca el hecho de que un atacante que posea un poder de procesamiento equivalente al 10% de la blockchain de pruebas del consorcio R3CEV, tiene una probabilidad de 50% de realizar un ataque exitoso con sólo retrasar la comunicación entre varios sub-grupos en al menos 20 minutos.
Sin duda los resultados del estudio realizado por estos profesores de la casa de estudios australiana son muy interesantes y, para muchos, alarmantes. No obstante, recordamos que esta exploración fue realizada en el lecho de pruebas que usa el consorcio R3CEV para sus operaciones interbancarias. En este caso, cada uno de los bancos y/o empresas que conforman el consorcio podrían realizar uno de estos ataques con mayor facilidad puesto que la distribución de poder de procesamiento de esta red es equilibrada entre todos los miembros.
Aunque en las blockchains públicas de Ethereum y Bitcoin esto pudiese parecer muy difícil de lograr, la simple probabilidad de que exista espacio a este tipo de ataques es preocupante; esto sin importar cuán descabellado nos parezca que el poder de procesamiento de la red Bitcoin se divida entre sub-grupos con un poder de procesamiento equilibrado.
Ataques de Balance y la confianza en la blockchain
La principal alarma que dispara este estudio es que desafía a la naturaleza confiable y segura que hasta ahora tenemos sobre las plataformas de tecnología blockchain. Aunque pudiese tardar mucho en confirmarse una transacción en Bitcoin, por ejemplo, estamos confiados en que ésta será confirmada y registrada en la cadena de bloques en algún momento y no podrá ser modificable; pues el consenso distribuido entre los nodos es la mayor arma de este tipo de plataformas que hace que podamos hacer pagos de manera segura, aun cuando las personas involucradas en la operación no confíen entre sí.
En el contexto financiero/bancario, Gramoli dice que el problema es que las cadenas de bloques son probabilísticas, pero para algo como una transferencia interbancaria, se necesita determinismo. Si el sistema entra en un estado en el que no puede garantizar todas las transacciones, el tiempo de inactividad es la mejor solución.
Basado en esto, las blockchains podrían no ser la mejor solución para su uso en operaciones financieras interbancarias, debido a que la probabilidad -aunque sea muy pequeña- de que puedan ejecutarse ataques de forma exitosa en el tiempo que una transacción tarda en ser confirmada, es una amenaza de gran peligro para estas instituciones.
La naturaleza no reversible de las transacciones realizadas en plataformas blockchain obligan a que todas deban ser confirmadas en algún momento, sin importar si la cantidad de operaciones puede saturar en determinado punto la capacidad de la red y así generar retrasos. Estas diferencias probabilísticas y determinísticas que menciona Gramoli pudieran ser características cruciales para el sector Fintech en su naciente interés por esta tecnología en aplicaciones bancarias.
Del lado de blockchains públicas de amplio uso como Bitcoin y Ethereum, la distribución actual de nodos y mineros luce lo suficientemente distribuida como para hacer bastante difícil de perpetrar estos Ataques de Balance a sus redes. No obstante, este informe presenta conclusiones muy interesantes a tomar en cuenta para que la comunidad de desarrolladores y usuarios puedan fortalecer aún más los algoritmos de seguridad y consenso de las criptomonedas.
2.5
5