UP

Tecnologies Blockchain

Màster Presencial.

Continguts

UPC School

Assignatures

Introducció a la Blockchain, consens, cloud i P2P
4 ECTS. 30 hores lectives.

Introducció a les tecnologies Blockchain

Sistemes distribuïts i consens

 - Consens en sistemes fail-stop: Paxos i RAFT

 - Consens en sistemes Bizantins: PBFT

 - Els atacs sybil i el consens amb proves de treball

Xarxes i aplicacions

 - Arquitectures de protocols

 - TCP / IP

 - HTTP, WebSockets i serveis Web

Virtualització, cloud i contenidors Docker

 - Virtualització de sistemes operatius

 - Virtualització de xarxes

 - Serveis Cloud

 - Contenidors Docker

Xarxes peer-to-peer (P2P)

 - Overlays p2p

 - Taules de hash distribuïdes (DHTs)

 - Kademlia

 - Emmagatzematge distribuït amb el Interplanetary File System (IPFS)

Bases de criptografia
6 ECTS. 45 hores lectives.

Criptografia clàssica

 - César

 - Juga net

 - Vigenère

 - Escítalo

 Criptografia teòrica

 Criptografia simètrica

  - Algorismes: DES i AES

  - Maneres de funcionament

 Aritmètica modular

  - Congruències

  - Teorema d'Euler

  - Algorisme d'Euclides

  - Exponenciació modular ràpida

  - Teorema xinès de les restes

 Criptografia moderna de clau pública o asimètrica

  - RSA

  - Diffie-Hellman

  - Elgamal

 Signatura digital

  - Funcions de hash

  - La paradoxa de l'aniversari

  - Exemples i aplicacions

 Corbes el·líptiques

  - Definició i propietats de les corbes el·líptiques

  - Aparellaments bilineals

 Firmes en corbes el·líptiques

  - ECDSA

  - BLS

 Complexitat

  - Tipus de problemes

  - Problemes NP-complets

 Seguretat demostrable

  - Models de atacant

  - Proves de seguretat

 Altres paradigmes criptogràfics

  - Criptografia homomórfica

  - Criptografia llindar

  - Criptografia basada en atributs i en identitat

 Proves de coneixement nul o ZKP (Zero Knowledge Proofs)

  - Definició

  - ZK-Snarks

 Firmes amb propietats addicionals

  - Firmes cegues

  - Firmes en anell

  - Firmes amb coneixement nul

  - Firmes intermediari

  - Firmes de grup

 Esquemes de re-xifrat i intercanvi de claus

Computació quàntica i criptografia postquàntica
2 ECTS. 15 hores lectives.

Elements bàsics de mecànica quàntica

 - El qubit

 - Mesures quàntiques generalitzades

 - Entrellaçament

 - Portes lògiques

 Protocols bàsics quàntics

 - Tele-transport

 - Codificació densa

 - Desigualtats de Bell

 Protocols de computació quàntica

 - Deutsch-Josza

 - Recerca en un registre no estructurat (algoritme de Grover)

 - Factorització de nombres primers (algorisme de Shor).

 Distribució quàntica de claus

 Criptografia post-quàntica basada en reticles (lattices)

 - Integer lattice

 - q-ari lattice

 - Dual lattice

 Problemes amb lattices

 - SVP (Shortest Vector Problem)

 - CVP (Closest Vector Problem)

 - lwe (Learning With Errors)

 - SIS (Short Integer Solution)

 - ISIS (Inhomogeneous Short Integer Solution)

 Ideal lattices

 - ring-lwe

 - ring-SIS

 Exemples de sistemes de xifrat, signatures i commitments amb lattices

 ZKP amb lattices

 - Sigma-protocols

 - Fiat-Shamir with aborts

 - Stern code-based protocols

Bitcoin
4 ECTS. 24 hores lectives.
Descripció general del sistema Bitcoin 

- Tecnologia Blockchain i Bitcoin

- Visió general de la tecnologia Bitcoin

- Comptes, claus i direccions 

