Hechos clave:
-
Un minero aprovechó un bug para generar una bifurcación en la red durante la actualización.
-
BTC.TOP y BTC.COM se unieron para llevar a cabo la reversión de estas transacciones.
La cadena de bloques de Bitcoin Cash (BCH) sufrió una reorganización por parte de dos pools de minería de la red. Lo que generalmente suele considerarse como un ataque del 51%, fue acordado por estos mineros, quienes revirtieron unas 25 transacciones que sumaron un total de 3.391 BCH.
El suceso ocurrió durante el hardfork que vivió BCH el pasado 15 de mayo, cuando el atacante aprovechó un bug en el código del cliente de Bitcoin ABC, generando la bifurcación. En ese momento, un minero no identificado (se presume que fue atacante) saturó la mempool con pequeñas transacciones para aprovechar la actualización y reclamar como propias una importante cantidad de monedas P2SH, liberadas por las nuevas características del protocolo.
El objetivo de la reorganización propiciada por los pools fue dejar sin efecto las transacciones que trataron de añadirse en la cadena de bloques durante el ataque, dejando sin efecto la apropiación de las monedas P2SH.
El ataque
Antes de empezar, debemos recordar que BCH es una bifurcación directa de Bitcoin, ocurrida en 2017. En ese momento, se generaron monedas Paid to script hash (P2SH). Este formato permite que las transacciones se envíen a un hash de script (la dirección generada comienza con 3), en vez de utilizar un hash de clave pública (direcciones que comienzan con 1) y que no eran compatibles con la cadena de BCH, ya que no excluyó SegWit de su funcionamiento.
En ese momento, las monedas fueron inhabilitadas por los desarrolladores de Bitcoin ABC, principal equipo de desarrollo de BCH, utilizando una regla en su protocolo, llamada CLEANSTACK. La bifurcación del 15 de mayo pretendía eliminar esta norma, liberando las monedas que serían entregadas a los mineros. No obstante, la rehabilitación de las monedas se convirtió en un problema.
El atacante intentó apropiarse de estos fondos (aunque la cantidad no ha sido especificada) añadiendo una serie de transacciones no válidas en el mempool, aprovechando un antiguo error que utilizaba pequeñas transacciones para retrasar las confirmaciones. El ataque duró lo suficiente para causar confusión minera y la bifurcación no prevista.
Como consecuencia, BTC.TOP (pool con la mayor cantidad de hashrate de la red) empezó a minar bloques vacíos, generando otra cadena. Pero, parece que tanto este pool como BTC.COM esperaban recuperar las monedas habilitadas para sí. Así que decidieron actuar.
Censura
Cuando el minero desconocido intentó tomar las monedas rehabilitadas, ambos pools decidieron reorganizar la cadena de bloques, eliminando estas transacciones para privilegiar bloques propios. BTC.TOP y BTC.COM decidieron censurar la cadena de bloques en favor de los bloques que consideraban válidos.
Generalmente, una reorganización de la blockchain es considerada un ataque y atenta directamente contra la descentralización de un proyecto criptográfico, pues supone que uno o varios miembros de la comunidad pueden decidir sobre el funcionamiento del registro de las transacciones de la red.
En este caso, los mineros con más hashrate decidieron censurar la cadena, en privado y sin dar muchos detalles al resto de usuarios de la red acerca de qué bloques debían considerarse buenos y cuáles no.
Debido al bajo hashrate que tiene la red de Bitcoin Cash, BTC.TOP ha llegado a controlar más del 50% del total de la red y podría haber llevado a cabo la reorganización por sí sola, pero contó con la participación de BTC.COM. Que actores unilaterales puedan decidir el destino de toda la cadena de bloques pone en entredicho su supuesta inmutabilidad así como la irreversabilidad de las operaciones que se hacen en su red.