Próximo jueves: UOCMeet Data Science

Os recordamos que el próximo día 19 de Abril, Josep Curto, participa como moderador en el evento UOCMeet: Data Science, compartiendo sesión con Mar Cabra y Jose Ramón Cajide.

Data Science es una de las estrategias relevantes para las organizaciones no solo para competir mejor en el mercado actual sino también para ser más eficiente en sus procesos, y conocer mejor a clientes, empleados, proveedores, etc.

Los casos de uso son múltiples y muy variados, y es un tema recurrente en nuestro blog en la que hemos tratado diversas de sus facetas (y ¡las que quedan por explicar!).

En el evento, se tratarán temas como el perfil del científico del dato, sus competencias, roles y profesiones, casos de uso,…  y otros temas que puedan salir en el coloquio a razón de vuestras preguntas que a bien seguro serán muy interesantes.

¡Esperamos veros en este evento presencial y tener la oportunidad de discutir estos temas con nuestros ponentes y asistentes!

Posted in Data Science, Evento | Tagged , | Leave a comment

¿Cómo ha ido la cuarta edición del MOOC de Business Intelligence y Big Data?

Como ya comentamos hace unos meses, hemos realizado la cuarta edición del MOOC de Business Intelligence y Big Data en la plataforma MiriadaX.

Como hicimos con la primera, segunda y tercera edición, es el momento de las reflexiones aprovechando que hemos terminado el pasado lunes.

Hemos compartido, con los estudiantes de esta cuarta edición, siete intensas semanas en hemos aprendido tanto de ellos (de sus intereses, qué hacen, porqué necesitan estos conocimientos y qué más quieren aprender).

Agradecemos profundamente tener la posibilidad de tener este tipo de interacción con tantos estudiantes como los que supone un entorno MOOC y, sobretodo, en un entorno diferente al que tenemos en nuestro campus.

En esta cuarta edición hemos mantenido los contenidos de la tercera edición y simplemente hemos actualizado alguno de los videos de presentación y promoción, y hemos mantenido los contenidos que reflejan los conocimientos que es posible aprender en nuestros programas: el programa propio Máster de Business Intelligence y Big Data,  así como en el Máster Universitario de Data Science, y el futuro grado de ciencia de datos aplicada que ofreceremos en breve (puesto que parece ser que es una de las profesiones más buscadas tal y como nos cuenta Teresa Sancho) aunque debemos ser cautos de no caer en la desilusión en esta profesión por múltiples motivos.

Se han tratado temas que van desde la inteligencia de negocio, la analítica de negocio, big data y data science.

En la siguiente tabla encontraréis los principales datos de seguimiento del curso:

Estadística 2018 2017 2016 2015
Inscripciones 10.897 9.799 31.737 18.339
Inician curso 6.086 6.367 20.717 15.594
Finalizan curso 1.376

(22,72%)

1.487

(23,35%)

5.256

(25,37%)

2.570

(16,48%)

Inician el primer módulo 6.056 6.311 21.124 15.117
Finalizan el primer módulo 3.094 3.177 10.952 6.399
Inician el segundo módulo 3.160 3.417 11.550 7.338
Finalizan el segundo módulo 2.119 2.166 7.706 4.815
Inician el tercer módulo 2.284 2.480 8.543 5.455
Finalizan el tercer módulo 1.695 1.750 6.153 3.341
Inician el cuarto módulo 1.950 2.129 7.369 4.263
Finalizan el cuarto módulo 1.590 1.642 5.767 3.134
Inician el quinto módulo 1.736 1.897 6.700 4.059
Finalizan el quinto módulo 1.436 1.519 5.367 2.925
Mensajes publicados 515 495 980 2.974

Tabla 1. Datos cuantitativos de las ediciones 2015, 2016, 2017 y 2018.

Cabe destacar que los últimos tres años la tasa de rendimiento se ha mantenido por encima del 20%. Por ello, de nuevo, y dentro de la moderación, podemos considerar que son resultados positivos y nos hace mucha ilusión no sólo los resultados actuales sino la visión retrospectiva de la realización del MOOC: más de 10.600 estudiantes han superado nuestras cuatro ediciones. ¡Nuestra más sincera felicitación!

Este año observamos un repunte del interés de estudiantes y como siempre muchos de ellos descubren el curso en las últimas y nos piden si podemos repetir los contenidos que recordamos son los siguientes:

  • 397 minutos de vídeos (más de 6 horas y media) registrados enteramente por el cuerpo docente de la UOC,
  • 244 páginas de material adicional en PDF
  • 17 tests de evaluación de los contenidos y la descarga opcional y gratuita de la primera versión del libro “Introducción al Business Intelligence”.

Damos de nuevo las gracias por la confianza depositada por tantas personas que buscan adquirir nuevos conocimientos, información complementaria o por curiosidad.

¿Qué hemos aprendido en esta edición?

  • Interés transversal: múltiples profesionales se acercan al análisis del dato desde diferentes bagajes profesionales, no en vano todas las profesiones están llamadas a usar las evidencias y los datos para mejorar su toma de decisiones.
  • La plataforma y el soporte: la plataforma elegida es importante y el soporte recibido más. En esta edición debemos felicitar MiriadaX por su excepcional soporte en las incidencias que hemos tenido y que han resuelto con gran celeridad.
  • Data First: hemos hablado ya del concepto,  y las dudas y discusiones con nuestros alumnos nos han dejado patente que sus organizaciones buscan convertirse en nuevas organizaciones.

Otra vez hemos llegado al final y, de nuevo, ya pensamos cuando será el siguiente curso. Conoceremos nuevos estudiantes que esperamos formen parte de nuestra gran familia. Cuando llegue el momento os informaremos de las nuevas fechas.

