En los últimos años han proliferado las experiencias y proyectos relacionados con el Blockchain, no sólo en el ámbito de las Criptomonedas. En algunos casos, incluso con proyectos que no nacieron expresamente como nuevas “monedas virtuales”, sino como proyectos de Distributed Ledger Technology, de tipo Open Source, que abrieron la puerta a muy diversas oportunidades de desarrollo y uso. Ethereum (para más información, visite el sitio web de Ethereum) es un proyecto que debe leerse y verse en este contexto.
El proyecto nació y se desarrolló como una Blockchain pública en forma de plataforma de computación distribuida de código abierto, diseñada para poner a disposición la posibilidad de crear, publicar y gestionar contratos inteligentes en modo peer-to-peer.
En síntesis extrema, se puede decir que mientras el Blockchain es una plataforma de “Bases de Datos Distribuidas”, Ethereum es una plataforma de “Computación Distribuida” que tiene uno de sus principales componentes en la Máquina Virtual Ethereum (EVM).
Índice de temas
Cuándo nació Ethereum y quién es Vitalik Buterin
Ethereum fue creado en 2013 por Vitalik Buterin, un desarrollador de origen ruso que creció en Canadá y combinó su experiencia como programador con la de investigador de criptomonedas. Buterin se apoyó en una operación de crowfunding durante 2014 y estuvo en condiciones de completar Ethereum al año siguiente, cuando se hizo público y accesible online.
Vitalik Buterin es efectivamente el fundador de Ethereum y en 2014 recibió el Premio Mundial de Tecnología por la cocreación e invención de Ethereum.
Qué es y cómo funciona Ethereum
En extrema simplicidad, Ethereum podría presentarse como el mayor ordenador compartido capaz de ofrecer una enorme potencia disponible en cualquier lugar y para siempre. Así que con Ethereum pasamos del concepto de Base de Datos Distribuida al de Computación Distribuida.
Ethereum es, en otras palabras, una plataforma computacional que se “remunera” a través de intercambios basados en una criptodivisa calculada en Ether.
Se trata de una plataforma que puede ser adoptada por todos aquellos que deseen formar parte de la Red y que, de este modo, tendrán a su disposición una solución que permite a todos los participantes disponer de un archivo inmutable y compartido de todas las operaciones realizadas a lo largo del tiempo y que, al mismo tiempo, está diseñado para no ser detenido, bloqueado o censurado.
Ethereum está diseñado para ser adaptable y flexible y para crear fácilmente nuevas aplicaciones. Ethereum es una Blockchain programable que no sólo proporciona “operaciones” predefinidas y estandarizadas, sino que también permite a los usuarios crear sus propias “operaciones”.
De hecho, es una plataforma Blockchain que permite crear diferentes tipos de aplicaciones Blockchain descentralizadas que no se limitan necesariamente a las criptomonedas.
Cómo funcionan los contratos inteligentes en Ethereum
A través de la blockchain de Ethereum, es posible vincular las decisiones tomadas por consenso en la red, en lugar de someterlas a un organismo central que autorice todas las actividades. Un ejemplo de esto son los contratos inteligentes, que aunque se llamen contratos, no es necesario completarlos.
Los contratos inteligentes (smart contracts) son contratos digitales almacenados en una cadena de bloques que tienen la particularidad de ejecutarse de forma automática una vez que se cumplen los términos y condiciones pactados.
Los contratos inteligentes sirven para ejecutar porciones de código que se ven afectadas por una transacción, ejercen un control directo sobre la propia cuenta de la moneda ether y su valor. El objetivo es llevar un control de las variables implicadas, para garantizar la trazabilidad y la transparencia. Las transacciones se refieren a un paquete de datos que contiene un mensaje dirigido a una cuenta externa. Dentro de una transacción hay:
- el nombre del destinatario del mensaje;
- la firma del remitente;
- la cantidad de éter que interviene en la transacción;
- un valor que representa el número máximo de pasos que se pueden realizar en la transacción;
- un valor igual a la comisión pagada por el emisor para el paso de cálculo.
Así, dentro de la red, es necesario pagar a la propia red en moneda Ether para poder utilizar la potencia de cálculo. Por lo tanto, el éter no es sólo la cadena de bloques, sino también la criptomoneda necesaria para realizar transacciones, es decir, para enviar y recibir pagos y hacer circular contratos inteligentes.
Sin embargo, a diferencia de un acuerdo escrito, el contrato incluye variables; esto significa que se comporta de forma autónoma porque reacciona a las entradas respondiendo con salidas consecuentes; de ahí el término contrato inteligente. De ahí el término “contrato inteligente”, es decir, un contrato inteligente.
Sin embargo, aunque un contrato inteligente contiene variables, también respeta y obliga a las partes contratantes a unas reglas compartidas de las que no pueden desviarse. De hecho, las partes implicadas quedan vinculadas sin posibilidad de modificar el contrato; por otro lado, dos partes contratantes pueden firmar el contrato en derogación de las competencias legislativas de sus respectivos países: el ejemplo más común son las apuestas en línea en el sector financiero.
El potencial de la plataforma blockchain de Ethereum para la aplicación de contratos inteligentes
Son muy eficientes en la práctica y el potencial que pueden alcanzar en cuanto al uso es enorme ya que ofrecen una gran cantidad de ventajas a comparación con los contratos tradicionales.
Uno de los beneficios de estos contratos es la velocidad con la que se ejecutan los contratos al cumplirse las condiciones. Además, son más precisos y eficaces ya que al estar en formato digital se evitan todos los errores y atrasos que devienen propios del formato papel.
En cuanto a la seguridad de estos contratos, un tema muy importante en este ámbito, es posible decir que son totalmente confiables y transparentes. Esto se debe a que una vez que los registros encriptados se comparten entre las partes, ya nadie puede modificarlo. Por otro lado, tampoco hay terceros intermediarios.
En el mismo sentido, estos contratos no tienen riesgo alguno en lo que respecta a ataques informáticos. En primer lugar, porque la información está encriptada y en segundo lugar por la dificultad que supone atacarlos ya que para alterar un registro es necesario cambiar toda la cadena.
Por último, el uso de un contrato inteligente supone un gran ahorro de dinero ya que no es necesario incluir a terceros que den fe de la celebración.
Conceptos básicos del lenguaje Solidity utilizado en Ethereum
Solidity es un lenguaje de programación utilizado en Ethereum que tiene como una de sus principales características tener un vínculo directo con los contratos inteligentes.
Con una sintaxis basada en ECMAScript, al declarar las variables y argumentos de un contrato, utiliza un fuerte tipado de carácter estático.
Tal como mencionamos, su principal función es la de escribir contratos inteligentes en plataformas blockchain, como lo es Ethereum.
Se trata de un lenguaje muy accesible para los desarrolladores web que permite el uso de variables miembro complejas como estructuras y asignaciones jerárquicas arbitrarias.
Asimismo, permite que los contratos admitan la herencia y colabora con la confiabilidad de los mismos puesto que mediante una interfaz binaria de aplicación se pueden establecer múltiples funciones de seguridad.
¿Qué es el éter?
Como se ha mencionado, los participantes en Ethereum trabajan en una red de pares y desarrollan y gestionan los contratos de Ethereum utilizando los recursos computacionales de la red. El uso de estos recursos se remunera con una “moneda virtual” especial llamada Ether. De hecho, el éter tiene un doble papel: por un lado, es en sí mismo la potencia de procesamiento necesaria para producir los contratos y, por otro, es la criptomoneda que permite “pagar” por la realización de los contratos. El éter es básicamente y concretamente un token que se negocia en las bolsas de criptodivisas con el símbolo ETC.
Ethereum también se basa en un mecanismo interno de fijación de precios de las transacciones denominado Gas, cuyo objetivo es optimizar los recursos de la red, evitar el spam y asignar los recursos de forma proporcional y correcta según las solicitudes.
Qué son los contratos de Ethereum
¿Pero de qué tipo de contratos estamos hablando? En el caso de Ethereum, se trata de Smart Contracts, que, gracias a la remuneración calculada en Ether, permiten gestionar de forma segura y pública servicios contractuales, como las actividades vinculadas al registro de dominios, los servicios de crowdfunding y los sistemas de gestión de derechos de autor en el sector de los medios de comunicación. En concreto, los participantes de Ethereum tienen a su disposición la máquina virtual de Ethereum (EVM), capaz de ejecutar algoritmos en una red global basada en los nodos de todos los participantes. Cada nodo (participante) compensa o es compensado con Éter.
En 2016 Ethereum se dividió en dos blockchains diferentes: Ethereum Classic y Ethereum Foundation.
Las diferentes formas de interacción con los usuarios en el ecosistema Ethereum
Dentro del ecosistema Ethereum los usuarios tienen diferentes formas de interactuar entre sí a través de transacciones.
El ejemplo típico son las transacciones regulares que tienen lugar de una cartera hacia otra. El uso más común de este tipo de interacción es el envío de ETH y se realiza mediante una firma criptográfica.
Por otra parte, tenemos a las transacciones de despliegue de contratos en la cual el campo de datos se usa para el despliegue de contratos.
Asimismo, podemos encontrar la ejecución del contrato propiamente dicha. Recordemos que una de las características de estos tenía que ver con la inmediata ejecución una vez cumplidas las condiciones pactadas.
El impacto potencial del uso generalizado de soluciones basadas en Ethereum
Cuando hablamos de Ethereum sin duda nos estamos refiriendo a una tecnología que tiene el potencial de cambiar el mundo tal cual lo conocemos.
La principal característica de Ethereum es la descentralización. Esto significa que dentro de este ecosistema no hay un manejo central ni de las aplicaciones, ni del dinero ni tampoco de los contratos.
Por ende, a nivel global limitaría el poder de muchísimos entes centralizados y les otorgaría a las personas una mayor libertad económica y financiera.
Otro de los impactos sería un aumento en el comercio internacional debido a la facilidad con la que se pueden hacer transacciones entre habitantes de diferentes países.
Pero quizá el impacto más grande pueda tener que ver con la forma de utilizar el dinero. Las blockchain permiten hacer uso de billeteras virtuales estableciendo un tipo de cambio que no se encuentra al alcance de la regulación de ningún banco.
Si cada vez más gente elige esta tecnología como tipo de cambio, seguramente termine por reemplazar a los activos tradicionales.
Beneficios de Ethereum para el sector financiero
Cuando hablamos de Ethereum, nos referimos a una tecnología de blockchain en la que prima por sobre todas las cosas la libertad financiera. Pues esto se puede observar como un claro beneficio, ya que cualquier persona sin importar sus ingresos puede ahorrar, por ejemplo, en una criptomoneda.
Pero, a su vez, para el sector financiero significa no sólo la posibilidad de que más gente ahorre, sino también una considerable reducción de costos y de tiempo en las transacciones.
Esto se puede apreciar con más facilidad en los envíos de remesas de un país a otro. Los métodos tradicionales mediante los cuales se realizan pagos de este estilo suelen ser muy costosos a comparación del costo del uso de una criptomoneda.
En el mismo sentido, una de las causas de esta reducción de costos y de la agilización de las operaciones es la eliminación de una burocracia engorrosa. Pues, cuando se opera a través de una tecnología como Ethereum, los usuarios lo hacen de forma directa.
Pero si hablamos de beneficios algo que no podemos dejar de mencionar son aquellos que trae Ethereum en materia de seguridad.
En primer lugar, los datos personales de todos los usuarios están seguros y son confidenciales. Por otro lado, por sus propias características, Ethereum es a prueba de fraude y muy confiable, algo que aumenta la confiabilidad entre las partes.
En tercer lugar, la descentralización constituye una gran ventaja en lo que respecta a la seguridad debido a que disminuye considerablemente la posibilidad de un ataque informático que pueda ser dañino.
¿Qué es la máquina virtual de Ethereum EVM?
El motor de Ethereum es la máquina virtual de Ethereum (EVM), que es el entorno de ejecución de facto para el desarrollo y la gestión de los contratos inteligentes en Ethereum. El EVM funciona de forma protegida, es decir, está completamente separado de la Red.
El código gestionado por la Máquina Virtual no tiene acceso a la Red y los contratos inteligentes generados son independientes y separados de otros contratos inteligentes. Los contratos inteligentes están disponibles en la Blockchain en bytecode EVM (un formato binario específico de Ethereum), escrito en lenguaje de alto nivel de Ethereum, transformado en código de bytes con un compilador EVM y cargado en la Blockchain con un cliente de Ethereum.
Ethereum es un sistema “completo de Turing” que permite a los desarrolladores crear aplicaciones que se ejecutan en el EVM utilizando lenguajes de programación que, a su vez, hacen referencia a plataformas tradicionales como JavaScript y Python.
Fundación Ethereum
La Fundación Ethereum (más información en el sitio web de la Fundación Ethereum) es la organización cuyo objetivo es gestionar todas las actividades de desarrollo, investigación y apoyo a la plataforma Ethereum. Para explicar con exactitud la Fundación Ethereum hay que remontarse a los orígenes de Ethereum en 2014 cuando el equipo de desarrolladores formado por Vitalik Buterin junto con Anthony Di Iorio, Mihai Alisie y Charles Hoskinson convirtieron Ethereum en una realidad también en forma de empresa con la compañía suiza Ethereum Switzerland GmbH.
Posteriormente, fue una fundación suiza sin ánimo de lucro, la Fundación Ethereum, la que se puso al frente del proyecto, también gracias a importantes acciones de crowdfunding que en julio-agosto de 2014 permitieron a los participantes comprar el token de valor de Ethereum (Ether) con otra moneda digital, el bitcoin.
Ethereum se ha caracterizado por una serie de prototipos y acciones de desarrollo financiadas y gestionadas por la Fundación Ethereum sobre la base del proyecto Proof of Concept hasta el lanzamiento del proyecto de red Frontier para mejorar la seguridad y la usabilidad. Entre las diversas iniciativas, cabe destacar el proyecto Olympic, que tenía como objetivo poner a prueba el rendimiento y los límites de la red Ethereum Blockchain con una “Prueba de Estrés”.
Al proyecto olímpico le siguió la mencionada red Frontier. Más recientemente, la Fundación Ethereum ha estado trabajando en el proyecto Homestead, diseñado para mejorar el componente transaccional, la lógica de Gas para la gestión de precios y la seguridad. Junto a Homestead se encuentra el proyecto Metropolis, cuyo objetivo es simplificar el uso de la máquina virtual de Ethereum y permitir a los desarrolladores actuar con mayor flexibilidad y rapidez. Se espera que otro proyecto, Serenity, aporte una serie de innovaciones en la lógica de gestión del algoritmo que gestiona el consenso de Ethereum.
Por qué es importante conocer la historia de la DAO
La DAO fue uno de los primeros acontecimientos importantes relacionados con la tecnología blockchain de Ethereum y dio lugar a la bifurcación de la blockchain de Ethereum.
En primer lugar, hay que decir que La DAO era una “organización autónoma descentralizada”, es decir, una organización que se creaba en Blockchain Ethereum (sobre la base de una estructura de contratos inteligentes) y se caracterizaba por ser una organización “virtual”, es decir, sin sede, sin personalidad jurídica, sin figuras claramente identificables como administradores).
El DAO se realizó con una serie de pasos que también se llevan a cabo hoy en día en la realización de una ICO: sitio de Internet para proporcionar información, distribución de un libro blanco que describe el proyecto, auditoría del código fuente de los contratos inteligentes utilizados, acuerdos con algunas “bolsas” para permitir el intercambio de tokens una vez adquiridos, etc.
De hecho, The DAO pretendía recaudar capital (a través del intercambio de Tokens DAO por ETH) para invertir en proyectos que eran previamente evaluados por un comité y luego sometidos a la votación de los poseedores de Tokens DAO. Los poseedores de fichas DAO podían emitir sus votos (proporcionales a la cantidad de fichas DAO que poseyeran) para determinar qué proyectos recibirían el capital.
El proyecto fue un gran éxito y, en pocos meses, los organizadores de The DAO consiguieron recaudar unos 150 millones de dólares. Pero el 18 de junio de 2016, la dirección donde se asignaba el ETH recibido por la organización fue hackeada y en pocas horas se perdieron unos 70 millones de dólares.
Esto dio lugar a una serie de discusiones y enfrentamientos y llevó a la división de la blockchain de Ethereum y a la creación de dos nuevas blockchains (ahora divididas en Ethereum classic y Ehthereum).
También hay que decir que, en su momento, la SEC, al analizar el caso, trató de entender si el asunto entraba o no en el ámbito de la colocación de instrumentos financieros y, en consecuencia, valorar si la Ley de Valores era aplicable en este caso.
Este “test” de la SEC establece que para entender si un caso concreto puede definirse como “contrato de inversión”, es necesario referirse al fondo y no sólo a la forma contractual, ya que cualquier “inversión de dinero en una empresa con la expectativa razonable de obtener beneficios del esfuerzo directivo o empresarial de otros” debe considerarse como un contrato de inversión.
En el caso concreto de The DAO, la SEC señaló que
- En el caso de The DAO, los inversores intercambiaron Ether (que tenía un valor determinado en el mercado) por fichas DAO;
- La inversión se realizó con una expectativa de beneficio (que generalmente puede ser dividendos, pagos periódicos, aumento de valor). Y que todo el material promocional de la DAO hacía hincapié en el objetivo de crear una entidad con ánimo de lucro, destinada a financiar proyectos a cambio de un retorno de la inversión;
- La expectativa de retorno de la inversión dependía de los esfuerzos de gestión de otros, ya que la organización de las decisiones de la DAO sobre qué proyectos financiar era absolutamente descendente. Los fundadores de la organización y los comisarios (es decir, personas seleccionadas por ellos por sus competencias y experiencia) supervisaban constantemente las actividades, salvaguardaban los intereses de los inversores y decidían qué proyectos debían someterse a votación.
Estas consideraciones llevaron a la SEC a considerar los Tokens DAO como instrumentos financieros, lo que dio lugar a la aplicación de la Ley de Valores, que obliga a la entidad emisora a registrar las ofertas y ventas de los instrumentos y, en consecuencia, exige el registro de las personas que ofrecen plataformas de negociación de dichos tokens como “bolsas de valores nacionales”.
Ethereum Classic
Ethereum Classic es el resultado de una importante división del núcleo original de Ethereum a nivel de la Fundación Ethereum. En concreto, (visite su web oficial para más información) está formado por miembros de Ethereum que han decidido crear una “nueva” versión de Ethereum, no compartiendo efectivamente las líneas de desarrollo de la Fundación Ethereum. Por lo tanto, como es de suponerse, está gestionado por un equipo diferente al de la Fundación Ethereum.
Es es una red que en las intenciones de sus promotores sigue siendo 100% compatible con la tecnología Ethereum, pero con una serie de servicios diseñados para aumentar la seguridad y la usabilidad. Ethereum Classic se basa en el desarrollo de una blockchain no hackeable y ha desarrollado una estrategia de emisión de tokens en proporción al desarrollo de la red a lo largo del tiempo, con el fin de limitar los riesgos de deflación de la criptodivisa.
En concreto, hay que recordar que ETC (el nombre en clave de Ethereum Classic es ETC) es un token digital basado en la plataforma Blockchain de Ethereum Classic. También hay que recordar que el protocolo utilizado es siempre el de la prueba de trabajo. Ethereum Classic ha creado una serie de nuevas oportunidades para los mineros, ya que la potencia de cálculo necesaria para “solucionar” y “desbloquear” los nodos de la blockchain puede ser menor que la que tradicionalmente se requiere para la plataforma Ethereum.
Desde el punto de vista del valor de mercado, el ETC refleja el volumen de las transacciones que tienen lugar en el mercado y está determinado por las transacciones que tienen lugar en los principales sitios de intercambio. Los sitios de intercambio donde se puede comprar y vender Ethereum Classic son: Kraken, Shapeshift y Bitfinex.
Ethereum y Ethereum Classic: ¿cuáles son las diferencias?
Ethereum representa la versión “oficial” de la Blockchain y es gestionada y actualizada por los desarrolladores que la concibieron y crearon, mientras que Ethereum Classic es una Blockchain que, partiendo de Ethereum, es una evolución o una forma “alternativa”. La razón que ha llevado a esta división está relacionada con un evento de hacking específico que afectó a un proyecto de Ethereum (concretamente, The DAO) y que había llevado a la comunidad de Ethereum a cambiar el código de Ethereum para remediar las consecuencias de este ataque de hacking.
Esta decisión abrió una brecha sobre el propio concepto de Blockchain, es decir, los principios subyacentes de este paradigma. Por un lado, estaban todos los que sostenían que la Blockchain vive del principio de comunidad y que es la mayoría de la comunidad la que decide las posibles evoluciones de la propia Blockchain. Y en base a esta convicción, si la mayoría de la comunidad está de acuerdo, se puede modificar la Blockchain.
También hay otra escuela de pensamiento que sostiene que la Blockchain no puede ser modificada, debe estar firmemente protegida de cualquier forma de manipulación. Esta división ha colocado a los desarrolladores en una encrucijada y los llamados “puristas”, cuando Ethereum creó una nueva Blockchain, optaron por seguir operando en la antigua versión de la Blockchain. En concreto, este movimiento creó dos Blockchains de Ethereum, y Ethereum Classic, en particular, funciona ahora como una versión paralela de la Blockchain.
También hay otra escuela de pensamiento que sostiene que la cadena de bloques no puede ser modificada, debe estar firmemente protegida contra cualquier forma de manipulación.
Esta división puso a los desarrolladores en una encrucijada y los llamados “puristas”, cuando Ethereum creó una nueva blockchain, optaron por seguir operando en la antigua versión de la misma.
Los desafíos que afronta Ethereum como tecnología emergente
Aunque cada vez más gente utiliza Ethereum para realizar transacciones, para celebrar contratos o usar algunas de sus otras innovaciones, todavía hay ciertas cuestiones que deben ser resueltas para poder pensar en una futura economía descentralizada.
Se trata de desafíos pendientes que tiene toda tecnología emergente. Algunos de ellos todavía tienen que ver con la baja de los valores en el almacenamiento de las cadenas de datos, algo que se puede lograr a través de la fragmentación (sharding).
Otro de sus grandes desafíos sigue siendo la reducción del costo de las transacciones a los valores más bajos posibles. Asimismo, también es importante de cara al futuro asegurar la escalabilidad con nuevas actualizaciones.
Pero sin dudas, una de las cuestiones que más preocupan tiene que ver con la seguridad. Es necesario que se piensen formas de desincentivar ataques a la red para que la plataforma sea aún más confiable.
Será posible lograr mayor seguridad a través de la escalabilidad y las actualizaciones constantes que mantengan el peligro alejado.
La escalabilidad y resistencia a ataques de la red Ethereum
Sin duda uno de los grandes desafíos que tendrá la red Ethereum de cara al futuro tiene que ver con la escalabilidad. Serán necesarias constantes actualizaciones que puedan dar lugar al enorme potencial que tiene esta tecnología para cambiar drásticamente muchos aspectos de la vida cotidiana.
De hecho, uno de los problemas a los que se enfrenta ahora es el costo de las transacciones que últimamente resulta algo alto para los usuarios medios. Por otro lado, Ethereum necesita mantenerse seguro y descentralizado lo cual causa un gran impacto ambiental.
Pero que esta tecnología sea escalable no es una tarea fácil ni rápida, por el contrario, las actualizaciones tendrán que ir apareciendo en forma progresiva y sin afectar la descentralización que caracteriza a Ethereum y sin la cual perdería muchas de sus ventajas quedando desnaturalizado.
Aquí entonces existe un problema conocido como el trilema de la escalabilidad. Este último consiste en la dificultad que supone lograr que Ethereum sea escalable pero que a la vez se mantenga seguro y descentralizado.
Con el tiempo tendrá que aparecer una solución efectiva para la escalabilidad ya que esta trae muchos beneficios.
Uno de ellos en el ámbito de la seguridad puesto que cuando se obtienen actualizaciones planificadas se pueden prevenir ataques coordinados.
Los tipos de herramientas para desarrolladores disponibles en el ecosistema ethereum
A la hora de trabajar con Ethereum, los desarrolladores pueden utilizar una serie de herramientas que los ayuden a completar sus tareas.
Sin dudas una de las más importantes que ya mencionamos previamente es el lenguaje Solidity que es muy útil para los contratos inteligentes. En el mismo sentido, también podemos encontrar a Viper, otro lenguaje de programación.
Después, además de las herramientas de lenguaje tenemos a los frameworks. Se trata de un marco de trabajo que ofrece una estructura para trabajar sobre objetivos específicos.
Algunos ejemplos son Dapp, Waffle, Parasol, Etherline, HardHat, Brownie, Cobra y Embark.
Asimismo, otras herramientas que podemos encontrar dentro del sistema Ethereum son los entornos de desarrollo integrado (IDE) entre las cuales podemos destacar a Remix, Atom y EthCode.
Artículo publicado originalmente en 07 Abr 2022