FreeNet: A Distributed Anonymous Information Storage and Retrieval System Ian Clark, Oskar Sandberg, Brandon Wiley and Theodore Hong.

Slides:



Advertisements
Similar presentations
Performance in Decentralized Filesharing Networks Theodore Hong Freenet Project.
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.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Scalable Content-Addressable Network Lintao Liu
Peer-to-Peer Systems Chapter 25. What is Peer-to-Peer (P2P)? Napster? Gnutella? Most people think of P2P as music sharing.
The Chord P2P Network Some slides have been borowed from the original presentation by the authors.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
Denial-of-Service Resilience in Peer-to-Peer Systems D. Dumitriu, E. Knightly, A. Kuzmanovic, I. Stoica and W. Zwaenepoel Presenter: Yan Gao.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
Freenet A Distributed Anonymous Information Storage and Retrieval System Ian Clarke Oskar Sandberg Brandon Wiley Theodore W.Hong.
Peer to Peer File Sharing Huseyin Ozgur TAN. What is Peer-to-Peer?  Every node is designed to(but may not by user choice) provide some service that helps.
P2P: Advanced Topics Filesystems over DHTs and P2P research Vyas Sekar.
Efficient Content Location Using Interest-based Locality in Peer-to-Peer Systems Presented by: Lin Wing Kai.
1 Unstructured Routing : Gnutella and Freenet Presented By Matthew, Nicolai, Paul.
A Scalable Content-Addressable Network Authors: S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Shenker University of California, Berkeley Presenter:
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.
Gnutella, Freenet and Peer to Peer Networks By Norman Eng Steven Hnatko George Papadopoulos.
Object Naming & Content based Object Search 2/3/2003.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael.
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
Or, Providing Scalable, Decentralized Location and Routing Network Services Tapestry: Fault-tolerant Wide-area Application Infrastructure Motivation and.
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 Technologies. Outline What is P2P? P2P architectures Examples of P2P system (P2P applications) P2P data management techniques Conclusions.
Storage management and caching in PAST PRESENTED BY BASKAR RETHINASABAPATHI 1.
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.
Freenet. Anonymity  Napster, Gnutella, Kazaa do not provide anonymity  Users know who they are downloading from  Others know who sent a query  Freenet.
Peer-to-Peer Computing CS587x Lecture Department of Computer Science Iowa State University.
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.
1 1.Freenet Architecture a)Goals b)Properties 2.Searching a network a)Searching/Routing algorithm b)Adaptive behaviour c)Differences with other algorithms.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
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,
Using the Small-World Model to Improve Freenet Performance Hui Zhang Ashish Goel Ramesh Govindan USC.
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)
An IP Address Based Caching Scheme for Peer-to-Peer Networks Ronaldo Alves Ferreira Joint work with Ananth Grama and Suresh Jagannathan Department of Computer.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
Freenet “…an adaptive peer-to-peer network application that permits the publication, replication, and retrieval of data while protecting the anonymity.
Freenet Ubiquitous Computing - Assignment Guided By: Prof. Niloy Ganguly Department of Computer Science and Engineering Submitted By: o Parin Deepak Cheda.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
Plethora: Infrastructure and System Design. Introduction Peer-to-Peer (P2P) networks: –Self-organizing distributed systems –Nodes receive and provide.
1. Efficient Peer-to-Peer Lookup Based on a Distributed Trie 2. Complex Queries in DHT-based Peer-to-Peer Networks Lintao Liu 5/21/2002.
Data Indexing in Peer- to-Peer DHT Networks Garces-Erice, P.A.Felber, E.W.Biersack, G.Urvoy-Keller, K.W.Ross ICDCS 2004.
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
Company LOGO Freenet By Yogesh Kalyani. OUTLINE  Introducing P2P  Overview of Freenet  Key’s  Protocol  Security Analysis  Improvement  Strength.
Large Scale Sharing Marco F. Duarte COMP 520: Distributed Systems September 19, 2004.
Freenet A Distributed Anonymous Information System and Retrieval System I. Clarke, O. Sandberg, B. Wiley, W. Hong ECE 6102 Presented By: Kaushik Chowdhury.
P2P Networking: Freenet Adriane Lau November 9, 2004 MIE456F.
Incrementally Improving Lookup Latency in Distributed Hash Table Systems Hui Zhang 1, Ashish Goel 2, Ramesh Govindan 1 1 University of Southern California.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
CS 268: Lecture 22 (Peer-to-Peer Networks)
The Chord P2P Network Some slides have been borrowed from the original presentation by the authors.
Plethora: Infrastructure and System Design
Distributed P2P File System
Presentation by Theodore Mao CS294-4: Peer-to-peer Systems
Building Peer-to-Peer Systems with Chord, a Distributed Lookup Service
Unstructured Routing : Gnutella and Freenet
Freenet.
Presentation transcript:

