1 1.Freenet Architecture a)Goals b)Properties 2.Searching a network a)Searching/Routing algorithm b)Adaptive behaviour c)Differences with other algorithms.

Slides:



Advertisements
Similar presentations
Peer-to-peer and agent-based computing Freenet. peer-to-peer and agent-based computing 2 Plan of lecture Freenet Architecture –Goals and Properties Searching.
Advertisements

P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Scalable Content-Addressable Network Lintao Liu
University of Cincinnati1 Towards A Content-Based Aggregation Network By Shagun Kakkar May 29, 2002.
Denial-of-Service Resilience in Peer-to-Peer Systems D. Dumitriu, E. Knightly, A. Kuzmanovic, I. Stoica and W. Zwaenepoel Presenter: Yan Gao.
Freenet A Distributed Anonymous Information Storage and Retrieval System Ian Clarke Oskar Sandberg Brandon Wiley Theodore W.Hong.
FreeNet: A Distributed Anonymous Information Storage and Retrieval System Ian Clark, Oskar Sandberg, Brandon Wiley and Theodore Hong.
Efficient Content Location Using Interest-based Locality in Peer-to-Peer Systems Presented by: Lin Wing Kai.
Protecting Free Expression Online with Freenet Presented by Ho Tsz Kin I. Clarke, T. W. Hong, S. G. Miller, O. Sandberg, and B. Wiley 14/08/2003.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek and Hari alakrishnan.
Gnutella, Freenet and Peer to Peer Networks By Norman Eng Steven Hnatko George Papadopoulos.
presented by Hasan SÖZER1 Scalable P2P Search Daniel A. Menascé George Mason University.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
1 CS 194: Distributed Systems Distributed Hash Tables Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
Wide-area cooperative storage with CFS
Improving Data Access in P2P Systems Karl Aberer and Magdalena Punceva Swiss Federal Institute of Technology Manfred Hauswirth and Roman Schmidt Technical.
Peer-to-Peer Networks Slides largely adopted from Ion Stoica’s lecture at UCB.
1 Freenet  Addition goals to file location: -Provide publisher anonymity, security -Resistant to attacks – a third party shouldn’t be able to deny the.
Peer-to-peer file-sharing over mobile ad hoc networks Gang Ding and Bharat Bhargava Department of Computer Sciences Purdue University Pervasive Computing.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Presentation by Theodore Mao CS294-4: Peer-to-peer Systems August 27, 2003.
F REENET UDAYA S PISIPATI 02/26/08. C ONTENTS  Introduction  Design goals  Architecture  Basic model  Keys in searching  Retrieving data  Storing.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Freenet. Anonymity  Napster, Gnutella, Kazaa do not provide anonymity  Users know who they are downloading from  Others know who sent a query  Freenet.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
Survey of Peer to Peer Technologies Authors: Bratislav Milić, Jelena Krunić, Veljko Milutinović,
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
Peer to Peer Research survey TingYang Chang. Intro. Of P2P Computers of the system was known as peers which sharing data files with each other. Build.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Presenter: Chris Grier ECE 598nb Spring 2006.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Ian Clarke, Oskar Sandberg, Brandon Wiley,Theodore W. Hong Presented by Zhengxiang.
Freenet File sharing for a political world. Freenet: A Distributed Anonymous Information Storage and Retrieval System I. Clarke, O. Sandberg, B. Wiley,
Freenet: A Distributed Anonymous Information Storage and Retrieval System Josh Colvin CIS 590, Fall 2011.
1 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
Peer-to-Peer Network Tzu-Wei Kuo. Outline What is Peer-to-Peer(P2P)? P2P Architecture Applications Advantages and Weaknesses Security Controversy.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
Scalable Content- Addressable Networks Prepared by Kuhan Paramsothy March 5, 2007.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
P2PComputing/Scalab 1 Gnutella and Freenet Ramaswamy N.Vadivelu Scalab.
Freenet “…an adaptive peer-to-peer network application that permits the publication, replication, and retrieval of data while protecting the anonymity.
1 University of California, Irvine Done By : Ala Khalifeh (Note : Not Presented)
Freenet Ubiquitous Computing - Assignment Guided By: Prof. Niloy Ganguly Department of Computer Science and Engineering Submitted By: o Parin Deepak Cheda.
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
Peer to Peer Network Design Discovery and Routing algorithms
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Freenet: Anonymous Storage and Retrieval of Information
Two Peer-to-Peer Networking Approaches Ken Calvert Net Seminar, 23 October 2001 Note: Many slides “borrowed” from S. Ratnasamy’s Qualifying Exam talk.
Company LOGO Freenet By Yogesh Kalyani. OUTLINE  Introducing P2P  Overview of Freenet  Key’s  Protocol  Security Analysis  Improvement  Strength.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
P2P Search COP6731 Advanced Database Systems. P2P Computing  Powerful personal computer Share computing resources P2P Computing  Advantages: Shared.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
Large Scale Sharing Marco F. Duarte COMP 520: Distributed Systems September 19, 2004.
P2P Networking: Freenet Adriane Lau November 9, 2004 MIE456F.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
Peer-to-Peer Information Systems Week 12: Naming
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
Advanced Computer Networks: Part 1
CS 268: Lecture 22 (Peer-to-Peer Networks)
Peer-to-Peer Data Management
CHAPTER 3 Architectures for Distributed Systems
EE 122: Peer-to-Peer (P2P) Networks
Peer to Peer Information Retrieval
A Scalable content-addressable network
Presentation by Theodore Mao CS294-4: Peer-to-peer Systems
Freenet.
Peer-to-Peer Information Systems Week 12: Naming
Presentation transcript:

