diseno~ de la arquitectura de un sistema de contratos...

81
Dise˜ no de la arquitectura de un sistema de contratos inteligentes basada en la tecnolog´ ıa Blockchain aplicada al proceso de registro de estudiantes en el sistema de educaci´ on colombiano Steve Eduardo Moscoso Urdaneta David Felipe Su´ arez Chac´ on Febrero 26 2018

Upload: others

Post on 10-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Diseno de la arquitectura de un sistema decontratos inteligentes basada en la tecnologıaBlockchain aplicada al proceso de registro de

estudiantes en el sistema de educacioncolombiano

Steve Eduardo Moscoso UrdanetaDavid Felipe Suarez Chacon

Febrero 26 2018

Page 2: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

ii

Page 3: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Indice general

I CONTEXTUALIZACION DE LA INVESTIGA-CION 3

1. DESCRIPCION DE LA INVESTIGACION 51.1. Planteamiento/Identificacion del problema . . . . . . . . . . . 6

1.1.1. Formulacion del problema . . . . . . . . . . . . . . . . 61.1.2. Sistematizacion del problema . . . . . . . . . . . . . . 6

1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . 81.2.2. Objetivos especıficos . . . . . . . . . . . . . . . . . . . 8

1.3. Justificacion del trabajo/investigacion . . . . . . . . . . . . . . 91.3.1. Justificacion teorica . . . . . . . . . . . . . . . . . . . . 91.3.2. Justificacion metodologica . . . . . . . . . . . . . . . . 91.3.3. Justificacion practica . . . . . . . . . . . . . . . . . . . 9

1.4. Hipotesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.5. Marco referencial . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.5.1. Marco Teorico . . . . . . . . . . . . . . . . . . . . . . . 111.5.2. Marco Conceptual . . . . . . . . . . . . . . . . . . . . 151.5.3. Marco Espacial . . . . . . . . . . . . . . . . . . . . . . 181.5.4. Marco Historico . . . . . . . . . . . . . . . . . . . . . . 191.5.5. Marco Legal . . . . . . . . . . . . . . . . . . . . . . . . 20

1.6. Metodologıa de la investigacion . . . . . . . . . . . . . . . . . 211.6.1. Tipo de estudio . . . . . . . . . . . . . . . . . . . . . . 211.6.2. Metodo de investigacion . . . . . . . . . . . . . . . . . 211.6.3. Fuentes y tecnicas para la recoleccion de informacion . 211.6.4. Tratamiento de la informacion . . . . . . . . . . . . . . 21

1.7. Alcances, limitaciones Y resultados esperados . . . . . . . . . 221.7.1. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . 22

iii

Page 4: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

iv INDICE GENERAL

1.7.2. Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . 221.7.3. Resultados esperados . . . . . . . . . . . . . . . . . . . 22

1.8. Estudio de sistemas previos . . . . . . . . . . . . . . . . . . . 231.8.1. Sistemas disenados para la certificacion Digital de do-

cumentos basados en Blockchain . . . . . . . . . . . . . 231.8.2. Sistemas disenados para otros propositos basados en

Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . 24

II DESARROLLO DE LA INVESTIGACION 27

2. Personalizacion de Blockchain 292.1. Estandar BlockCerts . . . . . . . . . . . . . . . . . . . . . . . 29

2.1.1. ¿Que es BlockCerts? . . . . . . . . . . . . . . . . . . . 292.1.2. ¿Como funciona BlockCerts? . . . . . . . . . . . . . . . 302.1.3. Contratos inteligentes en BlockCerts . . . . . . . . . . 31

3. SIMAT - Sistema de matrıculas estudiantiles 333.1. Personalizacion de BlockCerts para SIMAT . . . . . . . . . . . 33

3.1.1. Generacion de certificados . . . . . . . . . . . . . . . . 333.1.2. Verificacion de certificados . . . . . . . . . . . . . . . . 33

3.2. Seleccion de campos de informacion . . . . . . . . . . . . . . . 343.3. Modelo de negocio y beneficio economico . . . . . . . . . . . . 353.4. Seleccion de algoritmo de consenso y red de Blockchain . . . . 36

3.4.1. Caracterısticas algoritmos de consenso . . . . . . . . . 363.4.2. Proceso de seleccion de red de Blockchain . . . . . . . 373.4.3. Proceso de seleccion de algoritmo de consenso . . . . . 38

3.5. Integracion de SIMAT con otros sistemas . . . . . . . . . . . . 383.6. Aspectos de seguridad para SIMAT . . . . . . . . . . . . . . . 38

3.6.1. Criterios de seguridad . . . . . . . . . . . . . . . . . . 383.6.2. Posibles vulnerabilidades . . . . . . . . . . . . . . . . . 403.6.3. Posibles ataques . . . . . . . . . . . . . . . . . . . . . . 403.6.4. Auditoria para el sistema . . . . . . . . . . . . . . . . . 42

4. Arquitectura Propuesta para sistema SIMAT 454.1. Negocio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.1.1. Punto de Vista de la Organizacion . . . . . . . . . . . 464.1.2. Punto de Vista del Producto . . . . . . . . . . . . . . . 47

Page 5: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

INDICE GENERAL v

4.1.3. Punto de Vista de Proceso de Negocio . . . . . . . . . 484.1.4. Punto de Vista Funciones de Negocio . . . . . . . . . . 484.1.5. Punto de Vista de Cooperacion de Negocio . . . . . . . 49

4.2. Aplicacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.2.1. Punto de Vista de Comportamiento de la Aplicacion . 504.2.2. Punto de Vista de Cooperacion de Aplicacion . . . . . 514.2.3. Punto de Vista de Uso de la Aplicacion . . . . . . . . . 524.2.4. Punto de Vista de la Estructura de la Aplicacion . . . 53

4.3. Tecnologıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.4. Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.5. Migracion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

III CIERRE DE LA INVESTIGACION 57

5. RESULTADOS Y DISCUSION 59

6. CONCLUSIONES 616.1. Verificacion, contraste y evaluacion de los objetivos . . . . . . 616.2. Sıntesis del modelo propuesto . . . . . . . . . . . . . . . . . . 646.3. Aportes originales . . . . . . . . . . . . . . . . . . . . . . . . . 656.4. Trabajos o Publicaciones derivadas . . . . . . . . . . . . . . . 65

7. PROSPECTIVA DEL TRABAJO DE GRADO 677.1. Lıneas de investigacion futuras . . . . . . . . . . . . . . . . . . 677.2. Trabajos de Investigacion futuros . . . . . . . . . . . . . . . . 67

Page 6: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

vi INDICE GENERAL

Page 7: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Indice de cuadros

3.1. Comparacion de algoritmos de consenso . . . . . . . . . . . . . 37

vii

Page 8: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

viii INDICE DE CUADROS

Page 9: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Indice de figuras

2.1. Esquema de certificacion . . . . . . . . . . . . . . . . . . . . . 30

3.1. Esquema de contratos inteligentes en SIMAT . . . . . . . . . . 34

4.1. Punto de Vista de la Organizacion . . . . . . . . . . . . . . . 464.2. Punto de Vista del Producto . . . . . . . . . . . . . . . . . . . 474.3. Punto de Vista de Proceso de Negocio . . . . . . . . . . . . . 484.4. Punto de Vista Funciones de Negocio . . . . . . . . . . . . . . 484.5. Punto de Vista de Cooperacion de Negocio . . . . . . . . . . . 494.6. Punto de Vista de Comportamiento de SIMAT . . . . . . . . . 504.7. Punto de Vista de Cooperacion de SIMAT . . . . . . . . . . . 514.8. Punto de Vista de Uso de la SIMAT . . . . . . . . . . . . . . 524.9. Punto de Vista de la Estructura de SIMAT . . . . . . . . . . . 53

6.1. Modelo Sintetizado . . . . . . . . . . . . . . . . . . . . . . . . 64

ix

Page 10: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

x INDICE DE FIGURAS

Page 11: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Introduccion

En la actualidad los colombianos se enfrentan a un grave problema defraudes en los procesos. Esta situacion sucede en procesos de todo tipo: des-de el tramite de una licencia de conduccion hasta el registro de personas enel sistema educativo. Se evidencia una clara falencia de los entes reguladoresen esta materia, ya que no cuentan con un mecanismo confiable y seguro conel cual hacer seguimiento a dichos procesos. Gracias a avances tecnologicosrecientes se sabe que existen herramientas que permiten certificar la autenti-cidad de cualquier tipo de transaccion. Una de estas herramientas, conocidacomo Blockchain, es una tecnologıa innovadora en la gestion de registrosde transacciones. Cada operacion realizada bajo esta tecnologıa es publica,segura e inmutable. El concepto de Blockchain aplicado en un sistema deinformacion podrıa aportar a la solucion de la problematica mencionada,en este caso particular, el registro de personas en el sistema de educacioncolombiano.

1

Page 12: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

2 INDICE DE FIGURAS

Page 13: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Parte I

CONTEXTUALIZACION DELA INVESTIGACION

3

Page 14: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de
Page 15: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Capıtulo 1

DESCRIPCION DE LAINVESTIGACION

5

Page 16: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

6 CAPITULO 1. DESCRIPCION DE LA INVESTIGACION

1.1. Planteamiento/Identificacion del proble-

ma

Actualmente el sistema educativo de Colombia presenta una oportunidadde mejora en la defensa contra el fraude en lo que respecta al registro de losciudadanos. Esta situacion abre la puerta a diferentes tipos de situacionesindeseables, siendo las mas comunes: la fabricacion de tıtulos academicos fal-sos, el registro de personas ficticias en las diferentes instituciones educativas,suplantacion, entre otros.

Al tener que comprobar la integridad del proceso de registro en el sistemaeducativo, el interesado incurre en gasto de sus recursos temporales, operati-vos y monetarios, ademas de la posibilidad de no percatarse de un intento defraude. Asimismo, no se puede garantizar el derecho fundamental de la edu-cacion a todos los ciudadanos colombianos, pues no hay manera de verificaren su totalidad quien esta registrado en el sistema educativo colombiano yquien no; por tanto se pierde control sobre los recursos efectivos que estansiendo destinados al desarrollo de la actividad educativa de los ciudadanosque estan inscritos genuinamente, y al asignar presupuesto erroneamente acausa de los fraudes, hay un detrimento considerable que afecta la calidadfinal del servicio educativo prestado.

