DOBLE TITULACIÓN EN BLOCKCHAIN MANAGEMENT Y BLOCKCHAIN ENGINEERING 

Modalidad Live Streaming

Información: Alumno y profesor interactúan en directo a través de una plataforma de videoconferencia. Posteriormente, las grabaciones de las clases se publican en el campus virtual junto al resto de recursos.

Fecha de inicio y fin: 15 de Marzo del 2021 – 14 de Marzo del 2021 

Horarios disponibles: martes y jueves de 18:30h a 21:00h (zona horaria UCT+1, Madrid)

Modalidad Online

Información: Los alumnos tienen acceso a las grabaciones de las clases y a los recursos. Participan periódicamente en tutorías por videoconferencia y pueden resolver dudas en cualquier momento vía email, llamada o videollamada.

Fecha de inicio: Inicio flexible

Duración: 1 año

Horarios: De 7 a 10 horas semanales (Flexible)

Contenido del programa

Módulo 1 – Blockchain Management

Tema 1- Introducción al blockchain

El primer bloque contextualiza los orígenes del blockchain, las necesidades que pretendía cubrir y la evolución de la tecnología hasta la actualidad. También pretende explicar la propuesta de valor que plantea la tecnología blockchain, y sus principales aplicaciones.

  • Origen,evolución y actualidad
  • Propuestas de valor
  • Funcionamiento básico 
  • Comparación con sistemas tradicionales
  • Smart Contracts, Dapps y DAOs
  • Aplicaciones e impacto en distintas industrias y web descentralizada
Tema 2 - Tecnología blockchain

Se explica en profundidad el funcionamiento de la tecnología, incluyendo conceptos estadísticos, de encriptación, sistemas informáticos, bases de datos, etc. El alumno aprenderá los conceptos técnicos necesarios, para comprender las posibilidades y limitaciones de la tecnología, llegando a conocer la arquitectura de las aplicaciones blockchain. Queda fuera del alcance del curso los lenguajes de programación y el desarrollo de software.

  • Criptografía básica del blockchain
  • Estructura de la tecnología
  • Firmas digitales y validaciones
  • Minería e incentivos
  • Protocolo Proof of Work
  • Protocolo Proof of Stake
  • Otros protocolos de consenso
  • Introducción a las bases de datos
  • Estructura de un programa (software)
  • Hardfork y Softfork
  • Sidechains
  • Smart Contracts (II)
  • Dapps y DAOs (II)
  • Simulación de una red blockchain
Tema 3 - Blockchain pública

Hay dos tipos de blockchain muy distintas entre ellas. En esta sección se explican en detalle las características de las blockchain públicas y se entra en detalle con la red Bitcoin y Ethereum. También se usarán en directo varias aplicaciones basadas en Ethereum para comprender su funcionamiento más práctico.

  • Características
  • Propuesta de valor y aplicaciones
  • Protocolos
  • Incentivos/tokens
  • Gobernanza
  • La blockchain Bitcoin
  • La blockchain Ethereum
  • Limitaciones, Lightning Network y RSK
  • Metamask y Testnets
  • Prácticas con Smart Contract y Dapps
Tema 4 - Blockchain privatizada

Actualmente las blockchain privadas o de consorcio están despertando el interés de muchas empresas que se quieren iniciar en esta tecnología. Sus características son muy distintas a las públicas, y por lo tanto también lo son sus aplicaciones. En esta sección mostraremos sus características, utilidades y profundizaremos en las ventajas y desventajas de este tipo de infraestructura blockchain.

  • Similitudes y diferencias
  • Propuesta de valor y aplicaciones
  • Protocolos, incentivos y gobernanza
  • Limitaciones y privacidad
  • Hyperledger y Hyperledger Fabric
  • Cómo construir una blockchain permisionada
  • Blockchains híbridas
  • Análisis de proyectos reales de IBM
Tema 5 - Criptoeconomía y tokenización