Posted in Big Data, Business Analytics, Business Intelligence, MOOC | Tagged , , , | Leave a comment

Análisis de datos de privacidad en bitcoin (II)

Trobareu la versió en català més avall.

En el post anterior sobre este tema hemos introducido los componentes tecnológicos más destacados de bitcoin y también vimos brevemente como puede inferirse información del usuario analizando la capa de red. En este post nos centraremos en las técnicas de análisis del grafo de transacciones, las cuales permiten aprovecharse de los links que hay en la blockchain entre el emisor de una transacción y el receptor para ir siguiendo el camino entre transacciones. Así, si en algún punto de este camino podemos averiguar la identidad del usuario, entonces podremos extraer mucha información sobre su actividad económica.

Este tipo de análisis ha probado ser efectivo para extraer información que muchos usuarios creían confidencial. Por ejemplo, en la Figura 1 podemos ver las conexiones entre el creador de Silk Road (marketplace para la compra/venta de drogas, armas y otros artículos ilegales) y un agente de la DEA. Para protegerse en parte de este tipo de análisis, existen unas buenas prácticas al hacer transacciones. Una de las buenas prácticas más extendidas es el uso de direcciones de bitcoin diferentes para cada transacción. Aunque esto parece obvio para no vincular dos pagos diferentes a un mismo usuario, en los primeros años de bitcoin era algo muy normal, y de hecho todavía hay usuarios que lo siguen haciendo.  

 Figura 1: Conexión de transacciones entre el creador de Silk Road y un agente de la DEA condenado por el robo de bitcoins. Fuente Motherboard.

En la Figura 2 podemos ver otro trabajo donde se des-anonimizan transacciones. En este caso los autores clusterizan las transacciones y utilizan otras interacciones que hacen los autores del estudio con los servicios principales relacionados con bitcoin para poder poner nombre a los clusters.

Figura 2: Análisis con clusters que logró poner nombre de servicios a transacciones de bitcoin. Fuente Meiklejohn et al.  

Sin embargo, aunque usemos una dirección de bitcoin diferente para cada transacción, podemos dificultar un poco el rastreo de un pago, pero no lo hacemos imposible, ya que existen muchos otros elementos que pueden revelar información. Por ejemplo, el hecho de que juntemos varias transacciones para poder pagar un artículo caro, para el que no tenemos una sola transacción con el valor necesario, hace que sea probable que las transacciones juntadas sean propiedad de la misma persona. También, nos delatarían hechos como pagos regulares que generen patrones. Por ejemplo, una misma cantidad de bitcoins una vez al mes podría suponer el ingreso de una nómina, o una cantidad menor podría suponer el pago de una cuota (e.g. cuota del gimnasio). Y si un usuario utilizara la transacción recibida con su nómina para pagar el gimnasio, empresa que conoce nuestra identidad, entonces siguiendo el grafo de transacciones el gimnasio puede fácilmente conocer nuestra nómina. De una forma parecida, si una empresa pagara a todos los empleados desde la misma transacción, un empleado podría saber los salarios de sus compañeros, aunque no pudiera vincular exactamente cada salario con un compañero en concreto.   

Para intentar anonimizar un poco las transacciones se suelen usar métodos que se basan en intentar mezclar una transacción en un conjunto de transacciones parecidas y que desde fuera, no se pueda saber qué transacción es de cada usuario. Por ejemplo, los mixers son servicios donde muchas transacciones de varios usuarios se juntan en una sola transacción. Entonces esta transacción tiene como salida multitud de nuevas direcciones que están controladas por los mismos usuarios que aportaron las transacciones de entrada. De esta manera, se han mezclado muchas transacciones de muchos usuarios en un nodo del grafo, lo cual impide que podamos vincular el usuario de una transacción de salida con el de una transacción de entrada concreta. La Figura 3 representa de manera simplificada el funcionamiento de un mixer.

Figura 3: Representación simplificada de un servicio mixer.

Finalmente, destacar que la falta de privacidad en bitcoin ha sido uno de los motivos por el que han aparecido otras criptomonedas, las cuales tienen como característica especial que se focalizan en guardar la privacidad de sus usuarios. Por ejemplo, para que no sean necesarios los mixers, en otras criptomonedas se usan técnicas como las ring signatures (e.g. en Monero) para que cada vez que se haga un pago no se pueda linkar directamente un emisor con un receptor, ya que cada vez que un emisor firma una transacción lo hace mezclando su clave con la de otros usuarios. Esto hace que los mineros puedan validar que la transacción es válida, pero no saber cual de los usuarios es el que realmente ha firmado. Otra criptomoneda popular focalizada en la privacidad es Zcash, la cual utiliza zero knowledge proofs para esconder la identidad de los usuarios. Por mencionar algunas, otras monedas centradas en la privacidad son: Dash, Bytecoin, Pivx o Verge.  

Victor Garcia-Font es profesor de los Estudios de Informática, Multimedia y Telecomunicación de la Universitat Oberta de Catalunya.

 

Anàlisi de dades de privacitat a bitcoin (II)

En el post anterior sobre aquest tema hem introduït els components tecnològics més destacats de bitcoin i també hem vist breument com es pot inferir informació de l’usuari analitzant la capa de xarxa. En aquest post ens centrarem en les tècniques d’anàlisi del graf de transaccions, les quals permeten aprofitar-se dels links que hi ha a la blockchain entre l’emissor d’una transacció i el receptor per anar seguint el camí entre transaccions. Així, si en algun punt d’aquest camí podem esbrinar la identitat de l’usuari, llavors podrem extreure molta informació sobre la seva activitat econòmica.