Para remediar algunas de las causas raıces de estas situaciones riesgosasy exhaustivas, se propone disenar la arquitectura de un sistema de registrode ciudadanos que implemente los beneficios mas relevantes de la tecnologıade Blockchain, con el fin de asegurar la transparencia en dicho proceso delsistema de educacion

1.1.1. Formulacion del problema

¿Como usar los beneficios de la tecnologıa Blockchain para disenar laarquitectura de un sistema que permita gestionar el registro de personas enel sistema de educacion colombiano?

1.1.2. Sistematizacion del problema

Las cuestiones que se pretenden resolver en este trabajo investigativo son:

¿Que informacion se necesita tratar y almacenar para tener un sistemade informacion de registro de personas en un sistema educativo?

Page 17: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

1.1. PLANTEAMIENTO/IDENTIFICACION DEL PROBLEMA 7

¿Como se puede aplicar la tecnologıa Blockchain para apoyar el procesode registro de personas basado en contratos inteligentes?

¿Como se evidencian los beneficios de Blockchain en el prototipo pro-puesto para el sistema que soporta el proceso de registro de personasen el sistema educativo colombiano?

Page 18: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

8 CAPITULO 1. DESCRIPCION DE LA INVESTIGACION

1.2. Objetivos

1.2.1. Objetivo General

Disenar la arquitectura de un sistema de contratos inteligentes, basada enla tecnologıa de Blockchain, que permita la gestion del registro de personasen el sistema de educacion colombiano para reducir el riesgo de fraude en elproceso de registro de personas en el sistema de educacion colombiano.

1.2.2. Objetivos especıficos

Definir los atributos que se van a almacenar dentro de la cadena debloques, usando como guıa modelos de datos definidos en otras arqui-tecturas de contratos inteligentes, para cubrir las necesidades informa-tivas que requiere el proceso de registro de estudiantes en el sistema deinformacion.

Seleccionar el algoritmo operativo de Blockchain que se usara en estesistema, evaluando las caracterısticas que ofrecen los distintos algorit-mos ya dispuestos, para apoyar efectivamente el proceso de registro depersonas en el sistema de educacion colombiano.

Disenar la evaluacion de los beneficios de Blockchain sobre la arqui-tectura propuesta mediante pruebas de “Ethical Hacking” y auditorıaspara comprobar las mejoras de seguridad del proceso de registro depersonas en el sistema de educacion colombiano.

Page 19: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

1.3. JUSTIFICACION DEL TRABAJO/INVESTIGACION 9

1.3. Justificacion del trabajo/investigacion

1.3.1. Justificacion teorica

Se busca utilizar las caracterısticas de seguridad, privacidad, seguimientoe inmutabilidad transaccional planteadas en la tecnologıa de Blockchain yaque dicha tecnologıa fortalece la integridad de la informacion y la transpa-rencia operacional.

1.3.2. Justificacion metodologica

Este trabajo investigativo pretende proponer una solucion practica a unade las raıces de un problema que es evidente en la realidad del paıs. En tan-to que la solucion propuesta consiste en la aplicacion de una tecnologıa queha sido analizada y adoptada desde un punto de vista cientıfico y utilita-rio, es apropiado desarrollar esta labor siguiendo los lineamientos del metodoinductivo-deductivo, pues permite evaluar efectivamente los hallazgos encon-trados a lo largo de la investigacion realizada.

1.3.3. Justificacion practica

Al adoptar los beneficios de Blockchain en este sistema de informacion,los procesos relacionados al proceso de registro sistema educativo colombianose veran menos impactados negativamente por las inconsistencias de infor-macion, desfalcos financieros y problemas operativos relacionados a estosfraudes.

Los beneficios de Blockchain se encuentran detallados en la seccion 6.1de este documento.

Page 20: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

10 CAPITULO 1. DESCRIPCION DE LA INVESTIGACION

1.4. Hipotesis

El diseno arquitectonico propuesto para el sistema de registro de estudian-tes en el sistema nacional colombiano refleja los beneficios de la tecnologıade Blockchain haciendo evidente como el proceso se fortalece en sus defensascontra el fraude.

Page 21: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

1.5. MARCO REFERENCIAL 11

1.5. Marco referencial

1.5.1. Marco Teorico

Contratos Inteligentes

Los contratos inteligentes son un compromiso entre dos o mas partesal igual que un contrato tradicional. Sin embargo, un contrato inteligentese diferencia por tres aspectos: 1 - El contrato inteligente es un contratoque se auto ejecuta, es decir que no es necesaria la intervencion de un entevalidador que asegure que las condiciones del contrato se cumplieron. 2 - Eldocumento que contiene el contrato no esta representado por medio de papel,por el contrario, existe digitalmente en una cadena de bloques (Blockchain).3 - Un contrato inteligente no requiere de un humano para realizar estasvalidaciones.

Tecnologıa de Blockchain

Se entiende el Blockchain como “un libro de contabilidad publico o unabase de datos descentralizada; es decir, que en lugar de tener un administra-dor central, es distribuido y verificado por consenso a los participantes de lared” (Crosby, Pattanayak, Verma & Kalyanaraman, 2015, p. 3).

En terminos generales, esta tecnologıa es una base red de procesamientodistribuida donde los datos y las tareas de procesamiento de las transaccionesson repartidos a los participantes la red, sin embargo esta tecnologıa no con-siste en una unica tecnica, sino que se vale de la criptografıa, las matematicas,distintos modelos economicos, combinados con redes “peer-to-peer” (punto apunto) y algoritmos de consenso distribuido para resolver el problema tradi-cional de sincronizacion de bases de datos distribuidas. Es una construccionde infraestructura que integra muchos campos.

Los siguientes son los seis beneficios de Blockchain:

Descentralizacion: La caracterıstica principal de Blockchain, hace queno se necesite confiar en un unico nodo centralizado, por el contrariocada transaccion es controlada, compartida y autorizada por todos losnodos que participan de la red.

Transparencia: Los datos almacenados por los sistemas de Blockchainson trasparentes para cada nodo. Como si fueran libros contables, cadatransaccion queda registrada y cualquier nodo puede consultarla.

Page 22: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

12 CAPITULO 1. DESCRIPCION DE LA INVESTIGACION

Codigo abierto: La mayorıa de los sistemas de Blockchain son abiertospara cualquier individuo que desee participar en la red, es decir, cual-quiera puede acceder a la informacion de la red. Los registros puedenser verificados publicamente ademas de que las personas pueden usaresta tecnologıa para crear cualquier aplicacion que quieran.

Autonomıa: Gracias a la base del consenso, cada nodo en el sistemade Blockchain puede transferir o actualizar datos de manera segura:la idea es poder confiar tanto en una sola persona, como en todo elsistema, ya que nadie puede alterarlo.

Inmutabilidad: Cualquier registro se preservara para siempre ya que lasoperaciones que se realizan no se pueden alterar y son unicas. Las tran-sacciones efectuadas son realizadas con base a un sistema criptografico,lo que significa que permite que las operaciones sean casi imposibles dehackear.

Anonimidad: La tecnologıa de Blockchain soluciono el problema de con-fianza entre nodos, es decir, la transferencia de datos. Inclusive, cadatransaccion pueden ser anonima. Solo es necesario conocer la direccionde Blockchain de la persona.

Arquitectura de Blockchain

Tipos de de Blockchain

Las implementaciones de Blockchain pueden ser divididas brevemente entres tipos:

Blockchain publica: Cualquier persona puede ver las transacciones yverificarlas, de igual manera puede participar en el proceso para obtenerun consenso. Por ejemplo Bitcoin y Ethereum son Blockchain publicas.

Blockchain hıbrida: Esto significa que existe un nodo que tiene unaautoridad superior a los demas y es quien decide que nodo puede serseleccionado para resolver una tarea en la red, usualmente tiene aso-ciaciones de negocio. Los datos en la Blockchain pueden ser publicoso privados, lo que la convierte en un modelo parcialmente descentrali-zado. Por ejemplo HyperLedger y R3CEV son ejemplos de Blockchainhıbridas.

Page 23: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

1.5. MARCO REFERENCIAL 13

Blockchain privada: En este caso los nodos estan restringidos, lo queimplica que no cualquier persona puede establecerse como nodo en estaBlockchain. Un ente central tiene la autoridad de gestion de accesotanto de nuevos nodos como de los nuevos datos de manera estricta.

Algoritmos de consenso de Blockchain

Un algoritmo de consenso en el entorno de Blockchain es un conjuntode reglas para determinar si una adicion de un bloque nuevo a la cadena esvalida o no. Este algoritmo es acordado por todos los nodos de la red. Existenvarias estrategias para este algoritmo, de los cuales se presentan los dos mascomunes a continuacion:

PoW (Proof-of-Work) Es un algoritmo en el que se genera una piezade datos, la cual necesita alta capacidad de procesamiento para serconstruida pero que a su vez es facil de verificar. En en una cadenade bloques los mineros compiten entre sı para confirmar un bloque,es decir. registrar sus transacciones. Quien gane la competencia recibeuna recompensa, de esta manera se incentiva a que los nodos de laBlockchain tengan cada vez mas capacidad de computo.

PoS (Proof-of-Stake) De manera similar al algoritmo PoW, es un algo-ritmo de consenso el cual busca conformar un bloque. Sin embargo, eneste la probabilidad de recibir la recompensa es directamente propor-cional a la cantidad de bloques que se poseen. De esta manera quienesestan mas interesados en la seguridad de la cadena son quienes aseguranlas transacciones de la misma.

Auditorıa en Blockchain

Una auditorıa es una examinacion sistematica sobre un proceso y/o sis-tema realizado por una entidad externa. En sistemas de apoyo a registrotradicionalmente se enfoca en examinar la inmutabilidad de las transaccio-nes que representan el proceso apoyado. Los algoritmos auditados necesitanasegurar su funcionamiento correcto en cumplimiento con alguna legislaciono estandar. En el caso particular de Blockchain al ser codigo abierto cual-quier usuario con acceso al codigo fuente puede auditar el algoritmo y al serla cadena de bloques publica cualquier persona puede dedicarse a la tareade verificar la fiabilidad de las transacciones, sin embargo es necesario que

Page 24: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

