Ethereum
Ethereum 3
Vitalik Buterin 3
Nick Szabo 3
Dapps 4
Ether 5
Funcionamiento de los bloques 6
EIP’s 8
Lenguaje de programación 10
Solidity 10
Vyper 10
Funcionamiento de los Smart contracts 11
GitHub y entornos de desarrollo 11
Funcionamiento de la EVM 11
Teorema del cap 11
Gas 13
Program Counter 15
Pila tecnológica 15
Memoria 15
Almacenamiento 15
EVM inmutable 18
Virtual ROM 18
Creación de cuentas 18
Cuentas de creación de contrato 19
EOA 21
Redes de prueba 22
Funcionamiento de bridges 23
Estándar de tokens 25
P á g i n a 1 | 42
, ERC-20 25
ERC-721 25
ERC-1155 25
ERC-173 26
ERC-223 26
ERC-621 26
ERC-1080 27
ERC-1450 27
Soluciones de escalabilidad 27
Plasma 27
Sidechains 32
Optimistic Rollup OVM 32
Rollup zk SNARK y STARK 33
Canales de estado 35
Validium 36
Comparativo de las soluciones 40
P á g i n a 2 | 42
,Ethereum
Tras la creación de Bitcoin, como bien sabemos, comienzan a surgir nuevas cabezas pensantes
e ideas de proyecto que traten de aumentar el potencial de esta tecnología con la que fue
creada Bitcoin.
Fue aquí donde surgió de la mano de Vitalik Buterin, la creación de Ethereum, una blockchain
que tenía la capacidad de albergar diferentes contratos inteligentes y plataformas, para a su
vez, hacer crecer, a la vez que permitir que diferentes modelos de negocios de cualquier
ámbito, se metiese dentro de la blockchain, con todo lo que ello implica.
Por último, podemos mencionar que Ethereum como tal, va a contar con una serie de
elementos clave, que van a hacer que funcione correctamente, como pueden ser los smart
contracts, la EVM, el sistema de minería, y otro más que iremos analizando más en detalle.
Vitalik Buterin.
Ahora bien, ¿quién está dentro de la creación de este coloso de las Dapps? Como todos sabéis
es Vitalik Buterin, un desarrollador de nacionalidad canadiense y origen ruso, que propuso
crear plataformas destinadas a aplicaciones descentralizadas.
La idea de esta creación es bastante cómica, ya que procede de un momento en el que Vitalik
estaba jugando a un juego conocido como World of Warcraft, y uno de los personajes con los
que siempre jugaba, tras actualizarse el juego, lo eliminaron del mismo y no le permitirían
volver a tenerlo.
Fue así, como tras años de aprendizaje en diferentes lugares, entre los que destaca Bitcoin
Magazine como redactor jefe de la empresa y foros sobre Bitcoin, dónde decidió crear lo que
es a día de hoy Ethereum, de la mano de Gavin Wood, actual CEO de Polkadot, y creador de la
EVM y el yellow paper de Ethereum.
Este es un punto a tener muy en cuenta, ya que la figura de Vitalik Buterin dentro de
Ethereum, y de la comunidad cripto en su conjunto es bastante grande, y, por lo tanto, puede
llegar a ser decisiva para ciertas medidas o movimientos que se den dentro del mercado.
Nick Szabo
Teniendo en cuenta lo que hemos mencionado anteriormente sobre Ethereum, debemos
destacar, el importante papel que desempeñó Nick Szabo en 1994, y que será, por lo tanto, el
principal creador de los contratos inteligentes dentro de la cadena de bloques.
Según menciones de él mismo, escritas en un artículo, “Un contrato inteligente es un
protocolo de transacción computarizado que ejecuta los términos de un contrato. Los
objetivos generales del diseño de contrato inteligente son satisfacer condiciones contractuales
comunes (como condiciones de pago, gravámenes, confidencialidad e incluso ejecución),
minimizar las excepciones tanto maliciosas como accidentales, y minimizar la necesidad de
intermediarios de confianza. Los objetivos económicos relacionados incluyen reducir las
pérdidas por fraude, los costos de arbitraje y complimiento y otros costos de transacción.”
Aunque esta mención nos puede sonar familiar, es importante que la recordemos, ya que, si
no tuviésemos contratos inteligentes, no se podría desarrollar toda esta tecnología sobre la
que corren las blockchains y demás aplicaciones descentralizadas.
P á g i n a 3 | 42
, Dapps
Por último, dentro de estas primeras características principales que componen Ethereum, y
que hace que todo funcione con un engranaje, son las Dapps, estas aplicaciones
descentralizadas, que permiten tanto a usuarios, como a desarrolladores, actuar en armonía
con el fin común de mejorar el sistema tradicional al que estamos acostumbrados, y sobre el
cual, se construirán todos y cada uno de los modelos de negocio que se quieran.
Para ello, dentro de las características básicas con las que debe contar una Dapps,
encontramos:
• Descentralización: las Dapps que corren sobre Ethereum están completamente
descentralizadas, es decir, no hay una entidad como tal que se a la que gobierne o
tenga el control sobre ella. Bien es cierto, que veremos como en las primeras etapas
de todos los proyectos, la mayoría de ellos, requieren de un poder centralizado, por
parte del equipo, para poder tomar el rumbo que se quiere.
• Determinista: las Dapps deben tener la característica de ejecutar funciones
independientemente del entorno en el que se ejecuten, bien sea en otro ordenador o
dispositivo tecnológico que tenga capacidad para ejecutarlo.
• Aislado: las Dapps, actuarán unas con otras de manera independiente, dentro de la
EVM, de tal manera, que, si una de ellas falla, no exista posibilidad o fallos que
interrumpan el correcto funcionamiento de la blockchain, ya que debemos recordad,
que esta es en primera instancia, la que tiene el peso fundamental, y debido a ello,
una simple Dapps, no puede tumbar el funcionamiento de una red completa.
• Turing completo: Para permitir la capacidad de interacción de las diferentes
aplicaciones, Ethereum emplea una lenguaje de programación basado en Turing
incorporado, lo que permite que cualquier persona pueda escribir contratos
inteligentes y aplicaciones descentralizadas, con unas reglas específicas, a la vez, que
unas funciones de estado.
Antes de continuar, tenemos que tener en cuenta que es la máquina de turing, para saber de
qué manera se incorpora dentro de las blockchains. La máquina de Turing, fue creada por Alan
Turing, considerado por muchos el padre de la computación y la información moderna. Seguro
que a alguno le suena más por ser la persona que descifró los códigos de los nazis con su
máquina Enigma.
Con el mecanismo idealizado de la máquina de Turing, se consigue almacenar y procesar
información de manera virtualmente infinita, siendo capaz de resolver cualquier problema
matemático.
Sin embargo, no sabemos exactamente si todos los problemas son interminables, eso sumado
al elevado almacenamiento, hace que la blockchain sea compatible con esta máquina, en
concreto, hablando de Ethereum, se consigue, separar la capacidad de procesamiento del
almacenamiento, y por tanto, no depender el uno del otro para realizar las funciones, sino que
de manera descentralizada, la información es almacenada en otro lugar. En este último punto,
cabe señalar algunos puntos interesantes:
P á g i n a 4 | 42
Ethereum 3
Vitalik Buterin 3
Nick Szabo 3
Dapps 4
Ether 5
Funcionamiento de los bloques 6
EIP’s 8
Lenguaje de programación 10
Solidity 10
Vyper 10
Funcionamiento de los Smart contracts 11
GitHub y entornos de desarrollo 11
Funcionamiento de la EVM 11
Teorema del cap 11
Gas 13
Program Counter 15
Pila tecnológica 15
Memoria 15
Almacenamiento 15
EVM inmutable 18
Virtual ROM 18
Creación de cuentas 18
Cuentas de creación de contrato 19
EOA 21
Redes de prueba 22
Funcionamiento de bridges 23
Estándar de tokens 25
P á g i n a 1 | 42
, ERC-20 25
ERC-721 25
ERC-1155 25
ERC-173 26
ERC-223 26
ERC-621 26
ERC-1080 27
ERC-1450 27
Soluciones de escalabilidad 27
Plasma 27
Sidechains 32
Optimistic Rollup OVM 32
Rollup zk SNARK y STARK 33
Canales de estado 35
Validium 36
Comparativo de las soluciones 40
P á g i n a 2 | 42
,Ethereum
Tras la creación de Bitcoin, como bien sabemos, comienzan a surgir nuevas cabezas pensantes
e ideas de proyecto que traten de aumentar el potencial de esta tecnología con la que fue
creada Bitcoin.
Fue aquí donde surgió de la mano de Vitalik Buterin, la creación de Ethereum, una blockchain
que tenía la capacidad de albergar diferentes contratos inteligentes y plataformas, para a su
vez, hacer crecer, a la vez que permitir que diferentes modelos de negocios de cualquier
ámbito, se metiese dentro de la blockchain, con todo lo que ello implica.
Por último, podemos mencionar que Ethereum como tal, va a contar con una serie de
elementos clave, que van a hacer que funcione correctamente, como pueden ser los smart
contracts, la EVM, el sistema de minería, y otro más que iremos analizando más en detalle.
Vitalik Buterin.
Ahora bien, ¿quién está dentro de la creación de este coloso de las Dapps? Como todos sabéis
es Vitalik Buterin, un desarrollador de nacionalidad canadiense y origen ruso, que propuso
crear plataformas destinadas a aplicaciones descentralizadas.
La idea de esta creación es bastante cómica, ya que procede de un momento en el que Vitalik
estaba jugando a un juego conocido como World of Warcraft, y uno de los personajes con los
que siempre jugaba, tras actualizarse el juego, lo eliminaron del mismo y no le permitirían
volver a tenerlo.
Fue así, como tras años de aprendizaje en diferentes lugares, entre los que destaca Bitcoin
Magazine como redactor jefe de la empresa y foros sobre Bitcoin, dónde decidió crear lo que
es a día de hoy Ethereum, de la mano de Gavin Wood, actual CEO de Polkadot, y creador de la
EVM y el yellow paper de Ethereum.
Este es un punto a tener muy en cuenta, ya que la figura de Vitalik Buterin dentro de
Ethereum, y de la comunidad cripto en su conjunto es bastante grande, y, por lo tanto, puede
llegar a ser decisiva para ciertas medidas o movimientos que se den dentro del mercado.
Nick Szabo
Teniendo en cuenta lo que hemos mencionado anteriormente sobre Ethereum, debemos
destacar, el importante papel que desempeñó Nick Szabo en 1994, y que será, por lo tanto, el
principal creador de los contratos inteligentes dentro de la cadena de bloques.
Según menciones de él mismo, escritas en un artículo, “Un contrato inteligente es un
protocolo de transacción computarizado que ejecuta los términos de un contrato. Los
objetivos generales del diseño de contrato inteligente son satisfacer condiciones contractuales
comunes (como condiciones de pago, gravámenes, confidencialidad e incluso ejecución),
minimizar las excepciones tanto maliciosas como accidentales, y minimizar la necesidad de
intermediarios de confianza. Los objetivos económicos relacionados incluyen reducir las
pérdidas por fraude, los costos de arbitraje y complimiento y otros costos de transacción.”
Aunque esta mención nos puede sonar familiar, es importante que la recordemos, ya que, si
no tuviésemos contratos inteligentes, no se podría desarrollar toda esta tecnología sobre la
que corren las blockchains y demás aplicaciones descentralizadas.
P á g i n a 3 | 42
, Dapps
Por último, dentro de estas primeras características principales que componen Ethereum, y
que hace que todo funcione con un engranaje, son las Dapps, estas aplicaciones
descentralizadas, que permiten tanto a usuarios, como a desarrolladores, actuar en armonía
con el fin común de mejorar el sistema tradicional al que estamos acostumbrados, y sobre el
cual, se construirán todos y cada uno de los modelos de negocio que se quieran.
Para ello, dentro de las características básicas con las que debe contar una Dapps,
encontramos:
• Descentralización: las Dapps que corren sobre Ethereum están completamente
descentralizadas, es decir, no hay una entidad como tal que se a la que gobierne o
tenga el control sobre ella. Bien es cierto, que veremos como en las primeras etapas
de todos los proyectos, la mayoría de ellos, requieren de un poder centralizado, por
parte del equipo, para poder tomar el rumbo que se quiere.
• Determinista: las Dapps deben tener la característica de ejecutar funciones
independientemente del entorno en el que se ejecuten, bien sea en otro ordenador o
dispositivo tecnológico que tenga capacidad para ejecutarlo.
• Aislado: las Dapps, actuarán unas con otras de manera independiente, dentro de la
EVM, de tal manera, que, si una de ellas falla, no exista posibilidad o fallos que
interrumpan el correcto funcionamiento de la blockchain, ya que debemos recordad,
que esta es en primera instancia, la que tiene el peso fundamental, y debido a ello,
una simple Dapps, no puede tumbar el funcionamiento de una red completa.
• Turing completo: Para permitir la capacidad de interacción de las diferentes
aplicaciones, Ethereum emplea una lenguaje de programación basado en Turing
incorporado, lo que permite que cualquier persona pueda escribir contratos
inteligentes y aplicaciones descentralizadas, con unas reglas específicas, a la vez, que
unas funciones de estado.
Antes de continuar, tenemos que tener en cuenta que es la máquina de turing, para saber de
qué manera se incorpora dentro de las blockchains. La máquina de Turing, fue creada por Alan
Turing, considerado por muchos el padre de la computación y la información moderna. Seguro
que a alguno le suena más por ser la persona que descifró los códigos de los nazis con su
máquina Enigma.
Con el mecanismo idealizado de la máquina de Turing, se consigue almacenar y procesar
información de manera virtualmente infinita, siendo capaz de resolver cualquier problema
matemático.
Sin embargo, no sabemos exactamente si todos los problemas son interminables, eso sumado
al elevado almacenamiento, hace que la blockchain sea compatible con esta máquina, en
concreto, hablando de Ethereum, se consigue, separar la capacidad de procesamiento del
almacenamiento, y por tanto, no depender el uno del otro para realizar las funciones, sino que
de manera descentralizada, la información es almacenada en otro lugar. En este último punto,
cabe señalar algunos puntos interesantes:
P á g i n a 4 | 42