septiembre 21, 2019

PostGrado Blockchain y tecnologías DLT

1. MÓDULO 1 Blockchain y DLT.Descentralización Holística.

1.1. Objetivos

  • Aportar al alumno una introducción general al panorama Blockchain y DLT,
    repasando la tecnología y las aplicaciones principales en el terreno de cripto-
    moneda y criptoeconomia a partir del primer caso de uso con Bitcoin.
  • Conocer la escena de servicios (wallets, exchanges), comunidad (creadores,
    desarrolladores), mitos y verdades.

1.2. Competencias a adquirir

Legal: fiscalidad, hacienda, IVA, impuestos, tokens como activo, ICOs como activo, activos y pasivos, IPOs vs. ICOs, start-up vs. ICO, casos de criptomoneda y blanqueo de capital, regulación en exchanges, regulación en mining pools,bitnation y naciones digitales, DAOs

Contexto del bitcoin y el blockchain: contexto macroeconómico, contexto Internet 1.0 y 2.0, sistema bancario, patrón oro, historia criptomonedas, evolución del bitcoin, aceptación/rechazo de los gobiernos.Blockchain y distributed ledger technology: Introducción, validación y consenso, minado, fees, limitaciones, Tangle, Hashgraph, Raiblocks, principales blockchains, hardfork/softfork, BAS.

Web 3.0 y aplicaciones: Introducción a los smart contracts, introducción a la web 3.0, Decentralized Autonomous Organization, introducción al IoT, escalabilidad, consorcios, tokenización, introducción a las aplicaciones en distintos sectores.

Inversión en criptomonedas: El objetivo de este módulo es que los estudiantes aprendan los procesos básicos para invertir en el mercado de criptomonedas. Cultura general, Exchanges, valoración de gráficos, valoración criptomonedas, maker/taker, bid/ask, wallets, ICOs, minado físico vs minado online, utility token vs security token, scams.

MÓDULO 2 Arquitecturas, Protocolos y Seguridad

Contenidos

Tema 1. Introducción a la Teoría de Juegos para Novatos

Conocer porqué la Teoría de Juegos es un área que nos interesa dentro del desarrollo de la tecnología Blockchain y como los mecanismos de recompensa y castigo son la base de los modelos de consenso desarrollados.

Entre otros conceptos veremos los siguientes fundamentales:

  • Qué es la Teoría de Juegos
  • El Equilibrio de Nash
  • El Problema de los Generales Bizantinos
  • El Problema del Cumpleaños
  • La Tragedia de los Comunes
  • Conocimiento de Prueba Cero
  • Algoritmos de Tolerancia a Fallos
  • La necesidad de los algoritmos de consenso. Explicación de los más populares.

Tema 2. Criptografía y Principios de Seguridad para Blockchain

Blockchain no podría funcionar si no existiría un mecanismo que garantizara la seguridad de las transacciones que viven dentro de la cadena. En este bloque se analizarán como la criptografía de clave pública es el mecanismo que nos permite alcanzar ese objetivo y abarcaremos aquellos aspectos que de un modo u otro han incidido en cómo se han materializado las diferentes Blockchain. Haremos también un alto para ver qué retos supone la llegada de la computación cuántica en el ámbito de la cadena de bloques.

Entre otros temas abarcaremos los siguientes:

  • Introducción a la Criptografía
  • El Movimiento Ciberpunk. Manifiesto Criptoanarquista.
  • Los Antecedentes Históricos Técnicos Previos
  • Los Principios de la Seguridad de la Información
  • Criptografía de Clave Pública
  • Arquitectura de la Red Tor. ¿Anónimos o no tan anónimos?
  • Vectores de Ataque a las cadenas de bloques
  • Introducción a la Computación Cuántica y los retos que supone para Blockchain

Tema 3. Los Problemas de Escalabilidad

