Contratos inteligentes, pero etéreos

Enrique Santos, 3 de agosto de 2016

 

En un artículo anterior destacaba cómo el sistema Bitcoin ha adquirido su robustez debido a la coherencia con la idea fundamental largamente buscada de evitar que cualquier grupo con una intención coordinada pudiera controlarlo. Es, por tanto, un sistema esencialmente e intencionadamente anárquico, pues no debe ni puede ser gobernado.

Hay quienes creen que no es esa coherencia ideológica lo que da fuerza al sistema, sino que se debe meramente las características tecnológicas innovadoras. Sin embargo, el sistema Ethereum incorpora más y mejores características tecnológicas, pero el conjunto carece de la coherencia con esa idea fundamental, lo cual genera problemas potenciales que no se han hecho esperar para convertirse en reales.

Ideas generales del sistema Ethereum

La transmisión de moneda en el sistema Bitcoin se puede entender como un contrato entre dos partes, la que entrega y la que recibe. Extendiendo esa idea, se concibió la posibilidad de usar una cadena de bloques como base para una forma mas general de contratos entre partes, que pueden usar como garantía una criptomoneda, llamada Ether, vinculada a la misma cadena de bloques y al mismo proceso de verificación. La moneda sirve también para facilitar el intercambio de bienes digitales y para incentivar la verificación mediante minería, es decir, mediante la remuneración con nueva moneda. La red de minería P2P actúa como notario y registrador, la cadena de bloques es un registro público inalterable de los contratos, y la verificación de transacciones es también la ejecución de las cláusulas. Se implementa así la idea de los contratos inteligentes (smart contracts), existente previamente como posibilidad teórica desde que la describiera Nick Szabo en 1997 (recordemos que fue también el autor de Bit Gold, precursor de Bitcoin). Generalizando esta idea se llegaría a la de aplicaciones distribuidas inalterables.

Hasta ahí podemos seguir enmarcando estas ideas dentro del criptoanarquismo, en tanto en cuanto elude la necesidad e imposición de gobiernos y leyes (-anarquismo) mediante el uso de herramientas criptográficas (cripto-). El problema viene en la implementación práctica.

Creación de la moneda Ether (ETH) y reparto inicial

La emisión inicial de Ether repartida entre los primeros inversores fue de 60.102.216 ETH. La Ethereum Foundation (ET) recaudó con ello 31.529 BTC, que en dólares son casi 19 millones, destinados en parte a desarrolladores, parte a gastos y personal, y una parte (curiosamente) a un fondo para defensa jurídica (buscar “legal fund” aquí). Se creó además un 19,8% mas de Ether para destinarlo a desarrolladores y a un fondo de contingencia de la organización ET, a partes iguales.

La existencia de tal fondo puede parecer justificable, pero añade una característica a Ethereum que no existe en Bitcoin: vincula fuertemente y por diseño a la Fundación Ethereum con el sistema Ethereum y su moneda Ether, según se recoge en el escrito de especificación llamado comúnmente white paper.

En torno a Bitcoin también se creó una Fundación Bitcoin, pero no tiene ningún vínculo con el proceso de creación de moneda, no determina el desarrollo del sistema, ha estado en situación de insolvencia, y muchos desarrolladores han sido contrarios a su existencia.

Autoataque del 51%

El proyecto mas importante desarrollado sobre el sistema Ethereum hasta ahora ha sido TheDAO, de la empresa Slock.it (no es propósito de este artículo explicar qué significa DAO), que consiguió la segunda mayor recaudación popular (crowdfunding) de la historia. Es tristemente famoso ahora por haber sido objeto de un importante ataque por el que 3,6 millones de Ether pasaron a una cuenta del atacante. Pues bien, dada la cantidad de usuarios afectados y de moneda Ether implicada, la propia Fundación Ethereum y algunos desarrolladores, incluyendo al creador de Ethereum, Vitalik Buterin, propusieron inicialmente una bifurcación suave como solución para que los afectados pudieran recuperar los fondos invertidos, y posteriormente una bifurcación fuerte de la cadena de bloques, que se ha llevado a cabo recientemente, el 20 de julio a las 13:20:40 UTC.