Aquest tipus d’anàlisi ha provat ser efectiva per extreure informació que molts usuaris creien confidencial. Per Exemple, a la Figura 1 podem veure les connexions entre el creador de Silk Road (marketplace per a la compra / venda de drogues, armes i altres articles il·legals) i un agent de la DEA. Per protegir-se en part d’aquest tipus d’anàlisi, existeixen un conjunt de bones pràctiques a l’hora de realitzar transaccions. Una d’elles és l’ús d’adreces de bitcoin diferents per a cada transacció. Encara que això sembla obvi per a no vincular dos pagaments diferents a un mateix usuari, en els primers anys de bitcoin era una cosa molt normal, i de fet encara hi ha usuaris que ho continuen fent.

Figura 1: Connexió de transaccions entre el creador de Silk Road i un agent de la DEA condemnat per robatori de bitcoins. Font Motherboard.

A la Figura 2 podem veure un altre treball on es des-anonimizen transaccions. En aquest cas els autors clusterizen les transaccions i utilitzen altres interaccions que tenen els autors de l’estudi  amb els serveis principals relacionats amb bitcoin per poder posar nom als clústers.

Figura 2: Anàlisi amb clústers on es posen nom de serveis a transaccions en bitcoin. Font Meiklejohn et al.  

No obstant això, tot i que usem una adreça de bitcoin diferent per a cada transacció, podem dificultar una mica el rastreig d’un pagament, però no ho fem impossible, ja que hi ha molts altres elements que poden revelar informació. Per exemple, el fet que ajuntem diverses transaccions per poder pagar un article car, per al qual no tenim una sola transacció amb el valor necessari, fa que sigui probable que les transaccions ajuntades siguin propietat de la mateixa persona. També, ens delatarien fets com pagaments regulars que generin patrons. Per exemple, una mateixa quantitat de bitcoins un cop al mes podria suposar l’ingrés d’una nòmina, o una quantitat menor podria suposar el pagament d’una quota (e.g. quota del gimnàs). I si un usuari utilitzés la transacció rebuda amb la seva nòmina per pagar el gimnàs, empresa que coneix la nostra identitat, llavors seguint el graf de transaccions al gimnàs pot fàcilment conèixer la nostra nòmina. D’una manera semblant, si una empresa pagués a tots els empleats des de la mateixa transacció, un empleat podria saber els salaris dels seus companys, encara que no pogués vincular exactament cada salari amb un company en concret.

Per intentar anonimitzar una mica les transaccions es solen utilitzar mètodes que es basen en intentar barrejar una transacció en un conjunt de transaccions semblants i que des de fora, no es pugui saber quina transacció és de quin usuari. Per exemple, els mixers són serveis on moltes transaccions de diversos usuaris s’ajunten en una sola transacció. Llavors aquesta transacció té com a sortida multitud de noves direccions que estan controlades pels mateixos usuaris que han aportat les transaccions d’entrada. D’aquesta manera, s’han barrejat moltes transaccions de molts usuaris en un node del graf, la qual cosa impedeix que puguem vincular l’usuari d’una transacció de sortida amb el d’una transacció d’entrada concreta. La Figura 3 representa de manera simplificada el funcionament d’un mixer.

Figura 3: Representació simplificada d’un servei mixer.

Finalment, destacar que la manca de privacitat a bitcoin ha estat un dels motius pels qual han aparegut altres criptomonedes, les quals tenen com a característica especial que es focalitzen en guardar la privacitat dels seus usuaris. Per exemple, perquè no siguin necessaris els mixers, en altres monedes digitals s’usen tècniques com les ring signatures (e.g. en Monero) perquè cada vegada que es faci un pagament no es pugui linkar directament un emissor amb un receptor, ja que cada vegada que un emissor signa una transacció ho fa barrejant la seva clau amb la d’altres usuaris. Això fa que els miners puguin validar que la transacció és vàlida, però no saber quin dels usuaris és el que realment ha signat. Una altra moneda digital popular focalitzada en la privacitat és Zcash, la qual utilitza zero knowledge proofs per amagar la identitat dels usuaris. Per esmentar algunes, altres monedes centrades en la privacitat són:  Dash, Bytecoin, Pivx o Verge.

Victor Garcia-Font és professor des Estudis de Informàtica, Multimèdia y Telecomunicació de la Universitat Oberta de Catalunya.

Posted in bitcoin, Blockchain | Tagged , | Leave a comment

Análisis de datos de privacidad en bitcoin (I)

Trobareu la versió en català més avall.

Aunque el público general tiene la impresión de que el bitcoin es una moneda anónima, esta impresión dista bastante de la realidad de la criptomoneda más popular. En los siguientes dos post sobre este tema, veremos que usando algunas técnicas analíticas podemos inferir información de las transacciones con bitcoins.

Para empezar y situarnos, vamos a dar una pincelada sobre cómo funciona bitcoin. Bitcoin es una moneda virtual que funciona por internet, que está soportada por una estructura de datos denominada blockchain (cadena de bloques), la cual es mantenida y guardada por una gran cantidad de nodos de una red P2P. Los usuarios de bitcoin, cuando desean realizar una transacción, hacen llegar los datos de la transacción a algunos de los nodos de la red P2P, a los que llamamos mineros. Los mineros recopilan las transacciones de varios usuarios y las empaquetan en un bloque que intentan publicar en la blockchain. Cada 10 minutos aproximadamente, se publica un nuevo bloque en la blockchain, con lo que los mineros compiten entre ellos resolviendo pruebas criptográficas para tener el derecho a publicar el siguiente bloque. Como incentivo para que los nodos de la red compitan, el minero que logre publicar el siguiente bloque recibe una recompensa en bitcoins y tiene el derecho a quedarse las comisiones que pagan los usuarios por hacer las transferencias.

