¿Qué es Ethereum?

Nic0

Ethereum es una plataforma pública de código abierto, no permisionada y basada en tecnología blockchain, que mantiene un registro permanente de transacciones digitales y permite la implementación de “smart contracts” -programas informáticos que ejecutan de forma automática acuerdos entre dos o más partes, cuando se cumplen una serie de condiciones establecidas de antemano.

Ethereum funciona como un libro contable descentralizado –DLT o Distributed Ledger Technology-, cuyo mantenimiento y seguridad no requiere de un autoridad central. Una DLT es una base de datos distribuida a lo largo de una serie de nodos -en este caso, ordenadores- que se conectan formando una red peer-to peer, y que presenta diversos sistemas de seguridad propios de la criptografía asimétrica o de clave pública -como por ejemplo, las firmas digitales.

El hecho de que Ethereum sea un sistema transaccional “trustless” -en el que no interviene la confianza en terceros-, obliga a todos los nodos a disponer de una copia de la base de datos con el “estado” actual de la red -es decir, que refleje el balance vigente de todas y cada una de las cuentas. Los usuarios podrán realizar transacciones peer-to-peer sin necesidad de pedir permiso o requerir la intevención de terceras partes. Pero dichas transacciones provocarán cambios en el “estado” del libro contable o ledger, por lo que deberán ser verificadas y validadas por una mayoría de nodos en base a una serie de reglas determinadas por un algoritmo de consenso. Es por este motivo, que las redes blockchain son consideradas sistemas “inmutables” -no se pueden modificar si no se cumplen las reglas- y resistentes a la censura.

La red Ethereum proporciona infraestructura para computación distribuida y actividades económicas, y, en sus inicios, se concibió como el germen de un nuevo internet del “valor”. Entre sus funciones podemos destacar:

  • La posibilidad de realizar transacciones económicas transnacionales, sin necesidad de depender de terceras partes, y sin las limitaciones temporales y costes que imponen los sistemas tradicionales.
  • La posibilidad de emitir “tokens”, que podrán ser utilizados como mecanismos de incentivo económico.
  • La posibilidad de crear y desplegar aplicaciones descentralizadas –Dapps– de todo tipo.
  • La posibilidad de aprovechar los ya citados smart contracts -contratos de base lógica que permiten la automatización de transacciones- para diseñar lógicas de negocio sin necesidad de intermediarios de confianza -lo que en inglés se denomina un entorno “trustless”.

Ethereum integra una divisa nativa -denominada Ether o ETH- que actúa como mecanismo de incentivo económico de los mineros -nodos que mediante su potencia computacional realizan una serie de tareas fundamentales para alcanzar consenso y proteger la integridad de la red. Está es una función esencial que se logra, en la actualidad, mediante un mecanismo de consenso denominado Proof-of-Work (Prueba de Trabajo). Alcanzar consenso significa que todos los nodos integrantes de la red Ethereum compartirán una misma versión de la “verdad”.

Es interesante destacar, a su vez, que al facilitar la emisión de todo tipo de tokens, Ethereum permite a los usuarios acceder a un sinfín de aplicaciones financieras enmarcadas en lo que se ha dado en llamar Open Finance o DeFi -un sistema financiero de acceso libre y universal-, en el que los usuarios nunca ceden la propiedad de sus datos.

La promesa de este nuevo internet del “valor”, sólo es posible porque la infraestructura en que se erige la red Ethereum es pública, neutral y de libre acceso -no está controlada por ninguna compañía o persona, los amos y señores de la misma son los usuarios.

Como hemos explicado anteriormente, Ethereum es una blockchain. Una plataforma que permite llevar a cabo y registrar transacciones, y que está protegida mediante mecanismos criptográficos -lo que hace que resulte prácticamente imposible falsear o eliminar sus registros. Al tratarse de una máquina de instancia única o singleton, siempre existirá una versión canónica de la verdad, un “estado” que será compartido por todos los nodos.

En términos de ciencia computacional, podemos definir Ethereum como una máquina de estados de tipo transaccional. Una máquina de estados es cualquier sistema que lea entradas, y en base a las mismas, transicione a un nuevo estado. En el caso de Ethereum, el estado inicial se denomina “génesis”, y es aquel en el que todavía no se han producido y registrado transacciones.

Es importante comprender que, como en todas las blockchains, Ethereum agrupa las transacciones en bloques que irá enlazando sucesivamente.

