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

  1. Introducción

    • Qué es Blockchain

    • Historia de Blockchain

    • Elementos básicos y estructura de Blockchain

    • Tipos de Blockchain

    • Funcionamiento básico

  2. Fundamentos Matemáticos

    • Funciones Hash

    • Criptografía Asimétrica

    • Pruebas de Cero Conocimiento

    • Secretos compartidos verificables

  3. 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)

  4. 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)

  5. Diferentes tipos de Blockchain

    • Bitcoin y Proof of Work

    • Ethereum y los contratos Inteligentes

    • Algorand y Proof of Stake

  6. 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.