Blockchain es una tecnología con un enorme potencial para resolver muchos problemas en donde la confianza es un factor clave. Sin embargo, no deja de estar todavía en sus primeros pasos y hay que resolver algunos problemas antes de que se convierta en la plataforma del futuro. Uno de estos problemas es la escalabilidad, a lo largo de este módulo veremos en qué consisten estos problemas y las posibles soluciones que se están barajando para resolverlos.

  • ¿Qué es un problema de escalabilidad?
  • ¿Cómo afecta la escalabilidad a la tecnología Blockchain?
  • ¿Morir de Éxito?
  • Problemas asociados al tamaño del bloque
  • Problemas asociados a la latencia de la Red
  • Soluciones Planteadas (lightning networks, raiden…)

Tema 4. Arquitectura DLTs

Bitcoin supuso el nacimiento de Blockchain, sin embargo, al calor de Blockchain se ha articulado un concepto muy parecido denominado DLTs o Distributed Ledger, en donde puede existir una arquitectura Blockchain donde tenga sentido un elemento gestor de la misma. El objetivo de este módulo será expli-
car en qué consisten las DLTs y como se diferencian de las Blockchain públicas tradicionales a nivel arquitectónico.

Entre otras cosas hablaremos de:

  • ¿Qué es una DLT y en que se diferencia de una Blockchain normal?
  • Porqué los forks guían las decisiones de diseño.
  • Arquitectura Básica del Proyecto Hyperledger.
  • Arquitectura Básica del Proyecto Ethereum.
  • Mecanismos de Gobernanza y el nacimiento de nuevos modelos de gestión.

MÓDULO 3 Infraestructura y Gestión de Sistemas y Servicios

Objetivos

  • Proporcionar al alumno los conocimientos teóricos y prácticos necesarios para la instalación, despliegue y gestión de infraestructura de nodos.
  • Implicaciones y consideraciones relacionadas con minería clásica (PoW) y nuevas formas de minería (PoS), así como los diferentes sistemas de minado en solo o pool.

Competencias a adquirir

Minería: algoritmos minado, consumo eléctrico, CPU, GPU, ASICs, RIGs, memory resistant, solo mining, pool mining, cloud mining, 51% attack, MH/sec.,mining fees, coinbase transaction.

Protocolo consenso: pow, pos, casper, tendermint, peercoin, Honeybadger,Ouroboros, Tezos, Casper, nothing-at-stake, ‘slasher’, or in-protocol penalty,BFT-based PoS, Casper the Friendly Ghost, chain-based PoS, Casper the Friendly Finality Gadget, hybrid, long range attack, cartel formation / oligopoly attack,

Consensus Compare: Casper vs. Tendermint, epochs, rounds of voting, checkpoint, 2⁄3 of the validators, “supermajority”, checkpoint “justified”. checkpoint finalized, last finalized epoch (LFE), slashing conditions, 1⁄3 security deposits slashed, correct-by-construction (CBC) consensus protocol, combatting oligopolistic world, Greedy Heaviest-Observed Subtree GHOST protocol, parameterizable
safety thresholds

Tema 1. Infraestructuras

Wallets, nodos, nodos maestros y pools de minado.

Tema 2. Wallets

Qué son y tipos. Web wallets, wallets locales, paper wallets, etc…
Wallets locales: Archivo de configuración, búsqueda de nodos para sincronizar
wallets, uso de la consola de comandos.

Tema 3. Nodos

Montaje de nodos en VPS o locales.
Asegurar los nodos.
Acceso remoto mediante SSH.

Tema 4. Nodos maestros

Diferencia respecto a los nodos.
Configuración de un nodo maestro.

MÓDULO 4

Lenguajes y Frameworks de Programación

Objetivo

Conseguir un completo conocimiento de las herramientas más populares para el desarrollo de aplicaciones Blockchain sobre Ethereum. Se partirá del funcionamiento de Ethereum y como implementa sus capacidades Blockchain para al finalizar el modulo el alumno será capaz de desarrollar una aplicación completa con el conocimiento adquirido.