La tecnología blockchain ha permitido crear un dinero electrónico descentralizado que por primera vez en la historia no depende de bancos ni gobiernos para que funcione correctamente. En esta sección explicaremos en detalle el valor que puede aportar a la sociedad y su funcionamiento. Presentaremos los distintos tipos de activo tokenizado que existe y el uso que se le puede dar a cada uno. También hablaremos sobre las nuevas alternativas de financiación como las Initial Coin Offerings (ICOs), cómo funcionan y cómo llevarlas a la práctica.

  • Contexto y orígenes del Bitcoin
  • Introducción a las criptomonedas 
  • Criptomonedas vs dinero fíat
  • ICO y DAICO
  • Tokenización de activos
  • Creación de una criptomoneda
  • Comprar, guardar y vender criptomonedas
Tema 6 - Aplicaciones y limitaciones del blockchain

Una vez entendido el funcionamiento de la tecnología es el momento de profundizar en sus posibles aplicaciones y en cómo podría configurarse la tecnología en función del caso de uso. Al finalizar esta sección los alumnos serán capaces de identificar oportunidades de mejora basadas en blockchain y conceptualizar soluciones que encajen con unas necesidades concretas. También se mostrarán las limitaciones de la tecnología, cuando es necesario usarla, cuando no y descubriremos los retos que plantea de cara el futuro. Finalmente se entrará en detalle sobre las aplicaciones existentes para las diferentes industrias.

  • Innovación en la gestión de información
  • Disrupción en la transferencia de valor
  • Creación y gestión de la identidad digital
  • Nuevos modelos de negocio y jerarquización
  • Modelo para identificar oportunidades de mejora basadas en blockchain
  • Industria 4.0
  • Aplicaciones específicas en los principales sectores: supply chain, finanzas, seguros, abogacía, ciberseuridad, sanidad, energía, telecomunicaciones  y muchos más.
  • Internet of Things
  • Limitaciones y retos
  • Perspectivas de futuras de la tecnología blockchain
Tema 7 - Aspectos legales y consorcios

Se explica si los Smart Contract (contratos inteligentes) tienen garantías jurídicas y hablaremos sobre las regulaciones y normativas que se deben tener en cuenta para afrontar un proyecto basado en blockchain. También veremos la regulación mundial de los criptoactivos e introduciremos sus requisitos fiscales.

Una buena manera de afrontar este reto tecnológico es colaborando con varias empresas del mismo sector. De este modo, éstas pueden compartir objetivos y costes. En este tema, explicaremos también qué tipos de consorcio existen, qué nos pueden aportar y cómo poder formar parte de uno.

  • Nivel de validez jurídica de los Smart Contract
  • Regulaciones y normas
  • Retos regulatorios
  • Normativa GDPR y similares
  • Contratos entre máquinas
  • Consorcios
Tema 8 - Diseño y planificación de proyectos

Se analizarán los recursos necesarios para llevar a cabo un proyecto basado en tecnología blockchain y cómo gestionarlos. Se darán las herramientas apropiadas para poder diseñar y presupuestar una aplicación descentralizada.

También se enseñará a desarrollar la documentación requerida para que el equipo técnico pueda programar e implementar la solución de la manera más eficiente. Y además, analizaremos proyectos reales para conocer las mejores prácticas de planificación y ejecución de proyectos.

  • Diseño funcional de una aplicación blockchain 
  • Arquitectura de las aplicaciones 
  • Selección de la tecnología y requisitos
  • Firma de transacciones y llamadas de escritura
  • Creación de una Interfaz de usuario con Angular
  • Contract ABI Especification

Módulo 2 – Desarrollo sobre blockchain pública (Ethereum)

Tema 9 – Ecosistema Ethereum

Se estudia el funcionamiento global de una blockchain pública. Concretamente se profundidad en la principal infraestructura pública para el desarrollo de DApps, Ethereum. Se ofrece una introducción y posteriormente se analizan los los distintos elementos que intervienen para asegurar el correcto funcionamiento de la tecnología y la generación de transacciones.

  • Origen de Ethereum 
  • Clientes Ethereum, Parity y Geth
  • Configuración de clientes para desarrollo de DApps
  • Exploradores de bloques
  • Ethereum Virtual Machine y opcodes
  • Gas, transacciones y cálculo de costes
  • Consulta de información de bloques y transacciones
  • Serialización de mensajes
  • Suscripción a eventos  
  • Instalación y uso en una Testnet propia  
  • Gestión de las claves
  • Ethereum networkss (Mainnet, Ropsten, Rinkeby)