Para transicionar de un estado a otro, las transacciones deben ser consideradas válidas -lo que en el actual sistema de consenso de la red, Proof of Work, requiere pasar por un proceso de verificación denominado minado. El minado no es más que una competición entre nodos dispersos a lo largo del planeta que de forma simultánea tratan de crear y validar sus bloques, empleando para ello sus recursos computacionales y presentando una prueba criptográfica como garantía.

El nodo minero que completa el trabajo de forma más rápida obtiene como recompensa un número preestablecido de ETH -el token nativo de la red Ethereum. Esto significa que cada vez que un minero crea y valida un bloque, la oferta monetaria total de ETH se ve incrementada.

Anteriormente hemos definido las blockchains como máquinas de instancia única y “estado” compartido. Esto significa que el estado actual de los balances compartido por los nodos actúa como una versión de la verdad única que todos los participantes deben aceptar como válida. Cuando no existe un consenso respecto a la versión de la verdad válida se puede producir una bifurcación en la cadena de bloques -es lo que se denomina un fork.

El ejemplo más célebre de este fenómeno es el hard fork implementado por la propia comunidad de Ethereum en julio de 2016, para recuperar los fondos del DAO que habían sido hackeados -lo que provocó un cisma en la plataforma. Aquellos nodos que decidieron seguir en la cadena original que había sido objeto del hackeo, dieron lugar a una nueva plataforma bautizada como Ethereum Classic.

En general, la forma que tiene Ethereum de determinar cuál es la versión canónica de la cadena de bloques y evitar forks es mediante el protocolo GHOST -Greedy Heaviest Observed Subtree. Explicado de forma simple y llana, el protocolo GHOST determina que siempre debe escogerse el camino que haya sido producido por una mayor cantidad de recursos computacionales.

Es necesario tener en cuenta que en la plataforma Ethereum existen dos tipos de cuentas:

  • EOA (Externally Owned Accounts, es decir, cuentas de posesión externa). Son aquellas que son controladas mediante claves privadas y que no presentan código asociado a las mismas (el monedero de un usuario común suele contener una de estas cuentas).
  • Contract Accounts (cuentas de contratos). Son aquellas que son controladas por el código de un contrato que tienen asociado.

Una EOA puede enviar mensajes mediante la creación y firma de transacciones con sus claves privadas. Dichos mensajes son simples transferencias de valor económico (cuando el receptor es otra cuenta EOA) o, por el contrario, transacciones que activan el código del contrato de una Contract Account, para que esta última lleve a cabo distintas funciones (transferir tokens, almacenar un registro, emitir nuevas monedas).

Las Contract Accounts, por el contrario, no pueden ejecutar nuevas transacciones por iniciativa propia, sino que sus funciones se ven limitadas a responder a transacciones que hayan recibido previamente (de cuentas tipo EOA o incluso de otras Contract Accounts). Podemos imaginárnoslas como automatismos que se hayan inactivos por defecto, y que sólo la recepción de una transacción externa los pone en marcha y les permite llevar a cabo las funciones programadas en el contrato.

La forma que tiene Ethereum de almacenar el mapeado general de las direcciones y estados de las cuentas (lo que se denomina estado global de la red), es mediante una estructura de datos denominada Merkle Patricia tree. Esta estructura permite ligar un gran número de datos independientes mediante un único valor de hash -el hash es el valor de sálida que se obtiene tras pasar los citados datos de entrada por una función que también se denomina hash.

La importancia del árbol de Merkel como estructura de datos es fundamental, ya que permite a ciertos nodos (“light clients”) descargar y almacenar sólo las cabeceras de los bloques, en lugar de sincronizar la cadena completa (lo que obliga a ejecutar todas las transacciones contenidas, como es el caso con los “full archive nodes”).

Otro de los conceptos fundamentales para comprender el funcionamiento de Ethereum es el de Gas, la unidad que determina la comisión que debe pagarse por la computación que se pondrá en marcha en la plataforma al realizar una transacción. Por precio del gas, por tanto, entendemos la cantidad de ETH que estás dispuesto a pagar por cada unidad de gas, medida en “Gwei” (el “wei” es la fracción más pequeña de ETH).

1 ETH = ¹⁰¹⁸ Wei

En cada transacción, el emisor establece un límite de gas y un precio de gas, que en conjunción, determinan la cantidad máxima de weis que está dispuesto a pagar por la ejecución de la misma. Si no se dispone de la cantidad mínima de gas requerida para ejecutar la transacción, ésta quedará abortada -sin embargo, el gas que se haya consumido, no será reembolsado.

