El espectacular incremento de valor que ha sufrido Ethereum provoca un especial interés por las criptomonedas. En este año 2017, ETH ha pasado de valer unos pocos euros a alcanzar cotas de alrededor 300 euros por unidad. Incluso el inversor más cauto está planteandose invertir.
Pero Ethereum no es sólo una moneda para especular como las acciones de la bolsa, al menos eso queremos pensar algunos desarrolladores que estamos ilusionados con lo que está por venir.
Las criptomonedas no se crearon para especular con ellas, incluso este afán de hacer dinero a su costa perjudica su principal cometido: crear un sistema distribuido, donde no necesitemos un entidad centralizada (véase los bancos) para realizar operaciones. Esa responsabilidad recae en un blockchain distribuido de miles de nodos por todo el mundo que nos den la misma seguridad o más. De momento, la especulación sirve para financiar parte del proyecto Open Source que sustenta Ethereum y el ecosistema detrás él.
La posibilidad de crear contratos inteligentes ligados a esas transacciones muestra el potencial tremendo de una plataforma que no sólo revolucionará las finanzas sino también internet.
Ethereum quiere hacer el blockchain más que un calculadora
La posibilidad de crear contratos inteligentes (smart contracts) ligados a las transferencias es la gran revolución que le espera al sector financiero.
Ethereum es mucho más que una criptomoneda. De hecho, cuando nos referimos a Ethereum podemos estar hablando del protocolo o la red de nodos que sustenta el sistema. Y la parte más conocida para los no programadores es la moneda Ether, la criptomoneda de Ethereum.
Lo primero que hace Ethereum es descentralizar el control de la verificación de las transacciones. Describiendo brevemente cómo lo hace, podemos decir que la responsabilidad recae en un blockchain que actúa como una inmensa base de datos distribuida segura y mantenida por una gran cantidad de nodos conectados a lo largo de todo el mundo (los mineros).
Los datos son almacenados en bloques, los cuales están enlazados los unos a los otros identificados por un hash generado junto a un timestamp. Toda esa información es inmutable, es decir, nadie puede modificarla. Y aún más está replicada a lo largo de todos los nodos que forma la red.
Hasta aquí todo es muy similar a lo que nos encontramos cuando hablamos de Bitcoin. Pero Vitalik Buterin, inventor de Ethereum, ya empezó a diseñar en su white paper sobre Ethereum de 2014 lo que daría un paso más allá a ser una simple calculadora o un gran libro de cuentas.
The key component is this idea of a Turing-complete blockchain. … As a data structure, it works kind of the same way that Bitcoin works, except the difference in Ethereum is, it has this built-in programming language.
Vitalik Buterin, inventor of Ethereum

Smart Contracts en Ethereum
Los smart contract son ideales para realizar micro-transacciones guiados por eventos verificables por la red.
Tal como hemos mencionado, Ethereum permite a los desarrolladores crear pequeños contratos inteligentes en el blockchain. Tales piezas de código son autocontenidas y definen el acuerdos entre múltiples partes. Podemos realizar micropagos instantáneamente si se cumple las condiciones por las que fue creado dicho acuerdo.
La gran ventaja es que son inmutables (no pueden ser modificados estando en el blockchain), no necesitan de intervención directa sino que puede mediar y realizar las transferencias monetarias automáticamente.
Los smart contract pueden ser empleados en una amplia variedad de escenarios. Son ideales para realizar simples transacciones, en cuyas partes deban estar obligados a un conjunto de requisitos verificables por la red, tanto dentro del blockchain como variables externas mediante APIs.
Podemos pensar en distintos productos financieros ya existente que tardan días en ser actualizados para ser liquidados como fondos, derivados, futuros, opciones de compra, etc.., pero también cualquier microtransaction que ahora mismo realicemos de forma cotidiana.
Por ejemplo, podemos desarrollar un smart contract que gestione los derechos de autor del fondo de un banco de imágenes, cada vez que un medio use una de las imágenes para alguna de sus noticias se realizará un micropago de los ETH estipulados.
O en otro uso práctico crear un microseguro que asegure a los agricultores contra la sequía realizando pagos asociados a los datos recogidos de lluvias en un periodo de tiempo.