14 CAPITULO 1. DESCRIPCION DE LA INVESTIGACION

algun personaje especializado en la legislacion propia del proceso que soportala cadena de bloques realice estas tareas con el fin de contrastar el diseno yel comportamiento del sistema con los estandares requeridos y las leyes queapliquen.

Page 25: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

1.5. MARCO REFERENCIAL 15

1.5.2. Marco Conceptual

Auditorıa Informatica: La auditorıa en informatica es la revision y laevaluacion de los controles, sistemas, procedimientos de informatica;de los equipos de computo, su utilizacion, eficiencia y seguridad, de laorganizacion que participan en el procesamiento de la informacion, afin de que por medio del senalamiento de cursos alternativos se logreuna utilizacion mas eficiente y segura de la informacion

Blockchain: tambien denominada tecnologıa de libro mayor distribuidoo DLT (Distributed Ledger Technology), es un sistema de gestion detransacciones distribuido compuesto por cadenas de bloques de infor-macion.

Bloque Genesis: Denominacion que se le da al primer bloque creado yverificado de una Blockchain.

Criptografıa: Es la practica y estudio de las tecnicas utilizadas paracomunicar mensajes de manera segura, previniendo la interceptacionde informacion por parte de un atacante.

DDoS Attack: Ataque Distribuido de Denegacion de Servicio (siglaspara Distributed Denial of Service en ingles). Es un tipo de ataqueinformatico con el que se pretende deshabilitar o ralentizar la capaci-dad de respuesta de un sistema de software mediante el agotamientosistematico de sus recursos de comunicacion y/o computo.

Ethical Hacking: Es el proceso por el cual se usan tecnicas de ataquesinformaticos para encontrar fallas de seguridad en un sistema. Esteproceso se realiza con el permiso del dueno de la organizacion que esobjetivo de estos ataques, con el objetivo de disminuir el riesgo.

Exploit: Termino utilizado para denominar una vulnerabilidad descu-bierta en un sistema de la que se puede sacar provecho para hacerlofallar o funcionar de manera erratica con el fin de obtener privilegiosde manera no autorizada.

Firma digital: Es un valor numerico que permite verificar la autentici-dad del remitente un mensaje. Se genera mediante un procedimientomatematico en el cual se calculan llaves hash de la clave publica y la

Page 26: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

16 CAPITULO 1. DESCRIPCION DE LA INVESTIGACION

clave privada del remitente. El receptor puede comprobar que el mensa-je fue enviado por/desde ese remitente y que, ademas, no fue alteradopor nadie mas.

Fuerza Bruta: Es un tipo de ataque informatico mediante el cual me-diante numerosos intentos de prueba y error se pretende adivinar unacombinacion clave o una llave de cifrado/descifrado valida para ins-peccionar sin autorizacion el contenido de un paquete de informacionconfidencial o para intervenir un canal de comunicacion y alterar losmensajes transmitidos.

Funcion Hash: Se le denomina funcion hash o de dispersion, h(K), ala funcion que transforma una llave K en una direccion, la cual se usacomo base para la busqueda y almacenamiento de registros.

GPU: Siglas en ingles de Unidad de Procesamiento Grafico. Esta confor-mada por un conjunto de circuitos integrados especializados dispues-tos en una arquitectura disenada para realizar calculos matematicoscomplejos necesarios para interpretar los graficos visuales de juegos deordenador. Son muy utiles para hacer calculos criptograficos necesariosen la operacion de Blockchain, dada su capacidad de procesamiento enparalelo.

Hash: Funcion algorıtmica que emite una direccion alfanumerica queresume y protege la informacion insertada. Sirven tambien para ga-rantizar la inmutabilidad de una registro de informacion, ocultar unacontrasena o servir como firma digital.

Private Key (clave privada): es un texto alfanumerico que se utiliza encriptografıa como factor de calculo para generar un mensaje cifrado.Tambien hay procedimientos matematicos para generar claves privadasadecuadas, que tengan ciertas caracterısticas necesarias dentro de laaritmetica modular para servir su proposito criptografico.

Prueba de trabajo (Proof of Work PoW): es el sistema mediante el cualse verifican transacciones. La prueba consiste en la resolucion de pro-blemas matematicos (un hash) que tiene una variable que lo dificulta.Resolver la prueba con exito suele requerir tiempo y es por esto que enultima instancia, este sistema condiciona la capacidad de contribucional poder computacional del usuario.

Page 27: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

1.5. MARCO REFERENCIAL 17

Public Key (clave publica): es un texto alfanumerico que se utiliza encriptografıa como factor de calculo para obtener un mensaje a partirde su valor cifrado.

Red Peer to Peer (P2P): Red descentralizada que no tiene clientes niservidores fijos, sino que tiene una serie de nodos que se comportansimultaneamente como clientes y servidores de los demas nodos de lared.

Sistema Distribuido: Una red de computadoras intercomunicadas paracompartir sus recursos informaticos. La computacion distribuida unemiles de terminales individuales con el fin de crear un gran sistema conpoder de computacion masivo.

Page 28: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

18 CAPITULO 1. DESCRIPCION DE LA INVESTIGACION

1.5.3. Marco Espacial

El desarrollo de este trabajo investigativo tendra como objeto principal elSistema de Matrıcula Estudiantil de Educacion Basica y Media de la Republi-ca de Colombia. Segun el Ministerio de Educacion Nacional, el SIMAT sirvea cada una de las 95 secretarıas de educacion, que funcionan en los 32 de-partamentos del paıs.

Page 29: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

1.5. MARCO REFERENCIAL 19

1.5.4. Marco Historico

De acuerdo con la Resolucion 5360 del 7 de septiembre de 2006, el reportede informacion de matrıculas al Ministerio de Educacion Nacional vencio lasegunda semana de febrero de 2012. Cada secretarıa de educacion debıa ingre-sar y verificar la informacion de matrıcula de cada uno de los establecimientoseducativos de la entidad territorial en el sistema de matrıculas SIMAT. Lainformacion reportada en el SIMAT por cada secretarıa de educacion, serıaentonces validada con la informacion registrada en el Directorio de Estableci-mientos Educativos. Esta informacion serıa consignada principalmente paraser tenida en cuenta en la asignacion de recursos.

Otro proceso que ha evidenciado las falencias en el control de esta asig-nacion de recursos es el Programa de Alimentacion Escolar (PAE). Seguninformes de la Procuradurıa General de la Nacion, en este programa se halla-ron irregularidades en las contrataciones realizadas, esto debido a problemasgeneralizados en la logıstica y la responsabilidades del Ministerio de Educa-cion Nacional en la ejecucion de esta iniciativa. Segun el Artıculo 19 de laLey 1176 de 2007, “Para efectuar la seleccion de la poblacion beneficiariase tomara la informacion del Sisben validada por el Departamento Nacionalde Planeacion y la matrıcula. Los departamentos suministraran, antes del 30de octubre del ano anterior en que se realizara la programacion y ejecucionde los recursos del programa de alimentacion escolar, la informacion sobrematrıcula a los municipios no certificados en educacion.”. Esto significa queel proceso depende directamente de la informacion de matrıculas. Como seha evidenciado, si la informacion registrada en el SIMAT esta corrompidapara simular un numero mayor de personas, se abrira la posibilidad de actosilegales de detrimento del recurso publico en ejecuciones.

Page 30: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

20 CAPITULO 1. DESCRIPCION DE LA INVESTIGACION

1.5.5. Marco Legal

El Sistema de Matrıculas que ha dispuesto el Ministerio de EducacionNacional para el registro de estudiantes fue producto de lo estipulado en laResolucion legislativa 5360 del 7 de septiembre de 2006. Con esta resolucion,se busco “garantizar la prestacion oportuna del servicio en condiciones deeficiencia y equidad, que asegure el acceso y la permanencia de los estudiantesen los niveles de educacion de pre-escolar, basica y media, en el sistemaeducativo oficial”.

En el artıculo 2o de dicha resolucion, se establecen como responsables deeste proceso a los secretarios de educacion de cada entidad territorial certifi-cada, y a los alcaldes para los denominados municipios no certificados. Estopresenta un reto en cuestion de control del proceso, pues cabe la posibili-dad de procederes incorrectos al depender de una sola persona el registro deinformacion.

La oportunidad de aplicar la propuesta tecnologica del presente proyec-to, radica en la mejora del cumplimiento que se le diera a algunos de losnumerales (resaltados en negrilla) del artıculo 3o:

Garantizar el derecho a la educacion a la poblacion en edadescolar en condiciones de equidad.

Seleccionar estrategias pertinentes de acceso y permanencia.

Usar de manera eficiente la capacidad instalada de los esta-blecimientos educativos, del recurso humano y de los recursosfinancieros disponibles.

Atender los parametros establecidos en los decretos 3020 de 2002 y 3011de 1997.

Fomentar, cuando sea pertinente, el uso de modelos pedagogicos flexi-bles tales como: Escuela Nueva, Aceleracion del Aprendizaje, Cırculosde Aprendizaje, Telesecundaria, Postprimaria, modelos de media rural,modelos de educacion por ciclos para jovenes y adultos (SAT, SER yCAFAM) y otros sistemas tutoriales a distancia.

Contratar la prestacion del servicio cuando sea insuficiente oinexistente la oferta oficial en la zona donde se requiere.

Page 31: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

1.6. METODOLOGIA DE LA INVESTIGACION 21

1.6. Metodologıa de la investigacion

1.6.1. Tipo de estudio

Dado que el resultado de esta investigacion pretende describir los benefi-cios de Blockchain y como aplicarlos a una problematica nacional, se enmarcaeste ejercicio como un tipo de Estudio Descriptivo.

1.6.2. Metodo de investigacion

Esta investigacion parte de un concepto general como lo es la tecnologıa deBlockchain y sus beneficios ya conocidos, para usarlo resolviendo un problemaparticular como el que se evidencia en el proceso de registro de estudiantes enel sistema de educacion colombiano. El metodo de investigacion que mejor seadapta, dada la naturaleza del presente ejercicio, es el metodo inductivo-deductivo.

1.6.3. Fuentes y tecnicas para la recoleccion de infor-macion

Las fuentes de informacion principales que se consideraran para hacer ellevantamiento de informacion son:

Documentacion publica correspondiente al proyecto de implementaciondel SIMAT.

