Introducción a Blockchain
- Antecedentes: Bitcoin
- Motivaciones y movimiento ciberpunk
- Antecedentes de Bitcoin. Intentos anteriores de crear medios de pago en internet. Modelos, propuestas y fracasos
- Claves del éxito e innovaciones propuestas
- Funcionamiento de las Blockchain
- Características de las redes Blockchain
- Tipos de Blockchains públicas
- Bitcoin
- Ethereum
- Algunos casos de uso
- Propuestas del sector privado (Banca, Seguros, Industria 4.0, Energía, Farma,…)
- Propuestas del sector público (Administración, PYMES, participación ciudadana, …)
- Propuestas del tercer sector (Economía cooperativa, Impacto social)
Conceptos técnicos de Blockchain para desarrolladores
- Conceptos de Seguridad y Criptografía
- Hashes
- Tipos de claves
- Encriptación y autentificación
- Firmas digitales
- Árboles de Merkle
- Transacciones
- Surgimiento de Blockchains
- Funcionamiento de cadenas de bloques
- Cadenas de bloques a fondo
- Algoritmo de consenso
- Tipos de Blockchain
- Con permiso (Permissioned)
- Sin permiso (Permissionless)
- Arquitectura de Ethereum
- Máquina virtual de Ethereum (EVM)
- Clientes
- Geth
- Parity
- Lenguajes de programación: Solidity
- Ecosistema de Tecnologías
- Web3
- Truffle
- Geth
- Remix
- Ejercicios prácticos
Introducción práctica en desarrollo en Ethereum
- Introducción a SmartContracts
- Definición SmartContracts
- Estructura de un contrato
- Tipos de contratos
- Interacciones entre contratos
- Creación de contratos
- Desarrollo Blockchain con Solidity
- Patrones de implementaciones Solidity
- Mappings, Arrays y Estructuras
- Librerías avanzadas
- Desarrollo utilizando la interfaz Web3.js
- Ejemplos prácticos