Programación: Node.js, Web3, dApp frameworks, Truffle, Dapple, Embark, MixIDE, Solidity, Metamask, state, browser/console plugin metamask/myetherwallet,accounts, gas, contracts, ethereum client geth/parity, ABI access, networks,testnet/mainnet, raw transaction object, web3js library, nonce, gasprice (ethgas station web), gaslimit (startgas), local node, broadcast network, transactionstatus etherscan.io, miner node, transaction execute Truffle, Infura Metamask nodes, ethereum virtual machine (evm).

Tema 1. Historia y Origen del Proyecto

El objetivo de este tema es introducir el porqué de la aparición del proyecto Ethereum y cómo se desarrolla, explicando las diferencias que presenta con respecto a Bitcoin y como el concepto sobre Turing completo determina su concepción.

Entre otros temas veremos:

  • Introducción al Proyecto Ethereum
  • El problema del Turing Completo
  • Ethereum vs Ethereum Classic
  • Diferencias entre Bitcoin y Ethereum
  • La arquitectura de Ethereum: EVM, Gas, Ether…
  • Introducción a las DApps y a las DAOs.
  • Overview de las herramientas que usaremos para desarrollar aplicaciones

Tema 2. Administración de un node Geth/Parity

El acceso a la red Ethereum se realiza a través de un nodo que es el que nos brinda el acceso a la misma, siendo la puerta de entrada a este universo. En este módulo aprenderemos como funciona este componente y conoceremos como administrarlo, y veremos qué diferencia presenta con el nodo desarrolla-
do por Parity.

Entre otras cuestiones se abordarán las siguientes:

  • Qué es Geth y para qué sirve
  • Opciones de configuración de Geth
  • Tipos de redes soportadas y gestión de las mismas
  • Qué es Parity y qué diferencias presenta con Geth
  • Relación entre Geth y Ethereum Wallet

Tema 3. Desarrollo de Smart Contracts con Solidity

Fue Nick Szabo el que definió el concepto de Smart Contract por primera vez, siendo la aparición de Ethereum la primera implementación real que permite el poner en la práctica la conceptualización teórica previa. A lo largo del módulo veremos en qué consisten y cómo podemos implementarlos usando Solidity, haciendo especial enfásis en dos tipos de contratos muy importantes, los
Tokens ERC20 y las ICOs.

Veremos lo siguiente entre otras ideas:

  • Qué son los contratos inteligentes y para qué sirven.
  • El lenguaje de programación Solidity.
  • Herramientas de desarrollo para gestionar el ciclo de vida de un contrato:
    Mist, MetaMask, Remix…
  • Tokens ERC20.
  • Desarrollo de ICOs

Tema 4. Aspectos Avanzados

A lo largo de este tema lo que haremos será profundizar en los aspectos avanzados que todavía no hayamos visto en los módulos anteriores y que nos faltan para poder crear una aplicación completa usando Ethereum.

Veremos lo siguiente:

  • El API de Web3
  • Las herramientas Truffle y Ganache
  • Interrelación de las herramientas con los clientes Geth y Parity
  • Gestión del ciclo de vida de un proyecto Blockchain

MÓDULO 5

Aplicaciones, casos de uso y Tokenomics: dAPPs, DAOs

Objetivos

  • Ilustrar al alumno en diferentes casos de uso o verticales de aplicación de la tecnología Blockchain, bien en la reconversión de modelos de negocio o bien en la definición de nuevos modelos de negocio viables a través de la tokenización hacia la industria 4.0.
  • Ofrecer al alumno las herramientas y experiencia necesaria para la financiación de proyectos en Blockchain mediante rondas de pre-sale así como ICOs,además de identificar aquellas con mayor o menor posibilidad de éxito.

Competencias a adquirir

Aplicaciones: cloud computing, identidad digital, voto digital, prediction markets,DAOs, crowdfounding/lending, fintech, health care, supply chain, gaming, media/advertising.

ICOs: planificación y lanzamiento de ICO, IOTA, paypro, cardano, augur, aragon,adex, gnosis, wings, filecoin, sonm.