Tema 9 - Configuración de nodos y minado

Instalación y configuración de nodos en una red pública y administración de un sistema de minado.

  • Introducción a la minería
  • Hardware e infraestructura
  • Instalación del nodo y minado
  • Análisis de rentabilidad
  • Conexión a Pool
Tema 11 - Solidity y desarrollo de Smart Contracts

Estudio del lenguaje de programación Solidity para el desarrollo de Smart Contracts en la blockchain de Ethereum.

  • Environment setup (Nodo + Web3 + Compilador + IDE)
  • Estructura de un Smart Contract
  • Tipos de almacenamiento
  • Tipos de datos
  • Operadores
  • Funciones
  • Gestión de la visibilidad
  • Eventos y logging 
  • Herencia y polimorfismo
  • Excepciones 
  • Seguridad
  • Mnemonic phrases
  • Manejo de errores
Tema 12 - Smart Contracts Avanzados y patrones de diseño

Se profundiza sobre funciones avanzadas de desarrollo de Smart Contracts, patrones de diseño y estándares de su programación.

  • Interface Pattern y llamadas entre contratos
  • Funciones especiales
  • Conversiones y Time Units
  • Strings y su manipulación
  • Solidity v.0.5 breaking changes
  • Patrones de diseño (withdrawl pattern, contract factory pattern, oraculos, etc.)
  • ERC-20 token standard
  • ERC-721 non-fungible tokens
Tema 13 - Herramientas de desarrollo de Smart Contracts

Se trabaja con las principales herramientas para el desarrollo, publicación y testing de Smart Contracts. Se implementan varios Smart Contract sencillos en la blockchain de desarrollo local y en una Testnet pública de Ethereum. Se desarrolla la primera aplicación y se interactúa con ella y además se realizarán prácticas de implementación y automatización de tests unitarios.

  • Web3 Object y promises
  • Remix
  • Solidity compiler 
  • Truffle
  • Node.js
  • Metamask
  • Mocha testing
  • Ganache
  • Infura y publicación en Testnet
Tema 14 - Arquitectura de aplicaciones descentralizadas (DApps)

Se estudia el desarrollo de DApps y su arquitectura. Se crean aplicaciones reales que permiten a los alumnos interactuar con los Smart Contracts implementados sobre la blockchain.

  • Arquitectura de una DApp
  • Ejemplos de arquitecturas y soluciones con casos reales
  • Componentes
  • Almacenamiento
  • Experiencia de usuario y sincronización
  • Gestión de wallets
Tema 15 - Web3 y librerías JS para desarrollo DApps sobre Ethereum

Se estudia  en detalle la librería Web3,  componente principal para la comunicación de las DApp con la blockchain de Ethereum.

  • Web3
  • Ethereum JS Utils
  • Connexión con un nodo
  • Llamadas de consulta a un nodo
  • Firma de transacciones y llamadas de escritura
  • Creación de una Interfaz de usuario con Angular
  • Contract ABI Especification
Tema 16 – Desarrollo de DApps con Ionic y Embark compatibles con Android e IOs

En este tema se estudian dos tecnologías distintas para desarrollar DApps  que sean compatibles con Android e IOs. La primera es el SDK Ionic que permite el desarrollo de DApps híbridas y multiplataforma. Se desarrollan y compilan tanto para Android como para IOS. También se muestran distintas formas de gestionar las wallets y se utiliza firebase para el almacenamiento de los seeds de la DApp desarrollada.

Posteriormente se trabaja con el entorno de desarrollo ágil Embark. Se muestran las ventajas y funcionalidades mientras se construye una DApp. También se dan a conocer las posibilidades de integración con servicios off-chain como IPFS o Swarm. Estos servicios son útiles cuando se requiere almacenar grandes cantidades de información.

  • Creación proyecto Ionic
  • Creación DApp híbrida
  • js/Ethereumjs
  • Compilación DApp Android
  • Compilación DApp IOS
  • Firebase y gestión de seeds
  • Embark, Ionic y Smart Contracts
  • Creación proyecto Embark
  • Whisper
  • Integración con IPFS
  • Desarrollo casos prácticos