1 1.Freenet Architecture a)Goals b)Properties 2.Searching a network a)Searching/Routing algorithm b)Adaptive behaviour c)Differences with other algorithms 3.Keys a)KSK keys, SSK keys and CHK keys 4.Network Evolution and Clustering a)Clustering keys Freenet

Ian Clarke Ian Clarke in 2003 when asked in an interview “Should file swappers have any expectation of privacy?”, replied: 2 “Everyone, including file swappers, should have the ability to communicate freely without someone looking over their shoulders. Free communication is essential to free thought, which is essential to democracy.”

3 Freenet A decentralized system for storing and retrieving files within a massively distributed network. –Each participant provides some network storage space. –peers are servents – both provide storage and request it. –different philosophy to Gnutella - you do not have write access in Gnutella –Freenet is a storage and retrieval facility. Clients add a file to the network but do not know the actual storage location –Information is kept private by employing various levels of encryption as the data traverses through the network. Freenet also adapts itself according to usage patterns

4 Architect and Inventor of Freenet Chief Executive Officer of Cematics Ltd company he founded commercialise Freenet technology Co-founder (and formerly the Chief Technology Officer) of Uprizer Inc., successful in raising $4 million in A-round venture capital from investors including Intel Capital. In October 2003, he was selected as one of the top 100 innovators under the age of 35 by the MIT Technology Review magazine holds a degree in Artificial Intelligence and Computer Science from Edinburgh University, Scotland - where he lives….

5 Why Freenet? designed to provide extensive protection from hostile attack –from both inside and out by addressing information privacy and survivability issues Based around the P2P environment, which is inherently unreliable and untrustworthy –assume that all participants in the network could potentially be malicious or their peer could fail without warning. implements a self-organizing routing mechanism over a decentralized structure –This algorithm dynamically creates a centralized/decentralized network..

6 Why Freenet? The network learns –routes queries in a better fashion from local not global knowledge –Achieves this by using file keys and sub-dividing the key space to partition the location of the stored files across the network FreeNet therefore provides a good example of how the various technologies discussed so far can be used within a innovative system: It addresses: –P2P –Security (and Privacy) –Scalability –Decentralized networks

7 Populating the Freenet Network File Keys: are used to route storage or retrieval requests onto the Freenet network –File keys are constructed from either user or the file itself (discussed later). Routing Tables: each peer has a routing table –Stores file keys and location of key (i.e. on connected peers) e.g. see next slide

8 P1 P2 P4 1. Create Key e.g. from SSK + descriptive String 4. Ask Next node 3. (a) Check Local Store (b) Check routing Table and find peer with closest key Routing Table File Key – Peer ID (p4) File Key – Peer ID (p5) File Key – Peer ID(p3) … P3P5 2. Ask Next Node Routing

9 Searching/Requesting Searching: peers try and intelligently route requests –Peers ask neighbours (like Gnutella) BUT … –Peers do not forward request to all peers –They find the closest key to the one supplied in their local routing table and pass the request only to this peer - intelligent routing (subdividing keyspace) –At each hop keys are compared and request is passed to the closest matching peer And so on…

10 0-X X-Y Y-N 0-X/2 X/2-X Example Key Mapping

11 B C F A D 1. A initiates request and asks B if it has file 2. B doesn’t so it asks best-bet peer = F 3. F doesn’t also and no more nodes to ask so returns “request failed” message 4. B Tries its second choice D E File is Here! 5. D doesn’t have it so forwards request to C 6. Nor C so forwards request to B 7. B now detects that it has seen this request before so returns a “request failed” message 8. C forwards “request failed” back to D 9. D now tries its second choice E 10. Success!! E then returns file back to D who propagates it back to A 11. File sent to B 12. B sends file back to A4

12 Updating Routing Tables if a peer forwards the request to a peer that can retrieve the data –then the address of the upstream peer (which contains or is closer to the data), is included in the reply. This peer uses this information to update its local routing table to include the peer that has a more direct route to the data. Then, when a similar request is issued again the peer can more effectively send the request to a node that is closer to the data.

