Fundamentos teóricos y prácticos de Blockchain
Introducción
Blockchain es uno de los nuevos campos de la computación que ha avanzado a pasos rápidos y que, como consecuencia, debemos conocer.
Este curso ha sido diseñado para cubrir desde los principios básicos hasta los más avanzados de la tecnología Blockchain, empezando por sus orígenes y avanzando por los conceptos criptográficos y protocolos de consenso que han hecho posible su construcción. Revisaremos los ejemplos más representativos de esta tecnología discutiendo sus ventajas y desventajas. También se revisarán diversas técnicas para hacer blockchain escalable, concurrente y privada.
Objetivo
Conocer los conceptos teóricos que dan fundamento a blockchain.
Conocer e implementar los conceptos prácticos que dan fundamento a blockchain.
Implementar contratos inteligentes con el objetivo de crear una pequeña aplicación distribuida.
Horario
Enero: Lunes y Miércoles de 10.00 AM a 11.30 AM
Contenido Temático
Introducción
Qué es Blockchain
Historia de Blockchain
Elementos básicos y estructura de Blockchain
Tipos de Blockchain
Funcionamiento básico
Fundamentos Matemáticos
Funciones Hash
Criptografía Asimétrica
Pruebas de Cero Conocimiento
Secretos compartidos verificables
Sistemas Distribuidos
Qué es un Sistema Distribuido
Diferencias entre distribuido y descentralizado
Tipo de Sistemas Distribuidos Descentralizados
Sistemas Tolerantes a Fallos
Sistemas Tolerantes a Fallas Bizantinos
Protocolos de consenso
El problema del general bizantino
¿Qué es un protocolo de consenso?
Protocolos de consenso por voto (PBFT y RAFT)
Protocolos de consenso por prueba (Proof of Work, Proof of Stake y PPoS)
Criptografía
Firma Digital
Árboles de Merkle
Protocolos de Cero Conocimiento
Funciones de Retraso Verificables (Verifiable Delay Functions, VDFs)
Funciones Aleatorias Verificables (Verifiable Random Function ,VRFs)
Diferentes tipos de Blockchain
Bitcoin y Proof of Work
Ethereum y los contratos Inteligentes
Algorand y Proof of Stake
Mejorando Blockchain
El trilema de Blockchain
Blockchains escalables
Blockchains concurrentes
Blockchains privados
Bibliografía
Handbook of Applied Cryptography, Alfred J. Menezes et al. CRC Press, 1997. (disponible gratuitamente en http://www.cacr.math.uwaterloo.ca/hac/
Mastering Blockchain: Distributed ledger technology, decentralization, and smart contracts explained, Imran Bashi,Packt Publishing, 2018, 2nd Edition.
Lecture Notes Cryptographic Protocols, Berry Schoenmakers, 2021.
Cryptography Made Simple, Nigel P. Smart, Springer, 2016, ISBN 978-3-319-21935-6.
Distributed Systems, M. van Steen and A.S. Tanenbaum, 4th ed., distributed-systems.net, 2023.