Legislaciones pertinentes al objeto de estudio, y en relacion al Ministe-rio de Educacion Nacional.

Informes, reportes de auditorıa y demas documentos de evaluacion delsistema actual, que esten en el dominio publico.

1.6.4. Tratamiento de la informacion

Toda la informacion que fuese recolectada en este trabajo investigativose refiere a un sistema de informacion publico que el gobierno colombianoha dispuesto a traves del Ministerio de Educacion Nacional, por lo tanto esde divulgacion publica, ası como los hallazgos a que se llegue en la laborpropositiva de este proyecto.

Page 32: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

22 CAPITULO 1. DESCRIPCION DE LA INVESTIGACION

1.7. Alcances, limitaciones Y resultados es-

perados

1.7.1. Alcances

Esta investigacion busca presentar el diseno de una arquitectura basada enBlockchain, en la que se evidencien los beneficios de esta tecnologıa aplicadosal proceso de registro de estudiantes en el sistema de educacion colombiano.Como resultado se presenta unicamente el diseno de dicha arquitectura dondese muestren de manera cualitativa los beneficios de Blockchain. La forma depresentacion sera un artıculo detallado de dicha arquitectura junto con unprototipo el cual ilustra como serıa la implementacion de la misma en unambiente controlado.

1.7.2. Limitaciones

Debido a la premura de tiempo y a las caracterısticas de la investigacion,la mayor limitante que encuentra esta investigacion es la incapacidad deverificar la efectividad de la arquitectura propuesta en el sistema real. Estoquiere decir que los resultados son 100 % teoricos y academicos.

1.7.3. Resultados esperados

Como resultados de este trabajo se esperan tres entregables: el primero,un artıculo describiendo detalladamente la arquitectura disenada y como es-ta aporta una posible solucion a la problematica. Como segundo entregablese propone la publicacion de dicho artıculo en la revista “TECNOLOGIA,INVESTIGACION Y ACADEMIA - TIA”. Y finalmente se entregarıa unprototipo de la implementacion de la Blockchain para ilustrar su funciona-miento.

Page 33: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

1.8. ESTUDIO DE SISTEMAS PREVIOS 23

1.8. Estudio de sistemas previos

1.8.1. Sistemas disenados para la certificacion Digitalde documentos basados en Blockchain

Caso de estudio M.I.T.: El Instituto Tecnologico de Massachusetts llevoa cabo una iniciativa piloto en la certificacion digital de documentosdentro de la comunidad academica. Lanzaron un programa llamadoBlockcerts Wallet. En 2015 el “MIT Media Lab” comenzo a usar latecnologıa Blockchain para generar certificados digitales. El resultadofue una aplicacion movil para el proceso de generacion y verificacion detıtulos academicos, que en conjunto con procedimientos apoyados en laBlockchain de Bitcoin, brindaban control del proceso sin la necesidadde un tercero. A partir de esta iniciativa se produjeron un conjunto deherramientas que constituyen el estandar denominado Blockcerts. Fi-nalmente con una poblacion de estudio de 111 graduandos se generaroncopias verificables y se evaluo el resultado, que los directores involucra-dos aseguraron fue un exito, y abrieron las posibilidades a muchas masaplicaciones para este tipo de plataformas.

Caso de estudio Escuela de Holberton: La escuela de Holberton es laprimera escuela en aplicar la tecnologıa de Blockchain para almacenarinformacion de los tıtulos academicos. Hacer uso de una cadena debloques les ha permitido detener la emision falsa, y la alteracion delos registros guardados previamente. Para la firma de cada documento,este es insertado en la red de bloques de Bitcoin, de esta manera sucontenido permanece inmutable e incorruptible.

Caso de estudio Universidad de Los Andes, Venezuela: La universidadnacional de los Andes en Venezuela en 2017 publica la tesis de grado delestudiante Andres Isaac Aguilar Arocha bajo el tıtulo: “Certificaciondigital de documentos basada en contratos inteligentes en la tecnologıaBlockchain” en el cual detalle un modelo teorico del proceso de certifica-cion digital de documentos basada en cadenas de bloques. Este enfoquese concentra en los contratos inteligentes y en la manera de funcionarde la criptomoneda Ether. Este sistema sigue siendo un modelo teoricohasta el dıa de hoy.

Page 34: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

24 CAPITULO 1. DESCRIPCION DE LA INVESTIGACION

1.8.2. Sistemas disenados para otros propositos basa-dos en Blockchain

Sistemas de Criptomonedas: La aplicacion mas conocida de Blockchaina las criptomonedas es por supuesto el Bitcoin. Esta moneda aprovechael sistema de registro de la cadena de bloques para guardar todas lastransacciones realizadas alrededor del mundo. En la comunidad inter-nacional ha habido pocos cuestionamientos a los beneficios de aplicaresta tecnologıa en el ambito monetario, ya que en terminos de seguri-dad el modelo aplicado para Bitcoin aprovecha todas los beneficios deseguridad inherentes a esta tecnologıa.

El sistema es simple desde un punto de vista funcional; todas las tran-sacciones quedan almacenadas en la cadena de bloques y cualquierapuede consultaras desde la web en sitios conocidos como los “explorer”.De esta manera, todas las transacciones son transparentes y publicas.Para hacer transacciones el usuario debe contar con una billetera vir-tual, que en terminos tecnicos esta compuesta por una llave publica yuna privada. Usando una analogıa con el sistema bancario tradicional,la llave publica corresponderıa a un numero de cuenta bancario, que enel caso de Bitcoin es publico, lo que quiere decir que todos pueden verlos movimientos que se han realizado allı. La llave privada correspon-derıa en nuestra analogıa a la clave secreta ya que esta llave es el unicomecanismo con el cual se puede transferir dinero de una billetera a otra.De esta manera todos conocen las cuentas de todos, es decir, es infor-macion publica y transparente, aunque no se conozca a quien pertenececada billetera por lo que se dice que este es un sistema anonimo.

A los nodos de la red se les denomina “mineros” y son ellos quienesresuelven el problema matematico de encontrar el hash de cada nuevobloque. Disponen su poder de computo para hacer los calculos nece-sarios y a cambio los primeros en resolver este problema reciben unarecompensa. Es en terminos generales, un algoritmo de consenso tipoPoW en accion.

Bitcoin no es la unica aplicacion de Blockchain en el mundo de lascriptomonedas. De hecho, al dıa de hoy existen mas de 100 diferentesimplementaciones de este tipo alrededor del mundo.

Sistemas para apoyar el sector de la Salud:

Page 35: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

1.8. ESTUDIO DE SISTEMAS PREVIOS 25

healthbank Es una companıa suiza, cuya propuesta de valor esta en elalmacenamiento y acceso seguro de la informacion asociada al historialmedico de los usuarios. Aunque no se ha realizado hasta ahora unaimplementacion basada en Blockchain, la companıa aseguro que juntoa sus filiales Noser Health (Alemania) y Netcetera (Suiza) trabajarıanen madurar su plataforma de transacciones medicas apalancandose entecnologıa Blockchain.

Hyperledger Esta red de investigacion multi-industria impulsada porla Linux Foundation comenzo el Counterfeit Medicine Project, que con-siste en marcar los lotes de medicamentos mediante etiquetas de tiempogeneradas a partir de Blockchain, para poder verificar su distribucion yproduccion. De esta manera se pretende combatir una parte importantede las actividades de falsificacion y contrabando.

Sistemas para apoyar los recursos Humanos:

Human Resources Information Management Model: Un equi-po de investigadores de la Universidad de Beihang, la Universidad deCiencia y Tecnologıa de Macao y la Universidad Marıtima de Dalian,han formulado un modelo para el manejo de informacion relacionadacon la seleccion de personal en companıas. Los autores enfatizan lanecesidad de comprobar con certeza el historial academico que un can-didato laboral especificarıa en su resume, para descartar el fraude a quehubiera lugar con informacion ficticia de tıtulos academicos o mencionde aptitudes.

Sistemas para apoyar la verificacion de documentos de identidad:

Enhancing Breeder Document Long-Term Security El grupo deinvestigacion en Biometrıa y Seguridad de Internet de la Universidadde Darmstadt (Alemania) diseno una implementacion de Blockchainsimilar a Bitcoin, en la cual se incluyen metadatos de biometrıa en lascabeceras de bloque para anadir informacion identificante que asegurela autenticacion de documentos de identidad.

Junto a este diseno general, formularon propuestas de implementacionbasadas en estandares ya establecidos para la captura, almacenamientoy tratamiento de los datos biometricos incluidos en las transaccionestipo Blockchain.

Page 36: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

26 CAPITULO 1. DESCRIPCION DE LA INVESTIGACION

Page 37: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Parte II

DESARROLLO DE LAINVESTIGACION

27

Page 38: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de
Page 39: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Capıtulo 2

Personalizacion de Blockchain

2.1. Estandar BlockCerts

2.1.1. ¿Que es BlockCerts?

El Instituto Tecnologico de Massachusetts realizo una iniciativa de certi-ficacion digital de documentos dentro de la comunidad academica. Lanzaronun programa piloto llamado Blockcerts Wallet. En 2015 el “MIT Media Lab”comenzo a usar la tecnologıa Blockchain para generar certificados digitales.El resultado fue una aplicacion movil para el proceso de generacion y verifi-cacion de tıtulos academicos, que en conjunto con procedimientos apoyadosen la Blockchain de Bitcoin, brindaban control del proceso sin la necesidadde un tercero [CITA]. A partir de esta iniciativa se produjeron un conjuntode herramientas que constituyen el estandar denominado Blockcerts. Final-mente con una poblacion de estudio de 111 graduandos se generaron copiasverificables y se evaluo el resultado, que los directores involucrados asegura-ron fue un exito, y abrieron las posibilidades a muchas mas aplicaciones paraeste tipo de plataformas [CITA].

Los estandares sobre los que se ha basado Blockcerts son:

OpenBadges, del IMS GLC

Verifiable Claims, del W3C

Linked Data Signatures, del W3C

Decentralized Identifiers, del W3C

29

Page 40: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

30 CAPITULO 2. PERSONALIZACION DE BLOCKCHAIN

Figura 2.1: Esquema de certificacion