Tema 17- Auditoria y Seguridad

Este tema es uno de los más importantes del curso. Se dan las pautas para evitar errores que podrían poner en jaque al sistema y se enseña a aumentar la seguridad del mismo. Estas pautas son útiles para cualquier desarrollo basado en blockchain independientemente de si es sobre Ethereum o cualquier otra tecnología.

La programación de Smart Contracts requiere una mentalidad ingenieril distinta a la que estamos acostumbrados. El coste de un fallo puede ser muy elevado y cualquier cambio trivial puede resultar fatal para el proyecto. Consecuentemente, no es suficiente con defenderse contra vulnerabilidades conocidas, es necesario un cambio de filosofía y seguir las buenas practicas y recomendaciones de seguridad mostradas en este capítulo.

  • Detectar vulnerabilidades de código
  • Actualización de contratos
  • Reentrancy Attacks
  • Overlow y underflow
  • Exception disorder
  • Generación de números aleatorios
  • Herramientas de seguridad

Módulo 3 – Desarrollo de blockchains permisionada (Hyperledger)

Tema 18 - Redes permisionadas, Hyperledger y planificación de proyectos

Se analiza el concepto de blockchain permisionada y la tecnología iniciada por la Fundación Linux que está siendo usada como marco principal en la mayoría de proyectos permisionados. Se instala Hyperledger Fabric en los servidores, el conjunto de herramientas y archivos que conforman el entorno de trabajo. Finalmente se explica los recursos y herramientas necesarios para poder llevar a cabo un proyecto basado en Hyperledger Fabric, como planificar su implementación y como gestionar la ejecución.

  • Introducción y funcionamiento
  • Cuándo y cómo aplicarlo
  • Aplicaciones y proyectos reales
  • Framework y sus características funcionales: Iroha, Sawtooth, Fabric, Indy, Burrow, Besu, Grid
  • Instalación de Hyperledger Fabric, herramientas y archivos
  • Actualizaciones del entorno de trabajo
  • Planificación de proyectos basados en Hyperledger
  • Gestión y ejecución de proyectos
Tema 19 - Gestión de sistemas y redes

En este tema se aprende a diseñar e instalar la infraestructura necesaria para la implementación de una blockchain privada  en un entorno de pruebas . El objetivo es  organizar una red que cumpla con las necesidades de la cadena de valor del cliente.

  • Estructura de redes Hyperledger
  • Tipos de nodos y ordering service
  • Dimensionamiento de infraestructura
  • Diseño de red
  • Creación máquina virtual
  • Instalación sistema operativo Ubuntu
  • Microsoft Visual Studio Code
  • Configuración VirtualBox 
  • Creación y configuración de red
  • Configuración del conjunto de nodos 
  • Principales plataformas cloud (AWS, IBM y Azure)
  • Producto mínimo viable
Tema 20 - Arquitectura de Hyperledger Fabric

Se explica la estructura de la tecnología y la arquitectura de las soluciones basadas en Hyperledger Fabric. Se muestran esquemas optimizados para mejorar el funcionamiento global de las aplicaciones y se analizan las diferentes soluciones de infraestructura para el despliegue de una red de negocio con Hyperledger Fabric.

  • Arquitectura global
  • Composer Modeling Language
  • APIs
  • Tecnología REST
  • Modelado de clases
  • Consenso
  • Gestión de contenedores Docker
  • Configurar los canales
  • Docker Swarm
Tema 21 – Desarrollo de aplicaciones descentralizadas con Hyperledger

Se estudian las herramientas y lenguajes necesarios para programar soluciones en una red de negocio descentralizada con Hyperledger. Se entra en detalle en el desarrollo de los Chain Codes (Smart Contracts para entornos privados) y en la construcción del conjunto de la DApp.

  • Hyperledger Composer Playground
  • Hyperledger Composer REST
  • Modelado de lógica de negocio
  • Generación de certificados y transacciones
  • Queries
  • Desarrollo e instalación de Chaincode
  • Desarrollo de DApps para entonro permisionado
  • Transaction Processor Functions
  • Creación de esqueleto web en Angular
Tema 22 - Despliegue de Hyperledger Explorer

En este tema se estudia en profundidad la herramienta Hyperledger Explorer, el explorador de bloques oficial de Hyperledger.

  • Introducción y propuesta de valor
  • Funcionamiento
  • Instalación y  puesta en marcha
  • Comunicación Hyperledger Fabric con Hyperledger Explorer
Tema 23 - Desarrollo avanzado de Chain Codes y DApps

Se plantean diferentes retos al alumno relacionados con la programación de aplicaciones descentralizadas. Este tema es totalmente práctico y tiene como objetivo consolidar la experiencia necesaria para programar de manera eficaz soluciones con Hyperledger Fabric. Se comparten mejores prácticas para optimizar el código y evitar errores.

  • Transaction Processor Functions
  • Programación con el SDK de Fabric (Go)
  • Blockchain as a service
  • Apificiación de servicios
  • Desarrollo de Chaincode (avanzado)
  • Desarrollo de DApps (avanzado)
  • Ejercicios prácticos con Hyperledger
Tema 24 – Construcción de la infraestructura blockchain en entorno real

Se enseña  a instalar y configurar la tecnología Hyperledger en un conjunto de servidores privados . El objetivo es construir y poner en marcha una infraestructura de blockchain permisionada en un entorno real con todas sus prestaciones. Se utilizan servidores independientes para conseguir replicar un escenario típico en el que diferentes empresas participan en la red, cada una con un nodo. Además se instala la DApp desarrollada por el alumno sobre esta misma blockchain y se ejecuta.

  • Diseño de red (avanzado)
  • Instalación y configuración de herramientas y archivos
  • Configuración de servidores y despliegue de nodos
  • Comunicación y consenso
  • Gestión avanzada de sistemas
  • Instalación y ejecución de Chaincodes en la red creada previamente

Casos prácticos 

Una parte importante del  curso son las sesiones prácticas de implementación. Hay dos tipos de casos prácticos: Casos prácticos de negocio (módulo 1) y casos prácticos de desarrollo (módulo 2 y 3). En los primeros el profesor presenta una organización y sus necesidades. Posteriormente los alumnos proponen posibles soluciones basadas en blockchain, las analizan, valoran su implementabilidad e impacto y finalmente diseñan el proyecto con más potencial. Los casos prácticos del módulo 2 y 3 en cambio consisten en desarrollar integral de soluciones. Por lo tanto, además de programar los Smart Contracts y las aplicaciones descentralizadas, también se crea la infraestructura necesaria para poder poner en marcha la solución.

Proyecto

El objetivo del proyecto es que los alumnos pongan en práctica lo aprendido a lo largo del curso y adquieran suficiente experiencia como para para poder empezar a trabajar profesionalmente con estas tecnologías en todas sus fases de implementación.
Los alumnos estarán acompañados por un docente a lo largo de todo el desarrollo, con quien podrán resolver dudas, corregir código y compartir mejores prácticas.

 

Consigue unos resultados únicos

La mayoría de recién titulados en algún programa de blockchain entienden la teoría y las principales aplicaciones, pero no se ven capaces de diseñar una solución que haga frente a las exigencias de un caso de uso real. Sin embargo, esta habilidad es indispensable para dedicarse profesionalmente a este sector.

Con el fin de cubrir esta deficiencia, ofrecemos un programa que incluye casos prácticos de negocio (formato MBA). De este modo, conseguimos que los estudiantes sean capaces de encajar las propuestas de valor que ofrece la tecnología con cualquier marco de necesidades, y además aprendan a diseñar los diferentes módulos del proyecto y los requisitos funcionales de cada uno.

Docentes

Bernat Aguadé Estivill

Jesús Herencia

Antonio Gonzalo

Juan Pablo Mejía Caicedo

Félix Fuertes

Josep Oriol Aguadé Estivill

Eduard Garcia Adroguer

Diego Torres

Andrea Ortega Villalobos

Salvador Canas Moreno

Jesús Soler Puebla

Solicite información o su admisión

¿Qué trámite desea realizar?

Le enviamos por correo electrónico la revista del programa

*Incluir el prefijo telefónico del país
Puede encontrar toda la información sobre nuestras políticas de privacidad en el acceso situado en el pié de página

Para iniciar los tramites de matriculación