13 Adaptive behaviour? dynamic algorithm used by Freenet to update its knowledge is analogous to the way humans reinforce decisions based on prior experiences. Remember the Milgrim experiment? Milgrim noted that 25% of all requests went through the same person (the local shopkeeper). The people in this experiment used their experience of the local inhabitants to attempt to forward the letter to the best person who could help it reach its destination.

14 Adaptive behaviour? the local shopkeeper was a good choice because he knew a number of out-of-town people and therefore could help the letter get closer to its destination. If this experiment were repeated using the same people, then surely the word would spread quickly within Omaha that the shopkeeper is a good place to forward the letter to and subsequently, the success rate and efficiency would improve - people in Omaha would learn to route better ! This is what Freenet does -> adapts routing tables based on prior experiences

15 Similarities with Other Techniques? Gnutella: a user searches the network by broadcasting its request to every node within a given TTL. Napster: on the other hand, uses a central database that contains the locations of all files on the network. Gnutella, in its basic form, is inefficient and Napster, also in its simplest form, is simply not scalable and is subject to attack due the the centralization of its file indexing. However, both matured into using multiple caching servers in order to be able to scale the network –Resulting in a centralized/decentralized topology

16 But the Freenet Approach … Such caching services (i.e. super peers or Napster indexes) form the basic building block of the Freenet network –each peer contains a routing table The key difference is that Freenet peers do not store locations of files Rather they contain file keys that indicate the direction in the key space where the file is likely to be stored And file keys are used to route the query to the stored file - but there are many different types of keys …

17 Keys Three types of keys: Keyword-Signed Keys (KSK): the simplest of Freenet keys –derived directly from a descriptive string that the user chooses for the file Signed-Subspace Keys (SSK): are used to create a subspace –to define ownership –or to make pointers to a file or a collection of files. Content-Hash Keys (CHK): used for low-level data storage –obtained by hashing the contents of the data to be stored.

18 File Keyword Signed Keys (KSK) Derived from short File description. Public Key Private Key KSK Descriptive String Deterministically Generate Hash Digitally Sign KSK Keys i.e. string always creates the same key pair

19 KSK Keys Key Generation: –derived from a descriptive string in a deterministic manner –Therefore same key pair gets created for the same key –Change the string a new key gets generated and therefore a new file gets created –Create the same key, old file gets overwritten Ownership: –None -> file is owned only by descriptive string

20 Signed Subspace Keys (SSK) XOR File Hash Private Key Public Key Description Sign Signed Subspace SSK Keys

21 SSK Keys Key Generation: –derived from subspace key pair + description –Unique within this sub-domain (i.e. the key subspace) Ownership: –Creates a read-only file system for all users –Only owners of the subspace can over-write the files within the subspace i.e. need private subspace key to generate the correct signature.

22 Content Hash Key (CHK) SHA-1 Secure Hashing File to Store File GUID (Direct reference to file contents - used for comparisons) CHK Keys

23 CHK Keys Key Generation: –derived directly from the contents of the file Ownership: –None -> normally associated with a subspace to define ownership

24 Analogies for Keys Three types of keys: Keyword-Signed Keys (KSK): –Like filenames on a file system –But analogous to having all files in one directory Signed-Subspace Keys (SSK): –Can contain collections of filenames –Analogous to using (multiple level) directories Content-Hash Keys (CHK): –Like inodes on a file system i.e. a pointer to the file on disk

25 The use of Keys Keyword-Signed Keys (KSK) and Signed- Subspace Keys (SSK): –used to create a user view of the file –E.g. a description or a subspace Content-Hash Keys (CHK): – used to verify file – for file version control, integrity etc

26 Distribution of keys within the Keyspace Key Generation: –ALL keys use hash functions to create final key value –Hash functions have a good avalanche effect –Therefore input has no correlation with output –So, 2 very similar files will create two completely different hash keys (CHKs) –Therefore, similar files will be put in completely different parts of the network (remember the routing?)

27 Properties of key Distribution Does this random behaviour matter? No, it helps the file distribution across the network –Imagine an experiment -> all data may be quite similar (e.g. peoples faces, star characteristics etc.) –But the Freenet keys will create quasi-random keys from these files –Ensures even (random) distribution across ALL peers within the network.

28 Illustration of Key Mapping File 1 File 100 Arranged as a measure of their similarity Input Files Output Hash Space random Hierarchical Example Mapping On 7 nodes K 0 0-K/2 K/2-K K/2-3/4K 0-K/4 K/4-K/2 3/4K-K

29 1.Why Freenet? a)Example use of technology e.g. security, scalability b)Demonstrates how some of the technologies can be used in a system e.g. security and privacy policies/techniques c)Show how centralized-decentralized models can be dynamically created in a self-organizing fashion Freenet