Transaccions de Bitcoin

- Definicions bàsiques

- Format de transacció Bitcoin

- Llenguatge de scripting de Bitcoin

- Repositoris de transaccions 

Blocs de Bitcoin

- Estructura de blocs de Bitcoin

- La Blockchain

- El procés de mineria 

La xarxa Bitcoin P2P

- Propietats de xarxa

- Descobriment de xarxa i connexió

- Mecanismes de transmissió de dades 

Solucions de segona capa de Bitcoin

- Canals de micropagament

- Lightning network
Eines pel desenvolupament de Dapps Web
7 ECTS. 48 hores lectives.

Introducció a Javascript

- Orientació a objectes

- Funcions i programació funcional

Control de versions GIT

nodejs

- Gestió de paquets

- Programació asíncrona

Aplicacions client/servidor

- Desenvolupament d'una aplicació client / servidor

- JSON-RPC: definició i aplicacions a Blockchain

Aplicacions Web

- Frontend / backend versus aplicacions client / servidor

- Express

- AJAX i server push

- WebSockets

Desplegament de serveis web en cloud

- Arquitectures de microservicios

- Desplegament d'un servei amb docker

Testeig d'aplicacions JavaScript

- Tipus de test i els tests unitaris i test d'integració

- Testeig amb mochajs i les llibreries de assertion

- Introducció al testeig de smart contracts des Javascript

Interfícies d'aplicació (API)

- APIs REST

- graphQL

- gRPC

Programació d'aplicacions que fan servir APIs en Javascript

- APIs amb callbacks

- APIs amb Promises

- APIs amb Async / await

Desenvolupament de Frontend

- Typescript per al frontend

- Webpack

- React

Seguretat
8 ECTS. 54 hores lectives.

Critpografia aplicada a xarxes

Infraestructura de clau pública (PKI)

Criptografia híbrida

Autenticació

- Protocols d'autenticació

- Gestió de contrasenyes

Protocols de seguretat

- TLS i atacs MITM

- SSH i VPNs

Seguretat Web

- CSRF (Cross-site Request Forgery)

- XSS (Cross-site Scripting)

- CORS (Cross-origin Requests)

- JWT (JSON Web Tokens)

- Seguretat en Web Storage i aplicació a crypto wallets

Sistemes avançats per a seguretat/privacitat

- eCash

- Identitat anònima

- Compartició de secrets

- Onion Routing

- Computació multipart: DC networks

Estructures amb hash

- Cadenes de hash

- Arbres de Merkle

- Firmes de Lamport

Sistemes de votació electrònica

- Secret del vot i anonimat dels votants

- elegibilitat dels votants

- Integritat dels vots i les urnes

- Auditoria transparent

- Privadesa i integritat del vot i privacitat a llarg termini

- Protocols per garantir privacitat: Pollsterless, dues agències, mix-nets, homomorphic Tally

- Protocols per facilitar la verificabilitat: proves de verificabilitat individual, proves de verificabilitat universal, rebut de l'vot i bulletin Board

-Exemples de sistemes de votació electrònica: Suïssa, Estònia i Austràlia

Programació segura

- Security by design

- SSDLC (Secure Software Development Life Cycle) i el common criteria

- Aplicació a nivell bàsic amb github

- Mecanismes de verificació de programari: formals, semi-formals i manuals

- Derivació, SMT, KEVM, reviews de codi i el reversing

- Thread modelling i un catàleg de bones pràctiques

- Exemples de fallades amb pràctiques d'anàlisi de seguretat

Ethereum
8 ECTS. 54 hores lectives.

Bases de Ethereum

- Transaccions i blocs en Ethereum

- El patricia tree

- El minat: ethash, DAG i uncles

Devops: desplegament d'una xarxa privada amb Ethereum

- Desplegament automatitzat amb Puppeth

- Ús de diferents nodes: Geth, Parity i Quorum

- Alastria i casos d'ús

La màquina virtual Ethereum o EVM (Ethereum Virtual Machine)

- L'Ether, el gas i l'gasprize

