Ethereum Virtual Machine para Desarrolladores Blockchain
Clase 15 de 28 • Ethereum Developer Program 1ª Edición
Contenido del curso
Aprender de criptografía y la infraestructura de la Ethereum Virtual Machine es fundamental para poder avanzar en nuestro camino a Full Stack Blockchain Developers.
Si bien, esta semana no hay actividades no opcionales, Ernesto García Ethereum Developer de Open Zeppelin nos invita a aprender y poner en práctica nuestro conocimientos a través de un repositorio y playground de opcodes EVM.
Playground de actividades
Repositorio de Ethereum Signatures EVM Playground
Cursos de la Semana
Si aún no eres parte de nuestra comunidad, no es obligatorio que cumplas los cursos de cada semana. Tenemos un precio especial para ti, y así puedas ser parte de Platzi y la Escuela de Blockchain y Criptomonedas.
Te esperamos el jueves en el chat de Discord a las 2:00 pm 🇨🇴🇲🇽/3:00 pm🇻🇪/4:00 pm 🇦🇷/8:00 pm🇪🇸 para hablar con los Platzi Mentores sobre crecimiento profesional y responder todas tus dudas y preguntas.
Comparte tu certificado y cada uno de tus logros con tus amigos y la comunidad, esto es solo el comienzo 💚
Recursos Recomendados: Ethereum Virtual Machine
Ethereum Virtual Machine Ethereum Yellow Paper EVM Opcodes Nodos y clientes de Ethereum Bloques, transacciones y cuentas
Clases Recomendadas: Ethereum Virtual Machine
Componentes de Ethereum ETH y Gas
Recursos Recomendados: Criptografía
The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography Serious Cryptography: A Practical Introduction to Modern Encryption
Clases Recomendadas: Criptografía
Criptografía y Proyecto Enigma Criptografía asimétrica
Sigamos construyendo 🔥
Rafael Livise Larico
Carlos Jose Ramirez Divo
Angela Ocando
Tini Cassi
Tarea opcional
Increible tu explicación, muchas gracias por el super aporte!
Wow
Hola comunidad 💚 Dejo un aporte respecto a los recursos recomendados:
1. EVM
Existe como una única entidad sustentada por miles de computadoras conectadas ejecutando un cliente de Ethereum.
El protocolo de Ethereum existe para mantener el funcionamiento continuo e inmutable esta máquina de estado que alberga todas las cuentas de Ethereum y los contratos inteligentes.
Ethereum es una máquina de estado distribuida. Sostiene todas las cuentas y saldos, y además alberga el estado de la máquina. Las modificaciones del estado se dan mediante reglas predefinidas.
2. NODOS Y CLIENTES
Un nodo es una pieza de software cliente en ejecución. Un cliente es una implementación de Ethereum que verifica todas las transacciones en cada bloque, manteniendo la red segura y la precisión de los datos. Los clientes pueden ejecutar tres tipos de nodos y son algunas de sus características:
Nodo completo
Nodo ligero
Nodo de almacenamiento
3. BLOQUES
Los bloques son lotes de transacciones con un hash del bloque anterior de la cadena. Vincula bloques juntos en una cadena porque los hashes derivan criptográficamente de los datos del bloque. Un cambio en el bloque invalidaría todos los siguientes bloques, todos los hashes siguientes cambiarían y todos los que ejecutan la blockchain lo notarían. En un bloque hay:
timestamp: hora en la que se minó el bloque.blockNumber: la longitud de la cadena de bloques en bloques.baseFeePerGas: la comisión mínima por gas necesaria para que una transacción se incluya en el bloque.difficulty: el esfuerzo empleado para minar el bloque.mixHash: un identificador único del bloque.parentHash: el único identificador del bloque anterior (esta es la manera en la que los bloques son enlazan en una cadena).transactions: las transacciones incluidas en el bloque.stateRoot: el estado entero del sistema; los saldos de las cuentas, el almacenamiento de contratos, el código de contratos y los nonces de las cuentas.nonce: un hash que, cuando se combina con mixHash, comprueba que el bloque ha pasado por una prueba de trabajo.4. TRANSACCIONES
Son instrucciones firmadas criptográficamente que se emiten desde cuentas. Una cuenta iniciará una transacción para actualizar el estado de la red Ethereum. Ej, transferir eth de una cuenta a otra. Incluye la siguiente información:
destinatario: La transacción destinataria. En caso de que sea una cuenta de propiedad externa, la transacción transferirá valor. Si se trata de un contrato, la transacción ejecutará el código del contrato.
- firma: Identificador del remitente. Se genera cuando, mediante la clave privada, se firma la transacción y se confirma que el remitente la ha autorizado
- valor: Cantidad de ETH que el remitente transfiere al destinatario (en WEI, una denominación de ETH)
- datos: Campo opcional en el que se incluyen datos arbitrarios.
- LímiteDeGas: Cantidad máxima de unidades de gas que puede consumir la transacción. Las unidades de gas representan pasos computacionales
- maxPriorityFeePerGas: la cantidad máxima de gas que se incluirá como recompensa para el minero
- maxFeePerGas: la cantidad mínima de gas que se quiere pagar por la transacción (incluidas baseFeePerGas y maxPriorityFeePerGas)5. CUENTAS
Una cuenta Ethereum cuenta con un saldo en ETH, que permite realizar transacciones en Ethereum. Los usuarios pueden controlar las cuentas, o bien se pueden implementar como contratos inteligentes. Existen dos tipos de cuenta: