Incidentes Asociados

En algún momento de la madrugada del viernes, un ladrón se llevó 50 millones de dólares en moneda virtual.
Las víctimas son inversionistas en un fondo extraño llamado DAO, u Organización Autónoma Descentralizada, que invirtió más de $ 150 millones de una moneda de estilo bitcoin llamada Ether en el proyecto.
Se suponía que el código eliminaría la necesidad de confiar en los humanos. Pero resulta que los humanos son difíciles de eliminar de la ecuación.
Las personas que crearon la DAO lo vieron como un fondo de inversión descentralizado. En lugar de dejar las decisiones en manos de unos pocos socios, cualquiera que invirtiera tendría voz y voto sobre qué empresas financiar. Cuanto más contribuyó, más peso tuvo su voto. Y la estructura distribuida significaba que nadie podía huir con el dinero.
Ese era el plan, de todos modos.
El DAO se basa en Ethereum, un sistema diseñado para crear aplicaciones descentralizadas. Sus creadores esperaban demostrar que se puede construir una institución financiera más democrática, sin control centralizado ni falibilidad humana. En cambio, la DAO condujo a un atraco que plantea preguntas filosóficas sobre la viabilidad de tales sistemas. Se suponía que el código eliminaría la necesidad de confiar en los humanos. Pero resulta que los humanos son difíciles de eliminar de la ecuación.
Un cajero automático interminable
Los desarrolladores de DAO y los entusiastas de Ethereum están tratando de descubrir cómo podrían revertir el robo. La buena noticia es que el tiempo está de su lado. El ladrón transfirió los fondos robados a un clon de la DAO que probablemente incluye un código que, como en el sistema original, retrasa los pagos durante algunas semanas.
Stephan Tual, el director de operaciones de Slock.it, la empresa que creó la DAO, dice que el ladrón probablemente nunca esperó poder gastar el éter. Cada unidad de éter es única y rastreable. Si el pirata informático intenta vender algo del éter robado en un mercado de criptomonedas, el sistema lo marcará.
"Es como robar la Mona Lisa", dice. "Genial, felicitaciones, pero ¿qué haces con eso? No puedes venderlo, es demasiado grande para venderlo".
El DAO es una pieza de software conocida como "contrato inteligente", esencialmente un acuerdo que se aplica a sí mismo a través del código en lugar de los tribunales. Pero como todo software, los contratos inteligentes hacen exactamente lo que sus creadores programan para que hagan y, a veces, esos programas tienen consecuencias no deseadas.
Aún no está claro exactamente cómo funcionó el truco, dice Andrew Miller, estudiante de doctorado en la Universidad de Maryland que estudia contratos inteligentes y ayudó a auditar el código de Ethereum el año pasado. Pero dice que el atacante probablemente explotó un error de programación que es extremadamente común en los contratos inteligentes.
Digamos que tienes $50 en el banco y quieres retirarlos de un cajero automático. Insertas tu tarjeta, ingresas tu número PIN y luego solicitas esos $50. Antes de que la máquina escupa el efectivo, verificará su saldo. Una vez que escupe el efectivo, debitará $50 de ese saldo. Luego, la máquina le pregunta si desea procesar otra transacción. Presionas "sí" e intentas tomar $50 nuevamente. Pero el cajero automático ve que su saldo ahora es $0 y se niega. Te vuelve a preguntar si quieres procesar otra transacción, así que esta vez dices "no". Su sesión finaliza.
Ahora imagine que el cajero automático no registró su nuevo saldo hasta que finalizó la sesión. Podría seguir solicitando $50 una y otra vez hasta que finalmente le dijera a la máquina que no deseaba procesar más transacciones, o la máquina se quedó sin dinero.
El pirata informático DAO probablemente pudo ejecutar una transacción que se repitió automáticamente una y otra vez antes de que el sistema verificara el saldo, dice Miller. Eso permitiría que cualquiera sacara mucho más dinero del fondo del que invirtió.
El lenguaje de programación que usan los desarrolladores de Ethereum para escribir contratos inteligentes, Solidity, hace que sea muy fácil cometer este tipo de error, dice Emin Gun Sirer, un científico informático de la Universidad de Cornell que fue coautor de un artículo a principios de este año que señala una serie de posibles trampas en el diseño de la DAO. Otros han visto previamente lugares en el código DAO que habrían hecho posible tal robo. Sirer dice que los desarrolladores de DAO han tratado de estar atentos para prevenir tales fallas, pero debido a que es un error tan fácil de cometer, no es sorprendente que las instancias del error no se noten.
demasiado humano
A pesar de lo malo que fue el error, Sirer todavía piensa que tanto el DAO como el Ethereum son experimentos que valen la pena. El DAO ayudó a crear conciencia sobre la idea de los contratos inteligentes, que Sirer cree que eventualmente se volverá extremadamente importante para la forma en que el mundo realiza transacciones. El proyecto también ha llamado la atención sobre algunos de los mayores desafíos técnicos.
"Este es un rito de iniciación para el proyecto", dice.
El equipo de Ethereum ahora está debatiendo cómo y si reembolsar los fondos robados. Ethereum funciona de manera muy similar a Bitcoin: el sistema registra cada transacción en un libro de contabilidad global que reside en la computadora de cada usuario de Ethereum. El equipo de Ethereum podría lanzar una nueva versión del software que modifica este libro mayor para revertir esencialmente todas las transacciones de atracos de DAO. Si suficientes personas instalaron esta versión