Cabe destacar la ingeniosa idea de utilizar de manera lateral el podercomputacional de la red Bitcoin para obtener resultados de funcionalidadesespecıficas como el proceso de firma de certificados digitales.

2.1.2. ¿Como funciona BlockCerts?

El proceso que Blockcerts propone para la generacion y verificacion dedocumentos es el siguiente:

1. Crear una plantilla de certificados para incluir informacion comun (dela entidad emisora).

2. A partir de archivos con datos de cada estudiante registrado, generarcertificados digitales con la informacion de cada uno junto con la infor-macion inicial de las plantillas mediante los scripts parametrizados delcomponente cert-tools.

3. Emitir una transaccion en la Blockchain de Bitcoin con el lote de certifi-cados creados, la Bitcoin Network realiza el computo de los respectivos

Page 41: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

2.1. ESTANDAR BLOCKCERTS 31

hash y ası firma cada uno de los certificados.

4. Los certificados firmados se comparte con las partes interesadas.

5. Cada certificado puede verificarse y visualizarse a traves del compo-nente cert-web-component”basado en JavaScript, o alternativamentedel componente cert-viewer”basado en un despliegue Python-Flask, loscuales hacen exploracion de bloques sobre la Blockchain para verificarlos hash calculados (firma) de los certificados.

2.1.3. Contratos inteligentes en BlockCerts

Segun la secuencia logica definida en los pasos de certificacion de undocumento en el estandar Blockcerts, el paso clave para este proposito esel calculo de un hash verificable que represente el contenido del certificadodigital que se esta adjuntando como datos de la transaccion emitida en laBlockchain.

Aunque Ethereum ha sido una de las primeras Blockchains en permitir laejecucion de SmartContracts y con su lenguaje Solidity permiten la creacionde scripts bastante elaborados, Bitcoin tambien ha incorporado funcionalida-des basicas en las ultimas versiones de su protocolo. Para el funcionamientode Blockcerts solo es necesario obtener el valor de la salida OP RETURNque esta incorporada en el protocolo base de las transacciones Bitcoin. Ellenguaje utilizado describir la logica se llama Bitcoin Script, es de bajo nively tiene una funcionalidad limitada.

Este lenguaje permite explorar y operar sobre algunos componentes yprocesos de la Blockchain tales como billeteras, intercambios y plataformasde pago. Este lenguaje es utilizado con exito para diversas soluciones entreellas Blockcerts, sin embargo, se afirma que el lenguaje no es un compone unTuring completo, es decir no es un lenguaje Universal.

Ejemplo de operaciones en Bitcoin Script:

Este segmento de codigo genera el pago a una direccion de Bitcoin

var address = Address.fromString(’1NaTVwXDDUJaXDQajoa9MqHTxt’);

var script = Script.buildPublicKeyHashOut(address);

assert(script.toString()

=== ’OP_DUP OP_HASH160 20 0xecae7d092947b7ee4998e254aa4890d2

Page 42: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

32 CAPITULO 2. PERSONALIZACION DE BLOCKCHAIN

OP_EQUALVERIFY OP_CHECKSIG’);

Este segmento de codigo genera el hash de una transaccion:

var pubkeys = [

new PublicKey(’022df8750480ad5b26950b25c7ba79d’),

new PublicKey(’03e3818b65bcc73a7d64064106a859c’),

new PublicKey(’021f2f6e1e50cb6a953935c36012849’),

];

var threshold = 2;

var script = Script.buildMultisigOut(pubkeys, threshold);

assert(script.toString()

=== ’OP_2 33 0x022df8750480ad5b26950b25c7ba79d3e37d75’

+ ’ 33 0x03e3818b65bcc73a7d64064106a859cc1a5a728’

+ ’ 33 0x021f2f6e1e50cb6a953935c3601284925decd3f

OP_3 OP_CHECKMULTISIG’);

Este es el segmento de codigo que usa BlockCerts para acceder a la dataresultante que representa la transaccion.

var script = Script.buildDataOut(data);

