• El Consejo de Seguridad de Arbitrum congeló 74,559,805.2 ARB y unos 8,426 ETH el 30 de octubre.
• El consejo transfirió los fondos sin la clave privada de la dirección mediante UpgradeExecutor, en el bloque 26301886.
• Ambas transferencias se ejecutaron en Arbitrum One 9 minutos y 45 segundos después de la transacción de Ethereum.
Una dirección vaciada sin su clave
El Consejo de Seguridad de Arbitrum vació una dirección de 74,559,805.2 ARB y unos 8,426 ETH el viernes 30 de octubre, sin haber tenido nunca la clave privada de la dirección. El aviso de emergencia del consejo, publicado en su foro de gobernanza, afirma que la dirección fue «identificada en relación con el exploit de Binance de hoy», la brecha que vació las billeteras calientes del exchange horas antes y que, según el exchange, le ha ocasionado pérdidas de unos 6,300 millones de dólares. Según el aviso, las transferencias salieron de la dirección a las 8:08 a. m., hora de Hong Kong, y ambos activos se enviaron a un único destino de custodia, en lugar de devolverse a alguna víctima o cuenta del exchange. El aviso no indicó ningún calendario para devolver o redistribuir ninguno de los activos. Añade que no se vieron afectados los fondos de otros usuarios ni las aplicaciones. El precio de Arbitrum (ARB) ha caído alrededor de un 4.8% en las últimas 24 horas, un movimiento del mercado independiente de la congelación en sí. El consejo actuó por iniciativa propia, sin someter primero la decisión a una votación de la DAO, en virtud de las facultades de emergencia que sus miembros tienen para este tipo de situaciones. La medida tiene un precedente directo. En abril, el mismo consejo trasladó más de 30,765 ETH que el atacante de KelpDAO tenía en Arbitrum One, mediante un aviso de emergencia publicado en ese momento. El episodio de abril siguió el mismo patrón: primero la incautación en la cadena, después el aviso público y la cuestión de qué hacer con los fondos quedó sin resolver. Steven Goldfeder, cofundador y director ejecutivo de Offchain Labs, empresa que desarrolla Arbitrum, afirmó en julio que el papel del consejo en la congelación de abril estaba previsto: la facultad recaía en una «entidad externa» que es «elegida ampliamente» y, en sus palabras, «no es que yo tuviera el poder para hacerlo».
Nueve firmantes, una transacción de Ethereum
Un análisis paso a paso publicado el lunes 2 de noviembre por el investigador Zealynx reconstruye cómo el consejo movió activos que no controlaba. Según el análisis, la Safe del consejo, que actualmente requiere nueve de sus 12 firmantes, llamó a UpgradeExecutor de Arbitrum en una sola transacción de Ethereum en el bloque 26301886. UpgradeExecutor es el contrato que rige cómo puede modificarse el código de Arbitrum One; el consejo ejecutó brevemente la Inbox de la cadena con código de anulación que registra la dirección de la billetera de destino, sin alias, como remitente del mensaje, y luego restauró el código original una vez que el mensaje se incorporó. Esa secuencia se ejecutó dos veces: primero ARB y luego ETH. Ambos mensajes se ejecutaron en Arbitrum One, la red de capa 2 del proyecto, 9 minutos y 45 segundos después de la transacción de Ethereum. Se enviaron como transacciones de tipo 0x65, con los campos de firma en cero, y consumieron los nonces 2 y 3 de la dirección. La primera envió los ARB a una dirección de custodia que termina en 0DA0; la segunda transfirió 8,425.99768 ETH al mismo lugar. Los dos nonces son importantes: como los mensajes llevaban los propios números de secuencia de la dirección, las transferencias parecen, para cualquier observador, pagos salientes ordinarios de la cuenta que los tenía. Los registros del token no revelan cómo se produjo el movimiento: el contrato de ARB y los indexadores registran una transferencia simple que parece haber realizado la cuenta que tenía los tokens. En Arbitrum One, lo que distingue la transacción es su tipo 0x65 y su firma en blanco. Zealynx escribió que no se aprecia ningún error en todo esto: el consejo utilizó las facultades que le otorgó la DAO y publicó ambas acciones en un plazo de una hora y media. El punto más amplio está dirigido a los desarrolladores. Cuando una especificación promete que solo una clave puede mover una billetera, esa promesa solo se mantiene hasta donde llega el control de la ruta de actualización; y en Arbitrum One, tanto la Safe de emergencia del consejo como el bloqueo temporal de la DAO en Ethereum controlan esa ruta.
La disposición de los fondos queda a la espera de ArbitrumDAO
El episodio se presenta como el uso por parte del consejo de las facultades que le otorgó la DAO, y deja sin resolver la decisión más difícil. El aviso señala que los fondos congelados «solo pueden moverse mediante una votación de gobernanza de ArbitrumDAO, que se coordinará con las partes pertinentes», y desde la congelación no se ha registrado ninguna votación de ese tipo. Para resolver el asunto, los titulares de tokens tendrían que disponer de los 74.56 millones de ARB y unos 8,426 ETH; hasta ahora, el registro no fija ni una fecha ni un mecanismo más allá de esa votación. La congelación también afecta al ecosistema más amplio de Arbitrum durante un periodo de presión programada sobre la oferta, apenas unas semanas antes de una liberación de tokens prevista. El análisis técnico de la oferta de Arbitrum ahora contempla dos factores de presión: los 74.56 millones de ARB congelados, a la espera de la DAO, y los 93.14 millones programados para el 15 de noviembre. El aviso del consejo no dice si la DAO actuará pronto sobre alguno de esos dos grupos de tokens.