Esto ha generado bastante entusiasmo en general, pero no deja de ser un autoataque del 51% que va a dejar bloqueadas permanentemente unas direcciones de Ethereum y revertidas algunas transacciones. Justo aquello que en el sistema Bitcoin es uno de los máximos pecados, y que incumple la máxima de que ningún grupo o persona pueda tomar el control del sistema para modificar su funcionamiento o la cadena de bloques. Ha quedado así en evidencia el sistema Ethereum y su mayor promesa:

“Ethereum es una plataforma descentralizada que ejecuta contratos inteligentes: aplicaciones que se ejecutan exactamente según lo programado y sin ninguna posibilidad de tiempo de inactividad, censura, fraude o interferencia de terceros.”

Esta característica es la que daba valor a Ethereum como sistema, y a Ether como moneda.

Efectos no pretendidos de la bifurcación

A consecuencia del descontento que ha causado a muchos la decisión de forzar una bifurcación, surgió la iniciativa de mantener la rama original de la cadena de bloques en paralelo con la nueva, llamándola Ether Classic (ETC) para diferenciarla, y haciendo un llamamiento a los mineros para unirse a ello e intentar contrarrestar la rama bifurcada.

Como consecuencia, los poseedores de ETH antes de la bifurcación pasaron a poseer la misma cantidad de las dos monedas. Por ese motivo, los sitios de intercambio se vieron en la tesitura de deber permanecer neutrales y mantener ese derecho a sus usuarios, para lo cual la única posibilidad era mantener cotizando ambas monedas, ETH y ETC, de forma independiente. Eso lo hizo inicialmente Poloniex seguido por Bittrex, y por ello se vieron obligados los demás, causando pérdidas en los sitios que no habían previsto correctamente esa posibilidad, como fue el caso de BTC-e.

Perversión intrínseca de la voluntad mayoritaria en un entorno libre

La decisión de cambio del sistema se ha planteado como votación, siendo la potencia minera lo equivalente al voto, aunque previamente se habían hecho votaciones entre propietarios de Ether, y muchos pools de minería dejaron la decisión a sus usuarios mediante votación. La bifurcación fue aceptada por la mayoría. Esa mayoría no solo votaba por considerar al ataque como un robo (cosa que es discutible, puesto que el atacante no incumplió términos legales), sino sobretodo para que la moneda recuperase su valor en el mercado. Pero una vez realizado, los que votaron pueden vender inmediatamente, e incluso vender ETH para comprar mucha mas cantidad de ETC, que está mas barata. Es decir, pueden vender aquello por lo que votaron, dejando de estar en el sistema para el que han votado, e incluso comprar aquello en contra de lo que votaron.

Este tipo de perversión es inherente a toda votación que no compromete al votante, y de hecho, es uno de los motivos por los que las DAO obligan a todo el que vote una propuesta a permanecer con sus fondos congelados hasta el fin de la votación (los fondos actúan como derecho a voto). Pero eso origina otra perversión, y es que produce un desincentivo a votar y un importante sesgo hacia el voto positivo, puesto que los potenciales votantes negativos prefieren tener sus fondos libres sin hacer uso del voto, y además, la participación habitualmente es muy baja y no suele llegar ni al quorum mínimo.

Otra perversión parecida, también realista, puesto que está ocurriendo en gran medida tras la bifurcación, es la correspondiente a los mineros. La bifurcación ha sido aceptada por una mayoría de mineros, produciendo una rama de la cadena de bloques que en principio es mas fuerte. Pero al sobrevivir la otra rama y quedar aceptada por algunos sitios de intercambio, dado que cada uno es libre, resulta que la minería pasa a a ser mucho mas rentable y fácil en la rama minoritaria por tener mucha menos competencia y un mecanismo para venderlo. Por tanto, muchos mineros que inicialmente “votaron” aportando su capacidad de cómputo a la rama de nueva creación, se van pasando cada vez mas a la rama de Ether Classic por mera conveniencia personal, dejando paradójicamente de ser parte de la mayoría que hizo posible la rama nueva.