assert(script.toString()

=== ’OP_RETURN 14 0x68656c6c6f20776f726c64212121’

Page 43: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Capıtulo 3

SIMAT - Sistema de matrıculasestudiantiles

3.1. Personalizacion de BlockCerts para SI-

MAT

3.1.1. Generacion de certificados

Desde una perspectiva tecnica, para obtener el sistema generador dematrıculas digitales, se personaliza la plantilla fuente con la cual se gene-ra un lote de certificados para incluir los datos de la institucion educativa ylas caracterısticas de un conjunto de procesos de matrıcula cohesivos.

Un paso adicional para asegurar la integridad de los datos tratados, escalcular un hash que identifique el conjunto de registros de estudiantes gene-rado. Este calculo permitira comprobar que en el momento de ingresar estosdatos en el componente cert-tools, los registros no han sido manipulados ycontinuan reflejando con exactitud la informacion ingresada inicialmente.

3.1.2. Verificacion de certificados

Las rutinas Blockcerts para verificacion de certificados estan construidasde manera que funcionan parametricamente, con la informacion de creacionincluida dentro del certificado. De este modo, con la personalizacion de laplantilla fuente de generacion ya se estan dando indicaciones al script deverificacion para que valide la informacion respecto a la entidad emisora y a

33

Page 44: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

34CAPITULO 3. SIMAT - SISTEMA DE MATRICULAS ESTUDIANTILES

la Blockchain donde haya sido radicado el documento.Por otro lado, para la visualizacion de certificados, se realizaron modifi-

caciones visuales y traduccion de mensajes al espanol en las paginas web yscripts de ejecucion del componente cert-viewer basado en Python, con el finde presentar la informacion de los documentos de manera amigable.

Figura 3.1: Esquema de contratos inteligentes en SIMAT

3.2. Seleccion de campos de informacion

Para cubrir la funcionalidad principal que consiste en guardar los regis-tros inmutables de las matrıculas realizadas en las instituciones educativasdistritales, los campos de datos incluidos en el estandar Blockcerts son con-siderados suficientes, pues contemplan informacion identificante de un estu-diante al que se le otorga un tıtulo academico; en el caso de SIMAT, se otorgala calidad de estudiante activo.

Para el prototipo que se construira como parte de la propuesta, se hanadoptado los mismos campos establecidos en el estandar Blockcerts, que se

Page 45: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

3.3. MODELO DE NEGOCIO Y BENEFICIO ECONOMICO 35

dividen en tres partes:Los campos contemplados para la informacion base del certificado gene-

rado son:

Fecha de Radicacion

Serial de Identificacion de Certificado

Tipo de Certificado

Los campos contemplados para la entidad emisora del certificado en Block-certs son:

Imagen Logo

Lista de revocaciones (formato JSON)

Serial de Identificacion de la Entidad

Nombre de la Entidad

Correo electronico de contacto

Sitio Web

Los campos contemplados para el estudiante cuyo tıtulo se certifica son:

Nombre

Llave publica

Identidad (correo electronico o numero de documento de identidad)

3.3. Modelo de negocio y beneficio economi-

co

Como hemos mencionado, SIMAT se sirve de la Blockchain de Bitcoinpara almacenar la informacion, esto quiere decir que cada vez que se necesitedepositar datos de certificados se hace mediante la creacion de una nuevatransaccion. Esto implica una transferencia de Bitcoins de un usuario de lared a otro. Para el sistema SIMAT se trabaja usando el sistema que incurre en

Page 46: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

36CAPITULO 3. SIMAT - SISTEMA DE MATRICULAS ESTUDIANTILES

el menor costo posible para este proceso. El modelo del menor costo posiblese compone de dos pasos fundamentales, el primero se relaciona estrictamen-te con la transferencia de recursos para almacenar informacion en la cadenade bloques de Bitcoin, el proceso es simple y consiste en hacer transaccionesdonde el usuario origen y destino sean el mismo, en este caso especıfico sehacen transferencias de SIMAT para SIMAT, de esta manera el unico costoen que se incurre en el ”fee”que cobran los mineros por confirmar la transac-cion. El segundo paso hace referencia a enviar lotes transaccionales, es decir,se pueden almacenar datos de mas de un certificado por cada transaccionlanzada a la Blockchain, de esta manera el ”fee”sigue siendo el mismo paraalmacenar cien certificados que para almacenar uno.

Por ultimo SIMAT debera cobrara por cada certificado emitido y fir-mado por el sistema ofreciendo dicho proceso como su servicio de negociofundamental y sera ofrecido a todas las entidades oficiales que dentro de susfunciones tengan a cargo el registro de estudiantes en el sistema de educacionColombiano.

3.4. Seleccion de algoritmo de consenso y red

de Blockchain

3.4.1. Caracterısticas algoritmos de consenso

Confirmacion de la transaccion: Indica que tipo de proceso es ne-cesario para determinar si una transaccion anadida en una cadena debloques se puede considerar finalizada y confirmada.

Volumen de transacciones: Determina el volumen de transaccionesque puede atender la red en un periodo de tiempo determinado.

Costo de participacion: El costo de participacion determina si unnodo de la red que participa en el proceso para alcanzar un consensorequiere gastar algun recurso material. Por ejemplo las criptomonedasrequieren una gran capacidad de computo.

Escalabilidad de la red: Esta caracterıstica califica la capacidad dellegar a un consenso cuando el numero de nodos en la red incrementaconstantemente.

Page 47: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

3.4. SELECCION DE ALGORITMO DE CONSENSO Y RED DE BLOCKCHAIN37

PoW PoSTipo de Blockchain Publicas Todas

Confirmacion de la transaccion Probabilıstica ProbabilısticaVolumen de transacciones Bajo Alto

¿Necesita Token? Sı SıCosto de participacion Sı SıEscalabilidad de la red Alto AltoModelo de confianza Sin confianza Sin confianza

Criptomonedas que lo usanBitcoin, Ether,

Bitcoin Cash, Lite CoinDash, Monero(Personalizado)

Tolerancia a adversarios <=25 %Depende de lapersonalizacion

Cuadro 3.1: Comparacion de algoritmos de consenso

Modelo de confianza: Este criterio determina si los nodos que parti-cipan en el algoritmo de consenso tienen que ser confiables. En PoW yPoS no es necesario que los nodos sean confiables ya que el consenso sebasa en otras caracterısticas como el trabajo computacional necesarioen la red (cualquiera puede ser nodo).

Tolerancia a adversarios: Se representa como la fraccion de la redque puede comprometerse sin necesidad de afectar el proceso de con-senso.

3.4.2. Proceso de seleccion de red de Blockchain

En 2015 los inicios de Blockcerts como estandar Bitcoin se considera-ba como las red de criptomonedas mas grande y confiable, la siguiente reden tamano era demasiado pequena en comparacion por lo que el proyectoconsidero a Bitcoin como la una opcion.

Mas tarde en el ano 2016 al interior del proyecto se discutio la posibilidadde expandirse a Ethereum y se desarrollo la capa de acceso a datos parahacerlo posible, sin embargo los frecuentes divisiones de esta red conocidoscomo “fork” lo hacia poco confiable para almacenar credenciales que debendurar por al menos una vida entera.

Page 48: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

38CAPITULO 3. SIMAT - SISTEMA DE MATRICULAS ESTUDIANTILES

Finalmente en el ano 2016 Ethereum llego a uno de sus mejores momen-tos por lo que el proyecto retomo la tarea de expandirse hacia esta nuevared a traves de una comunidad “open-source” que se encuentra actualmentetrabajando es su implementacion.

3.4.3. Proceso de seleccion de algoritmo de consenso

Dado que Blockchain tiene su mayor uso en las criptomonedas y el estandarBlockcerts centrado en este echo selecciono la red de Bitcoin como la red ini-cial para soportar la operacion de su proyecto, el algoritmo de uso seleccio-nado para soportar al sistema SIMAT estara determinada por estos mismoscriterios. Ya que SIMAT hace uso de BlockCerts y este a su vez hace uso deBitcoin el cual esta soportado por un algoritmo PoW, para el sistema SIMATse selecciona como algoritmo de consenso Proof of Work.

3.5. Integracion de SIMAT con otros siste-

mas

Ya que la finalidad de este ejercicio academico era mostrar una arquitec-tura que incorpore los beneficios de construir un sistema de apoyo para elproceso de registro de estudiantes en el sistema de educacion colombiano laarquitectura propone un componente de integracion el cual provee la funcio-nalidad para la creacion de certificados en el sistema SIMAT a traves de unmicro-servicio que expone esta funcionalidad. Sin embargo para la emision,firma y verificacion de certificados no se deja capa de integracion ya que estasfuncionalidades son la razon de ser del sistema SIMAT. En caso de requerirseuna capa de integracion mas elaborada se propone como trabajos futuros deesta investigacion.

3.6. Aspectos de seguridad para SIMAT

3.6.1. Criterios de seguridad

Integridad de la informacion: Segun la norma ISO-27001 la integri-dad de la informacion es el mantenimiento de la exactitud y completi-

Page 49: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

3.6. ASPECTOS DE SEGURIDAD PARA SIMAT 39

tud de la informacion y sus metodos de proceso. Es decir la informaciondebe presentar datos reales.

Para ello la red de Bitcoin asegura la integridad dela informacion me-diante la firma del usuario que realiza una transaccion. Esta firma haceuso de la criptografıa para generar las llaves hash SHA256 que prote-gen los datos. Por otro lado se sabe que la informacion de la cadena debloques es inmutable y nunca se borra por lo que la integridad de losdatos del sistema SIMAT estan atados a la bien conocida seguridad dela red de Bitcoin.

Confidencialidad de la informacion: El criterio de confidenciali-dad de la informacion indica que la informacion no se debe poner adisposicion ni ser revelada a individuos, entidades o procesos no au-torizados. De cara a este criterio y conociendo el funcionamiento delsistema SIMAT podemos evidenciar de manera clara que la red deBitcoin no aporta nada para cumplir estas condiciones ya que la in-formacion de las transacciones son publicas y de dominio general. Yaque la informacion del sistema SIMAT es sensible y se debe asegurarsu confidencialidad, el componente cert-issuer”se encarga de esta tarea.Para ello se implemento un esquema de cifrado de un solo sentido queen conjunto con las ventajas de los contratos inteligentes encapsulanlos datos del certificado, los cifran y una vez seguros son anadidos a lared de Bitcoin. De esta manera el cada emisor de certificados tiene loscertificados emitidos por el y tiene la llave con la cual se cifro el certifi-cado, de esta manera en la la cadena de bloques no queda almacenadade manera legible ningun tipo de informacion por lo que una personapodrıa consultar el resultado del proceso de cifrado del certificado perono puede conocer los detalles de la informacion contenido en el mismo.

Disponibilidad de la informacion: la disponibilidad de la informa-cion se conoce como el aseguramiento del acceso y utilizacion de lainformacion y los sistemas de tratamiento de la misma por parte de losindividuos, entidades o procesos autorizados cuando lo requieran. Estecriterio esta fuertemente ligado a la naturaleza de la red de Bitcoin yaque sin ella es imposible verificar o emitir un certificado. Para fortalecerla Disponibilidad de la informacion Bitcoin es un sistema distribuidoque cuenta con un gran numero de nodos, es decir, cualquier nodo de

Page 50: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

40CAPITULO 3. SIMAT - SISTEMA DE MATRICULAS ESTUDIANTILES

la red esta en la capacidad de resolver la peticion de una consulta. Sepuede concluir entonces que la disponibilidad depende el numero denodos que componen la red y por ello el sistema SIMAT presenta unesquema de disponibilidad de la informacion robusto.

3.6.2. Posibles vulnerabilidades

Codigo de Blockchain: Este tipo de vulnerabilidades esta atado ala naturaleza de codigo abierto usado por la red de Bitcoin usado porSIMAT para su implementacion. Al ser Blockchain un artefacto de soft-ware puede ser inconsistente en la logica por el codigo que la representalo cual representa un claro riesgo de seguridad para el sistema. El ries-go introducido por esta vulnerabilidad se asume teniendo en cuentaque el codigo abierto de Blockchain de Bitcoin esta en constante man-tenimiento por una gran comunidad y al ser publico esta dispuesto aser sometido a constantes analisis que permitan descubrir de maneratemprana las fallas de seguridad en el codigo.

Contratos inteligentes: De manera analoga a la explicacion dada enla seccion anterior las reglas de los contratos inteligentes tambien estanrepresentados en piezas de codigo que pueden tener inconsistencias deseguridad que se propaguen al sistema SIMAT. Ya que los contratosinteligentes para SIMAT estan dados por el estandar BlockCerts eseste quien asegura que los riesgos introducidos por esta vulnerabilidadsean mitigados durante las pruebas de seguridad para los componentesdel estandar.

3.6.3. Posibles ataques

Contra la integridad de los Datos: Los datos del sistema SIMATquedaran almacenados en su totalidad dentro de la Blockchain de Bit-coin a continuacion se explicaran los detalles de los ataques de este tipoy como son manejados por la plataforma.

El creador de Blockchain y de Bitcoin en primera instancia SatoshiNakamoto, menciona dentro de su ”WhitePaper”los posibles ataquesprevistos durante el diseno de esta red.

Page 51: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

3.6. ASPECTOS DE SEGURIDAD PARA SIMAT 41

Satoshi Nakamoto tambien explica al detalle que todos los posiblesataques se pueden resumir como uno general determinado como la po-sibilidad de que un minero quiera cambiar la informacion ya contenidadentro de bloques. Para ello es necesario que el atacante sea capas deintroducir bloques y confirmar transacciones a la cadena de manera masrapida que los nodos honrados. Para defenderse de este tipo de ataquesla red funciona bajo el principio de aceptar la cadena mas larga. Estopermite que incluso si un atacante consiguiera introducir un nodo falsoa la red la probabilidad de que la red acepte esa version de la cadenadisminuye de manera exponencial cada vez que se anade un bloque nue-vo. Ahora bien supongamos que algun atacante logro controlar la redimplementando un numero de nodos suficiente para este proposito. Eneste caso este atacante serıa capaz de anadir informacion a su antojodentro de la red pero el costo que esto conlleva superarıa ampliamenteal beneficio generado. Esto es claro ya que a pesar de controlar la redlas transacciones almacenadas previamente permanecerıan inmutables.Al tener la posibilidad de controlar la red la unica ganancia podrıa sergenerada al realizar dobles pagos con los Bitcoins que ya posee. Bajolas premisas anteriores incluso la materializacion de un ataque de es-te tipo no afectarıa la informacion almacenada previamente en la redpor parte del sistema SIMAT ya que esta continuarıa siendo inmuta-ble, y aunque un atacante podrıa generar certificados fraudulentos eintroducirlos en la red, el atacante se comportarıa simplemente comoun emisor de certificados mas el cual no puede suplantar la entidad deotros emisores al no contar con la llave privada con la cual se firmanlos certificados.

Contra los nodos de la red: Como se menciono en la seccion ante-rior tratar de corromper la red completa de una Blockchain publica degran tamano requiere un gran esfuerzo y genera poco beneficio, sin em-bargo, corromper a un nodo de manera temporal requiere un esfuerzomenor. Cuando un atacante logra corromper un nodo de la red gana lacapacidad de controlar la informacion nueva que se agrega a la cadenaen este nodo lo que conlleva la posibilidad de mostrar informacion fal-sa al disenar una aplicacion que solo muestre la informacion del nodocorrupto. Es por ello que es necesario que a la hora de verificar cadatransaccion estemos seguros de realizarlo usando exploradores de la redconocidos y al menos usar dos o tres con este proposito.

Page 52: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

42CAPITULO 3. SIMAT - SISTEMA DE MATRICULAS ESTUDIANTILES

En el sistema SIMAT el componente cert-viewer”puede corromperse demanera que muestre datos de un nodo corrupto, es por esto que el visorno es la unica manera de validar la autenticidad de un certificado sinoque existen visores oficiales disponibles tanto en Android Play y AppStore que permiten consultar la informacion de manera segura.

3.6.4. Auditoria para el sistema

Para disenar la auditoria para el sistema SIMAT es necesario conocer losconceptos basicos de auditoria interna:

Gobierno: El gobierno es la combinacion de procesos y estructurasimplementadas para informar, administrar y monitorear las actividadesde un sistema con respecto al cumplimiento de sus objetivos.

Gestion del riesgo: Este concepto hace referencia a la evaluacion delos riesgos que pueden impactar directamente la mision o los objetivosde un sistema. Esta evaluacion se enfoca en el analisis de probabili-dad de materializacion de los riesgos y los controles necesarios paramitigarlos o desviarlos.

Controles: Los controles se implementan para mitigar los riesgos deun sistema con el fin de asegurar el cumplimiento de los objetivos deun sistema de manera segura, eficiente y eficaz.

Teniendo en cuenta el entorno de la aplicacion SIMAT nos hace concen-trarnos en lo necesario para aplicar los conceptos de la auditoria internapara la tecnologıa de Blockchain. Para lograr esto es indispensable que losauditores deben tener en cuenta los siguientes puntos.

Los auditores interno deben poseer conocimientos basicos en Block-chain o recibir entrenamiento en esta tecnologıa con el fin de aplicarcorrectamente los conceptos de auditoria al sistema.

Se deben considerar auditorias periodicas al sistema ya que este proveeacceso en tiempo real a datos sensibles de los estudiantes. Esto se hacecon el fin de asegurar la confidencialidad, integridad y disponibilidadde los datos en cualquier momento.

Page 53: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

3.6. ASPECTOS DE SEGURIDAD PARA SIMAT 43

Las evaluaciones se deben centrar en asegurar que el valor de negociocomprometido por la aplicacion se esta cumpliendo sin dejar a un ladolas consideraciones de un gobierno consistente de la misma.

Finalmente se deben aplicar las normas o estandares aplicables parapoder tener un marco de referencia y de calificacion que propenda porun mejoramiento continuo del sistema y el proceso que pretende apoyarel mismo.

Page 54: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

44CAPITULO 3. SIMAT - SISTEMA DE MATRICULAS ESTUDIANTILES

Page 55: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Capıtulo 4

Arquitectura Propuesta parasistema SIMAT

Mision

Brindar servicios tecnologicos para asegurar la integridad y congruenciade las inscripciones estudiantiles estatales en educacion preescolar, basicaprimaria, basica secundaria y educacion media de Colombia.

Vision

Ser el referente a seguir en la labor de verificar informacion publica, pro-pendiendo por la transparencia y veracidad de la informacion, disponiendolapara todos los ciudadanos colombianos.

45

Page 56: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

46CAPITULO 4. ARQUITECTURA PROPUESTA PARA SISTEMA SIMAT

4.1. Negocio

4.1.1. Punto de Vista de la Organizacion

Figura 4.1: Punto de Vista de la Organizacion

En este punto de vista se presentan los roles involucrados del lado denegocio y sus principales interacciones, en este caso SIMAT la aplicacionpropuesta, el secretario de educacion y los estudiantes.

Page 57: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

4.1. NEGOCIO 47

4.1.2. Punto de Vista del Producto

Figura 4.2: Punto de Vista del Producto

Este diagrama explica un panorama general de la organizacion en dondese va a implementar el aplicativo, se presentan los servicios de negocio de laorganizacion y cual de ellos apoya la solucion propuesta.

Page 58: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

48CAPITULO 4. ARQUITECTURA PROPUESTA PARA SISTEMA SIMAT

4.1.3. Punto de Vista de Proceso de Negocio

Figura 4.3: Punto de Vista de Proceso de Negocio

Este punto de vista detalla el proceso de negocio involucrado directamentecon la solucion propuesta, detalla en terminos coloquiales la secuencia de losprocesos de negocio del servicio que la solucion pretende apoyar.

4.1.4. Punto de Vista Funciones de Negocio

Figura 4.4: Punto de Vista Funciones de Negocio

Page 59: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

4.1. NEGOCIO 49

Las funciones de negocio se presentan en este punto de vista, se detallanlos roles de cada actor involucrado y las funciones que realiza cada uno deellos, esto da un contexto de vital importancia para entender el modelo denegocio.

4.1.5. Punto de Vista de Cooperacion de Negocio

Figura 4.5: Punto de Vista de Cooperacion de Negocio

En este punto de vista el tema central son como todos los actores, quienesson representados por un rol ne negocio interactuan entre si para cumplirun objetivo usando una serie de herramientas las cuales en este ejemploparticular son los dos portales, tanto el de consultas como el de registro.

Page 60: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

50CAPITULO 4. ARQUITECTURA PROPUESTA PARA SISTEMA SIMAT

4.2. Aplicacion

4.2.1. Punto de Vista de Comportamiento de la Apli-cacion

Figura 4.6: Punto de Vista de Comportamiento de SIMAT

El diagrama que representa el punto de vista de comportamiento de laaplicacion revela los componentes de la aplicacion y que funcion cumple cadauno de ellos.

Page 61: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

4.2. APLICACION 51

4.2.2. Punto de Vista de Cooperacion de Aplicacion

Figura 4.7: Punto de Vista de Cooperacion de SIMAT

El punto de vista de cooperacion de la aplicacion presenta en terminosgenerales la agrupacion logica de cada uno de los componentes.

Page 62: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

52CAPITULO 4. ARQUITECTURA PROPUESTA PARA SISTEMA SIMAT

4.2.3. Punto de Vista de Uso de la Aplicacion

Figura 4.8: Punto de Vista de Uso de la SIMAT

El punto de vista de uso de la aplicacion detalla los servicios ofrecidospor todos cada uno de los componentes y como se relacionan con los pro-cesos de negocio. De esta manera es posible entender porque es necesariocada componente dentro del negocio y como apoyar cada proceso desde laaplicacion.

Page 63: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

4.2. APLICACION 53

4.2.4. Punto de Vista de la Estructura de la Aplicacion

Figura 4.9: Punto de Vista de la Estructura de SIMAT

Este diagrama nos muestra la generalidad de las interacciones entre loscomponentes de la solucion propuesta. Nos permite evidenciar que estructuratiene la aplicacion y como se relacionan sus componentes.

Page 64: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

54CAPITULO 4. ARQUITECTURA PROPUESTA PARA SISTEMA SIMAT

4.3. Tecnologıa

Page 65: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

4.4. MOTIVACION 55

4.4. Motivacion

Page 66: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

56CAPITULO 4. ARQUITECTURA PROPUESTA PARA SISTEMA SIMAT

4.5. Migracion

Page 67: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Parte III

CIERRE DE LAINVESTIGACION

57

Page 68: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de
Page 69: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Capıtulo 5

RESULTADOS Y DISCUSION

Como producto principal se propuso el diseno arquitectural de softwarecon el cual se establecen los lineamientos para la construccion de una aplica-cion que minimice las posibilidades de fraude en el proceso de matrıculas.

Al explorar las diversas iniciativas mencionadas en la seccion X.X delestado del arte, se evidencia la manera en que Blockchain se posiciona comouna herramienta en la cual se pueden fundamentar utilidades practicas. Sepodrıa decir que el futuro del desarrollo de software se vera fuertementeinfluenciado y guiado hacia la integracion con sistemas Blockchain.

Un resultado sobresaliente de esta investigacion fue el haber logrado laconstruccion de un prototipo funcional en el que se demuestra como aplicarlas funcionalidades de Blockchain a traves del estandar BlockCerts para unproposito especıfico.

Al hacer la inspeccion del estado del arte, dada la gran diversidad en-contrada, se pudo elaborar como producto adicional un artıculo completoremitido al Workshop Engineering Applications 2018 en el que se detallanvarias de las soluciones de software construidas sobre Blockchain. Cabe acla-rar que todavıa hay muchos trabajos actualmente en curso que seguramenteproduciran muchas soluciones nuevas e ingeniosas.

Finalmente, al haber conocido la propuesta de innovacion transaccionalde Blockchain desde un punto de vista logico y procedimental, se puedeobservar la fuerte controversia que han generado las distintas construccionesde software alrededor de esta tecnologıa, pues muchos de los modelos denegocio tradicionales centralizados han experimentado una serie de eventosinusuales en tanto que los usuarios han empezado a adoptar masivamente eluso de alternativas Blockchain en lugar de soluciones de negocio o soluciones

59

Page 70: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

60 CAPITULO 5. RESULTADOS Y DISCUSION

de software tradicionales. Hay bastante terreno desconocido por explorar, ycon certeza habra bastantes hallazgos importantes en el transcurso futuro delfenomeno Blockchain.

Page 71: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Capıtulo 6

CONCLUSIONES

6.1. Verificacion, contraste y evaluacion de

los objetivos

Objetivo general: Disenar la arquitectura de un sistema de contratosinteligentes, basada en la tecnologıa de Blockchain, que permita la ges-tion del registro de personas en el sistema de educacion colombianopara reducir el riesgo de fraude en el proceso de registro de personasen el sistema de educacion colombiano.

Contraste y evaluacion del objetivo general:

Como resultado de esta investigacion se ha propuesto un diseno arqui-tectural de aplicacion de software, cuya implementacion se deriva dela modificacion y personalizacion del estandar Blockcerts, que a su vezesta planteado como una especializacion de funcionalidad de la Block-chain de Bitcoin. Este diseno arquitectural se encuentra detallado enel capıtulo 4 y contempla las capas de negocio y aplicacion. Posterior-mente en la seccion 6.2 se muestra la sıntesis de esta arquitectura. Unode los mecanismos para evitar fraudes en un sistema de informacionson las auditorıas, las cuales pueden convertirse en un proceso ineficazsi los datos a revisar han sido manipulados de manera que no se detec-ten modificaciones no permitidas. La manera en la que se almacenanlos datos en SIMAT esta soportada por la Blockchain de Bitcoin, porlo cual saca provecho de la propiedad de inmutabilidad para asegurarque la informacion no sea alterada, facilitando la labor de auditorıa y

61

Page 72: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

62 CAPITULO 6. CONCLUSIONES

disminuyendo el riesgo de fraude.

Objetivo especıfico No. 1: Definir los atributos que se van a alma-cenar dentro de la cadena de bloques, usando como guıa modelos dedatos definidos en otras arquitecturas de contratos inteligentes, paracubrir las necesidades informativas que requiere el proceso de registrode estudiantes en el sistema de informacion.

Contraste y evaluacion del objetivo especıfico No. 1:

Despues de describir los campos de datos que han sido incluidos enel estandar Blockcerts en la seccion 3.2, estos seran usados para laemision de certificados de los registros de matrıcula estudiantil. Estaranalmacenados dentro de la Blockchain como un numero hash que losrepresenta de manera unica. En la seccion 2.1.3 se explica cual es elproceso de calculo y almacenamiento de esta informacion haciendo usode los contratos inteligentes. Si se requiere extender la funcionalidad dela informacion consignada en los registros, es posible anadir mas camposal modelo de datos definiendo campos personalizados en la plantilla degeneracion de certificados. Esta tarea se propone como parte de lostrabajos futuros de esta investigacion.

Objetivo especıfico No. 2: Seleccionar el algoritmo operativo de Block-chain que se usara en este sistema, evaluando las caracterısticas queofrecen los distintos algoritmos ya dispuestos, para apoyar efectiva-mente el proceso de registro de personas en el sistema de educacioncolombiano.

Contraste y evaluacion del objetivo especıfico No. 2: En laseccion 3.4 se explican las caracterısticas de los algoritmos operativos deuna Blockchain, y posteriormente se senalan las razones por las cualeslos autores del estandar Blockcerts decidieron utilizar Bitcoin comoimplementacion base. Esta seleccion causa que se adopte de manerainherente el algoritmo operativo propio de esta criptomoneda, es decir,Proof of Work.

Objetivo especıfico No. 3: Disenar la evaluacion de los beneficios deBlockchain sobre la arquitectura propuesta mediante pruebas de “Ethi-cal Hacking” y auditorıas para comprobar las mejoras de seguridad delproceso de registro de personas en el sistema de educacion colombiano.

Page 73: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

6.1. VERIFICACION, CONTRASTE Y EVALUACION DE LOS OBJETIVOS63

Contraste y evaluacion del objetivo especıfico No. 3:

Se enumeraron y explicaron los aspectos de seguridad que se debencomprobar en un trabajo de Hacking Etico y auditorıa en la seccion3.6. Este analisis incluye los criterios de seguridad de la informacion,planteamiento de posibles ataques y un modelo de auditorıa para elsistema SIMAT. Esto con el fin de verificar que efectivamente el ries-go de fraude se vea disminuido al efectuar el proceso de registro deestudiantes apoyado en la herramienta propuesta. Finalmente se pro-pone como trabajo futuro de esta investigacion la definicion, ejecuciony evaluacion de las pruebas de Hacking Etico y auditorıa.

Page 74: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

64 CAPITULO 6. CONCLUSIONES

6.2. Sıntesis del modelo propuesto

EstudianteRegistrador

Viewer

cert-tools

cert-issuer

cert-viewer

SIMAT

Blockchain

SmartContract

Figura 6.1: Modelo Sintetizado

Page 75: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

6.3. APORTES ORIGINALES 65

6.3. Aportes originales

Durante el trabajo de investigacion se diseno una arquitectura de unaaplicacion basada en la tecnologıa Blockchain siguiendo el estandar Block-Certs. Esto implico la personalizacion del estandar seleccionando los datosnecesarios para soportar el registro de estudiantes en el sistema de educacioncolombiano. de igual manera conllevo la construccion de una interfaz graficaque permite usar las funciones dispuestas por el estandar de tal manera quefueran de facil entendimiento a quien no tiene fundamentos de conocimientostecnologicos de Blockchain pero ser beneficiados por sus bondades. SIMATes el componente centrar de la arquitectura y es este quien orquesta el flujode datos y el orden de las instrucciones necesarias para completar la creacion,emision, firmado y verificacion de certificados estudiantiles.

En un ambito conceptual se aporta una arquitectura que asegura quelos datos almacenados permanecen inmutables y pueden ser verificados encualquier momento, todo esto, sin comprometer la confidencialidad de losdatos de los certificados.

6.4. Trabajos o Publicaciones derivadas

Como publicacion derivada se aplico para la publicacion del artıculo”Blockchain: theoretical overview and state of the art of its applications.en

el Workshop on Engineering Applications 2018 (WEA 2018). Articuloque fue resultado de la investigacion pertinente al estudio del estadodel arte.

Page 76: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

66 CAPITULO 6. CONCLUSIONES

Page 77: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Capıtulo 7

PROSPECTIVA DELTRABAJO DE GRADO

7.1. Lıneas de investigacion futuras

Los contratos inteligentes son una herramienta muy poderosa que ac-tualmente beneficia a la tecnologıa de Blockchain ampliando su campode accion, sin embargo no existe un estandar para disenar o implemen-tar los contratos inteligentes. Se propone como linea de investigacionfutura la construccion de dicho estandar.

Se conoce de antemano que el uso de Blockchains incurre en un grancosto energetico, se propone como linea de investigacion un trabajoformal que tenga como objetivo optimizar el uso de recursos energeticospara aplicaciones basadas en Blockchain.

7.2. Trabajos de Investigacion futuros

Es necesario disenar y ejecutar pruebas de Hacking etico necesarias paratener un valor de referencia en terminos de seguridad para aplicacio-nes y herramientas basadas en la tecnologıa de BlockCerts y contratosinteligentes.

67

Page 78: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

68 CAPITULO 7. PROSPECTIVA DEL TRABAJO DE GRADO

Personalizar el estandar BlockCerts para expandir la aplicabilidad deeste a Blockchain que no dependan de criptomonedas tales como Block-chain privadas.

Disenar un sistema de hoja de vida de estudiantes el cual guarde lainformacion de la misma manera que SIMAT lo hace para los certi-ficados. Esto permitirıa no vigilar mas frentes de los proceso llevadosacabo por el ministerio de educacion en Colombia.

Disenar e implementar una integracion con los sistemas actuales conlos que cuenta el sistema de educacion colombiano que permita el usode SIMAT de una manera transparente para el usuario en el procesode registro de estudiantes.

Aplicar la extension de campos de datos personalizados basados enJSON-LD propuesta por el estandar Blockcerts para construir un modu-lo de validacion y prohibicion de datos duplicados, con el fin de mini-mizar las posibilidades de fraude con registros manipulados.

Page 79: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

Bibliografıa

[Arocha, 2017] Arocha, B. A. I. A. (2017). Certificacion digital de documen-tos basada en contratos inteligentes en la tecnologıa blockchain.

[Buchmann et al., 2017] Buchmann, N., Rathgeb, C., Baier, H., Busch, C.,and Margraf, M. (2017). Enhancing breeder document long-term securityusing blockchain technology. In Computer Software and Applications Con-ference (COMPSAC), 2017 IEEE 41st Annual, volume 2, pages 744–748.IEEE.

[Butgereit and Martinus, 2017] Butgereit, L. and Martinus, C. (2017). Acomparison of two blockchain architectures for inspiring corporate exce-llence in south africa. In Information Communication Technology andSociety (ICTAS), Conference on, pages 1–6. IEEE.

[Cano, ] Cano, J. J. Blockchain:“cadena de bloques”. reflexiones sobre segu-ridad y control.

[Chen et al., 2018] Chen, G., Xu, B., Lu, M., and Chen, N.-S. (2018). Ex-ploring blockchain technology and its potential applications for education.Smart Learning Environments, 5(1):1.

[Christidis and Devetsikiotis, 2016] Christidis, K. and Devetsikiotis, M.(2016). Blockchains and smart contracts for the internet of things. IEEEAccess, 4:2292–2303.

[Durant and Trachy, 2017] Durant, E. and Trachy, A. (2017). Digital diplo-ma debuts at mit.

[Grech et al., 2017] Grech, A., Camilleri, A. F., et al. (2017). Blockchain ineducation. Technical report, Joint Research Centre (Seville site).

69

Page 80: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

70 BIBLIOGRAFIA

[Kosba et al., 2016] Kosba, A., Miller, A., Shi, E., Wen, Z., and Papamant-hou, C. (2016). Hawk: The blockchain model of cryptography and privacy-preserving smart contracts. In Security and Privacy (SP), 2016 IEEESymposium on, pages 839–858. IEEE.

[Lin and Liao, 2017] Lin, I.-C. and Liao, T.-C. (2017). A survey of blockchainsecurity issues and challenges. IJ Network Security, 19(5):653–659.

[Mainelli and Smith, 2015] Mainelli, M. and Smith, M. (2015). Sharing led-gers for sharing economies: an exploration of mutual distributed ledgers(aka blockchain technology).

[Mattila et al., 2016] Mattila, J. et al. (2016). The blockchain phenomenon–the disruptive potential of distributed consensus architectures. Technicalreport, The Research Institute of the Finnish Economy.

[Mettler, 2016] Mettler, M. (2016). Blockchain technology in healthcare: Therevolution starts here. In e-Health Networking, Applications and Servi-ces (Healthcom), 2016 IEEE 18th International Conference on, pages 1–3.IEEE.

[Peters et al., 2015] Peters, G., Panayi, E., and Chapelle, A. (2015). Trendsin cryptocurrencies and blockchain technologies: a monetary theory andregulation perspective.

[Sankar et al., 2017] Sankar, L. S., Sindhu, M., and Sethumadhavan, M.(2017). Survey of consensus protocols on blockchain applications. InAdvanced Computing and Communication Systems (ICACCS), 2017 4thInternational Conference on, pages 1–5. IEEE.

[Szabo, 1997] Szabo, N. (1997). Formalizing and securing relationships onpublic networks. First Monday, 2(9).

[Turkanovic et al., 2018] Turkanovic, M., Holbl, M., Kosic, K., Hericko, M.,and Kamisalic, A. (2018). Eductx: A blockchain-based higher educationcredit platform. IEEE Access.

[Wang et al., 2017] Wang, X., Feng, L., Zhang, H., Lyu, C., Wang, L., andYou, Y. (2017). Human resource information management model based onblockchain technology. In Service-Oriented System Engineering (SOSE),2017 IEEE Symposium on, pages 168–173. IEEE.

Page 81: Diseno~ de la arquitectura de un sistema de contratos …repository.udistrital.edu.co/bitstream/11349/13640/1... · 2019-07-26 · Diseno~ de la arquitectura de un sistema de

BIBLIOGRAFIA 71

[Williams-Grut, 2016] Williams-Grut, O. (2016). “guardtime puts 1 millionestonian health records on its ‘industrial blockchain’ - business insider”.

[Wright and De Filippi, 2015] Wright, A. and De Filippi, P. (2015). Decen-tralized blockchain technology and the rise of lex cryptographia.

[Zheng et al., 2016] Zheng, Z., Xie, S., Dai, H.-N., and Wang, H. (2016).Blockchain challenges and opportunities: A survey. Work Pap.–2016.