240-322 Cli/Serv.: P2P/3 1
Client/Server Distributed SystemsClient/Server Distributed Systems
ObjectivesObjectives– introduce P2P, discuss some current introduce P2P, discuss some current
systems, highlight key issuessystems, highlight key issues
240-322, Semester 1, 2005-2006
3. Peer-to-Peer Technologies (P2P)
240-322 Cli/Serv.: P2P/3 2
ContentsContents
1.1. What is P2P (briefly) ?What is P2P (briefly) ?
2.2. The Early Days of the InternetThe Early Days of the Internet
3.3. The Internet NowThe Internet Now
4.4. Reader-Centric P2PReader-Centric P2P
5.5. Publisher-Centric P2PPublisher-Centric P2P
6.6. P2P Meme MapP2P Meme Map
7.7. P2P IssuesP2P Issues
8.8. More InformationMore Information
240-322 Cli/Serv.: P2P/3 3
1. What is P2P (briefly) ?1. What is P2P (briefly) ? Peer-to-peer (P2P) allows Peer-to-peer (P2P) allows everyoneeveryone on the Internet to on the Internet to
share their resourcesshare their resources with others. with others.
P2P is a class of applications that uses resources from P2P is a class of applications that uses resources from the 'edges' of the Internetthe 'edges' of the Internet– e.g. storage space, CPU time, filese.g. storage space, CPU time, files
Some P2P applications:Some P2P applications:– Napster, Gnutella, FreeNet, FreeHavenNapster, Gnutella, FreeNet, FreeHaven
240-322 Cli/Serv.: P2P/3 5
2. The Early Days of the Internet2. The Early Days of the Internet
Many users think that P2P ideas are new.Many users think that P2P ideas are new.
Infact, the Internet was originally designed Infact, the Internet was originally designed to be P2Pto be P2P– but due to the Web and browsers it has changed but due to the Web and browsers it has changed
into a client/server model during the 1990'sinto a client/server model during the 1990's
240-322 Cli/Serv.: P2P/3 6
The Arpanet (late 1960's)The Arpanet (late 1960's)
Arpanet's aim was to share computing resources Arpanet's aim was to share computing resources around the main USA universities and around the main USA universities and Government installations.Government installations.
'Killer' applications of 1970-1980's:'Killer' applications of 1970-1980's:– FTP, telnet, e-mail, chatFTP, telnet, e-mail, chat– mostly client/server but...mostly client/server but...– usage patterns were usage patterns were symmetricsymmetric
most machines were both clients most machines were both clients andand servers servers
240-322 Cli/Serv.: P2P/3 7
Usenet (since 1979)Usenet (since 1979)
A A decentralizeddecentralized file sharing model for file sharing model for distributing news.distributing news.
newsserver
newsserver
newsservernews
servernewsserver
rs rsrs
rs
rs
continuedreaders (and senders)
240-322 Cli/Serv.: P2P/3 8
No central authorityNo central authority– authority is localised in each news serverauthority is localised in each news server
But, an unofficial Usenet backbone has But, an unofficial Usenet backbone has developed:developed:– these are servers which store more newsgroups, these are servers which store more newsgroups,
have faster processing, better connectivity, etc.have faster processing, better connectivity, etc.– server inequalities cause a hierarchy to appearserver inequalities cause a hierarchy to appear
continued
240-322 Cli/Serv.: P2P/3 9
News News topic hierarchytopic hierarchy (the ordering of the news (the ordering of the news groups) is controlled by users in the groups) is controlled by users in the news.adminnews.admin news groupnews group– but new users find it hard to influence decisionsbut new users find it hard to influence decisions
There is an "anything goes" There is an "anything goes" alt.*alt.* news group news group hierarchy.hierarchy.
Main problem: lots of useless news itemsMain problem: lots of useless news items
240-322 Cli/Serv.: P2P/3 10
DNS (Domain Name System)DNS (Domain Name System)
DNS allows IP names to be mapped to IP DNS allows IP names to be mapped to IP addressesaddresses– used by almost all network applicationsused by almost all network applications
Names are organised into a hierarchy:Names are organised into a hierarchy:– psu.ac.thpsu.ac.th, , ait.ac.thait.ac.th, , foo.org.thfoo.org.th
Since 1983
continued
240-322 Cli/Serv.: P2P/3 11
The name hierarchy has led to a mixed P2P The name hierarchy has led to a mixed P2P and hierarchical server modeland hierarchical server model
nameserver
nameserver
nameserver
nameserver
nameserver
nameserver
nameserver
rsrs rs rs
th
ac
psu ait
org
foo
continued
lookups and requests
240-322 Cli/Serv.: P2P/3 12
Each name server deals with part of the Each name server deals with part of the namespace and passes other requests on.namespace and passes other requests on.
Each name server does Each name server does cachingcaching to reduce to reduce network load.network load.
A hierarchy makes search easier.A hierarchy makes search easier.
240-322 Cli/Serv.: P2P/3 13
3. The Internet Now3. The Internet Now
Most people use a browser to surf the Most people use a browser to surf the WebWeb– the Web encourages a client/server modelthe Web encourages a client/server model
request a page, get itrequest a page, get it
Most users do not run Web serversMost users do not run Web servers– hard to setuphard to setup– many ISPs do not allow themmany ISPs do not allow them
continued
240-322 Cli/Serv.: P2P/3 14
The present Web makes it hard for an The present Web makes it hard for an ordinary user to publish (serve) Web pagesordinary user to publish (serve) Web pages– dynamic addressesdynamic addresses– firewallsfirewalls– asymmetric bandwidth (e.g. cable modems)asymmetric bandwidth (e.g. cable modems)
Today's Web in summary:Today's Web in summary:– easy to read, difficult to publisheasy to read, difficult to publish
240-322 Cli/Serv.: P2P/3 15
AccountabilityAccountability
Many of the restrictions on users Many of the restrictions on users (e.g. firewalls) are quite recent(e.g. firewalls) are quite recent– they started appearing in the mid 1990'sthey started appearing in the mid 1990's
The reason is lack of The reason is lack of accountabilityaccountability– an Internet user can send spam, attack machines, an Internet user can send spam, attack machines,
etc.etc. due to the 'poor' design of the Internet protocoldue to the 'poor' design of the Internet protocol it assumes that users are it assumes that users are responsibleresponsible
240-322 Cli/Serv.: P2P/3 16
P2P AimsP2P Aims P2P has a P2P has a politicalpolitical and and socialsocial component component
– it aims to allow it aims to allow everyoneeveryone to share resources to share resources
– this is quite different from today's Web where this is quite different from today's Web where business/governement/university servers present business/governement/university servers present information, and ordinary uses read itinformation, and ordinary uses read it
There are many technological, political, and There are many technological, political, and social problems to be dealt with.social problems to be dealt with.
240-322 Cli/Serv.: P2P/3 17
4. Reader-Centric P2P4. Reader-Centric P2P
Reader-centric P2P systems distribute Reader-centric P2P systems distribute content (information) by anyone, for content (information) by anyone, for anyone to read.anyone to read.
Example systems:Example systems:– Napster, Gnutella, FreeNetNapster, Gnutella, FreeNet
240-322 Cli/Serv.: P2P/3 18
4.1. Napster4.1. Napster
Napster Napster use touse to allow users to publish music allow users to publish music files which other users can download files which other users can download for freefor free– publishing is not the same as authoringpublishing is not the same as authoring
Napster is a Napster is a hybridhybrid of P2P and client/server of P2P and client/server since a Napster server stores who is logged since a Napster server stores who is logged onto the system and details about the files onto the system and details about the files they are publishing.they are publishing.
240-322 Cli/Serv.: P2P/3 19
Using NapsterUsing Napster
Hey Jude/Beatles. JohnYesterday/Beatles. BobSgt. Pepper/Beatles. CarolYesterday/Beatles. Ted
::
Napster server
Bob
Carol
Ted
John
Napsterclient
1. request"Yesterday" 0. login and upload
details
2. sendmatchinginfo.
3. request music file
4. send the file0. login/upload
240-322 Cli/Serv.: P2P/3 20
FeaturesFeatures
Downloading a file makes it available from a Downloading a file makes it available from a new machine (your machine)new machine (your machine)– decentralizes file storagedecentralizes file storage– increases redundancy (good for reliability)increases redundancy (good for reliability)– reduces search time for nearby usersreduces search time for nearby users
Napster can be Napster can be 'attacked''attacked' easily easily– music lawyers sued the Napster server owners, and music lawyers sued the Napster server owners, and
closed it down (changed it)closed it down (changed it)
continued
240-322 Cli/Serv.: P2P/3 21
The peers (clients) are not equalThe peers (clients) are not equal– some do not publish (they are some do not publish (they are freeloadersfreeloaders))– some clients are recognized as being 'better'some clients are recognized as being 'better'
e.g. more songs, better quality recordingse.g. more songs, better quality recordings people choose those clients firstpeople choose those clients first
Client inequality means business opportunitiesClient inequality means business opportunities– e.g. for the music industrye.g. for the music industry
240-322 Cli/Serv.: P2P/3 22
4.2. Gnutella4.2. Gnutella
A network of shared file stores A network of shared file stores ((serventsservents)that can be searched.)that can be searched.
serventssearch bybroadcasting
info.reply
myservent
240-322 Cli/Serv.: P2P/3 23
FeaturesFeatures
No central server (authority)No central server (authority)– so much harder to ‘switch off’ than Napsterso much harder to ‘switch off’ than Napster
Illustrates how to access dynamic, heterogeneous file Illustrates how to access dynamic, heterogeneous file systemssystems
Queries can be interpreted differently by each serventQueries can be interpreted differently by each servent– results can be results can be anythinganything
continued
240-322 Cli/Serv.: P2P/3 24
Gnutella servents have been ported to i-Gnutella servents have been ported to i-Mode mobile phone in JapanMode mobile phone in Japan– servents are meant to run on anythingservents are meant to run on anything
InfraSearchInfraSearch– a prototype search engine for Gnutellaa prototype search engine for Gnutella– not fully developed as yetnot fully developed as yet– uses a uses a broadcast modelbroadcast model
240-322 Cli/Serv.: P2P/3 25
Broadcast Model DetailsBroadcast Model Details Broadcasting is done with TCPBroadcasting is done with TCP
– can avoid some firewall problemscan avoid some firewall problems– utilises TCP’s best effort packet sendingutilises TCP’s best effort packet sending
TCP will discard packets if the network is too loadedTCP will discard packets if the network is too loaded
Rebroadcasting/looping is avoided by each Rebroadcasting/looping is avoided by each packet having a unique IDpacket having a unique ID– a servent does not transmit a packet with the same a servent does not transmit a packet with the same
ID more than onceID more than once
continued
240-322 Cli/Serv.: P2P/3 26
Packets have a TTL (Time-To-Live) value of Packets have a TTL (Time-To-Live) value of 7 to get rid of old stuff7 to get rid of old stuff– TTL is the number of machines a packet can TTL is the number of machines a packet can
travel between before ‘dying’travel between before ‘dying’
A servent replies to the node that sent it the A servent replies to the node that sent it the packetpacket– answers are routed back along the transmission answers are routed back along the transmission
path of the querypath of the query
240-322 Cli/Serv.: P2P/3 27
Network ShapeNetwork Shape A new servent will search for connections to nodes A new servent will search for connections to nodes
with similar bandwidths or higherwith similar bandwidths or higher– this will cause the ‘shape’ of the Gnutella network to this will cause the ‘shape’ of the Gnutella network to
change over timechange over time– a a backbone topologybackbone topology (shape) will develop with high (shape) will develop with high
bandwidth nodes in the center, surrounded by slower bandwidth nodes in the center, surrounded by slower nodesnodes
This dynamic behaviour is not implemented in all This dynamic behaviour is not implemented in all servents.servents.
240-322 Cli/Serv.: P2P/3 28
ProblemsProblems
Node overloadingNode overloading– many servents are hardwired to connect to the many servents are hardwired to connect to the
same nodessame nodes these nodes can easily become overloadedthese nodes can easily become overloaded these nodes can be attacked to affect the Gnutella these nodes can be attacked to affect the Gnutella
networknetwork
– many sevents cannot be reconfigured to look many sevents cannot be reconfigured to look for other nodesfor other nodes
continued
240-322 Cli/Serv.: P2P/3 29
Too much broadcastingToo much broadcasting– some servents use broadcasting when direct node-some servents use broadcasting when direct node-
to-node communication is possibleto-node communication is possible– degrades the networkdegrades the network
Once a servent has found a node with the file it Once a servent has found a node with the file it wants, the file is downloaded using ordinary wants, the file is downloaded using ordinary HTTPHTTP– no security or anonymityno security or anonymity
240-322 Cli/Serv.: P2P/3 30
4.3. FreeNet4.3. FreeNet
FreeNet supports disk space sharingFreeNet supports disk space sharing– it creates a geographically distributed collection it creates a geographically distributed collection
of hard drivesof hard drives
search by key
reply
new linkscreated
240-322 Cli/Serv.: P2P/3 31
FeaturesFeatures
Documents are Documents are encryptedencrypted, so the owners of the , so the owners of the hard drives do not (easily) know what they are hard drives do not (easily) know what they are storingstoring– prevents document censorshipprevents document censorship– provides owner deniability provides owner deniability
e.g. if they are suede.g. if they are sued
An encrypted file comes with a unique key An encrypted file comes with a unique key which is used by search tools which is used by search tools
continued
240-322 Cli/Serv.: P2P/3 32
A search returns links to the answer nodes, A search returns links to the answer nodes, so a search node so a search node collects new connectionscollects new connections to the network over time.to the network over time.
Often requested documents are Often requested documents are cachedcached (for (for a certain time) by the search nodesa certain time) by the search nodes– increases network reliabilityincreases network reliability– decreases search time in the future for that doc.decreases search time in the future for that doc.
continued
240-322 Cli/Serv.: P2P/3 33
Nodes only have a certain amount of spaceNodes only have a certain amount of space– less popular files are deletedless popular files are deleted to make way for the to make way for the
caching of new onescaching of new ones
– any unpopular files can be deleted, even ones put any unpopular files can be deleted, even ones put there by the node ownerthere by the node owner
– may mean that FreeNet will end up storing may mean that FreeNet will end up storing music music and pornographyand pornography while more serious information while more serious information disappears!disappears!
240-322 Cli/Serv.: P2P/3 34
Key FormatsKey Formats
FreeNet has a complex range of different FreeNet has a complex range of different keys for documents:keys for documents:– keys using a hash function on the datakeys using a hash function on the data– keys using data keywords (metadata)keys using data keywords (metadata)– keys using public/private key encryptionkeys using public/private key encryption
These are likely to change/evolve as These are likely to change/evolve as FreeNet is developed.FreeNet is developed.
continued
240-322 Cli/Serv.: P2P/3 35
Keys are very important to FreeNetKeys are very important to FreeNet– they allow document contents to be hiddenthey allow document contents to be hidden
– they allow more efficient search than the Gnutella they allow more efficient search than the Gnutella broadcast modelbroadcast model
– they allow fake documents to be detectedthey allow fake documents to be detected
FreeNet search engines are still being developedFreeNet search engines are still being developed– early versions use a broadcast model like the one in early versions use a broadcast model like the one in
GnutellaGnutella
240-322 Cli/Serv.: P2P/3 36
4.4. Gnutella and FreeNet Compared4.4. Gnutella and FreeNet Compared
Availability of files:Availability of files:– Gnutella nodes do not delete filesGnutella nodes do not delete files
– cached behaviour of FreeNet means no guarantees cached behaviour of FreeNet means no guarantees about what will be stored on a nodeabout what will be stored on a node
Node controlNode control– Gnutella nodes only contain what their owners put Gnutella nodes only contain what their owners put
therethere
– FreeNet nodes may end up containing anythingFreeNet nodes may end up containing anything
continued
240-322 Cli/Serv.: P2P/3 37
Anonymity and DeniabilityAnonymity and Deniability– Gnutella does not hide document contentsGnutella does not hide document contents
– FreeNet encrypts documentsFreeNet encrypts documents
ScalabilityScalability– the caching and dynamic connectivity of FreeNet the caching and dynamic connectivity of FreeNet
nodes means it will probably scale better than nodes means it will probably scale better than GnutellaGnutella
– Gnutella’s broadcast search model will not scaleGnutella’s broadcast search model will not scale
240-322 Cli/Serv.: P2P/3 38
4.5. MojoNation4.5. MojoNation
A distributed file sharing system, but A distributed file sharing system, but searches use a complex searches use a complex micropayment micropayment systemsystem– a searcher must ‘compensate’ the node a searcher must ‘compensate’ the node
containing the content it wantscontaining the content it wants this might be in the form of digital money or some this might be in the form of digital money or some
other resource such as disk space or CPU cyclesother resource such as disk space or CPU cycles
240-322 Cli/Serv.: P2P/3 39
For supporting P2P business applications.For supporting P2P business applications.
Micropayments can solve many hacker Micropayments can solve many hacker problems:problems:– spam, distributed denial of service, freeloadersspam, distributed denial of service, freeloaders
Uses of MicropaymentsUses of Micropayments
240-322 Cli/Serv.: P2P/3 40
Problems with MicropaymentsProblems with Micropayments
If a node is based on a slow machine, its If a node is based on a slow machine, its network link is slow, and/or it does not contain network link is slow, and/or it does not contain much space then:much space then:– no one will use the node, andno one will use the node, and– the node has nothing to give in compensation when the node has nothing to give in compensation when
it uses other nodes (except money)it uses other nodes (except money)
One solution is for a network of machines to One solution is for a network of machines to become a single MojoNation node.become a single MojoNation node.
240-322 Cli/Serv.: P2P/3 41
5. Publisher-Centric P2P5. Publisher-Centric P2P
Publisher-centric systems concentrate on Publisher-centric systems concentrate on anonymously preserving informationanonymously preserving information– derived from the ‘Eternity Service’ ideaderived from the ‘Eternity Service’ idea– examples: FreeHaven, Publiusexamples: FreeHaven, Publius
Most systems do not process queries quickly.Most systems do not process queries quickly. Most systems assume a fixed network Most systems assume a fixed network
topology (shape).topology (shape).
240-322 Cli/Serv.: P2P/3 42
5.1. FreeHaven5.1. FreeHaven
A system of distributed anonymous storage.A system of distributed anonymous storage.
Anonymity for everything!Anonymity for everything!– authors, publishers, readers, servers, documentsauthors, publishers, readers, servers, documents
Documents can only be deleted/changed by Documents can only be deleted/changed by their publishers not the serverstheir publishers not the servers
continued
240-322 Cli/Serv.: P2P/3 43
FreeHaven does allow servers to be dynamically FreeHaven does allow servers to be dynamically added/removed.added/removed.
Uses complex Uses complex reputation and accountability reputation and accountability systemssystems– to detect if documents are fakes/rubbish to detect if documents are fakes/rubbish – prevents over-publicationprevents over-publication– the complexity is because author and publisher the complexity is because author and publisher
anonymity must be maintainedanonymity must be maintained
240-322 Cli/Serv.: P2P/3 44
5.2. Publius5.2. Publius
A Web-based publishing system that A Web-based publishing system that resists resists censorship and tamperingcensorship and tampering..
A file is replicated among many serversA file is replicated among many servers– combats distributed denial of service attackscombats distributed denial of service attacks
Files are encrypted, but come with a ‘Files are encrypted, but come with a ‘shareshare’’– each copy of the document has its own unique shareeach copy of the document has its own unique share
continued
240-322 Cli/Serv.: P2P/3 45
A document search returns one copy of the A document search returns one copy of the encrypted doc and several sharesencrypted doc and several shares– the shares are combined to create a key which the shares are combined to create a key which
is used to decrypt the fileis used to decrypt the file
– not all the shares for a document are needed to not all the shares for a document are needed to create the key create the key
240-322 Cli/Serv.: P2P/3 46
6. P2P Meme Map6. P2P Meme MapFile sharingand caching
email routing
open source
instantmessaging
networkeddevices
distributedcomputation
projects,actions,apps thatdefineP2P
IP routing
Strategic Positioning: an Internet OSUser Positioning: make a more capable computerCore Competencies:* metadata management* seemless connectivity and communication* self-organizing systems, zero administration* security
client and server
simplejoining
decouplingfrom machine
allowunreliability
user power
P2P is morefundamental
we createcommunities
decentralized
use edgeresources
ideassupported by P2P
240-322 Cli/Serv.: P2P/3 47
7. Some P2P Issues7. Some P2P Issues
DecentralizationDecentralization MetadataMetadata AccountabilityAccountability TrustTrust
240-322 Cli/Serv.: P2P/3 48
7.1. Decentralization7.1. Decentralization
Most models are a Most models are a hybridhybrid with some with some hierarchy and/or central servershierarchy and/or central servers– e.g. Napster, DNS, ICQe.g. Napster, DNS, ICQ
ICQ (from 1996) allows direct client-to-ICQ (from 1996) allows direct client-to-client communication where possible, but client communication where possible, but has a server as a fallback.has a server as a fallback.
240-322 Cli/Serv.: P2P/3 49
7.2. Metadata7.2. Metadata
Metadata is “Metadata is “information (data) about datainformation (data) about data””– e.g. the column headings of a databasee.g. the column headings of a database
– e.g. Napster’s metadata is the artist and song e.g. Napster’s metadata is the artist and song names used for searching for music filesnames used for searching for music files
240-322 Cli/Serv.: P2P/3 50
Why is Metadata Useful?Why is Metadata Useful?
Metadata about a resource (e.g. about a Metadata about a resource (e.g. about a Web page, a music file, a video) gives extra Web page, a music file, a video) gives extra information about the resourceinformation about the resource– explains the resource in a clear wayexplains the resource in a clear way
Metadata can be used by search engines to Metadata can be used by search engines to search faster, and give more accurate search faster, and give more accurate results.results.
continued
240-322 Cli/Serv.: P2P/3 51
Metadata can be used for information Metadata can be used for information addressing and more clever routingaddressing and more clever routing– e.g. use country information about a music file e.g. use country information about a music file
to direct a request to better serversto direct a request to better servers
240-322 Cli/Serv.: P2P/3 52
Metadata in the WebMetadata in the Web
HTTP added support for metadata late in HTTP added support for metadata late in 1997:1997:– the the <meta><meta> tags tags– not widely used, can be misusednot widely used, can be misused– meant to contain information such as a meant to contain information such as a
description (keywords) about the file, the description (keywords) about the file, the creator name, date, etc.creator name, date, etc.
continued
240-322 Cli/Serv.: P2P/3 53
XMLXML– allows the creation of new tags which more allows the creation of new tags which more
accurately reflect the meaning of the dataaccurately reflect the meaning of the data e.g. e.g. <author><author>, , <publisher><publisher>, , <owner><owner>, ..., ...
RDF (Resource Description Framework)RDF (Resource Description Framework)– talks about the properties of resourcestalks about the properties of resources– e.g. the meaning of a link can be made more e.g. the meaning of a link can be made more
accurate: accurate: was_written_bywas_written_by, , is_interestingis_interesting
240-322 Cli/Serv.: P2P/3 54
7.3. Accountability7.3. Accountability
““The Tragedy of the Commons”The Tragedy of the Commons”– a commonly owned resource will be overused a commonly owned resource will be overused
until it degrades due to the user’s putting self-until it degrades due to the user’s putting self-interest firstinterest first
One solution:One solution:– give ownership of the resource to its users so that give ownership of the resource to its users so that
caring for the resource prolongs the user’s caring for the resource prolongs the user’s incomeincome
240-322 Cli/Serv.: P2P/3 55
Accountability Problems in P2PAccountability Problems in P2P
Peers are often anonymous / hard to track / Peers are often anonymous / hard to track / transienttransient– so there is no reason for them to look after the so there is no reason for them to look after the
resources they useresources they use
Assigning IDs to users to encourage Assigning IDs to users to encourage responsibility often failsresponsibility often fails– e.g. pseudospoofinge.g. pseudospoofing
continued
240-322 Cli/Serv.: P2P/3 56
PseudospoofingPseudospoofing– a person creates many fake IDs in the a person creates many fake IDs in the
system (e.g. at eBay)system (e.g. at eBay) each fake ID is used to give a high positive each fake ID is used to give a high positive
rating to the other fake IDsrating to the other fake IDs then one of the IDs is used to stealthen one of the IDs is used to steal
– also used to get extra free disk space on also used to get extra free disk space on GeoCities Web sitesGeoCities Web sites
240-322 Cli/Serv.: P2P/3 57
Some SolutionsSome Solutions
A micropayments modelA micropayments model– based on digital cash or compensation of resourcesbased on digital cash or compensation of resources– e.g. MojoNatione.g. MojoNation
A reputation systemA reputation system– relatively new idearelatively new idea– based on encrypted ‘signatures’ and third party based on encrypted ‘signatures’ and third party
verifiersverifiers
continued
240-322 Cli/Serv.: P2P/3 58
Tolerate a certain amount of bad behaviourTolerate a certain amount of bad behaviour– use mirroring of resources, and other forms of use mirroring of resources, and other forms of
redundancyredundancy
240-322 Cli/Serv.: P2P/3 59
7.4. Trust 7.4. Trust (between peers/servers)(between peers/servers)
Trust increases based on the Trust increases based on the reputationreputation of of peers and serverspeers and servers– how to implement reputation?how to implement reputation?
Trust increases when less people are Trust increases when less people are involved in the transactioninvolved in the transaction– e.g. buying directly without a middlemane.g. buying directly without a middleman
240-322 Cli/Serv.: P2P/3 60
Trust increases when the environment Trust increases when the environment contains less riskcontains less risk– e.g. applet execution inside a JVM sandboxe.g. applet execution inside a JVM sandbox
240-322 Cli/Serv.: P2P/3 61
Trust Issues in Censorship-resistent Trust Issues in Censorship-resistent Publication SystemsPublication Systems
RiskRisk SolutionSolutionlogging your requestslogging your requests use secure channelsuse secure channels
server-altered contentserver-altered content use multiple serversuse multiple servers
fake updating of doc.fake updating of doc. encryption/encryption/multiple copiesmultiple copies
multiple fake docs.multiple fake docs. impose pub. limits/impose pub. limits/micropaymentsmicropayments
legal deletionlegal deletion multiple copiesmultiple copies
240-322 Cli/Serv.: P2P/3 62
8. More Information8. More Information
Peer-to-Peer: Harnessing the Power of Peer-to-Peer: Harnessing the Power of Disruptive TechnologiesDisruptive TechnologiesAndy Oram (ed.)Andy Oram (ed.)O'Reilly, 2001O'Reilly, 2001– very good non-technical overviewvery good non-technical overview– contains chapters on the main projects contains chapters on the main projects
(e.g. Gnutella, FreeNet) and main issues(e.g. Gnutella, FreeNet) and main issues– the the P2P meme mapP2P meme map is explained in chapter 3 is explained in chapter 3
in our library
continued
240-322 Cli/Serv.: P2P/3 63
O'Reilly's P2P Web site:O'Reilly's P2P Web site:http://www.openp2p.com/http://www.openp2p.com/
– articles about P2Particles about P2P
Google's Google's longlong list of P2P links (~150): list of P2P links (~150):http://directory.google.com/Top/http://directory.google.com/Top/
Computers/Software/Computers/Software/Internet/Internet/
Clients/File_Sharing/Clients/File_Sharing/