Ethereum: agentes autónomos distribuidos que viven de criptomonedas

Ethereum: agentes autónomos distribuidos que viven de criptomonedas

Lunes 16 Mar 2015

En su novela Accelerando (2005), ganadora del prestigioso premio Locus, Charles Stross describe un futuro en el cual millones de humanos han creado un duplicado digital de su mente, básicamente convirtiendo su cerebro en un programa computacional. Estos millones de personas entonces pueden abandonar sus cuerpos físicos y "subir" a una nube computacional donde pueden vivir para siempre.

Pero vivir en una nube computacional no es gratis: ¿Quién costea los ciclos de procesamiento necesarios para ejecutar el cerebro de alguien? En la imaginación de Charles Stross, la nube es una matrioska de esferas de Dyson interconectadas que utilizan la energía del sol para mantener sus procesadores. La energía solar es gratis, pero no infinita, y parte de ella debe gastarse también en mantenimiento y expansión de la nube. En su novela, los nuevos humanos intercambian servicios e información para costearse ciclos de procesamiento que les permiten seguir con vida. Los más ricos pueden costear muchos ciclos de procesamiento y por lo tanto pueden pensar más rápido y ejecutarse en forma más fidedigna. Los más pobres ejecutan simulaciones de baja fidelidad, piensan más lento, y eventualmente pueden terminar viviendo largos y letárgicos períodos de hibernación.

¿Qué es Ethereum?

Ethereum es una nube computacional, que está en estos momentos en desarrollo. Tal como en otras nubes de computación (como por ejemplo Amazon EC2) debemos pagar por ejecutar estos programas (ciclos de procesamiento), por almacenar información (memoria/disco), y por intercambiar información con otros nodos (ancho de banda). No obstante, en contraste con las nubes de computación tradicionales:

  1. No hay una entidad centralizada que controle la nube, sino que muchos nodos pueden participar.
  2. Todos los programas ejecutados están en el mismo lenguaje: EtherScript.
  3. El pago se realiza con una criptomoneda, en este caso, ether.

El hecho de que la nube sea descentralizada significa que no existe un punto de control único que pueda decidir si un servicio se ofrece o no. Cualquiera puede crear un programa y subirlo a la nube, y cada vez que un nodo ejecuta una instrucción de programa, disminuye nuestro saldo de criptomoneda, ejecutándose el programa hasta su término o que se acaben los fondos. Parte de la belleza de Ethereum es que el diseño de la misma red asegura el cumplimiento de estas normas, en el sentido de que un nodo no puede tomar el dinero sin ejecutar el programa. Hay cierto overhead que pagar, por cierto, pero esto es el precio de la anarquía—lo normal en sistemas en los cuales no es necesaria la confianza.

Ethereum no está pensada para ejecutar un cerebro humano en forma autónoma: las capacidades de cómputo de cada programa son mucho menores que eso. Pero, al igual que en Accelerando, sí está pensada para que cada programa sea autónomo, independiente de su creador (si su creador así lo desea) y en cierto sentido tenga una vida en sí mismo. Si un programa puede conseguir más criptomonedas de las que gasta en ejecutarse, puede seguir ejecutándose para siempre.

El primer paso: contratos inquebrantables

Un primer objetivo de Ethereum será permitir la ejecución de contratos algorítmicos. Un avance extremadamente interesante en el mundo financiero es la intención de estandarizar todos los contratos existentes, reduciéndolos a un número pequeño de tipos básicos que pueden ser expresados en un lenguaje formal.

Por ejemplo, un contrato de compraventa básicamente tiene un comprador, un vendedor, un objeto abstracto que es la transacción, un objeto concreto que es el bien a ser intercambiado, un precio acordado y una fecha límite. Cuando la transacción llega a un valor acordado antes de la fecha límite, el objeto intercambiado pasa del control del vendedor al control del comprador. Esto es lo que se captura en EtherScript en el siguiente contrato, en que se vende la posición de administrador de un sitio web por 5.000 unidades:

En un contrato de compraventa en el mundo físico, como observa Primavera de Filippi en esta charla, las cosas no siempre resultan de acuerdo a lo planeado. Tal vez el comprador le entregue al vendedor un cheque sin fondos, o el vendedor tome el dinero y se dé a la fuga, etc. Por supuesto hay sistemas legales a los que uno puede recurrir para conseguir una reparación, pero el resultado es incierto.

En cambio, un contrato en Ethereum está completamente descrito en un lenguaje formal, y las condiciones del contrato son administradas por la red en su conjunto. Tal como en Bitcoin uno no puede gastar la misma moneda dos veces, porque hacerlo rompe el consenso de la cadena de transacciones, en Ethereum un contrato es como un juramento inquebrantable en el universo de Harry Potter. O más al caso, siguiendo el aforismo de Lawrence Lessig: en Ethereum el código es ley.

El siguiente paso: todo lo demás

El lenguaje EtherScript es Turing-completo, es decir, puede ejecutar todo lo que un lenguaje de computación moderno puede expresar. Ethereum es una plataforma que, por lo tanto, puede ejecutar cualquier aplicación. La idea es implementar todo tipo de servicios sobre Ethereum: mensajería anónima como Bitmessage, microblogging descentralizado como Twister, o reemplazar Dropbox con almacenamiento descentralizado seguro.

El primer paso de los desarrolladores es echar a andar la plataforma, mientras colaboran con otros grupos para que creen servicios sobre ella. Un servicio sobre Ethereum puede llegar a ser mucho más robusto que un servicio oculto en Tor (como el Silk Road) porque el servidor será efectivamente la red completa. Por supuesto, el primer día que alguien ponga un servicio que te permite descargar un torrent de una película en forma muy veloz a cambio de una fracción de criptomoneda, escucharemos los fantasmas de siempre: la pedofilia, el ciberterrorismo, el ciberacoso, y la larga letanía de horrores a la que estamos acostumbrados cada vez que aparece una tecnología nueva :-)

Más información: ethereum.org »

Fuentes: Keiser Report, Etherscripter. Foto: genius.com (non-free!).

Foto de ChaTo Carlos Castillo @ChaToX PhD en Ciencias de la Computación, investigador en minería de datos y computación social, particularmente en medios sociales durante crisis humanitarias. http://www.chato.cl/