En la red de bitcoin existen muchos mineros que reciben muchas transacciones de muchos usuarios diferentes, con lo que cada minero generará un bloque diferente. Por este motivo, entre todos los nodos de la red se ejecuta un protocolo de consenso para decidir qué bloque de qué minero será aceptado por todos y se convertirá en el último bloque publicado de la blockchain. Una de las características esenciales de un nuevo bloque aceptado es que debe incluir el resultado de computar un hash del último bloque ya aceptado, con lo que forma una especie de enlace criptográfico entre bloques. Es por estos enlaces que la estructura de datos de bitcoin se conoce como cadena de bloques (blockchain). Así, esta manera de construir la blockchain hace que sea una estructura de datos inmutable. O sea, podemos añadir nuevas transacciones a la cadena, pero no podemos ni borrar ni modificar transacciones ya existentes, ya que cualquier cambio de los datos ya publicados haría variar el resultado de computar las funciones hash de los bloques modificados, y por lo tanto, los bloques dejarían de quedar enlazados. Además, otra característica importante de bitcoin es que la cadena es pública, con lo que cualquiera puede consultar su contenido (por ejemplo usando exploradores como blockchain.info), y no sólo eso, sino que cualquiera puede desplegar un nuevo nodo en la red para validar las transacciones, verificar que no hay pagos incorrectos y convertirse en un minero.

Además, también es necesario saber que las transacciones en bitcoin pueden tener varias entradas y varias salidas. Así, las transferencias de bitcoins entre usuarios se construyen gastando salidas de transacciones previas que ya estuvieran registradas en la blockchain. Por ejemplo, si un usuario A es propietario de una transacción con una sola salida, a la que nos referiremos como T1[0], por valor de 4 bitcoins y otra T2[0] por valor de 6 bitcoins, entonces podría comprar algo en un e-commerce por 7 bitcoins juntando T1[0] y T2[0], con lo que construiría una transacción T3 con estas dos entradas que tendría un valor de 10 bitcoins. Entonces, esta nueva transacción T3 tendría dos salidas: T3[0] con un valor de 7 bitcoins y otra T3[1] con valor de 3 bitcoins. Así, podría asignar T3[0] a una dirección de bitcoin del e-commerce y T3[1] a una dirección controlada por el propio usuario. De esta manera cuando se incluyera T3 en la blockchain el usuario habría transferido los 7 bitcoins al e-commerce y se habría transferido 3 a él mismo.

En este punto del artículo, ya podemos plantearnos cuestiones de anonimidad y privacidad en este sistema. Primero, aclarar que bitcoin no es anónimo, sino que es pseudoanónimo, ya que en vez de usar nuestra identidad en las transacciones, lo que se usa es una dirección extraída de una clave pública que actúa como un alias nuestro. Además, como hemos visto antes, la blockchain es pública y los datos no se guardan encriptados, así que tampoco podemos decir que bitcoin es privado ya que, observando las transacciones, es posible ver directamente datos con el valor de las transacciones y los pseudónimos del emisor y del receptor. De esta manera, si en algún punto alguien consigue vincular una dirección de bitcoin con un usuario, entonces es posible estirar la cadena y acabar descubriendo incluso más información que, posiblemente, al usuario le gustaría mantener confidencial, como por ejemplo, su balance o el origen del dinero.

Sabiendo todo esto, vamos a ver qué técnicas podemos usar para inferir información de la blockchain de bitcoin más allá de la información obvia de una transacción que podemos observar directamente observando la cadena de bloques. Básicamente, hay dos tipos de técnicas para extraer información: técnicas de des-anonimización en la capa de red y técnicas basadas en el análisis del grafo de transacciones. Las primeras técnicas se basan en usar la información transmitida en la capa de red del protocolo para inferir información del usuario. Al enviar las transacciones a los nodos de la red P2P, el usuario está también enviando información de su IP. Por lo tanto, aprovechando otras conexiones a otros servicios (e.g. Facebook) hechas desde la misma IP, un adversario podría fácilmente des-anonimizar a un usuario. Adversarios que podrían tener acceso a este tipo de información son ISPs o nodos maliciosos de la red de bitcoin. Estos problemas de privacidad en la capa de red han sido estudiados ampliamente y se han presentado soluciones como el uso de Tor, aunque para realizar pagos con bitcoin se han reportado algunos problemas con este sistema, problemas que van más allá del ámbito de este post.

Y por hoy, con esta introducción al problema, ya tenemos suficiente. En el siguiente post dedicado a este tema veremos la parte más interesante, las técnicas de análisis del grafo de las transacciones.

Victor Garcia-Font es profesor de los Estudios de Informática, Multimedia y Telecomunicación de la Universitat Oberta de Catalunya.

 

Anàlisi de dades de privacitat a bitcoin (I)

Tot i que el públic general té la impressió que el bitcoin és una moneda anònima, aquesta impressió dista bastant de la realitat de la criptomoneda més popular. En els propers dos post sobre aquest tema veurem que, usant algunes tècniques analítiques, podem inferir informació de les transaccions amb bitcoins.

Per començar i situar-nos, farem una pinzellada sobre com funciona bitcoin. Bitcoin és una moneda virtual que funciona per internet i que està suportada per una estructura de dades anomenada blockchain (cadena de blocs), la qual és mantinguda i guardada per una gran quantitat de nodes d’una xarxa P2P. Els usuaris de bitcoin, quan volen realitzar una transacció, fan arribar les dades de la transacció a alguns dels nodes de la xarxa P2P, als quals anomenem miners. Els miners recopilen les transaccions de diversos usuaris i les empaqueten en un bloc que intenten publicar a la blockchain. Cada 10 minuts, aproximadament, es publica un nou bloc a la blockchain, de manera que els miners competeixen entre ells resolent proves criptogràfiques per tenir el dret a publicar el següent bloc. Com a incentiu perquè els nodes de la xarxa competeixin, el miner que aconsegueixi publicar el següent bloc rep una recompensa en bitcoins i té el dret a quedar-se les comissions que paguen els usuaris per fer les transferències.

