¿Cómo funciona Ethereum?

Escrito por Michele D’Aliessi. Artículo original en Medium.

La lógica y la mecánica detrás de Ethereum explicada en palabras sencillas.

Ethereum es una plataforma sobre la que cualquiera puede construir aplicaciones imparables[1] y descentralizadas. Si nunca has oído hablar de Ethereum o si no sabes para qué sirve, te recomiendo encarecidamente que leas «Qué es Ethereum» antes de profundizar y explorar cómo funciona en este artículo.

El propósito de este artículo es explicar cómo funciona Ethereum proporcionando una visión general y no técnica de su lógica y mecánica interna. Por favor, tenga en cuenta que lo que se describe a continuación es una versión simplificada de lo que realmente sucede, pero debe ser lo suficientemente técnico como para darle una idea general de cómo funciona. Si tiene alguna pregunta, por favor escriba como comentarios o notas privadas, me ayudaría a refinar este artículo con el tiempo y lo haría mucho más claro para los futuros lectores.

Podemos ver a Ethereum como una pila de pocas capas construidas una encima de la otra. La primera capa básica que hace posible todo lo demás es una gran red de computadoras que procesan las transacciones y mantienen una base de datos compartida actualizada a lo largo del tiempo (la cadena de bloques de Ethereum). La segunda, es la capa de software que permite a los desarrolladores ejecutar programas llamados «contratos inteligentes» en la cadena de bloques de Ethereum, utilizando un lenguaje de programación llamado «Solidity». La tercera capa está formada por aplicaciones que ofrecen diferentes servicios (desde el gobierno hasta la gestión de identidades) a los usuarios de Ethereum. La característica destacable de esta plataforma es que al aprovechar las capas de hardware y software de Ethereum, estas aplicaciones están descentralizadas, carecen de un punto central de fallo y son de alguna manera «imparables». No puedes apagarlos.

Exploremos cada una de estas capas en detalle.

Fig. 1 – Las diferentes capas de la plataforma Ethereum

1. Capa de hardware de Ethereum: blockchain

La mayor parte de lo que se ve en la web, incluyendo este artículo, está alojado en un servidor en un centro de datos en algún lugar del planeta. Cuando usted abre su navegador y navega por la web, su ordenador (cliente) se conecta a dichos servidores y descarga el contenido que está buscando. Esta infraestructura cliente-servidor estaba destinada a una Internet con pocos repositorios centralizados (servidores) que distribuyeran contenidos a muchos usuarios (clientes). Sin embargo, hoy en día Internet conecta a muchos clientes con otros clientes, ya que todos somos creadores y usuarios de contenidos (Web 2.0). Los ordenadores pueden conectarse en una gran red y pasar el contenido entre sí desde el ordenador que lo generó hasta el ordenador que lo solicitó. Este gran grupo de ordenadores que se transmiten contenidos entre sí se conoce como «red peer-to-peer».

La capa de hardware Ethereum es una red de computadoras de igual a igual que computa las transacciones y las mantiene en orden en un libro mayor compartido. Esto les permite construir una base de datos distribuida que puede mantener un registro de toda la información que se comparte en la red: todas las transacciones que tienen lugar. Cada computadora de la red se llama «nodo», valida las transacciones entrantes y las organiza en bloques que luego se transmiten a toda la red Ethereum. Aquí puedes ver la red Ethereum de computadoras procesando transacciones en tiempo real (ten paciencia, el sitio web tardará un poco en cargarse).

Fig. 2 – Capa de hardware Ethereum: cadena de bloques

Las transacciones pueden contener tanto valor como información. El valor se expresa en «Ether», la moneda digital de la plataforma Ethereum. Y la información es un código que puede pasar datos y desencadenar acciones. Esto es relevante para la capa de software de Ethereum, para la capa de hardware tengamos en cuenta que está compuesta por cientos de computadoras repartidas por todo el planeta que están conectadas entre sí a través de Internet.

Cualquier persona puede ofrecer su propia computadora para procesar las transacciones de la red simplemente ejecutando algún código en su ordenador portátil. Existe un esquema de incentivos que promueve el crecimiento de la red Ethereum, de hecho aquellos que ejecutan los nodos son recompensados en «Ether» – un activo valioso ya que puede ser utilizado para hacer uso de las aplicaciones que se ejecutan en la plataforma.

Esto debería ser suficiente para darle una comprensión general de la capa de hardware de Ethereum. Si desea conocer los detalles de cómo estas computadoras coordinan el trabajo y las transacciones de proceso, necesitará aprender la mecánica de la tecnología de la cadena de bloques: este artículo es un buen comienzo (utiliza la cadena de bloques de Bitcoin como ejemplo para explicar la tecnología, pero la mayor parte del contenido también es válido para Ethereum[2]).

2. Capa de software de Ethereum: Solidity

La flexibilidad de la plataforma Ethereum es lo que la hizo popular entre los primeros entusiastas de Bitcoin y blockchain. De hecho, mientras que Bitcoin ha sido diseñado como una moneda para realizar transacciones de valor entre diferentes actores, Ethereum ha sido desarrollado para extender el uso de la tecnología subyacente de Bitcoin y construir una cadena de bloqueo más amplia y de uso general.

La capa de software de Ethereum ha sido construida para permitir la transacción de valor en cualquier forma, ya sea una moneda, una casa, una identidad, los derechos para usar o reproducir una canción o cualquier otro activo que se le ocurra.

