8 de octubre de 2018

¿Qué es Ethereum? ¿Qué es un smart contract o contrato inteligente? ¿Qué es una ÐApp o aplicación descentralizada?


Bitcoin ha sido la primera blockchain, pero desde su creación han aparecido muchas otras, cada una con diferentes características y protocolos. Una de las más importantes es Ethereum, creada por Vitalik Buterin en 2014.

¿Qué es Ethereum?

Es una blockchain pública que tiene la particularidad de permitir la ejecución de código y guardar estructuras de datos de forma descentralizada.

¿Cómo funciona Ethereum?

Ethereum funciona gracias a una máquina virtual llamada Ethereum Virtual Machine (EVM) que ejecuta bytecode de forma descentralizada. Los desarrolladores escriben programas en lenguajes de programación de alto nivel de tipo Turing completo, como Solidity. Estos programas, llamados Smarts Contracts, son compilados a dicho bytecode y subidos a la red de Ethereum, donde pueden ser ejecutados por cualquier persona. Toda ejecución dentro de la red de Ethereum consume un determinado Gas que tiene un coste que se paga en Ethers, la moneda de Ethereum, como incentivo a los mineros en forma de comisión.

¿Qué ventajas tiene Ethereum?

La ventaja de Ethereum con respecto a otras blockchains es que no es necesario construir una nueva blockchain para cada nueva aplicación pues Ethereum permite el desarrollo potencial de cualquier tipo de aplicación descentralizada. Actualmente existen distintas blockchains que, como Ethereum, permiten ejecutar código de forma descentralizada, pero Ethereum es la más madura de todas ellas.

¿Qué desventajas tiene Ethereum?

Ethereum, al igual que el resto de blockchains, si lo comparamos con el software “tradicional”, es lento, y tiene problemas de escalabilidad. Parte de estos problemas se solucionan utilizando blockchains privadas o mixtas. Actualmente todas las blockchains están intentando solucionar estos problemas, pero no parece que la solución vaya a llegar en breve.

¿Qué es un smart contract o contrato inteligente?

Un smart contract o contrato inteligente es un programa informático imparable e inmutable que se ejecuta de forma autónoma y descentralizada dentro de una blockchain.

¿Qué características tiene un smart contract o contrato inteligente?

Imparable

Una vez subido a una blockchain va a poder ejecutarse siempre, a no ser que haya sido programado para dejar de hacerlo. Un contrato inteligente no puede ser censurado por entidad alguna.

Inmutable

Una vez subido a una blockchain, tanto si funciona correctamente como si no, ya no se puede modificar. Si se quiere añadir una funcionalidad nueva es necesario subir un nuevo contrato.

Autónomo

Una vez subido a una blockchain no necesita ningún servidor para poder ser ejecutado pues lo hace en la propia blockchain.

Descentralizado

Una vez subido a una blockchain no necesita ningún tercero de confianza para ser interpretado, simplemente cada vez que se lance ejecutará las instrucciones en él programadas.

Confiable

Al estar almacenados en una blockchain, la trazabilidad de los datos generados por los contratos inteligentes es muy confiable.

¿Qué es una ÐApp o aplicación descentralizada?

Una ÐApp (se escribe con esta Ð extraña) o aplicación descentralizada es una aplicación que no depende de un sistema central si no que interactúa con uno o varios contratos inteligentes alojados en una blockchain.

¿Qué diferencias existen entre una ÐApp o aplicación descentralizada y una aplicación web tradicional?

La arquitectura de una aplicación web tradicional consiste en:
  1. por un lado, el front-end, que se corresponde con la interfaz gráfica de la aplicación, que se suele programar con HTML, CSS y JavaScript y que se suele ejecutar en un navegador web;
  2. y por otro lado, el back-end, que se corresponde con la parte del servidor, osea con:
    1. los servicios web, que se suelen programar con Java, .NET, PHP, Python, Ruby, etc.;
    2. y las bases de datos en donde se guardan los datos.
La arquitectura de una aplicación descentralizada se diferencia en que en este caso el back-end se corresponde con la blockchain en donde:
  1. se ejecutan los contratos inteligentes que serían como los servicios web tradicionales;
  2. y se guardan los datos en forma de transacciones en la propia blockchain.

Imagen. Arquitecturas de una aplicación web tradicional y de una ÐApp o aplicación descentralizada.

Ver también

Bibliografía

0 comentarios:

Publicar un comentario