A la xarxa de bitcoin hi ha molts miners que reben moltes transaccions de molts usuaris diferents, de manera que cada miner generarà un bloc diferent. Per aquest motiu, entre tots els nodes de la xarxa s’executa un protocol de consens per decidir quin bloc de quin miner serà acceptat per tots i es convertirà en l’últim bloc publicat de la blockchain. Una de les característiques essencials d’un nou bloc acceptat és que ha d’incloure el resultat de computar un hash de l’últim bloc ja acceptat, de manera que es forma una espècie d’enllaç criptogràfic entre blocs. Per aquests enllaços, l’estructura de dades de bitcoin es coneix com a cadena de blocs (blockchain). Així, aquesta manera de construir la blockchain fa que sigui una estructura de dades immutable. O sigui, podem afegir noves transaccions a la cadena, però no podem ni esborrar ni modificar transaccions ja existents, ja que qualsevol canvi de les dades ja publicades faria variar el resultat de computar les funcions hash dels blocs modificats i, per tant, els blocs deixarien de quedar enllaçats. A més, una altra característica important de bitcoin és que la cadena és pública, de manera que qualsevol pot consultar el seu contingut (per exemple usant exploradors com blockchain.info), i no només això, sinó que qualsevol pot desplegar un nou node a la xarxa per validar les transaccions, verificar que no hi ha pagaments incorrectes i esdevenir un miner.

A més, també cal saber que les transaccions en bitcoin poden tenir diverses entrades i diverses sortides. Així, les transferències de bitcoins entre usuaris es construeixen gastant sortides de transaccions prèvies que ja estiguessin registrades a la blockchain. Per exemple, si un usuari A és propietari d’una transacció amb una sola sortida, a la qual ens referirem com T1 [0], per valor de 4 bitcoins i una altra T2 [0] per valor de 6 bitcoins, llavors podria comprar alguna cosa en un e-commerce per 7 bitcoins ajuntant T1 [0] i T2 [0], de manera que construiria una transacció T3 amb aquestes dues entrades que tindria un valor de 10 bitcoins. Aquesta nova transacció T3 tindria dues sortides: T3 [0] amb un valor de 7 bitcoins i una altra T3 [1] amb valor de 3 bitcoins. Així, podria assignar T3 [0] a una adreça de bitcoin de l’e-commerce i T3 [1] a una adreça controlada pel propi usuari. D’aquesta manera, quan s’inclogués T3 a la blockchain, l’usuari hauria transferit 7 bitcoins a l’e-commerce i s’hauria transferit 3 a ell mateix.

En aquest punt de l’article, ja podem plantejar qüestions d’anonimitat i privacitat en aquest sistema. Primer, aclarir que bitcoin no és anònim, sinó pseudoanònim, ja que en comptes d’usar la nostra identitat en les transaccions, el que es fa servir és una adreça extreta d’una clau pública que actua com un àlies nostre. A més, com hem vist abans, la blockchain és pública i les dades no es guarden xifrades, així que tampoc podem dir que bitcoin és privat, ja que observant les transaccions és possible veure directament dades amb el valor de les transaccions i els pseudònims de l’emissor i del receptor. D’aquesta manera, si en algun punt algú aconsegueix vincular una adreça de bitcoin amb un usuari, llavors és possible estirar la cadena i acabar descobrint fins i tot més informació que, possiblement, a l’usuari li agradaria mantenir confidencial, com ara, el seu balanç o l’origen dels diners.

Sabent tot això, veiem ara quines tècniques podem utilitzar per inferir informació de la blockchain de bitcoin més enllà de la informació òbvia d’una transacció, que podem observar directament observant la cadena de blocs. Bàsicament, hi ha dos tipus de tècniques per extreure informació: tècniques de des-anonimització a la capa de xarxa i tècniques basades en l’anàlisi del graf de transaccions. Les primeres tècniques es basen en utilitzar la informació transmesa a la capa de xarxa del protocol per inferir informació de l’usuari. En enviar les transaccions als nodes de la xarxa P2P, l’usuari està també enviant informació de la seva IP. Per tant, aprofitant altres connexions a altres serveis (e.g. Facebook) fetes des de la mateixa IP, un adversari podria fàcilment des-anonimitzar a un usuari. Adversaris que podrien tenir accés a aquest tipus d’informació són ISPs o nodes maliciosos de la xarxa de bitcoin. Aquests problemes de privacitat a la capa de xarxa han estat àmpliament estudiats i s’han presentat solucions com l’ús de Tor, encara que per realitzar pagaments amb bitcoin s’han reportat alguns problemes amb aquest sistema, problemes que van més enllà de l’àmbit d’aquest post.

I per avui, amb aquesta introducció al problema, ja en tenim suficient. En el següent post dedicat a aquest tema veurem la part més interessant, les tècniques d’anàlisi del graf de les transaccions.

Victor Garcia-Font és professor des Estudis de Informàtica, Multimèdia y Telecomunicació de la Universitat Oberta de Catalunya.

Posted in bitcoin, Blockchain | Tagged , | Leave a comment

Buscamos colaboradores docentes

Los Estudios de Informática, Multimedia y Telecomunicación de la UOC desean incorporar colaboradores/as para su actividad docente. El trabajo de colaborador/a docente se basa en la experiencia y en la práctica profesional actualizada. La UOC necesita profesionales que, por el hecho de llevar a cabo una actividad principal relacionada con el tema objeto de la convocatoria, puedan ofrecer una colaboración de calidad a tiempo parcial. Por lo tanto, la existencia de una actividad principal es un requisito imprescindible pera poder participar en el proceso de selección