Ethereum extendió Bitcoin más allá de su naturaleza monetaria.

Para ello, se ha creado un nuevo lenguaje de programación, llamado «Solidity». Para aquellos de ustedes que son desarrolladores de software, es bastante similar a JavaScript. Los programadores de Solidity pueden construir programas simples llamados «contratos inteligentes» que pueden implementar la lógica básica de las transacciones.

Por ejemplo, un contrato inteligente puede implementar la siguiente lógica: si tanto Mark como Bob envían cinco ethers a Jack, entonces automáticamente envían dos ethers de Jack a Alice.

Ethereum también permite a cualquiera crear nuevas monedas digitales (o más específicamente «tokens») que pueden ser intercambiadas por todos los usuarios de Ethereum. Esto permite una amplia gama de aplicaciones: desde la digitalización de los puntos de recompensa en su cafetería favorita, hasta la creación de nuevas economías en mercados específicos.

En la imagen de abajo se puede ver cómo es el código de Solidity, este contrato inteligente básico genera un nuevo token y permite su transferencia a otros usuarios.

Fig. 3 – Capa de software Ethereum: Solidity y contratos inteligentes

Todo el código de Ethereum es de código abierto y está disponible en línea en Github.com. De hecho, cualquiera puede descargar (y usar) el código de la imagen de arriba de forma gratuita para desarrollar una nueva aplicación. La naturaleza de código abierto de Ethereum permite a cualquiera que quiera contribuir a escribir nuevo código y compartirlo en línea, desarrollando nuevas características o fortaleciendo la plataforma general mediante la corrección de errores. Esto también significa que la plataforma Ethereum es de alguna manera auto-evolutiva, ya que la comunidad está constantemente añadiendo nuevo código, al igual que Wikipedia tiene editores que añaden nuevos artículos y editan los ya existentes.

Cualquiera puede aprender a programar en Solidity, hay muchos recursos gratuitos en línea, como el sitio web oficial de Ethereum o estas lecciones gamificadas con zombis.

En resumen, la capa de software de Ethereum permite a los desarrolladores de software diseñar contratos inteligentes que permiten la transferencia programable de valor. Todo el código de los contratos inteligentes es público, por lo que cualquiera puede comprobar qué ejecutan realmente estos programas.

3. Capa de aplicación de Ethereum: dApps

La combinación de las capas de hardware y software descritas anteriormente permite a Ethereum funcionar como un supercomputadora global y descentralizada en el que se pueden ejecutar aplicaciones de terceros.

A pesar de que muchos de los primeros adoptantes aprovecharon la función de «emisión simbólica» de Ethereum para recaudar fondos y lanzar nuevos proyectos (Ofertas Iniciales de Monedas), las aplicaciones de Ethereum se extienden mucho más allá del sector financiero. Hay más de 900 aplicaciones construidas sobre Ethereum, de las cuales aproximadamente el 30% está funcionando, mientras que el otro 70% está aún en desarrollo.

Debido a la naturaleza abierta y transparente de Ethereum, muchos desarrolladores de todo el mundo se reunieron y construyeron una comunidad fuerte y grande que actualmente está trabajando para ampliar las funcionalidades y aplicaciones de esta plataforma.

La creación de aplicaciones públicas y descentralizadas tiene varias ventajas que superan a las aplicaciones privadas y centralizadas, en particular:

  • Transparencia. Cualquiera puede leer el código y asegurarse de que la aplicación hace lo que promete. Todas las transacciones son también públicas y pueden ser rastreadas.
  • Resistencia. Es difícil, o virtualmente imposible, detener esas aplicaciones una vez que se ejecutan en Ethereum.
  • Mejor código. Dado que el código es público y cualquier hacker puede leerlo, es necesario corregir los errores de forma rápida y eficaz, lo que resulta en un código de mayor calidad y fiabilidad.

Cada día se inician nuevos proyectos y varias aplicaciones que se ejecutan en la plataforma y se centran en mejorar el mundo en el que vivimos, al igual que este proyecto de WWF.

Parece que Ethereum podría desempeñar un papel importante en el cambio de nuestra actual Internet centralizada hacia un futuro más transparente, orientado a la privacidad e igualitario.

Enlaces de interés

  • Más información sobre el proyecto Ethereum – link
  • Ver la red de computadoras que ejecutan Ethereum en tiempo real – link
  • Cómo conseguir tu propia cartera Ethereum – 10$ gratis en Coinbase
  • Cómo mantener tu Ether seguro – link
  • Cómo instalar y ejecutar tu propio nodo Ethereum – link (pro)
  • Más información sobre el funcionamiento de la tecnología de cadenas de bloqueo – link

[1] Imparable porque para evitar que esas aplicaciones se ejecuten tendrías que derribar toda la red Ethereum que está formada por cientos de computadoras repartidas por todo el mundo. Así que digamos que son virtualmente imparables, o simplemente muy difíciles de detener.

[2]Las cadenas de bloques de Ethereum y Bitcoin ya tenían varias diferencias en la fase de concepción, y su evolución las está llevando en diferentes direcciones, ya que apuntan a diferentes objetivos. Usted puede aprender más sobre esas diferencias aquí.

- Aviso Publicitario-

Similares

es Spanish
X