Solidity: el lenguaje para programar los smart contract
Ethereum combina las facetas de networking, app hosting y base de datos para almacenar estados de dichos contratos.
En Ethereum, los smart contract son programados en Solidity, un lenguaje específicamente creado para tal fin. Digamos que es un batiburrillo de algunas convenciones ya usadas por programadores web y de aplicaciones de red. La sintaxis del código es similar a JavaScript y C.
Permite compilar dichos contratos en el bytecode utilizado por Ethereum que será desplegado en las máquinas virtuales que representa la combinación de nodos. Es decir, Ethereum Virtual Machine (EVM), las responsables de ejecutar ese código, pequeñas computadoras distribuidas de 256-bits.
Se pueden programar esos smart contract localmente y después desplegarlo para que sean propagados alrededor de toda la red siendo alojados de forma descentralizada. En ese sentido, Ethereum combina las facetas de networking, app hosting y base de datos para almacenar estados de dichos contratos.
Desplegar aplicaciones en Ethereum no es una tarea trivial, ya que tiene una cierta curva de aprendizaje. Para ello existen herramientas como el browser Mist Browser que permite prototipar los scripts de los smart contract, crear wallets y provee algunas funcionalidad por línea de comandos para comunicar con la red Ethereum.

Sobre Solidity puedes encontrar documentación de cómo empezar a programar con él en la propia web del proyecto Ethereum. Además de trastear con algunos ejemplos de smart contract ya creados.
Cuando tengamos esos smart contracts desplegados podemos empezar a crear una serie de aplicaciones entorno a ellos. Ese es el papel de las distributed application, conocidas como DApp.
Las Dapps están compuestas por smart contract que se ejecutan en la red de nodos de Ethereum (el backend). Para que sean fácilmente accesibles, la parte front-end se crea con HTML/CSS/Javascript y puede ser utilizadas a través de un web browser, una aplicación de móvil o un Ethereum Browser, tal como Mist o la línea de comandos usando Geth implementada en GO.

¿Qué podemos construir a día de hoy en Ethereum?
Más arriba hemos descrito el potencial que posee Ethereum y de algunas de sus herramientas como el propio lenguaje Solidity, los smart contract o el concepto de aplicaciones descentralizadas Dapps y la capacidad de computación que nos permite EMV a través de sus nodos. Ahora vamos a repasar qué podemos hacer a día de hoy, es decir, que tipos de aplicaciones nos estamos encontrando los desarrolladores.
La mayoría de estas aplicaciones están siendo desarrolladas en la cadena pública, pero a nadie se le impide crear su propio blockhchain privado haciendo un fork de Ethereum, tal como en alguna ocasión hemos hablado de las alt-coin creadas a partir de Blockchain. Pero soy bastante crítico con ese tipo de aplicaciones que más allá de reinventar la rueda entorpecen el desarrollo de Ethereum.

Algunas de las aplicaciones que se pueden conseguir son:
Enviar y recibir Ether. Obvio y quizás la primera en la que pensariamos. Cualquiera puede conseguir un dirección pública de Ethereum y descargando el wallet de Mist para operar. Existen multitud de wallet alternativos, incluidos en el apps móviles en la Apple Store o Google Play.
Escribir smart contract: podemos crear apps descentralizadas apoyadas en los smart contract que realicen pagos y transferencias entre cuentas. El verdadero potencial viene de lo grande que llegue a ser la red pública y quien participe alli. Alternativamente, las redes privadas permiten los mismo de forma reservada en un entorno empresarial.
Crear aplicaciones sin intermediación que aseguren apuestas, o incluso, transforme los típicos puntos obtenidos en juegos a dinero real para gastar sin la necesidad de confiar en un entidad que lo avale o te lo canjee.
Crear nuestro propio Token. Aunque nos llevaría más tiempo explicar el concepto de token dentro de la red Ethereum, simplificando la idea podemos crear sub monedas de Ethereum que tengan una validez dentro de nuestro desarrollo u organización. De aqui, ya hemos visto algunos ejemplos como se ha creado ICOs basados en Ethereum utilizando la conversión de token en forma de inversión.
El futuro: una internet de valor, quizás sea el Internet 3.0
Ethereum es ya un gran protocolo que permite la creación de smart contract, DApps u organizaciones descentralizadas. Quizás esto nos lleve a nueva estructura del nuevo Internet.
Web 3 es el término general para referirse una web descentralizada, tal como Web 2 se refiere a las web alojadas en servidores, aplicaciones o servicios. Web 1 se refería a la original World Wide Web, la cual tan solo aloja páginas estáticas.
Web 3 es una amplia visión en el que Ethereum forma parte importante, aunque no única, pero donde los desarrolladores nos vemos identificados. Hablamos de tres componentes:
- Identificación peer-to-peer y un sistema de mensajería
- Datos compartidos a través de un blockchain
- Almacenamiento descentralizado