Grado de Ingeniería Informática

Grado de Multimedia

Grado de Tecnologías de Telecomunicación

Máster universitario de Aplicaciones Multimedia

Máster universitario de Ciencia de datos (data science)

Máster universitario de Desarrollo de Aplicaciones para Dispositivos Móviles

Máster universitario de Ingeniería de Telecomunicaciones

Másters y postgrados

  • Área de Informática, Multimedia y Telecomunicaciones. Fundamentos de Business Intelligence: Castellano
  • Área de Informática, Multimedia y Telecomunicaciones. Máster de Ciencia de Datos [Tipología y Ciclo de Vida de los Datos]: Catalán/Castellano

Máster de Business Intelligence

Máster de Diseño y desarrollo de videojuegos

Máster de Industria 4.0

  • Desarrollo de sistemas ciberfísicos: Castellano

Tutoría

  • Grado de Tecnologías de Telecomunicación: Catalán/Castellano
  • Máster interuniversitario de seguridad de las tecnologías de la información y de las comunicaciones: Castellano
  • Máster universitario de Ciencia de datos (data science): Catalán/Castellano
  • Máster universitario de Desarrollo de aplicaciones para dispositivos móviles: Catalán/Castellano

¿Te animas a formar parte de nuestro equipo?

Posted in Docencia, UOC | Tagged , | Leave a comment

Ha llegado el momento de elevar IA a estrategia de país

Este tema no es nuevo. Hemos hablado ya anteriormente de nuevos roles analíticos en la administración pública y de cómo diferentes países están desplegando sus estrategias en el ámbito de inteligencia artificial ya sea con nuevos roles, creando un ministerio o habilitando nuevas partidas de presupuesto. Pero es necesario volver al mismo por su importancia y, sobretodo, porque en estos lares las empresas están por la faena pero la administración tiene el punto de mira en otros aspectos.

Me repito. Es necesario volver a este tema y no considerarlo como baladí. Y sobretodo tras el anuncio de la nueva estrategia de Francia para con respecto la inteligencia artificial y la entrevista a Emmanuel Macron en Wired sobre el tema. Cuando las barbas de tu vecino veas cortar pon las tuyas a remojar.

En esencia no se trata de un mero ejercicio de artificio para llamar la atención sino una clara declaración de intenciones para competir con países que o bien ya están liderando la carrera (Estados Unidos y China), países con un pool de talento enorme (India), países con una marcada estrategia para atraer talento (Singapore) o países que inician su estrategia (Canada o Emiratos).

¿Qué haces?

  • Primero te informas. Desde hace tiempo. Con expertos, eventos, y todo lo que sea necesario. Saber dónde se puede aplicar y en qué grado. Diferenciar la ciencia ficción de la realidad. Y entender que se trata de ampliar las capacidades y convertir IA en un generador de puestos de trabajos.
  • Coger el toro por los cuernos. Considerar que esta revolución no solo es tecnológica sino política. Y tiene el poder de cambiar muchos de los servicios públicos, entre ellos eHealth, punto en el que tenemos la mirada puesta en la UOC con el eHealth Center.
  • Habilitar recursos. Este tipo de iniciativas no debe quedarse solo en palabras (que se las lleva el bien). Y que mejor que habilitar una partida significativa de dinero para investigación, startups y atraer talento.

Por mi trabajo tengo la oportunidad de viajar a múltiples países y conocer de primera mano en qué situación se encuentran dichos países. Más y más países están empezando a dar sus pasos y considerando que su agenda política pasa por tener en consideración la inteligencia artificial (y demás estrategias de datos), aunque queda mucho camino por recorrer.

Sinceramente, espero que ésta sea una iniciativa que tenga éxito y que sea replicada por otros países ya no solo para diseñar políticas basadas en evidencias sino transformar profundamente los servicios de un país y su tejido empresarial.

Posted in Artificial Intelligence, Data Driven | Tagged , | Leave a comment

El poder (oculto) de la minoría

Los que me conocen personalmente saben que mi visión de la analítica se fundamenta en la combinación de disciplinas. Muchas de ellas dispares y que suelo encajar dentro del marco mental que uso para la comprensión de estas disciplinas.

Hablemos de la intersección de customer analytics y pensamiento analítico (y algunas gotas de condimento más, claro no me puedo contener). Temas que como ya sabéis tratamos en nuestros programas.

Frecuentemente estamos acostumbrados a pensar en términos de grandes números y de medidas de centralización (como la media, la moda y la mediana). Creemos que muchas de las cosas que suceden se rigen por esos grandes números (de hecho estamos siempre buscando patrones, aunque no nos demos cuenta). En muchas organizaciones, suelen pensar en que su segmentación de clientes (y otros procesos de negocio dentro de su organización) viene condicionada por este tipo de magnitudes.

Sin embargo, cuando empezamos a considerar atributos sociales y de comportamiento, hay situaciones en que las preferencias de un grupo minoritario (no en el sentido político que induce a errores sistemáticos de interpretación lo que es mayor o menor por la regla de agregación, sino simplemente por cantidad de individuos) son las que se imponen al resto.

Si nos paramos un momento esto puede parecer sorprendente e incluso contra-intuitivo, hay lo que podríamos llamar la regla de la minoría. Esta regla consiste en que un grupo de menor tamaño presenta unas preferencias restrictivas (que deben cumplirse de forma obligatoria) y que para el resto de grupos no suponen un problema, de forma que cuando se mezclan todos en una misma muestra (o incluso población), las preferencias restrictivas se imponen.

Para que quede claro esta regla consideremos un ejemplo.

