Implementació d'un sistema de moneda virtual tipus Ripple sobre una xarxa social AUTOR: David Llop Vila DIRECTOR: Maria Ferré Bergadà Adreça electrònica: [email protected] Resum: Descripció del projecte (100 i 300 paraules). Resumen: Descripción del proyecto (100-300 palabras). Abstract: Project summary (100-300 words). Titulació: Enginyeria Tècnica en Informàtica de Gestió (1998) Data Presentació: Juny de 2012. Resum Ripple1 és un projecte sorgit el 2004 amb la intenció de crear un protocol i un programari capaç de modelar les xarxes de confiança existents entre els membres d'una comunitat, per així poder-se fer préstecs els uns als altres a través d'Internet. A les xarxes Ripple, els préstecs no es realitzen sobre moneda real, sinó sobre monedes virtuals basades en la confiança. Els diners que els usuaris tenen o deuen són sempre d'amics que confien amb ells/es, i qualsevol transacció que es vulgui fer amb una persona de no confiança s'ha de fer a través d'una persona que sí confiï amb ell/a. D'aquesta manera es solucionen els problemes de confiança que es generen quan es porten les dinàmiques dels bancs del temps 2 a Internet. Si algú deixa la comunitat i té un deute dins d'aquesta, ara el problema ja no el té la comunitat sencera, sinó les persones que confiaven directament amb ell/a, i això fa que la xarxa sencera sigui molt més fiable. L'objectiu d'aquest projecte és el d'adaptar el concepte del Ripple dins una xarxa social a Internet, per que sigui molt més accessible i natural d'utilitzar per als usuaris d'aquesta. Més concretament es tracta de la implementació d'una extensió pel motor social de codi obert Elgg3, un programari escrit en PHP usat per universitats com la UOC, organitzacions com Intermon Oxfam, o com a intranet per a empreses. La complexitat del projecte es troba en aplicar un algorisme per solucionar el problema del flux màxim4 en una xarxa (teoria de grafs). Fer-ho és imprescindible per conèixer els límits de confiança que té un node, un usuari, dins la xarxa per acceptar o no un flux, una transferència, de crèdit. Per solucionar-ho, s'implementa l'algorisme d'Edmonds-Karp en PHP, a més d'oferir-se una interfície amigable per a tal fi. 1 2 3 4 http://ripple-project.org Xarxa de bancs del temps <http://www.bdtonline.org/> http://elgg.org S. WILF, Herbert. Algorithms and Complexity , p.63-80. Disponible en <http://www.math.upenn.edu/%7Ewilf/AlgoComp.pdf> Resumen Ripple5 es un proyecto surgido en 2004 con la intención de crear un protocolo y un software capaz de modelar las redes de confianza existentes entre los miembros de una comunidad, para así poderse hacer préstamos los unos a los otros a través de Internet. En las redes Ripple, los préstamos no se realizan sobre moneda real, sino sobre monedas virtuales basadas en la confianza. El dinero que los usuarios tienen o deben son siempre de amigos que confían en ellos/as, y cualquier transacción que se quiera hacer con una persona que no sea de confianza se tiene que hacer a través de una persona que sí confíe en el/lla. De esta manera se solucionan los problemas de confianza que se generan cuando se llevan las dinámicas de los bancos del tiempo 6 a Internet. Si alguien deja la comunidad y tiene una deuda dentro de esta, ahora el problema ya no lo tiene la comunidad entera, sino las personas que confiaban directamente en el/lla, y eso hace que la red entera sea mucho más fiable. El objetivo de este proyecto es el de adaptar el concepto del Ripple dentro de una red social en Internet, para que sea mucho más accesible y natural de utilizar para los usuarios de ésta. Más concretamente es trata de la implementación de una extensión para el motor social de código abierto Elgg 7, un software escrito en PHP usado por universidades como la UOC, organizaciones como Intermon Oxfam, o como a intranet para empresas. La complejidad del proyecte es encuentra en aplicar un algoritmo para solucionar el problema del flujo máximo8 en una red (teoría de grafos). Hacerlo es imprescindible para conocer los límites de confianza que tiene un nodo, un usuario, dentro la red para aceptar o no un flujo, una transferencia, de crédito. Para solucionarlo, se implementa el algoritmo de Edmonds-Karp en PHP, además de ofrecerse una interfaz amigable para tal fin. 5 6 7 8 http://ripple-project.org Red de bancos del tiempo <http://www.bdtonline.org/> http://elgg.org S. WILF, Herbert. Algorithms and Complexity , p.63-80. Disponible en <http://www.math.upenn.edu/%7Ewilf/AlgoComp.pdf> Abstract Ripple9 is a project born in 2004 with the intention to create a protocol and software capable of modeling trust networks between members of a community in order to allow them to lend money to each other through the Internet. In Ripple networks, the loans aren't made on real currency, but on virtual currency based on trust. The money we have or owe are always from friends who trust with us, and any transaction you want to do with a person who is trustworthy has to be done throwght a person who does rely on the . This will solve the problems of trust that are generated when we bring the time banks10 dynamics to Internet. In de case someone leaves the community and has a debt under this, now the problem no longer has the entire community, but people who relied directly on him/her, and that makes the entire network more reliable. The goal of this project is to adapt the concept of Ripple within a social network site, to make this much more accessible and natural for users to use it. More specifically it is the implementation of a plugin to the open source social engine Elgg11, software written in PHP and used by universities such as the UOC, organizations such as Intermon Oxfam, or as intranet for businesses. The complexity of project is reach to apply an algorithm to solve the maximum flow problem12 on a network (graph theory). Doing so is essential to know the limits of trust that has a node, a user within the network, to accept or not a flow, a transfer credit. To achieve this, the Edmonds-Karp algorithm is implemented in PHP, and a friendly interface is offered for this purpose. 9 10 11 12 http://ripple-project.org Spanish time bancs network <http://www.bdtonline.org/> http://elgg.org S. WILF, Herbert. Algorithms and Complexity , p.63-80. Available in <http://www.math.upenn.edu/%7Ewilf/AlgoComp.pdf>