Ethereum es considerado por muchos como la segunda criptomoneda más popular, superada en este momento solo por Bitcoin. La Enterprise Ethereum Alliance (EEA) también tiene algunos miembros fundadores de renombre, incluidos Microsoft, Intel y JPMorgan Chase, según The Motley Fool. "La adopción de Ethereum por parte del mundo empresarial", dice CNBC, "significa que eventualmente podría ser más grande que su rival en la etapa inicial". Eso significa que es hora de conocer la plataforma Ethereum, incluidas sus características y aplicaciones, y lo que hace que Ethereum sea diferente de Bitcoin.
Nuestro video tutorial de Ethereum "Explicación de Ethereum" lo presenta todo para usted, y aquí cubriremos lo que se discute en el video.
¿Qué es Ethereum?
Ethereum es una plataforma informática basada en blockchain que permite a los desarrolladores crear e implementar aplicaciones descentralizadas, es decir, no ejecutadas por una autoridad centralizada. Puede crear una aplicación descentralizada para la cual los participantes de esa aplicación en particular son la autoridad de toma de decisiones.
Características de Ethereum
• Ether: esta es la criptomoneda de Ethereum.
• Contratos inteligentes: Ethereum permite el desarrollo y despliegue de estos.
• Máquina virtual Ethereum: Ethereum proporciona la tecnología subyacente, la arquitectura y el software, que comprende los contratos inteligentes y le permite interactuar con ellos.
• Aplicaciones descentralizadas (Dapps): Ethereum le permite crear aplicaciones consolidadas, llamadas aplicaciones descentralizadas. Una aplicación descentralizada se llama Dapp (también escrito DAPP, App o DApp) para abreviar.
• Organizaciones autónomas descentralizadas (DAO): Ethereum le permite crearlas para la toma de decisiones democrática.
Estas son las características esenciales de Ethereum y antes de profundizar en el tutorial de Ethereum, analicemos cada una de estas características con más detalle.
1. Éter
Ether (ETH) es la criptomoneda de Ethereum. Es el combustible que hace funcionar la red. Se utiliza para pagar los recursos computacionales y las tarifas de transacción de cualquier transacción ejecutada en la red Ethereum. Al igual que los Bitcoins, el éter es una moneda de igual a igual. Además de usarse para pagar transacciones, el ether también se usa para comprar gas, que se usa para pagar el cálculo de cualquier transacción realizada en la red Ethereum.
Además, si desea implementar un contrato en Ethereum, necesitará gasolina y tendrá que pagar esa gasolina en éter. Entonces, el gas es la tarifa de ejecución que paga un usuario por ejecutar una transacción en Ethereum. Ether se puede utilizar para crear aplicaciones descentralizadas, crear contratos inteligentes y realizar pagos regulares de igual a igual.
2. Contratos inteligentes
Los contratos inteligentes están revolucionando la forma en que funcionaban los contratos tradicionales, razón por la cual debe conocerlos en este tutorial de Ethereum. Un contrato inteligente es un programa informático simple que facilita el intercambio de cualquier activo valioso entre dos partes. Podría ser dinero, acciones, propiedad o cualquier otro activo digital que desee intercambiar. Cualquiera en la red Ethereum puede crear estos contratos. El contrato consiste principalmente en los términos y condiciones acordados mutuamente entre las partes (pares).
La característica principal de un contrato inteligente es que una vez que se ejecuta, no se puede alterar, y cualquier transacción realizada además de un contrato inteligente se registra de forma permanente, es inmutable. Entonces, incluso si modifica el contrato inteligente en el futuro, las transacciones correlacionadas con el contrato original no se alterarán; no puede editarlos.
El proceso de verificación de los contratos inteligentes lo llevan a cabo partes anónimas de la red sin la necesidad de una autoridad centralizada, y eso es lo que hace que cualquier ejecución de contrato inteligente en Ethereum sea una ejecución descentralizada.
La transferencia de cualquier activo o moneda se realiza de manera transparente y confiable, y las identidades de las dos entidades están seguras en la red Ethereum. Una vez que la transacción se realiza con éxito, las cuentas del remitente y del destinatario se actualizan en consecuencia, y de esta manera se genera confianza entre las partes.
a) Contratos inteligentes vs. Sistemas de contratos tradicionales
En los sistemas contractuales convencionales, firmas un contrato, luego confías y contratas a un tercero para su ejecución. El problema es que en este tipo de proceso es posible la manipulación de datos. Con los contratos inteligentes, el acuerdo se codifica en un programa. Una autoridad centralizada no verifica el resultado; es confirmado por los participantes en la red Ethereum basada en blockchain. Una vez que se ejecuta un contrato, la transacción se registra y no se puede alterar ni manipular, por lo que elimina el riesgo de cualquier manipulación o alteración de datos.
Tomemos un ejemplo en el que alguien llamado Zack otorgó un contrato de $ 500 a alguien llamado Elsa para desarrollar el sitio web de su empresa. Los desarrolladores codifican el acuerdo del contrato inteligente utilizando el lenguaje de programación de Ethereum. El contrato inteligente tiene todas las condiciones (requisitos) para la construcción del sitio web. Una vez que se escribe el código, se carga y se implementa en la máquina virtual Ethereum (EVM).
EVM es un compilador en tiempo de ejecución para ejecutar un contrato inteligente. Una vez que el código se implementa en el EVM, cada participante en la red tiene una copia del contrato. Cuando Elsa envía el trabajo en Ethereum para su evaluación, cada nodo en la red Ethereum evaluará y confirmará si el resultado dado por Elsa se ha realizado según los requisitos de codificación, y una vez que el resultado sea aprobado y verificado, el contrato por valor de $ 500 será autoejecutado, y el pago se pagará a Elsa en ether. La cuenta de Zack se debitará automáticamente y Elsa recibirá $ 500 en ether.
El video tutorial de Ethereum incluye una demostración sobre la implementación de un contrato inteligente de Ethereum.
3. Máquina virtual Ethereum
EVM, como se mencionó anteriormente en este tutorial de Ethereum, está diseñado para operar como un entorno de tiempo de ejecución para compilar e implementar contratos inteligentes basados en Ethereum. EVM es el motor que comprende el lenguaje de los contratos inteligentes, que están escritos en el lenguaje Solidity para Ethereum. EVM se opera en un entorno de espacio aislado; básicamente, puede implementar su entorno independiente, que puede actuar como un entorno de prueba y desarrollo, y puede probar su contrato inteligente (usarlo) "n" veces, verificarlo, y luego, una vez que esté satisfecho con el rendimiento y la funcionalidad del contrato inteligente, puede implementarlo en la red principal de Ethereum.
Cualquier lenguaje de programación en el contrato inteligente se compila en el código de bytes, que EVM entiende. Este bytecode puede leerse y ejecutarse usando EVM. Uno de los lenguajes más populares para escribir un contrato inteligente en Solidity. Una vez que escribe su contrato inteligente en Solidity, ese contrato se convierte en el código de bytes y se implementa en el EVM. Y por lo tanto, EVM garantiza la seguridad frente a los ciberataques.
a) ¿Cómo funciona EVM?
Suponga que la persona A quiere pagarle a la persona B 10 éteres. La transacción se enviará al EVM mediante un contrato inteligente para una transferencia de fondos de A a B. Para validar la transacción; la red Ethereum realizará el algoritmo de consenso de prueba de trabajo.
Los nodos mineros en Ethereum validarán esta transacción, ya sea que la identidad de A exista o no, y si A tiene la cantidad solicitada para transferir. Una vez que se confirma la transacción, el ether se debitará de la billetera de A y se acreditará en la billetera de B, y durante este proceso, los mineros cobrarán una tarifa para validar esta transacción y obtendrán una recompensa.
Todos los nodos de la red Ethereum ejecutan contratos inteligentes utilizando sus respectivos EVM.
b) Prueba de trabajo
Cada nodo de la red Ethereum tiene:
• El historial completo de todas las transacciones: toda la cadena
• El historial del contrato inteligente, que es la dirección en la que se implementa el contrato inteligente, junto con las transacciones asociadas con el contrato inteligente.
• El identificador del estado actual del contrato inteligente
El objetivo de los mineros en la red Ethereum es validar los bloques. Para cada bloque de una transacción, los mineros usan su poder y recursos computacionales para obtener el valor hash apropiado variando el valor. Los mineros variarán el nonce y lo pasarán a través de un algoritmo hash; en Ethereum, es el algoritmo Ethash.
Esto produce un valor hash que debería ser menor que el objetivo predefinido según el consenso de prueba de trabajo. Si el valor hash generado es menor que el valor objetivo, entonces el bloque se considera verificado y el minero es recompensado.
Cuando se resuelve la prueba de trabajo, el resultado se transmite y se comparte con todos los demás nodos para actualizar su libro mayor. Si otros nodos aceptan el bloque hash como válido, entonces el bloque se agrega a la cadena de bloques principal de Ethereum y, como resultado, el minero recibe una recompensa, que a día de hoy asciende a tres éteres. Además, el minero obtiene las tarifas de transacción que se han generado para verificar el bloque. Todas las transacciones que se agregan en el bloque: las tarifas de transacción acumuladas asociadas con todas las transacciones también se otorgan como recompensa al minero.
c) Prueba de participación
En Ethereum, también se está desarrollando un proceso llamado prueba de participación. Es una alternativa a la prueba de trabajo y está destinada a ser una solución para minimizar el uso de recursos costosos gastados en la minería mediante la prueba de trabajo. En prueba de participación, el minero, que es el validador, puede validar las transacciones en función de la cantidad de criptomonedas que posee antes de comenzar la extracción. Entonces, según la acumulación de monedas criptográficas que el minero tiene de antemano, tiene una mayor probabilidad de extraer el bloque. Sin embargo, la prueba de participación no se usa ampliamente a partir de ahora en comparación con la prueba de trabajo.
d) Gas
Al igual que necesitamos combustible para hacer funcionar un automóvil, necesitamos combustible para ejecutar aplicaciones en la red Ethereum. Para realizar cualquier transacción dentro de la red Ethereum, un usuario tiene que realizar un pago (desembolsar ethers) para realizar una transacción, y el valor monetario intermediario se llama gas. En la red Ethereum, el gas es una unidad que mide la potencia computacional requerida para ejecutar un contrato inteligente o una transacción. Entonces, si tiene que hacer una transacción que actualice la cadena de bloques, tendrá que gastar gas, y ese gas cuesta éteres.
En Ethereum, las tarifas de transacción se calculan mediante una fórmula (vea la captura de pantalla a continuación). Para cada transacción, hay gas y su precio de gas correlacionado. La cantidad de gas necesaria para ejecutar una transacción multiplicada por el precio del gas es igual a las tarifas de transacción. "Límite de gas" se refiere a la cantidad de gas utilizada para el cálculo y la cantidad de éter que un usuario debe pagar por el gas.
A continuación se muestra una captura de pantalla de la red Ethereum que muestra el costo de transacción. Puede ver que para esta transacción en particular, el límite de gas fue de 21,000, el gas utilizado por la transacción fue de 21,000 y el precio del gas fue de 21 Gwei, que es la denominación más baja de éter. Entonces, 21 Gwei * 21,000 dieron las tarifas de transacción reales: 0,000441 ethers, o alrededor de 21 centavos a la fecha. Como se mencionó, la tarifa de transacción va para el minero, quien ha validado la transacción.
Para comprender el límite de gasolina y el precio de la gasolina, consideremos un ejemplo con un automóvil. Suponga que su vehículo tiene un kilometraje de 10 kilómetros por litro y la cantidad de gasolina es de $ 1 por litro. Luego, conducir un automóvil durante 50 kilómetros le costaría cinco litros de gasolina, que vale $ 5. De manera similar, para realizar una operación o ejecutar código en Ethereum, debe obtener una cierta cantidad de gas, como gasolina, y el gas tiene un precio unitario, llamado precio del gas.
Si el usuario proporciona menos de la cantidad de gas para ejecutar una operación en particular, entonces el proceso fallará y se le dará al usuario el mensaje "sin gas". Y Gwei, como se señaló anteriormente, es la denominación más baja de éter utilizada para medir una unidad del precio del gas.
e) Ethereum Mining vs. Minería Bitcoin
El algoritmo hash es la principal diferencia entre la minería de Ethereum y la minería de Bitcoin.
Bitcoin usa SHA-256 y Ethereum usa Ethash. El tiempo promedio que toma Bitcoin para extraer un bloque es de 10 minutos, mientras que en Ethereum es de 12 a 15 segundos. A partir de hoy, la recompensa minera para Bitcoin es de 12,5 bitcoins; para Ethereum son tres ethers más la tarifa de transacción: las tarifas de transacción acumulativas de todas las transacciones de un bloque. Al 10 de abril de 2019, el valor de 1 bitcoin es de $ 5249.03, mientras que un ether es de $ 180.89.
f) ¿En qué se diferencia Ethereum Mining de Bitcoin Mining?
A continuación se muestra una captura de pantalla de una recompensa de Ethereum que se le ha dado al minero del bloque. Como puede ver, la recompensa es de tres ethers más las tarifas de transacción acumuladas totales de todas las transacciones subyacentes en este bloque, que son 0.0666 ethers.
Conclusión
Dirígete a nuestro video tutorial de Ethereum “Explicación de Ethereum” para ver una demostración detallada sobre cómo implementar un contrato inteligente de Ethereum localmente, incluida la instalación de Ganache y Node en un entorno Windows. Y si quieres llevar tu carrera al siguiente nivel, ¿a qué estás esperando? Regístrese en el curso de Conceptos básicos de Blockchain de Simplilearn o en el curso de Certificación de desarrollador de Blockchain. Recuerde que blockchain es la tecnología subyacente no solo para Ethereum sino también para Bitcoin y otras criptomonedas. Y según Indeed, el salario promedio de un desarrollador de blockchain es de casi $ 90,000 por año, ¡y algunos salarios de desarrolladores de blockchain llegan a los $ 193,000!