A New Completely Decentralized Communication System Over IP

Total Page:16

File Type:pdf, Size:1020Kb

A New Completely Decentralized Communication System Over IP Bachelor’s Degree Thesis A New Completely Decentralized Communication System Over IP Nicholas Helke August 4, 2013 Prof. Stephan Robert HEIG-VD Nicholas Helke Abstract The Internet Protocol (IP) was designed to be resilient to topology changes. It should therefore be possible to build a resilient communication system on top of IP, in fact consumer communication systems deployed today all rely to some extend on central servers. This makes these communication systems vulnerable should the central servers become unreachable for any reason. This memoir proposes a strategy for new communication system over IP that is com- pletely decentralized, i.e. that doesn’t rely on central servers at all. This strategy uses the BitTorrent network’s Distributed Hash Table (DHT) (which is based on Kademlia) to map users to IP addresses in a completely decentralized manner. An application net- work protocol and a proof of concept software application which implement the pro- posed strategy are also discussed in this memoir. V2 i ii Nicholas Helke Terms of reference The purpose of the bachelor’s degree project of which this memoir is the report is to produce a new completely decentralized communication system over Internet Protocol (IP). The key words in [3] are to be interpreted in the context of this chapter as they are defined in said document. The development of this new system is divided into two parts: 1. A theoretical strategy for establishing a communication over IP in a completely decentralized manner. This strategy must meet the following requirements: a) The strategy must enable a conforming implementation to establish a point- to-point connection over IP between two nodes with public Internet Protocol Version 4 (IPv4) addresses where the user need only know the public key of participating node he wishes to contact. b) The strategy can not rely on a central server to establish a mapping from pub- lic keys to IPv4 address, i.e. the strategy must be “pure” Peer-to-Peer (P2P) according to Definition 2 of [29] c) A central seeding server or list of servers may be used to seed fresh instal- lations of a conforming implementation with the necessary information to join the system. Once a fresh node has been seeded however, it must be able to continue to function without ever relying on the seeding server or servers again. d) The strategy must be resilient in the face of network splits, i.e. communica- tion must remain possible within the each subnets after the split. e) The strategy must enable an established connection to transport arbitrary data (e.g. text, voice, video or files) in both directions between the nodes. f) The strategy may employ a variety of other strategies in order to extend the applicability of this strategy to nodes behind firewalls and/or Network Ad- dress Translation (NAT). 2. A practical implementation of the above strategy in the form of a proof of concept software application and associated application network protocol. This proof of concept application and network application protocol must meet the following requirements: a) The network application protocol must be architecture, platform and lan- guage agnostic. V2 iii b) The network application protocol must allow for text communication and must be extendible to support arbitrary forms of communication (e.g. voice, video or files). This may be achieved by building feature negotiation into the protocol. c) The proof of concept application must support Linux and may use any Graph- ical User Interface (GUI) available on the platforms it supports. iv Nicholas Helke Contents 1. Introduction 1 2. Existing works 3 2.1. Bitmessage .................................... 3 2.2. Completely decentralised DNS ........................ 4 2.2.1. Dot-P2P ................................. 4 2.2.2. Namecoin ................................ 5 3. Challenges of Completely Decentralised Communication 7 3.1. Finding Peers in a Completely Decentralised Manner ........... 7 3.1.1. Decentralised data storage ....................... 7 3.1.2. BitTorrent’s Mainline DHT ...................... 9 3.1.3. Kademlia ................................ 10 3.2. Establishing the connection .......................... 14 3.3. Security ...................................... 16 3.3.1. Obfuscation ............................... 16 3.3.2. Handshake ............................... 18 3.3.3. Encryption ................................ 19 3.3.4. Web of Trust ............................... 19 3.4. Ensuring resilience to topology changes ................... 20 4. Implementation 23 4.1. Designing the program’s architecture and choosing a programming lan- guage ....................................... 23 4.2. Reference implementation’s application architecture ............ 26 4.3. Finding peers .................................. 27 4.4. Establishing a connection ........................... 31 4.4.1. Using SSDP and UPnP to create port mappings in compatible routers 31 4.4.2. On not implementing PCP née NAT-PMP .............. 39 4.4.3. Confronting our hypotheses with reality .............. 39 4.5. Security ...................................... 41 4.5.1. Public Key Infrastructure ....................... 41 4.5.2. Adapting the handshake to symmetric NAT initiators ....... 41 4.6. Communication protocol ............................ 42 4.6.1. Basic protocol .............................. 42 4.6.2. Extending the protocol ......................... 43 V2 v Contents 5. Conclusion 47 Bibliography 49 Acronyms 53 Appendices A. Dictator Breaker User Manual A1 A.1. How to run .................................... A1 A.2. Command line flags ............................... A1 B. Dictator Breaker Code B1 B.1. go.nhelke.com/dictator-breaker/main.go .................. B1 B.2. go.nhelke.com/dictator-breaker/ws.go ................... B7 B.3. go.nhelke.com/dictator-breaker/messaging/message.go ......... B9 B.4. go.nhelke.com/dictator-breaker/messaging/message_test.go ...... B10 B.5. go.nhelke.com/dictator-breaker/security/openpgp.go .......... B10 B.6. go.nhelke.com/dictator-breaker/security/openpgp_test.go ........ B14 B.7. go.nhelke.com/dictator-breaker/views/chat.html ............. B15 B.8. Known issues .................................. B17 C. GoUPNPc C1 C.1. github.com/nhelke/goupnpc/README.mdown ............. C1 C.2. github.com/nhelke/goupnpc/cmd.go .................... C2 C.3. github.com/nhelke/goupnpc/goupnp/goupnp.go ............ C3 C.4. github.com/nhelke/goupnpc/goupnp/goupnp_test.go .......... C9 C.5. github.com/nhelke/goupnpc/goupnp/backend.go ............ C10 C.6. github.com/nhelke/goupnpc/goupnp/backend_test.go ......... C14 C.7. github.com/nhelke/goupnpc/goupnp/ssdp.go .............. C15 C.8. github.com/nhelke/goupnpc/goupnp/ssdp_test.go ........... C19 C.9. Known issues .................................. C21 D. Patches submitted to open source projects D1 D.1. Patch submitted to github.com/nictuku/dht ................ D1 D.2. Patch submitted to github.com/monnand/dhkx .............. D5 E. GNU General Public License Version 2 E1 vi Nicholas Helke 1. Introduction It was the Arab Spring that first alerted me to the need for a completely decentralized communication system1. The falling dictatorships desperately attempted to thwart the revolutions by cutting and disrupting internet communication[8]. The internet was de- signed to be and is resistant to topology changes, however the countries of the Arab Spring had a limited number of backbone connections to the outside world, which were all under government control. The failing governments cut themselves off from the rest of the world by destroying the routing tables of the edge routers. This was surprisingly effective at disrupting communications. The number of people relying on American and European based services had been underestimated, or at least there was no widely known data about the penetration of such services. It turns out Facebook, Gmail, Skype and Twitter where the principal tools of communication for the revolutionaries and so when they were cut off from the rest of the world they were no longer able to communicate internally because they were relying on server-based services based outside their isolated subnet. Despite still be- ing physically connected to one another, they where unable to communicate as they no longer had access to the central server. A worrying trend amongst all countries developing and developed alike are increas- ing violations of civil liberties such as [12]. A decentralised communication therefore would also provides some protection against unlawful surveillance although this is more debatable given the governments increased regulation and control of Internet Ser- vice Providers (ISPs). This brought to light the necessity for a completely decentralized communication sys- tem over Internet Protocol (IP), one that would be as resilient as IP is itself. It should also be mentioned that such a system would also be beneficial to users on accidental topol- ogy changes, such as the recent failure of SEA-ME-WE 4 due to criminal sabotage[1, 2] or cases of accidental failure. Some effort has gone into structuring this memoir for linear reading. It has not how- ever been possible to eliminate forward-references completely. In order to fully grasp some of the short comings of the solutions in chapter 2 an understanding of some no- tions of the theory from chapter 3 can be helpful. This forward-reference can be avoided by skipping chapter 2 entirely. It is of no consequence to the comprehension of the solu- tion proposed by this memoir, it serves principally to
Recommended publications
  • Digital Fountain Erasure-Recovery in Bittorrent
    UNIVERSITÀ DEGLI STUDI DI BERGAMO Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Classe n. 35/S – Sistemi Informatici Digital Fountain Erasure Recovery in BitTorrent: integration and security issues Relatore: Chiar.mo Prof. Stefano Paraboschi Correlatore: Chiar.mo Prof. Andrea Lorenzo Vitali Tesi di Laurea Specialistica Michele BOLOGNA Matricola n. 56108 ANNO ACCADEMICO 2007 / 2008 This thesis has been written, typeset and prepared using LATEX 2". Printed on December 5, 2008. Alla mia famiglia “Would you tell me, please, which way I ought to go from here?” “That depends a good deal on where you want to get to,” said the Cat. “I don’t much care where —” said Alice. “Then it doesn’t matter which way you go,” said the Cat. “— so long as I get somewhere,” Alice added as an explanation. “Oh, you’re sure to do that,” said the Cat, “if you only walk enough.” Lewis Carroll Alice in Wonderland Acknowledgments (in Italian) Ci sono molte persone che mi hanno aiutato durante lo svolgimento di questo lavoro. Il primo ringraziamento va ai proff. Stefano Paraboschi e Andrea Vitali per la disponibilità, la competenza, i consigli, la pazienza e l’aiuto tecnico che mi hanno saputo dare. Grazie di avermi dato la maggior parte delle idee che sono poi confluite nella mia tesi. Un sentito ringraziamento anche a Andrea Rota e Ruben Villa per l’aiuto e i chiarimenti che mi hanno gentilmente fornito. Vorrei ringraziare STMicroelectronics, ed in particolare il gruppo Advanced System Technology, per avermi offerto le infrastrutture, gli spa- zi e tutto il necessario per svolgere al meglio il mio periodo di tirocinio.
    [Show full text]
  • Connectivity Properties of Mainline Bittorrent DHT Nodes
    IEEE P2P'09 - Sept. 9-11, 2009 Connectivity Properties of Mainline BitTorrent DHT Nodes Raul Jimenez Flutra Osmani Bj¨orn Knutsson Royal Institute of Technology (KTH) ICT/TSLAB Stockholm, Sweden {rauljc, flutrao, bkn}@kth.se Abstract raises some concerns about the scalability and resilience of the technology. The birth and evolution of Peer-to-Peer (P2P) protocols Our work is part of the P2P-Next[1] project, which is have, for the most part, been about peer discovery. Napster, supported by many partners including the EBU2 who claims one of the first P2P protocols, was basically FTP/HTTP to have more than 650 million viewers weekly. In the face plus a way of finding hosts willing to send you the file. Since of such load, scalability and resilience become vital compo- then, both the transfer and peer discovery mechanisms have nents of the underlying technology. improved, but only recently have we seen a real push to In BitTorrent, content is distributed in terms of objects, completely decentralized peer discovery to increase scal- consisting of one or more files, and these objects are de- ability and resilience. scribed by a torrent-file. The clients (peers)participatingin Most such efforts are based on Distributed Hash Tables the distribution of one such object form a swarm. (DHTs), with Kademlia being a popular choice of DHT im- Aswarmiscoordinatedbyatracker,whichkeepstrack plementation. While sound in theory, and performing well of every peer in the swarm. In order to join a swarm, a peer in simulators and testbeds, the real-world performance of- must contact the tracker, which registers the new peer and ten falls short of expectations.
    [Show full text]
  • Kademlia on the Open Internet
    Kademlia on the Open Internet How to Achieve Sub-Second Lookups in a Multimillion-Node DHT Overlay RAUL JIMENEZ Licentiate Thesis Stockholm, Sweden 2011 TRITA-ICT/ECS AVH 11:10 KTH School of Information and ISSN 1653-6363 Communication Technology ISRN KTH/ICT/ECS/AVH-11/10-SE SE-164 40 Stockholm ISBN 978-91-7501-153-0 SWEDEN Akademisk avhandling som med tillstånd av Kungl Tekniska högskolan framlägges till offentlig granskning för avläggande av Communication Systems fredag den 9 december 2011 klockan 10.00 i C2, Electrum, Kungl Tekniska högskolan, Forum, Isafjordsgatan 39, Kista. © Raul Jimenez, December 2011 This work is licensed under a Creative Commons Attribution 2.5 Sweden License. http://creativecommons.org/licenses/by/2.5/se/deed.en Tryck: Universitetsservice US AB iii Abstract Distributed hash tables (DHTs) have gained much attention from the research community in the last years. Formal analysis and evaluations on simulators and small-scale deployments have shown good scalability and per- formance. In stark contrast, performance measurements in large-scale DHT overlays on the Internet have yielded disappointing results, with lookup latencies mea- sured in seconds. Others have attempted to improve lookup performance with very limited success, their lowest median lookup latency at over one second and a long tail of high-latency lookups. In this thesis, the goal is to to enable large-scale DHT-based latency- sensitive applications on the Internet. In particular, we improve lookup la- tency in Mainline DHT, the largest DHT overlay on the open Internet, to identify and address practical issues on an existing system.
    [Show full text]
  • Bittorrent Protocol the Mainline Dht
    Università degli Studi di Pisa Dipartimento di Informatica P2P Systems and Blockchains Spring 2021, instructor: Laura Ricci [email protected] Lesson 6: BITTORRENT PROTOCOL THE MAINLINE DHT 4/3/2021 Dipartimento di Informatica Laura Ricci Università degli Studi di Pisa The Bittorrent Protocol, the Mainline DHT, 1 BITTORRENT: OVERVIEW key idea: in 2002, Bran Cohen content popularity exhibits temporal locality (Flash Crowds) e.g. CNN on 9/11, new movie/game release,... goal: efficient content distribution system initially focused on distributing content efficiently, not on searching distribute the same file to all peers throughput increases with the number of downloaders an efficient use of network bandwidth single publisher, multiple downloaders later introduce also searching functionality: Kademlia has many “legal” publishers Blizzard Entertainment using it to distribute the beta of their new game Dipartimento di Informatica Laura Ricci Università degli Studi di Pisa The Bittorrent Protocol, the Mainline DHT, 2 THE CLIENT SERVER MODEL Dipartimento di Informatica Laura Ricci Università degli Studi di Pisa The Bittorrent Protocol, the Mainline DHT, 3 BITTORRENT IN A NUTSHELL more nodes can serve the content, not only one server needs a mechanism to detect which node is currently providing the content introducing the tracker taking trace of who is currently providing the content Joe connects to the tracker announcing the content the tracker now knows Joe is providing the file only for a better visualization nodes are arranged
    [Show full text]
  • Towards a Basic DHT Service: Analyzing Network Characteristics of a Widely Deployed DHT
    Towards a Basic DHT Service: Analyzing Network Characteristics of a Widely Deployed DHT Konrad Junemann,¨ Philipp Andelfinger, and Hannes Hartenstein Steinbuch Centre for Computing (SCC) Karlsruhe Institute of Technology (KIT), Germany {juenemann, hartenstein}@kit.edu, philipp.andelfi[email protected] Abstract—Distributed Hash Tables (DHTs) prove valuable for DHT-based applications without having to worry about DHT distributed architectures by providing distributed information deployment, running OpenDHT nodes on PlanetLab entailed lookup, routing, and data storage while promising good scala- two disadvantages: first, the DHT did not scale with growing bility and robustness at the same time. From this point of view, a DHT could be seen as a basic service that can be used to numbers of clients as the DHT consisted of a fixed number of build distributed applications. Whereas today no widely deployed (centrally administered) PlanetLab nodes only and clients did and publicly accessible basic DHT service exists and thus DHT- not contribute to the DHT. Second, the OpenDHT nodes had based applications have to deploy their very own DHT networks, to be maintained. DHTs consisting of millions of peers are formed by file sharing Simultaneously, the file-sharing community started lever- clients. Although the interfaces of typical DHTs used for file sharing are too narrow, a basic DHT service could probably be aging DHTs to replace centralized components within their created by bundling a suitable client implementation with file file sharing networks. Therefore, DHT clients were bundled sharing software. In this paper, we evaluate whether a basic with file sharing clients, resulting in widely deployed DHTs DHT service could suit the needs of DHT-based applications introduced by clients like Azureus [31], eDonkey or the Bit- in terms of stability, number of participating peers, the peers’ Torrent Mainline client [13].
    [Show full text]
  • A Pragmatic Analysis of Peer to Peer Networks and Protocols for Security and Confidentiality
    http://www.ijccr.com International Manuscript ID : ISSN2249054X-V2I6M7-112012 VOLUME 2 ISSUE 6 November 2012 A PRAGMATIC ANALYSIS OF PEER TO PEER NETWORKS AND PROTOCOLS FOR SECURITY AND CONFIDENTIALITY Anil Saroliya 1, Upendra Mishra 2, Ajay Rana 3 1Department of Computer Science, Amity University Rajasthan, Jaipur, India; 2Department of Mathematics, Amity University Rajasthan, Jaipur, India; 3Department of Computer Science, Amity University Utter Pradesh, Noida, India; ABSTRACT The internet as we ought to understand it is a dramatized environment that links together various information, networks and communication channels. However, the bitter truth lies in the fact that the Internet has largely grown into a drone that lacks essential centralized control. Putting into simpler terms, with the day by day growth of the Internet, it is simply beginning to lack any hierarchical control. With this growth, comes the need of large scale data distribution, content sharing and multicasting applications. In other words, the need of the hour lays in extensive use of Peer-to-Peer (P2P) networks. The P2P networks are loaded with the abilities to provide many handy features such as selection of most accurately reachable peers, powerful search mechanisms or location of data together with hierarchical name stay. The P2P networks have the special ability to organize and handle self-framed routing architecture that also helps in measuring massive scalability and hence provides a robust and efficient load balance of the world wide network or simply the Internet. Despite the numerous merits of P2P Networks over the near obsolete client- server mechanisms, there have also been some shortcomings in the same.
    [Show full text]
  • Deployment of NAT Vs. Ipv6 in Bittorrent
    Deployment of NAT vs. IPv6 in BitTorrent Simon Müller Elgg, Switzerland Student ID: 12-715-389 – Communication Systems Group, Prof. Dr. Burkhard Stiller HESIS T Supervisor: Andri Lareida, Thomas Bocek ACHELOR B Date of Submission: December 5, 2016 University of Zurich Department of Informatics (IFI) Binzmühlestrasse 14, CH-8050 Zürich, Switzerland ifi Bachelor Thesis Communication Systems Group (CSG) Department of Informatics (IFI) University of Zurich Binzmühlestrasse 14, CH-8050 Zürich, Switzerland URL: http://www.csg.uzh.ch/ Abstract Der globale IPv4 Adressraum ist fast komplett ersch¨opft. Dies stellt fur¨ Internet Service Provider (ISPs) eine grosse Herausforderung dar. Der Nachfolger, IPv6, wurde als L¨osung fur¨ dieses Problem entwickelt. Trotzdem bieten viele ISPs noch immer nur IPv4 Verbin- dungen mit Ubergangsl¨ ¨osungen wie Netzwerkadressubersetzung¨ (NAT) an, um das Pro- blem der Adressraumersch¨opfung zu umgehen. In dieser Arbeit wurde VIOLA, ein Messsy- stem fur¨ das BitTorrent-Netzwerk, mit IPv6 Unterstutzung¨ erweitert, um eine einw¨ochige Messung des BitTorrent-IPv6-Netzwerks durchzufuhren.¨ Selbst wenn das Streaming von Video- und Audiodaten mittlerweile den Hauptteil des weltweiten Internetverkehrs aus- machen, so macht der Peer-to-peer Verkehr doch noch einen deutlichen Anteil davon aus. Mit den Messdaten wurde die Frage beantwortet, ob es einen Zusammenhang zwischen dem Anteil an NAT der in einer Region gemessen wird und der Anzahl an verfugbaren¨ IPv6 Adressen gibt. Die Resultate machen deutlich, dass dem nicht so ist. Mit den ge- sammelten Daten wird zudem ein umfassender Uberblick¨ uber¨ das aktuelle Stadium und die Evolution von IPv6 im BitTorrent-Netzwerk gegeben. The global IPv4 address space is almost completely exhausted.
    [Show full text]
  • Summary of the Bittorrent Protocol
    Summary of the BitTorrent Protocol Guest lecturer: Petri Savolainen Discussion on modelling and BitTorrent BitTorrent BitTorrent is based on the notion of a torrent, which is a smallish file that contains metadata about a host, the tracker, that coordinates the file distribution and files that are shared A peer that wishes to make data available must first find a tracker for the data, create a torrent, and then distribute the torrent file. Other peers can then using information contained in the torrent file assist each other in downloading the file The download is coordinated by the tracker. In BitTorrent terminology, peers that provide a complete file with all of its pieces are called seeders BitTorrent: Downloading Files Torrent server 1. Upload torrent file Search 2. Provide first seed Seeder Tracker engine Torrent file 4. Contact tracker Torrent file points to List of peers tracker 3. Post search request and 5. Contact seeder for pieces retrieve link to torrent file Peer 6. Trade pieces with peers Peer Difference to HTTP A BitTorrent file download differs from an HTTP request in the following ways: – BitTorrent uses multiple parallel connections to improve download rates, whereas Web browsers typically use a single TCP Socket to transfer HTTP requests and responses – BitTorrent is peer-assisted whereas HTTP request is strictly client-server – BitTorrent uses the random or rarest-first mechanisms to ensure data availability, whereas HTTP is incremental Characteristics of the BitTorrent protocol I/II • Peer selection is about selecting peers who are willing to share files back to the current peer – Tit for tat in peer selection based on download-speed.
    [Show full text]
  • Bittorrent (Protocol) 1 Bittorrent (Protocol)
    BitTorrent (protocol) 1 BitTorrent (protocol) BitTorrent is a peer-to-peer file sharing protocol used for distributing large amounts of data over the Internet. BitTorrent is one of the most common protocols for transferring large files and it has been estimated that peer-to-peer networks collectively have accounted for roughly 43% to 70% of all Internet traffic (depending on geographical location) as of February 2009.[1] Programmer Bram Cohen designed the protocol in April 2001 and released a first implementation on July 2, 2001.[2] It is now maintained by Cohen's company BitTorrent, Inc. There are numerous BitTorrent clients available for a variety of computing platforms. As of January 2012 BitTorrent has 150 million active users according to BitTorrent Inc.. Based on this the total number of monthly BitTorrent users can be estimated at more than a quarter billion.[3] At any given instant of time BitTorrent has, on average, more active users than YouTube and Facebook combined. (This refers to the number of active users at any instant and not to the total number of unique users.)[4][5] Description The BitTorrent protocol can be used to reduce the server and network impact of distributing large files. Rather than downloading a file from a single source server, the BitTorrent protocol allows users to join a "swarm" of hosts to download and upload from each other simultaneously. The protocol is an alternative to the older single source, multiple mirror sources technique for distributing data, and can work over networks with lower bandwidth so many small computers, like mobile phones, are able to efficiently distribute files to many recipients.
    [Show full text]
  • Measuring Large-Scale Distributed Systems: Case of Bittorrent
    13-th IEEE International Conference on Peer-to-Peer Computing Measuring Large-Scale Distributed Systems: Case of BitTorrent Mainline DHT Liang Wang and Jussi Kangasharju Department of Computer Science University of Helsinki, Finland Abstract—Peer-to-peer networks have been quite thoroughly methods, we show what the causes of the errors are and that measured over the past years, however it is interesting to note that by fixing those issues, correct results can be obtained. the BitTorrent Mainline DHT has received very little attention Additionally, we obtain a comprehensive picture of users even though it is by far the largest of currently active overlay of Mainline DHT, which is the largest DHT network in the systems, as our results show. As Mainline DHT differs from other systems, existing measurement methodologies are not appropriate Internet. Although our focus is not on presenting the actual for studying it. In this paper we present an efficient methodology measurement data from Mainline DHT, we will briefly present for estimating the number of active users in the network. We have the main findings regarding the number of nodes and the churn identified an omission in previous methodologies used to measure patterns, since previous reports on these have been inaccurate. the size of the network and our methodology corrects this. Our The contributions of this paper are as follows: method is based on modeling crawling inaccuracies as a Bernoulli process. It guarantees a very accurate estimation and is able to 1) We identify a systematic error in previous works mea- provide the estimate in about 5 seconds.
    [Show full text]
  • Crawling Bittorrent Dhts for Fun and Profit
    Crawling BitTorrent DHTs for Fun and Profit Scott Wolchok and J. Alex Halderman The University of Michigan {swolchok, jhalderm}@eecs.umich.edu Abstract major torrent discovery sites and the major trackers [1,29] is feasible. Though a boon to copyright enforcement, this This paper presents two kinds of attacks based on crawl- capability reduces the privacy of BitTorrent downloaders ing the DHTs used for distributed BitTorrent tracking. by making it much harder to “hide in the crowd.” First, we show how pirates can use crawling to rebuild The BitTorrent community has responded to these BitTorrent search engines just a few hours after they are trends by deploying decentralizing tracking systems based shut down (crawling for fun). Second, we show how on distributed hash tables (DHTs). So far, their impact content owners can use related techniques to monitor pi- on privacy and copyright enforcement has been unclear. rates’ behavior in preparation for legal attacks and negate Distributed tracking is harder to disrupt through legal any perceived anonymity of the decentralized BitTorrent threats, but users still rely on centralized torrent discov- architecture (crawling for profit). ery sites that remain relatively easy targets. Some might We validate these attacks and measure their perfor- expect that decentralizing the tracking architecture would mance with a crawler we developed for the Vuze DHT. enhance privacy by making monitoring more difficult, but We find that we can establish a search engine with over the question has received little research attention to date. one million torrents in under two hours using a single In this work, we demonstrate how deployed distributed desktop PC.
    [Show full text]
  • Desarrollo De Una Aplicación Bittorrent (En Pharo-Smalltalk)
    Desarrollo de una aplicación BitTorrent (en Pharo-Smalltalk) Trabajo Final de Grado David Gracia Celemendi Director: Jordi Delgado Pin Departamento de Ciencias de la Computación (CS) Fecha de defensa: octubre de 2015 Titulación: Grado en Ingeniería Informática Especialidad: Computación Facultad de Informática de Barcelona (FIB) página en blanco 1 Resumen Desde principios del 2000, el uso de redes peer-to-peer ha experimentado un gran crecimiento. Gran parte del tráfico de Internet lo generan las apli- caciones BitTorrent. BitTorrent especifica un protocolo para el intercambio de ficheros usando un modelo peer-to-peer que se caracteriza por su gran escalabilidad y robustez. Este proyecto consiste en el desarrollo de una apli- cación BitTorrent desde cero con el sistema Pharo-Smalltalk. Primero se hace un repaso a la historia del intercambio de ficheros desde sus inicios hasta la actualidad. Después se comparan las redes cliente-servidor con las redes peer-to-peer, y se distingue dentro de éstas últimas entre redes estruc- turadas y redes no estructuradas. Se da una explicación del funcionamiento de BitTorrent y, por último, se profundiza en el diseño y la implementación de la aplicación. Abstract Since 2000 peer-to-peer networks use has increased very fast. Most Internet traffic is generated by BitTorrent applications. BitTorrent specify a file sharing protocol over peer-to-peer model whose strength is scalability and robustness. This project is about developing a BitTorrent application from scratch with Pharo-Smalltalk system. First of all, a file sharing history review is done from beginning up to now. Next, client-server and peer- to-peer models are compared, and peer-to-peer networks are classified in unstructured and structured.
    [Show full text]