El gas que se emplea como comisión para la ejecución de las transacciones es, junto a los block rewards, una de las recompensas que reciben los mineros por el trabajo computacional que realizan -y que permite la creación y validación de los bloques en que las transacciones serán agrupan y registradas.

Los recursos computacionales de la red Ethereum son limitados, y la imposición de comisiones (fees) a las transacciones no es más que una forma de preservar el buen funcionamiento de la red y evitar que se vea sobrecargada por acciones de tipo spam. Por otro lado, Ethereum es una máquina de Turing completa, lo que significa que puede simular cualquier algoritmo computacional y se ve sujeta al “problema de parada” -si no se limita la cantidad de computación que puede ejecutarse mediante una comisión, el programa podría entrar en un loop infinito y no detenerse jamás, consumiendo una enorme cantidad de recursos.

Una de las diferencias de la blockchain de Ethereum respecto a la de Bitcoin es el tiempo de generación de los bloques -aproximadamente 15 segundos en el caso del primero, frente a los 10 minutos del segundo. El problema de contar con intervalos más cortos es que los mineros tenderán a encontrar un mayor número de bloques competidores -bloques que también son válidos, pero que en el caso de no terminar formando parte de la cadena más larga, se denominan bloques huérfanos. Es importante señalar que Ethereum puede adaptar la dificultad de minado de los bloques para asegurar que se generan cada 15 segundos -cuando el intervalo de minado se acorte, la dificultad se incrementará; y cuando se alargue, disminuirá.

Finalmente, debemos hablar del modelo de ejecución, que en el caso de la blockchain de Ethereum, depende de la EVM (Ethereum Virtual Machine). La EVM es una máquina virtual de Turing completa. Como hemos explicado anteriormente, las únicas limitaciones de la EVM respecto a una máquina virtual de Turing completa tradicional, tienen que ver con el empleo de gas para acotar la cantidad de computación que puede ejecutarse -evitando de esta forma el spam de la red y el problema de parada.

Existen un gran número de aplicaciones desplegadas en Ethereum hoy en día, las cuales, de una forma general, pueden ser clasificadas en las siguientes categorías:

  • Open Finance: se trata, básicamente, de protocolos descentralizados que conforman los cimientos de un nuevo sistema financiero abierto. Entre las características que los convierten en una versión superior respecto al modelo tradicional figuran su carácter no permisionado, resistencia a la censura, transparencia, eficiencia, programabilidad, así como el hecho de no depender de intermediarios (lo que denominamos un entorno “trustless”)
  • Exchanges Descentralizados (DEX): se trata de exchanges que permiten el intercambio de criptoactivos sin necesidad de apoyarse en una autoridad centralizada. Entre sus beneficios se encuentra el hecho de que la custodia de los fondos sigue en manos de los usuarios (lo que previene hackeos y otros riesgos asociados a los mismos).
  • Gaming: Ethereum también puede ser considerada una plataforma ideal para el despliegue de juegos basados en tecnología blockchain. Entre las ventajas asociadas a este tipo de juegos podemos citar la posibilidad de emitir coleccionables digitales en formato ERC-721, que pueden ser transferidos desde el entorno particular de un videojuego al de otro.
  • Coleccionables: aparte de constituir una pieza fundamental de los videojuegos basados en tecnología blockchain, pueden ser considerados una categoría independiente que abarca un espectro muy amplio de intereses (colecciones de cromos deportivos digitales, memorabilia de las más diversas sagas cinematográficas y series de televisión, o por ejemplo NFT’s de serie limitada emitidos por influencers).
  • Marketplaces: los marketplaces desplegados en la red de Ethereum son ideales para el intercambio de artículos digitales únicos (los ya citados coleccionables, dominios ENS, etc) bajo el formato ERC-721.
  • Herramientas para desarrolladores: los célebres SDK (software development kits) son instrumentos esenciales para lograr un ecosistema de desarrolladores rico y amplio, indispensable para generar un efecto Red para la plataforma.
  • Identidad digital: Ethereum permite el desarrollo de sistemas de identidad digital descentralizados, incluso aquellos que podríamos denominar Self-sovereign Identity Systems en los que los usuarios no sólo se encuentran en el centro de los procesos de identidad, sino que se convierten en los amos de su propia identidad.

Fuentes: EthHub | Ethereum Wiki

来源

What do you think?

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Loading…

0

Comments

0 comments

Technical Indicators on Bitcoin using Python

Around the Block: Analysis on the bZx Attack, DeFi Vulnerabilities, The State of Debit Cards in…