
Tecnología Blockchain y Criptomonedas
Código: 105072Créditos: 6
| Titulación | Tipo | Curso |
|---|---|---|
| Ingeniería Informática | OP | 4 |
Profesor/a de contacto
- Nombre :
- Jordi Herrera Joancomarti
- Correo electrónico :
- jordi.herrera@uab.cat
Equipo docente
- Domènec Madrid Hernández
- Ghazaleh Keshavarzkalhori
Idiomas de los grupos
Puede consultar esta información al final del documento.
Prerrequisitos
Para cursar esta asignatura es necesario haber superado las asignaturas de Información y Seguridad (IS) y la de Fundamentos de Tecnología de la Información (FTI), que introduce distintos conceptos importantes a tener consolidados para cursar la asignatura de TBC. En concreto:
- FTI consolida los conocimientos de criptografía que los estudiantes han obtenido en la asignatura de IS.
- El algoritmo de firma del ElGamal, que se estudia en FTI, es la base del algoritmo ECDSA que se utiliza en la mayoría de criptomonedas y que se trata en la asignatura de TBC.
- En FTI se explican algunos ataques de mala implementación de algoritmos de firma digital que pueden dar lugar a robos de criptomonedas, temas que se tratan en la asignatura de TBC.
- En FTI se explican en detalle el funcionamiento y las propiedades de las funciones hash, que son cruciales en la implementación y seguridad de la tecnología blockchain.
- El último tema de FTI es una introducción a la tecnología blockchain ya las criptomonedas. Una introducción que sirve para dar una base inicial con la que después se trabajará en la asignatura TBC.
Objetivos
Los objetivos de esta asignatura son:
- Entender los conceptos teóricos de la tecnología blockchain
- Comprender el funcionamiento de las criptomonedas
- Entender cómo funcionan los Bitcoin, desde un punto de vista técnico
- Entender el concepto de smart contract.
- Entender la diferencia entre una blockchain basada en UTXO y una basada en cuentas.
- Conocer algunos de los mecanismos de escalabilidad de la tecnología blockchain
Resultados de aprendizaje
- Identificar los principales ataques que puede recibir un sistema informático, así como los posibles métodos de protección, detección y aplicación de políticas de seguridad que permitan evitar el daño al sistema o minimizar su repercusión.
- Diseñar, desarrollar, seleccionar y evaluar aplicaciones asegurando su fiabilidad y seguridad.
- Desarrollar la capacidad de análisis, síntesis y prospectiva.
- Trabajar de forma autónoma.
- Incorporar sistemas distribuidos de tratamiento de la información en una organización para incrementar la capacidad operativa.
- Diseñar las soluciones informáticas que permitan integrar en un sistema distribuido las necesidades de accesibilidad y seguridad.
Contenidos
- Conceptos básicos de tecnología blockchain
- Criptografía para tecnología blockchain
- Bitcoin
- Protocolos de segunda capa: Lightning Network
- Ethereum
- Otras blockchains
Actividades formativas y Metodología
| Título | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|
| Clases prácticas | 25 | 1 | 2, 4, 5, 6 |
| Preparación de las clases prácticas | 25 | 1 | 2, 3, 4, 6 |
| Clases teóricas | 25 | 1 | 1, 3, 5 |
| Preparación de las clases teóricas | 37,5 | 1,5 | 1, 3, 4, 5 |
| Tutorías y consultas | 10 | 0,4 | 1, 2, 3, 5, 6 |
La asignatura se estructura en sesiones de dos horas con una formulación muy dinámica donde se pedirá a los estudiantes que intervengan activamente. La tipología de sesiones incluirá de contenido más teórico y otros más práctico.
Las sesiones de contenido más teórico se basarán en material que el profesor previamente hará llegar a los estudiantes a través del campus virtual. En base a este material, se estructurarán dos tipologías diferentes de sesiones. Por un lado, sesiones de preguntas y respuestas donde los estudiantes formularán las dudas que les hayan surgido del trabajo previo sobre el material proporcionado. En estas sesiones, el profesor también interpelará a los estudiantes para hacer aflorar los aspectos más relevantes del material que se está trabajando. Por otra parte, habrá sesiones donde los estudiantes, en grupos de dos, presentarán algún estudio más detallado de alguno de los temas tratados en la asignatura.
Las sesiones de contenido más práctico incluirán tanto la resolución de cuestiones a modo de ejercicios como la realización de tareas más técnicas donde se combinará el uso de herramientas específicas de la asignatura (wallets, exploradores de blockchain, compiladores de smart contracts , etc.) con el desarrollo de funciones específicas utilizando el lenguaje de programación Python. En estas sesiones los estudiantes deberán traer su portátil al aula.
Evaluación
Actividades de evaluación continuada
| Título | Peso | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|---|
| Actividades pràcticas | 50 | 12,5 | 0,5 | 1, 2, 3, 4, 5, 6 |
| Participación en clase | 20 | 14 | 0,56 | 1 |
| Presentación oral de un tema | 30 | 1 | 0,04 | 1, 2, 3, 4, 5, 6 |
El modelo de evaluación de esta asignatura será íntegramente de evaluación continua. Dado el dinamismo de la misma y la implicación que se exige a los estudiantes en todas las sesiones de clase (tanto las de carácter más teórico como las más prácticas), el profesor dispondrá de múltiples elementos para poder evaluar a los alumnos. La participación activa en las clases, planteando dudas al profesor y respondiendo a las dudas de otros estudiantes o a las cuestiones planteadas por el profesor, supondrá un 20 % de la nota de la asignatura. Por este motivo, la asistencia a clase de esta asignatura es obligatoria.
Además de la evaluación basada en las aportaciones realizadas en clase, los estudiantes también deberán entregar diferentes trabajos de carácter más práctico que se irán proponiendo a lo largo del curso a través del campus virtual de la UAB. Estas entregas complementarán las evidencias de evaluación del estudiante. Estas actividades prácticas supondrán un 50 % de la nota de la asignatura.
Por otra parte, los estudiantes (en grupos de dos personas) deberán preparar un trabajo de la asignatura que presentarán durante las sesiones teóricas y que también formará parte de las evidencias de evaluación, con un peso del 30 % de la nota final.
Para superar la asignatura será necesario haber superado cada una de las actividades evaluables, entendiendo como tales: la participación en clase, las prácticas y la presentación del trabajo.
Cada una de las prácticas deberá superarse por separado. En caso de no superar alguna de ellas, únicamente podrá recuperarse si la nota obtenida ha sido superior a 3,5, debiendo volver a presentarse. En este caso, la nota máxima de la práctica recuperada será un 5. Si una práctica obtiene una nota inferior a 3,5, no podrá recuperarse.
En caso de no superar el trabajo de presentación, este no podrá recuperarse.
En caso de no superar la evaluación de la participación en clase, esta tampoco podrá recuperarse.
Una vez evaluadas cada una de las partes (participación en clase, prácticas o presentación del trabajo), si alguna de ellas no hubiera sido superada, existirá la posibilidad de superar la asignatura mediante un examen final oral. Este examen final supondrá el 80 % de la nota. El 20 % correspondiente a la participación en clase seguirá siendo la calificación obtenida a lo largo del curso.
No se contempla ningún tipo de convalidación de las actividades evaluables para los estudiantes repetidores.
Sin perjuicio de otras medidas disciplinarias que se estimen oportunas y de acuerdo con la normativa académica vigente, las irregularidades cometidas por un estudiante que puedan dar lugar a una alteración de la calificación serán sancionadas con una nota de cero (0). Las actividades de evaluación calificadas de este modo no serán recuperables. Si fuera necesario superar cualquiera de estas actividades para aprobar la asignatura, esta quedará suspendida directamente, sin posibilidad de recuperación durante el mismo curso académico. Estas irregularidades incluyen, entre otras:
- La copia total o parcial de una práctica, informe o cualquier otra actividad de evaluación.
- Permitir que otro estudiante copie.
- Presentar un trabajo en grupo que no haya sido realizado íntegramente por los miembros del grupo (aplicable a todos los miembros, no solo a quienes no hayan trabajado).
- El uso no autorizado de IA (por ejemplo, Copilot, ChatGPT o herramientas equivalentes) para resolver ejercicios, prácticas o cualquier otra actividad evaluable.
- Presentar como propios materiales elaborados por un tercero, aunque se trate de traducciones o adaptaciones, y, en general, trabajos que contengan elementos que no sean originales y exclusivos del estudiante.
En resumen: copiar, dejar copiar o plagiar (o intentarlo) en cualquiera de las actividades de evaluación equivale a un SUSPENSO, no compensable y sin posibilidad de convalidación de partes de la asignatura en cursos posteriores.
Esta asignatura establece una política de uso restringido de las tecnologías de inteligencia artificial (IA). Se permite el uso de tecnologías de IA exclusivamente para tareas de apoyo, como la búsqueda bibliográfica o de información, la corrección de textos, las traducciones o la consulta de documentación sobre funciones o bibliotecas de software. Sin embargo, no está permitido utilizar la IA para generar íntegramente la solución de una práctica, ni para escribir funciones completas o fragmentos sustanciales de código. El estudiante deberá identificar claramente qué partes han sido generadas con esta tecnología y especificar las herramientas utilizadas. La falta de transparencia en el uso de la IA en esta actividad evaluable se considerará una falta de honestidad académica y podrá conllevar una penalización parcial o total en la calificación de la actividad, o sanciones mayores en los casos de mayor gravedad.
Los alumnos que alcancen el número mínimo de puntos para aprobar la asignatura, pero no hayan obtenido la nota mínima exigida en alguna de las actividades de evaluación, serán calificados con una nota final de 4,5. En el caso de que la asignatura no se haya superado debido a la obtención de un cero en una actividad por deshonestidad académica, la nota final será un 3, lo que impedirá compensar esta asignatura.
Finalmente, obtendrán la calificación de «No Evaluado» aquellos estudiantes que no entreguen ninguna de las actividades prácticas propuestas. La participación en cualquiera de estas actividades de evaluación implicará recibir una calificación distinta de «No Evaluado».
No se realizará ninguna actividad de evaluación a ningún alumno en un horario distinto del establecido salvo que exista una causa justificada, se haya avisado con anterioridad a la actividad y el profesor haya dado su consentimiento. En cualquier otro caso, si un alumno no asiste a una actividad, esta no podrá recuperarse. El protocolo de «solicitud de reprogramación de actividades de evaluación» está disponible en la página web de la Escuela de Ingeniería y será aplicable en los casos descritos en los criterios e instrucciones de evaluación del centro.
En cuanto a las matrículas de honor, podrán concederse a aquellos estudiantes que hayan superado la asignatura con una nota final igual o superior a 9. Dado que el número de matrículas de honor no puede superar el 5 % de los estudiantes matriculados, se concederán a quienes obtengan las calificaciones más altas. En caso de empate, podrá requerirse a los estudiantes la realización de una prueba oral para dirimir dicho empate.
Esta asignatura no contempla el sistema de evaluación única.
Bibliografía
- Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder. Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction. Princeton University Press (2016). ISBN: 978-0691171692
- Andreas M. Antonopoulos, Mastering Bitcoin: Programming the Open Blockchain. O'Reilly Media; 3d Edition. (2023) ISBN: 978-1098150099
- Andreas M. Antonopoulos y Gavin Wood, Mastering Ethereum: Building Smart Contracts and DApps. O'Reilly Media. (2018) ISBN: 978-1491971949
- C. Pérez Solà i J. Herrera Joancomartí, La criptografia que et cal saber. (2023) Disponible on-line: https://criptografia.cat/
- Kalle Rosenbaum, Grokking Bitcoin. Manning Publications (2019) ISBN 9781617294648
- Roger Wattenhofer. Blockchain Science: Distributed Ledger Technology. Inverted Forest Publishing; 3rd Edition (2019) ISBN: 978-1793471734
- Andreas Antonopoulos, Olaoluwa Osuntokun, René Pickhardt. Mastering the Lightning Network: A Second Layer Blockchain Protocol for Instant Bitcoin Payments. O'Reilly Media; 1st edition (January 4, 2022) ISBN: 978-1492054863
Software
Las sesiones de contenido más práctico incluirán tanto la resolución de cuestiones a modo de ejercicios como la realización de tareas más técnicas donde se combinará el uso de herramientas específicas de la asignatura (wallets, exploradores de blockchain, compiladores de smart contracts , etc.) con el desarrollo de funciones específicas utilizando el lenguaje de programación Python.
Grupos e idiomas de la asignatura
La información proporcionada es provisional hasta el 30 de noviembre. A partir de esta fecha, podrá consultar el idioma de cada grupo a través de este enlace. Para acceder a la información, será necesario introducir el CÓDIGO de la asignatura
| Tipo de docencia | Grupo | Idioma | Semestre | Turno |
|---|---|---|---|---|
| (PAUL) Prácticas de aula | 450 | Catalán | primer cuatrimestre | manaña-mixto |