ETH Kipu
  • Ethereum Developer Pack
  • Módulo 1
    • Intro a Smart Contracts
      • Fundamentos de Blockchain
        • Antecedentes
        • Bitcoin
        • Qué es Blockchain
        • Conceptos Clave en Blockchain
        • Cómo funciona la Blockchain
        • Tipos de Blockchain
        • Modelos de Consenso
      • El nuevo Internet
        • Web 3
        • Elementos Fundamentales
        • Impacto de Ethereum en Diversos Sectores
      • Wallets
        • Componentes de una wallet
        • Tipos de Wallet
        • Códigos mnemónicos
      • Ethereum 101
        • Smart Contracts
        • Cuentas
          • Tipos de cuentas
          • Contenido de cuentas
        • Transacciones
          • Componentes
          • Ciclo de vida
        • Gas
        • Solidity
        • EVM
          • La máquina de estados
          • Opcodes
          • Cómo funciona la EVM
          • Clientes de ejecución
          • DApps
      • Blockchain Explorer
        • Funciones de un blockchain explorer
        • Beneficios de utilizar un blockchain explorer
      • Remix
        • Características de Remix
        • Workspaces o espacios de trabajo
        • Cargar y compilar un contrato
        • Desplegar en la máquina virtual de Remix (Remix VM)
        • Interactuando con funciones
        • Desplegar en una red pública
      • Crea tu primer Smart Contract
  • Módulo 2
    • Fundamentos de Solidity
      • Hello World
      • Tipos de Datos
      • Funciones
      • Variables
        • Ejercicio 1
      • Operadores
        • Ejercicio 2
      • Constructor
        • Ejercicio 3
      • Convenciones de nomenclatura
      • Tipos de almacenamiento para variables
      • Estructuras de Control
        • Ejercicio 4
      • Modificadores
      • Eventos
        • Ejercicio 5
      • Tipos de Referencia
        • Arrays
          • Ejercicio 6
        • Mappings
          • Ejercicio 7
        • Structs
          • Ejercicio 8
      • Address Payable
      • Cómo reciben Ether los contratos y funciones
      • Transferencias de Ether
      • Conceptos Avanzados
        • Codificación ABI
        • Hashing
        • This
        • Herencia
        • Abstract
        • Interface
        • Llamadas entre contratos
        • EVM
        • ABI
        • Bytecode
        • Opcodes
  • Módulo 3
    • Estándares, Librerías y Patrones
      • Buenas Prácticas de Diseño
      • Patrones de Diseño
      • EIP y ERC
      • ERC-20
      • ERC-721
      • Open Zeppelin
      • Crea un Token ERC-20
      • Almacenamiento Descentralizado: IPFS
      • Crea un Token ERC-721
      • DeFi
  • Módulo 4
    • Toolkit para desarrollo en Ethereum
      • Requisitos para el módulo 4
        • Terminal
        • Git y Github
        • Node.js y npm
        • Visual Studio Code para Solidity
      • Toolkit
        • JSON-RPC
        • Ethers.js
          • Ejercicio
        • Hardhat
          • Despliegue de un contrato en Hardhat
          • Despliegue de un contrato en una red pública
        • Scaffold-ETH
          • Características
          • Cómo instalar Scaffold-ETH
  • Módulo 5
    • Seguridad, Pruebas y Auditoría
      • Pruebas
        • Importancia de realizar pruebas
        • Métodos para probar contratos inteligentes
          • Pruebas automatizadas
          • Pruebas manuales
        • Conceptos importantes en testing
        • Herramientas para testing
        • Testing con Hardhat
        • Recursos adicionales
      • Seguridad
        • Una mentalidad distinta de diseño
        • Principales vulnerabilidades en smart contracts
          • Reentrancy attack (ataque de reentrada)
          • Replay attack (ataque de repetición)
          • Price Oracle Manipulation (Manipulación de Oráculos de Precios)
          • Missing Access Control (Pérdida de Control de Acceso)
          • Reward Manipulation (Manipulación de Recompensas)
          • Failure to Initialize (Falla al Inicializar)
          • Front-running
          • Invariant Breaks (Ruptura de invariantes)
          • Mishandling of ETH (Mal manejo de ETH)
          • Denial of Service (DoS - Denegación de Servicio)
          • Integer overflow and underflow (desbordamiento y subdesbordamiento de enteros)
          • Phishing y Typosquatting
        • Recursos adicionales
      • Auditoría de smart contracts
        • Proceso de Auditoría
        • Herramientas
        • Cómo prepararse para una auditoría
        • El test Rekt
        • Retos
        • Recursos adicionales
  • Contribuye
    • Kipu Explorer
Powered by GitBook
On this page

Was this helpful?

  1. Módulo 1
  2. Intro a Smart Contracts

Ethereum 101

PreviousCódigos mnemónicosNextSmart Contracts

Last updated 8 months ago

Was this helpful?

Ethereum es una computadora

Bitcoin, la primera blockchain, estableció la idea de una moneda digital descentralizada, pero Ethereum llevó la visión un paso más allá. En lugar de limitarse a ser una simple moneda digital, Ethereum se propuso ser una plataforma que permitiera la ejecución de contratos inteligentes y aplicaciones descentralizadas (DApps). Esta visión ambiciosa se cristalizó con la creación del lenguaje de programación turing-complete en Ethereum, permitiendo la creación de contratos inteligentes que van más allá de simples transacciones de valor.

En ese sentido, Ethereum es una computadora mundial descentralizada.

Decimos que es una computadora porque tiene los mismos componentes de una computadora tradicional:

  • Procesador y memoria. Los nodos que conforman la red de Ethereum ejecutan un software denominado cliente de ejecución que habilita la Máquina Virtual de Ethereum (Ethereum Virtual Machine - EVM) que es el componente encargado de procesar las transacciones que circulan por la red P2P y que utiliza una memoria temporal.

  • Almacenamiento o storage. Ethereum también guarda los programas, los datos asociados a ellos, las transacciones y otra información en el almacenamiento de la blockchain.

  • Interfaz. La forma de interactuar con esta computadora es a través de internet, wallets y aplicaciones descentralizadas.

Adicionalmente a estos componentes y a diferencia de una computadora convencional, Ethereum cuenta con un protocolo de consenso que permite que los nodos que conforman la red distribuida se pongan de acuerdo en cada momento respecto a cuál es el estado de la red es decir respecto al estado actual de la blockchain y las transacciones que se han realizado, El consenso es esencial en entornos descentralizados como Ethereum, donde no hay una autoridad central que dicte las reglas. El protocolo de consenso es Proof of Stake (POS)

La EVM constituye la capa de ejecución, el almacenamiento es la capa de disponibilidad de datos (Data Availability) y el POS es la capa de consenso.

La computadora Ethereum tiene los siguientes atributos:

  • Es descentralizada, con miles de nodos validadores en todo el mundo.

  • No se requiere tener un permiso para acceder a ella (permissionless).

  • Es una sola computadora para todo el planeta. No hay una computadora en cada nodo.

  • Es verificable. Tanto el software que la soporta (clientes de ejecución y consenso), como los programas que se ejecutan sobre ella son de código abierto. Además que todas las transacciones que se realizan en ella pueden ser trazados.

  • Es inmutable. Ethereum, al igual que Bitcoin, es inmutable, lo que significa que una vez que se registra una transacción o un contrato inteligente, no puede ser alterado ni borrado. Esto crea un registro histórico transparente y resistente a la manipulación, generando confianza en un entorno digital donde la confianza es a menudo escasa.