Por añadidura, algunos exchanges también sondearon a sus usuarios que poseían Ether antes de la bifurcación. Se encontraron con una respuesta mayoritariamente favorable. Pero una vez producida la bifurcación, las dos monedas resultantes se han mantenido cotizando simultáneamente, y con los mismos saldos de ETH y ETC para cada propietario de Ether original. Por ello, los usuarios han reclamado masivamente sus partes de Ether clásico (ETC) además del correspondiente a la rama mayoritaria bifurcada (ETH). Es decir, que los usuarios de exchanges que eran favorables a la bifurcación reclaman luego la parte no bifurcada, generando así otra paradoja pervertida de la decisión por opinión de la mayoría.

Otros casos potencialmente inconvenientes

Existe la posibilidad de que algún juez inste a la fundación o a alguno de sus miembros destacados a modificar el software de Ethereum con el pretexto de la lucha antiterrorista, delincuencia internacional o similar, y entonces, ¿qué harán los desarrolladores y la Ethereum Foundation, si ahora han creado una bifurcación para rescatar a un subgrupo de usuarios y a la empresa causante del error?.

¿Y qué ocurrirá cuando surja otro caso de ataque masivo, cuál es el umbral de número de afectados o de cantidad de moneda para que se promueva de nuevo una bifurcación dura de la cadena de bloques?. ¿Podrán moralmente rechazar una bifurcación ante un caso similar, o tendrán que arrepentirse públicamente del actual?. ¿No es esa la clase de decisiones políticas que quería evitarse con los sistemas criptográficos distribuidos P2P?

¿Y qué pasa si la Fundación Ethereum transforma sus objetivos originales por intereses particulares?. Esto último pasa habitualmente en cualquier grupo que adquiera alguna forma de poder. Y esa es precisamente una de las cosas que ha tratado de evitar el criptoanarquismo con la creación de Bitcoin.

Conclusión

El error de fundamento de Ethereum radica en tres aspectos, que lo hacen incompatible con la ausencia de grupos de control con suficiente poder como para producir modificaciones al sistema.

  • El primero es estar vinculado por diseño a un grupo con bastante capacidad de influencia sobre las decisiones de modificación del sistema, que es la Ethereum Foundation y los desarrolladores coordinados por ella.
  • El segundo es la idea de que un sistema pretendidamente autónomo e inmutable pueda funcionar mediante decisiones votadas, en las que una mayoría decida cambios y el resto los acepten y acaten, pues eso hace que el sistema no sea fiable para todos, por no ser ni inmutable, ni totalmente autónomo.
  • El tercero es crear una moneda que no es neutra, pues su reparto no sigue un solo criterio uniforme, sino cuatro dispares: hay una parte para inversores iniciales, otra para desarrolladores iniciales, otra para una organización, y otra parte continua para remuneración minera. Dos de los grupos, los desarrolladores y la organización, están privilegiados en el reparto por no ser resultado de libre competencia, lo que les confiere un poder sin la responsabilidad correspondiente, y crea un potencial conflicto de intereses, corroborado por la reciente experiencia. De hecho, reservar un porcentaje de moneda para los desarrolladores es una característica típica de los esquemas de monedas “pump&dump”, diseñadas para que suban rápido de precio con una fuerte promoción y vender antes que los demás, que solo podrán perder.

En cuanto al segundo punto, un sistema de decisiones basado en la votación mayoritaria solo es factible mientras existan mecanismos para imponer el resultado de la votación, cosa que es incompatible con la libertad intrínseca en sistemas no gobernados. Por eso Bitcoin no es democrático, sino anárquico, como requisito para mantenerse. La única mayoría que se busca en Bitcoin es una mayoría no coordinada, nunca una mayoría con intención de cambiar el funcionamiento o el estado del sistema (aunque hay debate al respecto por la limitación del tamaño de bloque).

La ausencia de una intención colectiva coordinada es lo que mantiene por defecto el funcionamiento diseñado originalmente, sin variaciones (que no sean meras meras optimizaciones o correcciones de ejecución), y eso, solo eso, es lo que aporta a todos la confianza para usar el sistema. El valor económico para ser usado como moneda es solo una consecuencia de esa confianza, así como su uso para contratos o para aplicaciones inalterables.