Imaginemos que hacemos una fiesta de cumpleaños para nuestra hija en la que invitamos no solo a sus compañeros de clase y vecinos, sino también a sus padres. Como queremos ser buenos anfitriones preguntamos por las alergias y otras preferencias alimentarias de los niños. En un amplio grupo de personas es fácil encontrarse con alergias múltiples (como por ejemplo a los cacahuetes, a los lácteos o al gluten) así como vegetarianos, veganos, etc.

¿Qué vamos a hacer? Puesto que no queremos estar todo el rato vigilando constantemente a los niños (ni qué comen ni qué hacen) y tampoco queremos ir a emergencias, de forma natural, vamos a considerar una serie de productos (alimentos, bebidas, etc) en la fiesta que eviten a toda costa las alergias detectadas. Hemos aplicado a todo el grupo una regla que aplica solo a una minoría de personas en la fiesta.

A este proceso (las preferencias de un subconjunto afectan a todo el conjunto) lo llamamos renormalización del grupo.

Este tipo de fenómenos es más normal de lo que suponemos y podemos verlos en acción en múltiples ámbitos (fiestas, restaurantes, retail,… y sí, porque lo estáis pensado, incluso política).

Imaginemos ahora que tenemos una cafetería/panadería orientada al dato. ¿Qué significa eso? Que tenemos sistemas de captación de los datos relevantes para el negocio, así como las preferencias de los usuarios. Imaginemos que nuevos vecinos se han movido al barrio y que tiene alergias múltiples: gluten, lácteos, etc.

Gracias a nuestros sistemas de registro hemos detectado que estos nuevos clientes son regulares. Toman su café (en la variedad que sea) combinado un tipo de leche (que no afecta a su alergia). Al cabo del tiempo, por su regularidad, empezamos a detectar que hay un nuevo tipo de cliente en nuestro negocio: regulares, que solo consume productos no alérgicos – en caso de tenerlos -,… y con potencial para incrementar su CLV (Customer Lifetime Value), al haberlo cruzado con datos del barrio en el que viven.

Este nuevo grupo abre la puerta a una decisión interesante. Si queremos mejorar el CLV de estos clientes, ¿qué debemos hacer? Una respuesta sencilla es tener más productos que no les produzcan alergia. La siguiente pregunta que nos podemos hacer es: ¿es esto factible? ¿Qué significa para una panadería por ejemplo producir productos sin gluten? Significa que hay una cocina que no permite la contaminación cruzada. ¿Tiene sentido o es posible tener dos entornos para diferentes productos?

Paremos un momento. Ya me imagino que estáis pensando que todo este esfuerzo mental ya no solo se trata un ejercicio de marketing para incrementar las ventas. En efecto, hemos pasado de la analítica de cliente a las operaciones y nos estamos preguntando si podemos permitirnos dos líneas de producción en nuestro establecimiento. Dependiendo del tamaño, no será factible. En dicho caso, nuestra lógica de pensamiento puede llevaros a la siguiente idea: ¿es posible tener una linea de producción para la panadería que sea amigable para todos? Y aquí lo tenemos, de repente estamos pensando en aplicar las restricciones de la minoría sobre la mayoría (en este caso por razones comerciales).

Por ello no es sorprendente ver, en algunos países, cada vez más cafeterías o restaurantes que no solo son amigables para personas con alergias, sino que en realidad ya todo lo que cocinan sigue la misma restricción (para reducir las complejidad en las operaciones). Y entonces todo el mundo consume productos sin gluten (incluso sin saberlo).

Ahora os recomiendo que volváis a vuestras empresas e intentéis detectar escenarios donde la regla aplicada ha sido la regla de la minoría. Es posible que os quedéis más que sorprendidos de la multitud de casos que encontramos.

Posted in Customer Analytics, Pensamiento Analítico | Tagged , | Leave a comment

Segmentación de vídeo en tiempo real

En una entrada del blog Informática++ os hablé sobre la segmentación semántica y el salto que se estaba dando desde el procesado original de imágenes al procesado de vídeos, con la extensión de benchmarks en nuevos conjuntos de datos como Cityscapes y, especialmente, DAVIS.

Recientemente, Google Research ha anunciado en su blog de investigación el lanzamiento de un algoritmo de segmentación de vídeo que funciona en tiempo real para dispositivos móviles. Aunque en la entrada anterior introdujimos el concepto de segmentación semántica, que tiene como finalidad dividir la imagen en regiones y asignarles una categoría semántica de un conjunto (por ejemplo, coche, persona, perro, tren, avión, etc.), el algoritmo de segmentación que nos trae Google en este caso es el que se conoce como foreground-background segmentation.

El problema de segmentación foreground-background consiste en diferenciar los píxeles de la imagen que pertenecen al objeto de primer plano (foreground) de los píxeles de la imagen que forman el fondo (background). Concretamente, la aplicación desarrollada está diseñada para que el usuario grabe un vídeo de él mismo (selfie story) y pueda hacer una edición automática del vídeo de forma que se le permite cambiar el fondo según varias temáticas predefinidas (día, noche, luz de estudio, etc.).

Ejemplo de segmentación de vídeo. Fuente: Google Research Blog

¿Cómo ha desarrollado Google este algoritmo de segmentación de vídeo? Pues como en la mayoría de casos de éxito de técnicas de deep learning, hay dos elementos que son clave en el entrenamiento de los modelos: una buena base de datos y una arquitectura adecuada para entrenar el modelo. La base de datos que se ha utilizado no es pública o, al menos, no se menciona. Únicamente se menciona que se trata de una base de datos que incluye decenas de millares de imágenes que abarcan un amplio espectro de posibles posturas de las personas (foreground) y en distintos escenarios o fondos (background). Los píxeles de cada una de estas imágenes han sido etiquetados o bien como una de las subcategorías semánticas en que se ha dividido la categoría foreground (cabello, cejas, piel, gafas, orificios nasales, labios, ojos u otras) o bien como background, tal y como se ilustra en la siguiente imagen.