En todo esto tiene mucho que ver la Enterprise Ethereum Alliance (EEA) una red de académicos, compañías y startups que comparten conocimiento para definir el software necesario para crear aplicaciones que aceleren los negocios. Aquí en esta imagen podéis ver algunos de los miembros, algunos de los negocios tradicionales que verían riesgo en ello están ahí siguiendo de cerca la plataforma Ethereum. Y por supuesto, el creador, Vitalik Buterin, y como suele llamarse en el entorno Open Source a este tipo de figuras, el dictador benevolente.
Del modo en el que vemos Bitcoin como una forma de intercambiar dinero sin intermediación de bancos o entidades financieras tradicionales, Ethereum construye una red descentralizada para crear, por ejemplo, markeplaces de intercambio de servicios como Uber o Ebay. La confianza recae en el blockchain al que podemos tratar con una web 3.0 donde conectarnos para obtener los datos justos y necesarios para crear valor y confianza entre las apps-usuarios.
Todo ello lleva a la convergencia de la red con una estructura peer-to-peer y los servicios de la economía compartida.
Más información | Ethereum project
Ver 37 comentarios
37 comentarios
rumpelstisien
Buen artículo pero inevitablemente corto.
Tratar de transmitir en pocas lineas el potencial que una Blockchain turing-completa es muy difícil.
Ahí va mi aporte: Confianza.
Lo que consiguen estas tecnologías es eliminar la necesidad de depositar la confianza en terceros. Han conseguido que solo dependa de un algoritmo verificable y del afán de lucro de las personas. En vez de tener que fiarse de la honradez y la buena fe de las personas se hace de su egoísmo y de las matemáticas. ¡Es genial!
A partir de esta base las posibilidades son prácticamente infinitas, pero a mi me fascina sobre todo la WEB completamente distribuida. Ahora está al alcance de la mano una WEB donde tus datos te pertenezcan solo a ti, donde los contenidos sean imposibles de censurar, donde no hay puntos de fallo, donde las comunicaciones sean realmente privadas, donde los contenidos vayan directos de los productores a los consumidores sin necesidad de intermediarios ni publicidad.
En fin, agarraos al asiento que vienen tiempos vertiginosos.
Usuario desactivado
Si el emperador del cuento "El nuevo traje del emperador" se hubiera mirado en la billetera, seguro que la tenía llena de criptomonedas
wikipedia: El_traje_nuevo_del_emperador
luischos
No lo acabo de ver... igual voy viejo, pero lo veo demasiado complicado y con mucha "magia negra" por detrás... Quizá ahora me fije más en lo simple, sencillo y directo, pero esto es darle ya muchas vueltas a la tortilla (que seguramente me equivoque, sólo es una opinión :) )
Usuario desactivado
No soy nadie. A estas alturas debo ser el único que no ha creado su propia criptomoneda.
TOVI
Ojala explote pronto junto al bitcoin al igual que en Holanda con los tulipanes. Solo caerán los especuladores, que encima hacen que suba el precio de los componentes informaticos.
marjuanmanuel
Gracias por el artículo.
tony.fernandez.7568
Soy programador y, en serio, no me he enterado de nada.
Se que las cripto monedas están ganando importancia y tal pero en mi opinión jamás podrán competir con llevar una carrera llena de billetes. ¿Por qué?
Para que ese dinero tenga valor hacer falta una conexión perpetua y global a Internet de TODO.
Desde un vendedor ambulante, el autobús, un kiosko de helados, una carrera, una máquina expendedora de condones...
¿Como voy a comprar con un Ether por ejemplo un chicle de cinco céntimos en una panadería? Suponiendo que se cumpliera el mundo perfecto del Ether, ¿bastaria con sacar mi pendrive y que me cobre sin ninguna comisión ni que él panadero tenga que pagar a ninguna entidad que le proporcione la máquina de cobro? ¿O podría pagar con mi huella dactilar?
Colmillo programadores no comprendo esos conceptos tan complejos. Pero si que el dinero virtual ideal es aquel que no existe ni necesita soportes físico, uno que va asociado a tu existencia (huellas, retina) y que con tan solo identificarte puedas negociar con el (cobrar un sueldo y que recibas tu dinero virtual sin soporte físico...)
Eso ahora mismo se llama cuenta bancaria y lo ideal del rodillo es que no hubiera una entidad bancaria detrás sino que fuera una base de datos mundial que contenga mi dinero.
Algo así como ocurre en la película In-time. Pero sin morirte si un día te quedas a cero.
alons0
Toda una revolución, si señor. Estoy de acuerdo con el post. De hecho me atrevo a pensar en usos de la plataforma más allá de lo que se comenta en blogs o artículos de opinión/análisis.
Ethereum podría ser la solución a esas economías intervenidas por gobiernos o regímenes, y convertirse así en herramienta de poder para el pueblo. Y me atrevo a ir más allá: un smart contract o dapp en el que poder votar en esos regímenes y poder conocer la opinión del pueblo sin ningún tipo de malversación o posibilidad de manipulación de los resultados, como pueda ocurrir en Venezuela, Corea del Norte, u otros regímenes.
Y hay más ideas que se me vienen a la cabeza, pero me las reservo por si un día me da por desarrollarlas xD
Mirsof
Cuando es malo generalizar....
Mr. John Doe
¿Y los programadores que no utilizamos criptomonedas y desconocíamos completamente lo que era Ethereum hasta que vimos este artículo en Xataka afirmando que todos los programadores amamos Ethereum? ¿Somos raras piezas de museo? pero si tengo hasta mi cuenta de Paypal... (¿decir esto me hace ver más obsoleto?)
PD: Ya mejor ni digo que lo que a mi me gusta es llevar mi dinero en la cartera... me disculpan pero es que la tienda de la esquina no me acepta Ethereum cuando voy a comprar tortillas, leche y refresco...
Héctor
Leyendo los comentarios veo que hay mucha confusión con el tema del valor de las monedas, lo que es blockchain... . Lo interesante de todo esto no es especular con el valor de las monedas... los valores reales se ajustarán con el tiempo y ya irán desapareciendo muchas... Aquí lo interesante es la tencología blockchain que hay debajo. Que es lo que realmente va a cambiar el mundo tal y como lo vivimos.
Tendremos redes sociales distribuidas sin Facebook, donde seremos dueños de nuestros datos y ser nos recompensará por escribir post y dar a likes... es decir venderemos directamente nuestra información a las empresas publicitarias... sin pasar por Google... Facebook...
Paypal y los bancos no serán necesarios. Indra etc, no tendrán que realizar el programita de turno para las elecciones del país. No se necesitarán notarios para realizar un acuerdo entre partes. Ya no tendremos fakeNews!.
En Australia ya están vendiendo entre particulares energía generada en sus placas solares sobrante.... entre particulares!!!, sin una distribuidora como Iberdrola, Enel entre medias... comparad eso con el panorama en España...
Resumiendo... faltan 10-20 años o más para esto.... pero llegará esta famosa Web 3.0 y el internet del valor.
ah!, y la panadería de debajo de casa.... podrá seguir aceptando dinero metálico..., claro que si, pero lo lógico es que registre la compra en un TPV distribuido y público que eliminaría por ejemplo de un plumazo el fraude del iva etc.
perspectivas
Debo ser el rey de los ignorantes pero las monedas se usan para hacer transacciones, no son un valor en si, deben representar un valor de un bien tangible o no.
Si hablamos de economía real y financiera resulta que chocan los valores de las monedas y su soporte en la economía real, ojala fuera tan fácil pasar de 1 a 6000, o esos aumentos espectaculares de valor, pero si se observa un poco podemos ver que si esos valores son tan altos y el efecto en la economía real no son notorios uno de los dos falla.
Que yo sepa la producción industrial, servicios, etc no aumenta a esa velocidad y alguien va a tener que ajustarse a la realidad, y una ya vive en ella. No pretendo dar una lección de nada, pero lo único que nos hace creer que esto funciona es que nos estamos buscando autoconvencer.
diegoparedes
Buen artículo, es muy informativo ya que este programa es un poco complejo.
bukosabino
Si lo que quiero es implementar una blockchain propia (de andar por casa, digamos) para almacenamiento e intercambio de datos. ¿Cuál es la mejor opción?:
- Crear un token propio que funcione sobre la red Ethereum.
- Hacer una Dapp que use los smarts contracts de Ethereum (pública).
- Hacer una Dapp que use los smarts contracts de Ethereum (privada, mediante fork).
¿Qué opción debo elegir y por qué? ¿Se me escapan más opciones?
Saludos.
omar_o
No entiendo una mierda
equisdedequis
los programadores... todos en el mismo saco... desde luego los artículos que se publican cada día pierden integridad... no por no informar .. sino por vender la moto magnificando todo a tal punto... que me dan ganas de llorar.. la sociedad en general sigue el mismo camino... siento vergüenza .. quizás por ver donde estamos y hacia donde vamos...
Juanca
Un avance de era?? jaja todo muy tecnológico y todo pero por algo existen Los Bancos Centrales (y un Estado) detrás de cada moneda real. Esta bien que se quiera independizar los sistemas de pagos de las (maléficas) manos de los bancos privados multinacionales.... Pero si se fijan los que están subidos al barco de Ethereum son algunos de esos bancos multinacionales, y que creen, quienes son los que nunca pierden cuando explotan las burbujas? los bancos...
Los que terminan perdiendo son los "pequeños inversores", que no tiene "información privilegiada". Y saben a quien podrán exigir sus derechos en caso de problemas? a nadie, porque no existen una jurisdicción clara de esas "criptomonedas".
Sarcasticamente hablando, seria bueno que también inventen un cripto-juzgado o cripto-corte jaja
ignaciocure
Se viene la nueva burbuja.