Freenet: A Distributed Anonymous Information Storage and Retrieval System

download Freenet: A Distributed Anonymous Information Storage and Retrieval System

of 24

  • date post

    31-Jan-2016
  • Category

    Documents

  • view

    57
  • download

    0

Embed Size (px)

description

Freenet: A Distributed Anonymous Information Storage and Retrieval System. Κοκκίνης Νίκος Κώνστα Λαμπρινή Μπουντουρόπουλος Νίκος Νικολαϊδου Παναγιώτα Παπαγεωργίου Χαρά. Freenet. T ι είναι το Freenet? - PowerPoint PPT Presentation

Transcript of Freenet: A Distributed Anonymous Information Storage and Retrieval System

  • Freenet: A Distributed Anonymous Information Storage and Retrieval System

  • FreenetT Freenet?Freenet P2P Internet requested MotivationPrivacyAvailability

  • Design Goals requesters providers Permanent file storage , Freenet file transactions

  • Peer-to-peer , peers data store routing table : , pointer key data-store

  • Basic Model (proxy chain) request proxy chain request Key ID loopsHops-to-live request hops-to-live requests requestor

  • Key Based Searching binary key SHA-1 hash function files keysKeyword-signed key (S)Signed-subspace key (SSK)Content-hash key (CHK)

  • Keyword-signed key (S) string,

    Key generation String Public key + Private key

    K

    publish user-defined stringHashHashKSKsignature

  • Signed-subspace key (SSK) public/private key namespace ID string KeyEncryption string public key publish HashPublic KeyHashString XORHashSSK KeyPrivate Key Signature

  • Content-hash key (CHK) hash randomly generated encryption key content hash key decryption key CHK SSK Freenet CHK CHK (indirect file) SSK SSK

    SSK CHK File

  • Content-hash key (CHK) (cont.)Updating files publish version CHK CHK indirect SSK version indirect , version versions CHKs,

    SSKCHK oldCHK newFiles old versionFiles new version

  • Content-hash key (CHK) (cont.)Splitting content hash key indirect

    SSKCHK1.Cn

    1n

  • Retrieving data request , key hops-to-live, request o data store data source hops-to-live request failure message , hops-to-live routing table , request cache routing table key request data source

  • Retrieving data (Cont.) reply message data source data source requests Failures request downstream node , . failure message upstream (backtracking), hops-to-live , failure message requestor

  • Retrieving data (Cont.)

  • Storing data binary file key hops-to-live insert message hops-to-live insert request collision insert key collision, hops-to-live routing table , insert message hops-to-live, all clear message requestor data data cache insert request routing table file key inserter

  • Data management disk space publishers data store Least Recently Used (LRU) routing tables LRU data store , data store

  • Adding nodes

  • Adding nodes (Cont.) Freenet System seed , hash seedO seed, XOR hash hash, commitment routing table hops-to-live 0, seeds seeds XOR key entry routing table

  • Small-world model .: routing distance. . .

  • Simulation Results local caching keys hit-ratio Freenet routing

  • FreenetEnhanced clustering x seed s(x). datastore u ( , ) v seed. Distance(u,seed)
  • Freenet (Cont.)Enhanced clustering with random shortcuts Distance(u,seed)>Distance(v,seed) cache u v routing table u p ( 0.03).: shortcuts.

  • LRU Enhanced Clustering Enhanced Clustering with shortcuts

  • LRU Enhanced Clustering Enhanced Clustering with shortcuts (Cont.)

    publish read

    data store- routing table- requests chain of proxy requests, requestTo Hops-to-live TTL loops requests . request

    3 keysSplitting storage bandwidth Splitting storage bandwidth ( key )