- Esdeveniments i el filtre de bloom

- Codis bàsics (Opcodes)

Smart Contracts

- Programant amb Solidity

- Patrons d'implementació amb Solidity

- Mappings, Arrays i Estructures

- Propietats intel·ligents (Smart Properties)

- Llibreries, contractes i interaccions entre contractes

Desenvolupament d'una DAPP

- Interacció amb els Smart Contracts des de la nostra DAPP amb Web3

- Metamask

- Gestió d'esdeveniments

- Testing de contractes

- Desenvolupament amb Truffle

- Serveis Off-chain: Swarm / IPFS & Whisper

Anàlisi de seguretat de contractes intel·ligents

- Anàlisi de fallades típics

- Bones pràctiques

Aplicacions i casos d'ús

- DAPPs (xarxes socials, mercats de predicció, identitat, ¿)

- DAOs

- Els Ethereum Request for Comments (ERCs)

- Estudi de ERCs: ERC-20, ERC-223, ERC-721, ERC-777

- Identitat Digital

Escalabilitat

- Plasma

- Micro-raiden

- Sharding

- Simuladors per escalabilitat

Altcoins i altres projectes Blockchain
7 ECTS. 42 hores lectives.

Hyperledger

- L'ecosistema Hyperledger

- Hyperledger Fabric, conceptes teòrics de la plataforma: consens, mecanismes criptogràfics, tipologia de la xarxa, etc.

- Com crear una testnet de Hyperledger Fabric des de zero

- Implementar contractes en golang

- El SDK de go per interactuar amb Hyperledger

R3 Corda

- La xarxa i el ledger

- Identitats

- Estats i contractes

- Transaccions i fluxos

- Algorismes de consens utilitzats

- Notaris

- Finestres temporals

- Oracles

IOTA

- Descripció de l'projectes

- tangle versus Blockchain

Sessions convidades d'altres projectes de la comunitat

Aplicacions, casos d'ús, negoci i aspectes legals
4 ECTS. 33 hores lectives.

Cryptourbanomics

- Principis de Blockchain aplicats a ciutats i territoris

- Garantint les principals característiques Blockchain en projectes: disrupció, distribució i des-centralització

- Cas d'ús: auto-consum energètic compartit

- Com les solucions basades en Blockchain canvien el rol dels actors de projectes

- Cas d'ús en polítiques urbanes

- Les connotacions físiques de la distribució com a increment de la resiliència

- Cas d'ús: planificació urbana

- Regles de governança comuns i democràtiques en els sistemes distribuïts

- Cas d'ús: regulacions i estàndards urbans

Economia i negoci

- Tokenomics

- Cryptonomics

Aspectes legals i de contractació pública

Iniciatives institucionals per a l'impuls de la tecnologia Blockchain

- Declaració europea per a l'impuls de les tecnologies Blockchain

- Convocatòries d'ajuts nacionals i europees

- Estat de l'art de l'estandardització: ISO, UIT, ETSI, CEN / CENELEC i UNE

- Casos d'ús. GDPR, identitat digital, energia, salut, automoció, logística

- Qui és qui en Blockchain a Espanya, actors

Projecte final de màster
10 ECTS. 15 hores lectives.
Desenvolupament d'un projecte basat en la Blockchain

Els projectes podran ser desenvolupats sobre Alastria.
Inicia la preinscripció
Sol·licita informació
Enviar
(34) 93 112 08 83

Crèdits:
60 ECTS
(360 hores lectives)

Dates de realització:
Inici classes:22/10/2018 Fi classes:06/11/2019Fi programa: 20/11/2019
Horari:
Dilluns  18:30 a 21:30Dimecres  18:30 a 21:30Dijous  18:30 a 21:30
Lloc de realització:
Tech Talent Center
C/ de Badajoz, 73-77
Barcelona
mapa i accessos

Import de la matrícula:
9.200 €

Idioma d'impartició:
Espanyol

Inscripció oberta fins l'inici del curs o fins l'exhauriment de places.

Imprimeix tot el curs