Anotaciones de las imágenes de la base de datos. Fuente: Google Research Blog

Para conseguir una continuidad o consistencia temporal en los frames (cada imagen de una secuencia de vídeo recibe el nombre de frame), las técnicas del estado del arte suelen estar basadas en arquitecturas LSTM (Long short-term memory) o GRU (Gated Recurrent Units). Estas son algunas de las configuraciones que suelen usarse en las redes neuronales recurrentes (RNN, Recurrent Neural Networks), en las que el modelo tiene memoria interna y tiene en consideración los elementos procesados anteriormente en una serie temporal, como por ejemplo una secuencia de imágenes en un vídeo (caso que nos ocupa) o una secuencia de palabras en un texto.

El inconveniente de estas arquitecturas es que suelen tener una coste computacional elevado, cosa que no las hace factibles para ser usadas en tiempo real en un dispositivo móvil. Por este motivo, para el desarrollo de esta aplicación se ha optado por una arquitectura distinta, concretamente basada en la arquitectura de Stacked Hourglasses, un tipo de Red Neuronal Convolucional (CNN, Convolutional Neural Network) típicamente usada en arquitecturas de tipo codificador-decodificador (encoder-decoder) con skip connections, que permite reducir la resolución y posteriormente incrementarla perdiendo el mínimo de detalle posible. Esta arquitectura ha sido entrenada con imágenes de 4 canales donde el cuarto canal es una máscara binaria que representa la segmentación de foreground-background del frame anterior. Durante el entrenamiento del modelo, como se dispone del ground truth, se puede utilizar la anotación que se tiene del frame anterior. En cambio, cuando se usa el modelo en predicción, es la predicción que ha hecho el modelo del frame anterior la que se usa como cuarto canal de entrada para la predicción de la segmentación del siguiente frame. Los otros 3 canales de entrada son los canales RGB de la imagen a segmentar.

Así pues, ya vemos cómo empiezan a llegar a nuestro día a día posibles aplicaciones de segmentación de vídeo. Pero, sin duda, llegarán todavía muchas más, con entornos no tan controlados como un video selfie, ya que históricamente también fueron los detectores de caras y, posteriormente, de personas, los que dieron mejores resultados aplicados a imágenes. La inversión que están realizando grandes compañías en el desarrollo de vehículos de conducción autónoma se plasmará en una mejora significativa de las técnicas de segmentación semántica en vídeo.

Esta entrada se publicó originalmente en el blog Informática++.

Carles Ventura es profesor de los Estudios de Informática, Multimedia y Telecomunicación de la Universitat Oberta de Catalunya (UOC). Doctor por la Universitat Politècnica de Catalunya (UPC), imparte cursos de inteligencia artificial y sus principales intereses en investigación se focalizan en el reconocimiento y detección de objetos y la segmentación semántica de imágenes. Es miembro del grupo de investigación SUnAI (Scene Understanding and Artificial Intelligence).

Posted in Deep Learning | Tagged , , , | Leave a comment

Inicio de Curso – Master en Inteligencia de Negocio y Big Data

Iniciamos en breve (próximo día 14 de Marzo) el siguiente semestre de nuestros programas en Inteligencia de Negocio y Big Data.

Primero de todo es necesario dar la bienvenida a los nuevos estudiantes que inician sus primeros pasos en nuestro programa y van aprender y consolidar conocimientos en las áreas de inteligencia de negocio y big data, dos de las áreas de mayor proyección dentro de las organizaciones. Como siempre comentamos va a ser una carrera de fondo, donde sin pausa vamos a ir profundizando en múltiples aspectos en función de la especialización, el posgrado o el master.

He tenido la oportunidad de hablar directamente con algunos de nuestros nuevos estudiantes y me consta sus ganas por empezar estos estudios, aplicar los conocimientos en sus respectivas empresas e instituciones y dar apoyo en el largo camino hacia una organización orientadas al dato. Me repito: no solo se trata de implementar plataformas, aprender herramientas o mejorar la toma de decisiones, sino transformar profundamente el enfoque de las empresas, cómo trabajan en el día a día.

También quiero volver a dar la bienvenida a los estudiantes que continuan sus estudios con nosotros y reemprenden su camino de aprendizaje tras un breve espacio de descanso. Recuperamos fuerzas y volvemos a la carrera.

Mantenemos la estructura del programa y sus asignaturas como ya explicamos en este artículo y ya estamos trabajando en novedades que anunciaremos a su debido tiempo tanto en nuestro programa como en el ámbito al que pertenecemos.

Como director académico y también profesor responsable ya tengo ganas de empezamos. En cada edición es interesante tanto en sus contenidos, sus discusiones, y sus actividades, y en lo que me gusta denominar la guinda del pastel que suelen ser los trabajos finales.

¡Nos encontramos en breve en el campus!

Posted in Big Data, Business Intelligence, Data Driven | Tagged , , | Leave a comment

Job Offer: Junior Data Analyst at UOC

Junior Data Analyst position

Open Evidence, an spin-off, and the TESLA project , an European project, are seeking for a Junior Data Analyst to participate in projects and activities related to data analysis working in close collaboration with Data Architects and Senior Data Analysts.

More information: http://open-evidence.com/data-analyst-position/

Àngels Rius es profesora del Máster en Business Intelligence y el Máster en Data Science de la UOC, así como del área de bases de datos de los Estudios de Informática Multimedia y Telecomunicación. Actualmente su investigación se enmarca en el ámbito del eHealth.

Posted in Uncategorized | Leave a comment