FreeNet: A Distributed Anonymous Information Storage and Retrieval System Ian Clark, Oskar Sandberg, Brandon Wiley and Theodore Hong

FreeNet P2P network for anonymous publishing and retrieval of data –Decentralized –Nodes collaborate in storage and routing –Data centric routing –Adapts to demands –Addresses privacy & availability concerns

Motivation Problem - Querying the network –Source - Requestor –Destination – Provider It’s a distributed search problem –Approximating global knowledge with local knowledge –Other systems – Chord, Tapestry, Pastry Privacy and availability – Protect authorship, prevent denial attacks

Goals of Freenet Anonymity for producers and consumers Deniability for information storers Resistance to denial attacks Efficient storing and routing Does NOT provide –Permanent file storage –Load balancing –Anonymity for general n/w usage

Architecture Each node – local data store + routing table Request file through location independent keys Routing - chain of proxy requests - decision is local Graph structure actively evolves over time Request: 1.key 2.Hops to live 3.ID 4.Depth

Key Based Searching FILE ‘D’– key generation  Pb + Pr ; SHA(Pb) D + Pr KSK Encrypted FILE Signature E(FILE, D) Keyword signed key(KSK) Easy for retrieval – only need ‘D’ Minimal protection against tampering

Keys and Searching….. Problems with KSK – flat namespace (collisions), key squatting, dictionary attacks Signed Subspace Key (SSK) –Randomly generated key pair  namespace ID –SSK = SHA(‘D’) ^ SHA(Pb) –(-)Advertisement – subspace Pb + ‘D’ –(+)Owner can construct hierarchical space of arbitrary depth - using indirect files –(+)Reduces collision greatly

Keys and Searching… Problems with SSK - updating, versioning Content Hash Keys (CHK) –Encrypted by a random encryption key –Publish CHK + decryption key –CHK + SSK  easily updateable files 2 step process – publish file, publish pointer Results in pointers to newer version Older versions accessed thru CHK –Can be used for splitting files

Retrieving Files How do u locate the keys? –Hypertext spider –Indirect files – published with KSK of search words –Publish bookmarks File retrieval –Request forwarded to node in RT with closest lexicographic match for the binary key –Request routing follows steepest-ascent hill climbing: first choice  failure  backtrack  second choice

Still Retrieving…. Timers, hops - curtail request threads Files cached all along the retrieval path Self-reinforcing cycle – results in key expertise c a d b e f

Ring Topology 1000 nodes in ring topology Datastore = 50 items RT = 250 items Keys associated with links are hash of destn IPs

Self Reinforced Routing Snapshots using 300 requests with hops = 500 As network converges it drops to 6 - “six degrees of separation”

Retrieval Discussion No controlled replication  no persistence No correlation between keys and content –(+) Documents related to a subject are scattered Geographical fault resilience –(-) No spatial locality – search latencies can suffer Building indexes by other means

Publishing Similar to retrieval but, 2 step process –Detect collisions – ‘all clear’ if no collision –Publish to node in RT with closest key match Are CD and publish paths same? –Can result in collision during publish step Inserts allow new nodes to advertise themselves (+) Key-squatting is not effective

Data Management Finite data stores - nodes resort to LRU Routing table entries linger after data eviction Outdated (or unpopular) docs disappear automatically Bipartite eviction – short term policy –New files replace most recent files –Prevents established files being evicted by attacks

Network Growth New nodes have to know one or more guys Problem: How to consistently decide on what key the new node specializes in? –Needs to be consensus decision – else denial attacks Advertisement  IP + H(random seed s0) –Commitment - H(H(H(s0) ^ H(s1)) ^ H(s2))……. –Key for new node = XOR of all seeds Each node adds a RT entry for the new node

Network Growth Key assigned to new nodes = H(IP) Scales as log(n) until n ~ At 40000, RTs are full

Protocol Nodes with frequently changing IPs use ARKs Return address specified in requests – threat? Messages do not always terminate when hops- to-live reaches 1 Depth is initialized by original requestor to arbitrarily small value Request state maintained at each node – timers - LRU

Fault Resilience Median path length < 20 at 30% node failures? N/w becomes ineffective at 40% failures ???

Small World Most nodes form local clusters Few high link connecting nodes Power law distribution provides high degree of fault tolerance

Security Concerns Pre- routing – mesg. encrypted by public keys which determine path of pre-routing Protecting data source – using random and probabilistic methods

Security File integrity - KSK vulnerable to dictionary attacks DOS attacks – Hash Cash to slow down Attempts to displace valid files are constrained by the insert procedure

Conclusion Provides a n/w to anonymously store and request files Adaptive routing who’s efficiency increases with experience Deals with privacy and data integrity in various scenarios Applications? –Freedom of speech –Unaccountable, decentralized Napster