李秀惠 博士 點對點網路檔案分享之可靠聲譽

Transcription

李秀惠 博士 點對點網路檔案分享之可靠聲譽
國立台灣大學資訊工程研究所碩士論文
指導教授:李秀惠 博士
點對點網路檔案分享之可靠聲譽系統
的設計與實作
Design and Implementation of a Reliable
Reputation System for File Sharing in
Peer-to-Peer Networks
研究生:黃盈傑 撰
中華民國九十五年六月
致謝
這篇論文的完成,首先要感謝老師李秀惠教授的指導。在這幾年裡,不論是
專業領堿裡知識的學習、論文題目摸索的過程還有作研究的方法,都有賴於老師
的教導,今日才能順利完成這篇論文。
再來要感謝實驗室裡的學長姊,麗娟、士傑、柏戎、承良,從各位身上學到
了不少經驗。還有同屆的健銘、錦驊、淳筌,唸研究所的期間多虧了你們在課業
上的照應,也共渡了一段歡樂的時光。特別感謝 coding 魔人楊淳筌,即使是在
服役之期,也替我解決了許多程式實作的問題。還有 93、94 級的學弟們,青坡、
億宗、宗賢、俊豪、詩禹、曜徽、韋志、榮宏、逸群、建霖,從你們身上也得到
不少幫助,實驗室也因有你們的加入和照顧,變的更有生氣、更有活力。
最後要感謝我的家人和朋友。不論是遇到挫折,還是陷入困境,都要多謝你
們替我分憂解勞,幫助我順利克服各種困難。因為有你們的支持,才能有今天的
我。
Abstract
Nowadays, peer-to-peer (P2P) applications have played an important role in the
network. Many applications have a great success by using P2P protocol, such as file
sharing, distributed processing, and instant messaging, etc.
In file-sharing
applications, because of the anonymity of P2P, there is a problem that some of file
providers may misuse by providing tampered files – wrong files, bad files, even
viruses and Trojan Horses.
There are already many existing researches on reputation system for P2P
file-sharing, but they still limited to the resistance of some attacks. We add a server
into our reputation system, in order to record all users’ actions, include uploading,
downloading, judging and getting judgment. To make our reputation system more
reliable, we have the monitor component that monitors these records to determine
whether there is any malicious behavior, and punish the malicious users if some
wrong behaviors are detected.
Keywords: P2P, reputation mechanism, trust.
I
中文摘要
在現今的網路上點對點網路的應用程式扮演了一個重要的角色。很多應用程
式經由點對點協定都獲得極大的成功,例如檔案分享、分散式處理和即時通訊。
由於點對點網路的匿名性,在檔案分享的系統裡就有個潛藏的嚴重問題,那
就是檔案提供者有可能提供竄改過的檔案,例如:內容和檔名不符的檔案,或者
是損壞的檔案,甚至是含有病毒和特洛依木馬的檔案。
目前在點對點檔案分享系統上建立聲譽系統已有許多相關的研究,但對於某
些攻擊行為的抵抗力仍然有限。我們在我們的聲譽系統裡加入一個伺服器,以便
記錄所有使用者的行為,包含上載、下載、評價以及取得評價等動作。經由我們
設計的行為監控程式,來判斷是否有的惡意行為,並進一步處罰惡意的使用者,
讓我們的聲譽系統更可靠。
關鍵字:點對點網路、聲譽機制、信任。
II
Content
Abstract......................................................................................................................... I
中文摘要....................................................................................................................... II
Chaper 1 Introduction ....................................................................................................1
1.1 Motivation........................................................................................................1
1.2 Objectives ........................................................................................................2
1.3 Organization of this thesis................................................................................3
Chaper 2 Related Work ..................................................................................................4
2.1 P2P Architecture ..............................................................................................4
2.1.1 Pure P2P Architecture ........................................................................5
2.1.2 Hybrid P2P Architecture ....................................................................5
2.1.3 Hierarchical P2P Architecture ...........................................................6
2.2 JXTA ................................................................................................................7
2.3 Problems and Attacks.......................................................................................9
2.3.1 Problems on P2P Network .................................................................9
2.3.2 Attacks to P2P Systems ......................................................................9
2.3.3 Attacks to Reputation-based Systems .............................................10
2.4 Existing Reputation-based Trust Management ..............................................12
Chaper 3 Design Issues & System Architecture ..........................................................14
3.1 Design Issues .................................................................................................14
3.1.1 Definitions..........................................................................................15
3.1.2 Formulas Design................................................................................16
3.2 Defend the Attacks.........................................................................................17
3.3 Monitor Design ..............................................................................................18
3.4 System Architecture.......................................................................................22
Chaper 4 System Implementation & Experiments.......................................................24
4.1 System Implementation .................................................................................24
4.1.1 Information Storage..........................................................................24
4.1.2 Application Overview .......................................................................26
4.2 Experiments ...................................................................................................33
Chaper 5 Conclusions & Future Works .......................................................................40
5.1 Conclusions....................................................................................................40
5.2 Future Works..................................................................................................41
References ...................................................................................................................42
Appendix.....................................................................................................................44
List of Tables
Table 2-1. Comparison with client/server and peer-to-peer architecture .......................................4
Table 3-1. Comparison of reputation system in different architectures........................................14
Table 4-1. Fields of reputation_data table .......................................................................................24
Table 4-2. Fields of client_registration table ...................................................................................25
Table 4-3. Fields of report record file...............................................................................................25
List of Figures
Figure 2-1. Pure P2P Architecture......................................................................................................5
Figure 2-2. Hybrid P2P Architecture .................................................................................................6
Figure 2-3. Hierarchical P2P Architecture ........................................................................................6
Figure 2-4. The JXTA three-layer architecture.................................................................................7
Figure 2-5. An example of Content Advertisement with Metadata.................................................8
Figure 2-6. Man in the middle attack...............................................................................................10
Figure 2-7. Self replication................................................................................................................10
Figure 2-8. Pseudospoofing ............................................................................................................... 11
Figure 2-9. Shilling attacks ............................................................................................................... 11
Figure 3-1. Flowchart of the Monitor ..............................................................................................18
Figure 3-2. Flowchart of determine phase: F-9...............................................................................19
Figure 3-3. Flowchart of determine phase: F-12.............................................................................20
Figure 3-4. Flowchart of determine phase: F-13.............................................................................20
Figure 3-5. Flowchart of determine phase: F-14.............................................................................20
Figure 3-6. Flowchart of determine phase: F-15.............................................................................21
Figure 3-7. Flowchart of determine phase: F-16.............................................................................21
Figure 3-8. System Architecture .......................................................................................................22
Figure 4-1. Screen shot of “Connect”...............................................................................................26
Figure 4-2. Query on multi-server....................................................................................................27
Figure 4-3. Screen shot of “Search file”...........................................................................................27
Figure 4-4. Screen shot of "Query report record from other peers”-1 .........................................28
Figure 4-5. Screen shot of "Query report record from other peers”-2 .........................................28
Figure 4-6. Screen shot of “Query the access history of the file" ..................................................29
Figure 4-7. Report on multi-server ..................................................................................................29
Figure 4-8. Screen shot of “Report”.................................................................................................29
Figure 4-9. Screen shot of main frame .............................................................................................30
Figure 4-10. Screen shot of monitor result.......................................................................................30
Figure 4-11. Screen shot of monitor parameters setting.................................................................31
Figure 4-12. System framework of Server on-line ..........................................................................32
Figure 4-13. System framework of Server off-line..........................................................................32
Figure 4-14. Result of Type-1 experiment........................................................................................34
Figure 4-15. Result of Type-2 experiment........................................................................................34
Figure 4-16. Result of Type-3 experiment........................................................................................35
Figure 4-17. Compare selection the highest reputation, 0.8 and 0.5 in Type-1.............................36
Figure 4-18. Compare selection the highest reputation, 0.8 and 0.5 in Type-2.............................36
Figure 4-19. Compare selection the highest reputation, 0.8 and 0.5 in Type-3.............................37
Figure 4-20. Result of Type-1 experiment with different variations..............................................38
Figure 4-21. Result of Type-2 experiment with different variations..............................................38
Figure 4-22. Result of Type-3 experiment with different variations..............................................39
5
Chaper 1 Introduction
1.1 Motivation
In the past, network services have paid much attention to access control
management, authentication protocols, and cryptographic algorithms for privacy and
digital signatures. These methods from server providers are using to protect their
services and resources. It seems the question is whether the user can be believed or
not.
But in recent years, service providers begin to pay attention to another question
that do the users trust our resources? Amazon, eBay and Yahoo have adopted the
approach of reputation-based trust management. Customers can look for past
comments before buying the product at Amazon.com. Participants can check
auctioneers' history before biding and rate each other after each transaction at eBay's
and Yahoo's auctions.
As P2P networks are in the flourishing development, and many services have
been transferred to P2P protocol. When those users use traditional means such as
FTP and the Web to download files, they can choose the site that they trust. But P2P
infrastructure's anonymity causes malicious users to exploit this property to freely
distribute Trojan Horse and Virus programs. To ensure that users can get reliable
information of the resources and other peers, it is really important to develop a
reputation system on the P2P network. So we can see that similar approaches are
also taken in P2P networks.
Copyright Problem
First of all, many people utilize P2P tools exchange digital files that possibly
without the permission of copyright owners. Thus, there are some organizations
attacking P2P systems in order to protect the intellectual property rights such as the
RIAA (Recording Industry Association of America) and MPAA (Motion Picture
Association of America) and IPFI (International Federation of the Phonographic
Industry) [CDCPS 2002].
Napster [Napster 1999] is a file-sharing system with the central indexed server.
Napster finally fails due to copyright problem, because its server was attached.
Those users of Napster can not use the service any more. P2P applications in
1
Taiwan such as Kuro [Kuro] and ezPeer [ezPeer] had also begun to wane by litigation.
Therefore, some later P2P applications are more interesting on “pure” p2p like
Gnutella [Gnutella 2000].
1.2
Objectives
Since P2P systems have various architectures, the reputation systems based on it
can also be different. Reputation can be centralized and be computed by a trusted
third party. Or it can be decentralized and be computed independently by each peer
after asking other peers for recommendations. We are going to build a reputation
system with a server to provide reliable information. The users can rest assured to
download the files based on the file provider’s reputation.
The objectives of this thesis are:
1.
Detect the malicious users and punish them.
2.
Design a mechanism to determine the judgments are real or not.
2
1.3 Organization of this thesis
This thesis is structured as follows:
Chapter 1: Introduction
This chapter states motivation and objective of this research.
Chapter 2: Related work
This chapter has some simple introductions to P2P networks, JXTA
project, some existing reputation-based trust management, the problems
and attacks to P2P and reputation system.
Chapter 3: Design Issues & System Architecture
This chapter will describe how we design the reputation system and defend
the attacks, and show our system architecture.
Chapter 4: System Implementation & Experiments
This chapter briefly describes how the system is implemented, and some
screen shots of our application. Then, we will discuss the results of the
experiments.
Chapter 5: Conclusions & Future Works
The conclusions and some future works are listed in this chapter.
3
Chaper 2 Related Work
2.1
P2P Architecture
"Peer-to-peer" is a generic term of network architectures that all the nodes offer
the same services and have the same behavior. When we focus on file exchange in
P2P networks, all nodes can act as clients and servers. In contrast to traditional
client/server architecture, P2P systems reveal some advantages [TS 2004, SR 2002]:
disperse the loading of the server to many peers, fast content distribution, the
bandwidth of all clients can be used, better fault tolerance, heterogeneous hardware
and software resources can participate together autonomously.
Table 2-1. Comparison with client/server and peer-to-peer architecture
Architecture
Property
Stability
Scalability
Fault tolerance
Cost
client/server
peer-to-peer
Depend on the server
Low
Low
High
Low
High
High
Low
The stability of client/server architecture depends on the server. If the server
always works properly, the stability is much better than the stability of P2P
architecture which is worse stable due to the dynamic variations of its peers. The
scalability of client/server architecture is low, because the server can only deal with
limited requests of the clients. In P2P architecture, more peers participate in the
network, more resources and services are available. The fault tolerance is also low
in client/server architecture, because all services are unavailable when the server
crashes. But in P2P architecture, the failure of one node will not crash the entire
network. It is certainly that there is a additional cost to maintenance the server, but
P2P architecture only works with peers’ devices in the network.
A P2P file exchange involves two phases: search and download. The search
phase is looking for peers who have the given file. And the download phase
establish a direct connection between the demander and provider (in most P2P
application). In the search phase, according to the way that peers find their
4
interesting files, we can divide P2P systems to three main architectures: Hybrid P2P
architecture, pure P2P architecture and Hierarchical P2P architecture.
2.1.1
Pure P2P Architecture
Pure P2P architecture is a fully decentralized architecture. All peers in this
network are really identical, and all interactions between peers are performed by
themselves. Due to the variations of dynamic network states, the performance can't
be expectable. Gnutella is a well known representative of pure P2P architecture.
Figure 2-1. Pure P2P Architecture
2.1.2
Hybrid P2P Architecture
In this architecture, it uses a centralized indexing server that describes the
resources offered by each peers. Therefore, every peer must connect to a server,
when they are starting. The server will keep a list of all peers and all resources.
When a peer wants to find some files, it sends a request to the server, and the server
can respond the matched files efficiently with the file indexes. The representatives
of this solution are Napster, eDonkey [eDonkey 2000] and eMule [eMule 2002].
5
Figure 2-2. Hybrid P2P Architecture
2.1.3
Hierarchical P2P Architecture
In the hierarchical P2P architecture, every peer may not act the same roles.
Taking FastTrack [FastTrack 2001] as an example, it distinguishes its peers in
supernodes and nodes. Supernodes are responsible for indexing the resources and
have a major role in the organization of the network. In general, a node with more
bandwidth and computational power is fit to be a "supernode".
Figure 2-3. Hierarchical P2P Architecture
6
2.2
JXTA
JXTA Project
JXTA is the abbreviation of “Juxtapose.” JXTA™ technology is a set of open
protocols that allow any connected device on the network ranging from cell phones
and wireless PDAs to PCs and servers to communicate and collaborate in a P2P
manner. JXTA peers create a virtual network where any peer can interact with other
peers and resources directly even when some of the peers and resources are behind
firewalls and NATs or are on different network transports [JXTA 2001].
The Logical Layers of JXTA
The JXTA platform can be broken into three layers, as shown in Figure 2-4.
Figure 2-4. The JXTA three-layer architecture
7
JXTA CMS
The Content Management Service (CMS) is a simple JXTA service that builds
for file-sharing and file-searching within a peer group [CMS 2002]. The shared
contents were also resources, and can be represented by advertisements. The content
advertisement contains some meta-information describing the content, including the
content name, length, mime type, id, and description. Content name and id are
necessary to describe content.
Figure 2-5. An example of Content Advertisement with Metadata
8
2.3 Problems and Attacks
2.3.1
Problems on P2P Network
•
Free-riders:
In P2P file sharing system, lots of users do not provide files for download by
others or just provide a few files. They only download files for themselves.
According to experiments on Gnutella, there are near 66% of all users share no
file, the top 1% users supply 47% of all downloads, and the top 25% users
account for 99%. The same phenomenon is also observed in Napster and Kazaa
[Kazaa 2002]. The Free-rider problem indicates that individual users often
have little incentive for sharing their own files [TWD 2004].
•
Tragedy of commons:
Hardin proved that common resources without any exclusive ownership will be
consumed without limit. He named this phenomenon “Tragedy of Commons”
[Hardin 1968].
In some P2P systems, peers can use the resources (bandwidth and storage space)
of others on the network without providing resources of their own available to
the network, thereby reducing the value of the network. While more users
choose not to share their resources, those peers who do share resources suffer
increased load and, in many ways, the network begins to revert to the classic
client/server architecture.
As a common resource that can be utilized freely, Internet bandwidth is
consumed by all kinds of P2P applications without limit, for example, statistic
shows that near 70% of the bandwidth of Internet backbones were occupied by
P2P applications [TWD 2004].
2.3.2
•
Attacks to P2P Systems
Distribution of tampered with information:
The simplest version of this attack is based on the fact that there is no way to
verify the sources. A malicious user can provide a fake resource with the same
as a popular resource. The actual file could be a Trojan Horse program or a
virus[LL 2004].
9
•
Man in the middle attack:
The malicious peer can intercept the message from the provider peer to the
requestor and rewrite it with his IP address and port instead of the provider’s.
Now, the malicious peer can infect the original content from the provider and
pass it on to the requestor [LL 2004].
Figure 2-6. Man in the middle attack
2.3.3
•
Attacks to Reputation-based Systems
Self replication:
A single node(user) N sequentially joins the system multiple times, creating
virtual identities N1,N2…Nn. In the reputation systems that adopt peer-voting
(polling) mechanism to response peer’s query message, this situation will lead to
a unfair voting result.
Figure 2-7. Self replication
•
Pseudospoofing:
The pseudospoofing attack exploits the P2P systems use of pseudonyms.
Pseudospoofing attackers create and control multiple phony identities. This
technique can be readily used to compromise P2P systems relying on
pseudonyms rather than on full authentication. Pseudospoofing is easy to
countermeasures based on peer reputations alone, as a malicious peer can turn to
10
a new pseudonym after earning a bad reputation, and simulate multiple witnesses
willing to give fake evidence in its favor[DVPSV 2002].
Figure 2-8. Pseudospoofing
•
Shilling attacks:
Shilling is a well-known problem of distributed auctions protocols, where a
malicious auctioneer may try to cheat his bidders by pushing up the price
creating multiple registration names (called shills) to bid under. Shilling is
different from pseudospoofing, as the multiple identities are actually created with
real IP addresses, and not just simulated, by the attacker[DVPSV 2002].
Figure 2-9. Shilling attacks
•
Reentry to get rid of the bad history:
The user that has a bad history or bad reputation gets a new ID, and play as a
new role in the system. With reentry, malicious users can keep on separating
bad files or causing damage to the reputation system when their original IDs are
restricted by the system.
11
2.4
Existing Reputation-based Trust Management
There are various mechanisms to build up reputation systems, and the reputation
systems may be for different functions. Like P2Prep [CDVPS 2002] and XRep
[DVPSV 2002] are using the polling protocol and focus on the improvement of
security of the communications between peers. Some researches focus on the users’
incentive to share their own resources [GBM 2001, MF 2002, NWD 2003]. Above
reputation systems are setting up the users’ credibility, and there are still some
reputation systems are setting for the resources. Like sig2dat [sig2dat 2002] which
Kazaa used is this kind.
Now, we briefly introduce how the Recommendation-based P2P trust model
[DWJZ 2004] restrains slander and magnifying (shilling attacks), because we will
compare the results of the experiments with it in chapter 4.
Recommendation-based P2P trust model
Definitions:
1. Sij: successful transactions from node j to node i.
2. Fij: unsuccessful transactions from node j to node i.
3. Eij: node i’s evaluation on node j. Eij = (Sij, Fij)
4. Rij: node i’s recommend degree on node
R
ij
=
S −F
∑S
ij
ij
kj
k
5.
Trust calculation formula:
T = ∑ (R ×T
i
ki
k
)
k
From definition 4 and 5, we can get:
S −
T = ∑( ∑ F
S
kv
v
k
kv
×T k)
jv
j
While node u tries to slander or magnifies node u. Node u will send an unreal Euv,
and set Suv a big number. When Suv is big enough, we can get:
T
v
≒ S uv
− F uv
S
×T u
uv
Therefore, when node u has a high trust, and Suv >> Fuv, node u can magnify
node v. If Suv ≒ Fuv, node u can slander node v.
12
Restrain slander and magnifying
1.
If node u puts Euv too frequently, the Euv may not be accept.
2.
For every transaction, when node u puts Euv, node v also needs to echo it in a
period of time.
If node v echos in time:
(a) Euv is positive evaluation, the Euv is accepted in the probability of Tv.
(b) Euv is negative evaluation, the Euv is accepted.
If node v does not echo in time:
(a) Euv is positive evaluation, the Euv is not accepted.
(b) Euv is negative evaluation, the Euv is accepted in the probability of 1-Tv
Therefore, when node u wants to slander a node with higher trust, the probability
is smaller; when node u wants to magnify a node with lower trust, the probability is
smaller too.
13
Chaper 3 Design Issues & System Architecture
3.1
Design Issues
Our goal is building a reputation system on the file sharing application that
provides each user a basis to select the file source. The reputation is based on users’
feedback after they download files. With the users’ feedbacks, we construct not only
the reputation of each client but the file’s access history. Therefore, clients can
consult the file provider’s reputation or the file’s access history, when they want to
download a file.
It is important that a reputation system is robust enough to against the attacks as
we have illustrated in section 2.3. Therefore, we design some mechanisms to defend
the attacks.
Although there are some drawbacks of client/server architecture, we still adopt it
to build our system. Because it is really hard to defend the attacks of the malicious
peers in the pure P2P network, we use the server to detect if any malicious behaviors
in our system. In order to reduce the weakness of the client/server architecture, the
server in our system can extend to multi-servers.
Table 3-1. Comparison of reputation system in different architectures
Architecture
Pure P2P
Property
Difficulty
Efficiency
Bandwidth cost
Fault tolerance
Overhead
Cost
Hard
Depend on
design
Depend on
design
High
Low
Low
Hierarchical
P2P
Hard
Depend on
design
Depend on
design
High
Low
Low
Hybrid P2P
Our System
Easy
High
Easy
High
Low
Low
Low
High
High
Moderate
Moderate
High
A comparison of reputation system in different architecture is given in Table 3-1.
Some early reputation systems are lower efficient and higher bandwidth cost in pure
P2P and hierarchical P2P architecture. Because the clients need gets all information
on other client’s when the clients query other clients’ reputation, so there are more
14
messages flooding in the network. Later reputation systems calculate the reputation
first and store the information on certain client, so there will be less query messages in
the network. Obviously, reputation systems in hybrid P2P architecture and our
system have also less message traffic, because the clients only need to query the
server to get the reputation information they want. Our system is seems much like
the hybrid P2P architecture, but there is a difference. Our RepServer does not work
as an index server, so the overhead is less than the reputation system in hybrid P2P
architecture.
3.1.1
Definitions
RepServer:
The key of our reputation system is this server, called RepServer. RepServer is
responsible for: maintain clients’ reputation data, record clients’ action, collect
clients’ report, response clients’ query and monitor clients’ action.
Client:
Because our reputation system is client/server architecture, we call the user “client.”
Cx represents client x.
Manager:
The RepServer can be managed by one or several managers.
work is handling the results of monitor.
The manager’s main
Monitor:
The capability of the Monitor is monitoring clients’ actions such as download, upload,
report, and get report. The Monitor will set the client’s state as “Alert” or “Forbid”
when the action counts exceeds the parameters. The parameters are adjusted by the
manager.
Report:
After a downloading, a client should send a message to RepServer to judge the
downloaded file.
Judgment:
In our system, the judgments of the files can briefly divide into three kinds: “Good”,
“Bad”, and “Very bad. ” “Good” represents the file is good. “Bad” represents that
perhaps the file is low quality, or perhaps the file name or file description doesn’t
match the file totally. “Very bad” represents the file can’t be used or even a harmful
file such as a virus or Trojan Horse.
15
3.1.2
Formulas Design
Global Trust Calculate Formula:
Each client’s Global Trust is calculated by the judgments he got and it is stored in the
RepServer’s database. The manager can set the weight (parameter w) of very bad
judgment, our default setting is 2.
GTx represents client x’s Global Trust.
g − b x − w × vb x
(1)
GT x = x
Jx
-1 ≤ GTx ≤ 1, w = 2
gx = Counts of “Good” judgments of Cx
bx = Counts of “Bad” judgments of Cx
vbx = Counts of “Very bad” judgments of Cx
Jx = gx + bx +w* vbx
Self-Trust Calculate Formula:
STxy represents the self-trust for client x to client y.
g − b − w × vb
(2)
ST =
J
-1 ≤ STxy ≤ 1, w = 2
xy
xy
xy
xy
xy
gxy = Counts of “Good” judgments that Cx report to Cy
bxy = Counts of “Bad” judgments that Cx report to Cy
vbxy = Counts of “Very bad” judgments that Cx report to Cy
Jxy = gxy + bxy +w* vbxy
Reputation Calculate Formula:
REPxy represents client y’s reputation to client x.
REP
xy
= α × GT y + (1 − α ) × ST xy
(3)
-1 ≤ REPxy ≤ 1, 0 ≤ α ≤ 1
Each client can set the coefficient ‘α’ himself. If the client only believes his
own report records, he can set α = 0. If the client has fewer report records, he can
set α a higher value (near 1) to adopt the global trust.
16
While the RepServer is off-line, clients can not get the GT of the clients register
on it. We can query other clients to get the judgments of them at this time. So the
calculate formula will change like this:
REP
xy
=β×
∑(g
z
zy
− b zy − w × vb zy )
∑J
+ (1 − β ) × ST xy
(4)
zy
z
-1 ≤ REPxy ≤ 1, 0 ≤ β ≤ 1, w = 2
z: all the other clients in the P2P network
Each client can also set the coefficient ‘β’ himself. The same as last coefficient
‘α’, if the client is much willing to believe the report records of other clients, he can
set β a higher value (near 1). On the contrary, the client can set β a lower value
(near 0) when he relatively believes his self-trust. If all clients are on-line, the
calculating result will be quite close to the value that calculated by formula (3).
3.2
Defend the Attacks
•
Self replication:
In JXTA’s P2P network, each peer has to set PlatformConfig if this is his first
time to run the application. With this setting, the IP address and port are bind to
this peer. So this peer can’t run with the same PlatformConfig second time.
Because we use the ID of the JXTA and MAC address to identify each peer, any
client copies the PlatformConfig to other computer to run the application will be
recognized as another peer. Therefore, this situation won’t occur in our system.
•
Distribution of tampered with information:
If there is some client downloads the tampered file, he will report to RepServer
to update the provider’s reputation, and that file’s access history is update too.
Other clients can prevent interact with this provider or download the tampered
file again.
•
Pseudospoofing:
Because the ID we designed, this can’t be done on a personal computer.
Anyone wants to do pseudospoofing attack must have enough hardware, and this
is not easy to achieve. If anyone has enough hardware to do pseudospoofing
attack, the situation is the same with “shilling attacks”.
17
•
Shilling attacks:
Our RepServer is always running a monitor thread that checks each client’s
download, upload, report action and the reports he gets, we can detect the
abnormal situations and then punish the cheaters. We will describe how the
“Monitor” works in next section.
•
Reentry to get rid of the bad history:
The same, because we use the ID of the JXTA and MAC address to identify each
peer that it can keep its unique identifier and its reputation, and malicious peers
can't get rid of his bad reputation by making a new identifier easily.
3.3
Monitor Design
When a client does something, such as downloading, uploading, reporting and
getting judgments, the RepServer where this client registered on will save the
information about these actions in a file corresponding to the client. We call this file
“report record file.”
The work of the Monitor is scanning the report record files to detect the possible
malicious behaviors at regular intervals. When someone is thought to misbehave,
the monitor only sets his alert-state to “Alert” of “Forbid” under some situations.
But if someone gets too many bad judgments, the Monitor will determine whether he
is punished or not. Anyone’s reputation goes down, if he is punished. The work of
Monitor will go through two phases: Check phase and Determine phase.
Figure 3-1. Flowchart of the Monitor
18
1.
Check phase
There are both 14 kinds of checking parameters for “Alert” and “Forbid” (all
kinds are show in P.29 Figure 4-11). In this phase, the Monitor checks whether the
action counts of each type exceeds the parameters in a period of time, and sets
alert-state of the clients. When the action counts exceed, the alert-state will be set to
‘A’ in “Alert”; the 14 corresponding arguments (fn) will set to 1 in “Forbid”, and we
can get a number fs = F-1*20 + F-2*21 + … + F-16*215. The alert-state will then be
set to “F-fs”. If there are no action counts exceeding, the alert-state will be set to 0.
2.
Determine phase
The Monitor will proceed to this phase, when someone’s alert-state is set. In
this situation, the Monitor is going to determine whether the giving judgments are real
or not, and whether the client is on the good behavior or bad behavior. We have
designed the determine mechanisms for alert-state F-9, F-12, F-13, F-14, F-15 and
F-16. The following shows some notations and how the Monitor determines each
alert-state.
Notations:
Cx: the client whose alert-state is set
Cg: the client gives Cx good judgment
Cb: the client gives Cx bad judgment
GTx: global trust of Cx, -1 ≤ GTx ≤ 1
NGTx: normalized global trust of Cx, 0 ≤ NGTx ≤ 1
avg_good_judgment = mean( ∑(NGTg) )
avg_bad_judgment = mean( ∑(NGTb) )
final_judge = avg_good_judgment - avg_bad_judgment
•
F-9: Cg gives too many good judgments to a specific file of Cx.
Figure 3-2. Flowchart of determine phase: F-9
19
•
F-12: Cb gives too many bad judgments to a specific file of Cx.
Figure 3-3. Flowchart of determine phase: F-12
•
F-13: Cx gets too many good judgments.
Figure 3-4. Flowchart of determine phase: F-13
•
F-14: Cx gets too many good judgments from Cg.
Figure 3-5. Flowchart of determine phase: F-14
20
•
F-15: Cx gets too many bad judgments.
Figure 3-6. Flowchart of determine phase: F-15
•
F-16: Cx gets too many bad judgments from Cb.
Figure 3-7. Flowchart of determine phase: F-16
21
3.4
System Architecture
This section describes major components of our system. We briefly divide our
system into four parts: Message Processor, Monitor, GUI Interface and Information
Storage. The architecture is depicted in Figure 3-3.
Figure 3-8. System Architecture
The functionality of each component is roughly described as follows:
•
Message Processor
There are many kinds of messages in our system which can be divided into two
types: client-to-server message and server-to-server message. Client-to-server
messages include kinds of query messages and report messages.
Server-to-server messages include client registration notification, parameters
setup.
When a report message is processed, there is always a update in client’s
information and the trust calculator has to calculate the new trust at this time.
•
Monitor
As we describe in last section, the Monitor is used to monitor clients’ actions.
22
•
GUI Interface
The manager can conveniently look over clients’ data and monitor results with
the GUI interface. Besides, it is easy to change the system setting and monitor
parameters.
•
Information Storage
We use a database to store most information of the clients and the files are used
to store the detail information of clients’ actions, include download, upload,
report and get report.
23
Chaper 4 System Implementation & Experiments
4.1
System Implementation
The development environment of our system is:
Tool: J2SE 1.4.2, JXTA 2.3.3, and JXTA CMS 2.3.3
Database: MySQL 5.0
Platform: Windows XP
4.1.1
Information Storage
Information Storage of RepServer
Database Design
The database consists
client_registration table.
of
two
tables:
reputation_data
table
and
reputation_data table: used to store client’s information that registers at this server.
Each field describes in Table 4-1.
Table 4-1. Fields of reputation_data table
Id
Name
Alert
Monitor
Reputation
rep_rank
Judge
transaction_count
transaction_size
Report
bad_report
good_judgment
verybad_judgment
bad_judgment
reg_time
This is a unique ID created by JXTA.
Client can take a name, when he runs the JXTA
application for the first time.
Alert state
Indicate if monitor this client. 1: yes, 0: no.
Reputation value
Reputation rank
Judge
Total transaction count (upload)
Total transaction size (upload)
Counts of report (report)
Counts of bad report (report)
Counts of good judgment (get report)
Counts of very bad judgment (get report)
Counts of bad judgment (get report)
Register time
24
client_registration table: used to store all clients’ information in our system.
field describes in Table 4-2.
Each
Table 4-2. Fields of client_registration table
id
host_ip
mac_addr
This is a unique ID created by JXTA.
The IP of the server where this client registers on.
MAC address
Record File Design
There is a report record file named as the client’s JXTA ID for each client that
registers on this RepServer. The record file saves all actions of the client. Each
field describes in Table 4-3.
Table 4-3. Fields of report record file
type
monitor
time
id
cid
name
size/report
Action type of this entry. Four types: DL: download, UP:
upload, RP: report, GEREP: get report.
Indicate whether monitor this entry or not.
true: yes, false: no.
Action time
The id of the interactive client.
The content id of the file.
The name of the file.
If this entry is download type or upload type, this field
stores the size of the file.
Otherwise, this field stores the report type.
Information Storage of Client
Record File Design
There are two record files stored in the client: downloaded file and report file.
Downloaded file: this file records the information of the file that has finished
download but not report to RepServer yet. The entry will be removed if the client
reports it.
Report File: this file records what this client reports the status of the downloaded files,
and the transfer rate of last downloading.
25
4.1.2 Application Overview
Client application:
Phase 1.
Connect to RepServer
When a client starts to run the application, ha can connect to the server that he
registered to make sure whether the server is on-line and get his latest reputation
information. If this is his first time to use this application, he should select a server
to register on. If the server is off-line or even the client had not registered yet, he
can still search files and download. But then there is no any reputation information
about the searched files. Here is the screen shot:
Figure 4-1. Screen shot of “Connect”
Phase 2.
Search file
A client search files by sending query message (broadcast) contains the keyword.
While the wanted files are found, this client application will send query reputation
message to the RepServer to get the file owners’ reputation data automatically.
We can see how the application works at this phase in Figure 4-2. Cx had
registered on S1, so Cx will query S1 first when he needs any information. In fact,
the figure has still omitted two operations:
1.
Before step “3. Query Cy’s GT”, Cx will check if he has the registration
information about Cy. When he knows which server is Cy registered on,
he will send query message to the server directly.
26
2.
After step “No B4. Response Cy’s registered Server S2”, Cx will save this
information. Therefore, Cx can query Cy’s global trust from the right server
directly next time.
Figure 4-2. Query on multi-server
Here is the screen shot of the result of search file:
Figure 4-3. Screen shot of “Search file”
27
Phase 3.
Query report record from other peers
If the registered server of the file provider is off-line, the client can not get the
reputation information of the files. Then he can send query report records message
(broadcast) to collect report records of one of these file owners that are kept by other
clients. Here is the screen shot:
Figure 4-4. Screen shot of "Query report record from other peers”-1
Phase 4.
Download file
With the information that are queried from RepServer or other clients, this client
can make his own decision to select the file provider. Although our reputation is
constructed for evaluating which file provider is much believable on providing good
files, this client can still select the file provider with high transaction rate in the
information (Figure 4-5) or query the access history of the file (Figure 4-6).
Figure 4-5. Screen shot of "Query report record from other peers”-2
28
Figure 4-6. Screen shot of “Query the access history of the file"
Phase 5.
Report
After downloading, our application will keep the information of this
downloading. This client can report the quality of the downloaded file, while
RepServer is on-line (this client should connect to RepServer to enable the “Report”
function). We can see how the application works at this phase in Figure 4-7 and the
screen shot is shown in Figure 4-8.
Figure 4-7. Report on multi-server
Figure 4-8. Screen shot of “Report”
29
RepServer application:
The Manager can conveniently see the information of all clients with the GUI of
RepServer application. Here is the screen shot of main frame:
Figure 4-9. Screen shot of main frame
In the general situation, the manager only needs to adjust the monitor parameters
and pays attention to the monitor result. The manager should check the clients’
actions if there are “Alert” warnings or “Forbid” warnings. While some attacks are
found, the manager can punish the bad clients by give them some bad judgments to
reduce their reputation. Here are screen shots of monitor result and monitor
parameters setting (“Forbid” is the same with “Alert”):
Figure 4-10.
Screen shot of monitor result
30
Figure 4-11. Screen shot of monitor parameters setting
31
The Simple frameworks of our system are shown in Figure 4-12 and Figure 4-13.
Figure 4-12.
System framework of Server on-line
Figure 4-13.
System framework of Server off-line
32
4.2 Experiments
The goal of our reputation system is providing clients a guide to select the right
sources. The clients’ successful downloading rate can be one estimate of the
performance of the system. In this section, we will show some experiments how we
test our system.
Because we want to compare our performance with the result of the
Recommendation-based P2P trust model, we set the simulate experiment environment
under the same condition. List as follows:
•
A successful downloading means the client gets the right file he wants. The
client only adds the file after a successful downloading. Otherwise, the number
of files he owned will not increase.
•
There are two kinds of clients in the experiments, “Good clients” and “Bad
clients.” Good clients always provide right files, and report with correct
judgments. Bad clients always provide wrong files, and have some bad
behavior. According to their behavior, bad clients are divided into three kinds.
1.
2.
3.
A bad client provides wrong files only. The bad clients are this kind in our
Type-1 experiment.
A bad client will give a “bad” judgment to the client who provides him the
right file. The bad clients are this kind in our Type-2 experiment.
A bad client will give a “good” judgment to the client who even provides
him the wrong file. This situation can be regarded as a shilling attack.
The bad clients are this kind in our Type-3 experiment.
•
This is an ideal network, so that any client can find all files of all clients. A
client only tries to get the file he does not have yet, and he selects the file owner
who has the highest reputation to be the file provider.
•
There are 1,000 clients and 10,000 files which each file will be allotted to 10
clients in the simulate environment. Each file will be allotted to at least one
good client. Each client will complete 100 downloading, and the number of
total downloading times is 100,000.
33
Each experiment results as shown in later figures. Line “QS” represents the
clients query server to get reputation information, line “QP” represents the clients
query other clients to get reputation information, line “RB” is the result of
Recommendation-based P2P trust model, and line “QS-M” represents the Monitor is
active. The Monitor does not change the records saved in the clients, so there is no
line “QP-M.” The results we shown in this section totally set the clients’ coefficients
α and β are set to 1. The Monitor only determines F-13 and F-15 with the threshold
5, and it will act after every 5,000 downloadings. The experiment results which set
α and β are to 0.5 and 0 will put in the Appendix.
Successfuk Downloading Rate
QS
QP
RB
QS-M
100%
95%
90%
85%
80%
75%
10%
20%
30%
40%
50%
60%
70%
80%
90%
80%
90%
Bad Client Percentage
Figure 4-14.
Result of Type-1 experiment
Successful Downloading Rate
QS
QP
RB
QS-M
100%
95%
90%
85%
80%
75%
10%
20%
30%
40%
50%
60%
70%
Bad Client Percentage
Figure 4-15.
Result of Type-2 experiment
34
Successful Downloading Rate
QS
QP
RB
QS-M
100%
90%
80%
70%
60%
50%
40%
10%
20%
30%
40%
50%
60%
70%
80%
90%
Bad Client Percentage
Figure 4-16.
Result of Type-3 experiment
Our system has a better performance then Recommendation-based P2P trust
model according to these experiment results. While any client downloads file once
from the bad clients, the bad clients’ will keep the worse reputation and no client will
select them as the file providers. Therefore, our system has an extreme good
performance in Type-1 experiment that all clients report correct judgments. In
Type-2 and Type-3 experiment, our system’s performance drops more and more
rapidly when bad client percentage exceeds 50%, because of the incorrect judgments
are more than correct judgments. But our Monitor works well in Type-3 experiment.
Then, we do the experiments with a different condition. Line “Best” represents
the clients select file providers highest reputation and the Monitor is not active, line
“BestM” represents the Monitor is active, line “0.8” represents that clients select the
file owner who has the reputation higher than 0.8 to be the file providers, line “0.8M”
represents the Monitor is active, line “0.5” represents that clients select the file owner
who has the reputation higher than 0.5 to be the file providers, and line “0.5M”
represents the Monitor is active. There are no any difference on the results of
Type-1 experiments. The results are shown in Figure 4-17, Figure 4-18 and Figure
4-19.
35
Best
BestM
0.8
0.8M
0.5
0.5M
Successful Downloading Rate
100%
99%
98%
97%
96%
95%
10%
20%
30%
40%
50%
60%
70%
80%
90%
Bad Client Percentage
Figure 4-17.
Successful Downloading Rate
Best
Compare selection the highest reputation, 0.8 and 0.5 in Type-1
BestM
0.8
0.8M
0.5
0.5M
100%
95%
90%
85%
80%
75%
10%
20%
30%
40%
50%
60%
70%
80%
90%
Bad Peer Percentage
Figure 4-18.
Compare selection the highest reputation, 0.8 and 0.5 in Type-2
36
Best
BestM
0.8
0.8M
0.5
0.5M
Successful Downloading Rate
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
10%
20%
30%
40%
50%
60%
70%
80%
90%
Bad Client Percentage
Figure 4-19.
Compare selection the highest reputation, 0.8 and 0.5 in Type-3
We can observe that the results of “0.8” and “0.5” will have higher successful
downloading rate than “Best” in Type-2. In Type-3, the result of “0.8” is better than
“Best”, and the result of “0.8M” is nearly “BestM.”
37
In previous experiment, all clients are always on-line. Now, we want to test our
system in the variable network. “C50%” means each client has 50% of the chance to
be on-line and so on. Line “QSM” represents the Monitor is active. Because our
Monitor does not change the successful downloading rate in Type-1 and Type-2
experiments, we do not show the results with monitor any more.
QS C100%
QP C100%
QS C50%
QP C50%
QS C10%
QP C10%
Successful Downloading Rate
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
Bad Client Percentage
Figure 4-20.
Result of Type-1 experiment with different variations
QS C100%
QP C100%
QS C50%
QP C50%
QS C10%
QP C10%
100%
Successful Downloading Rate
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
10%
20%
30%
40%
50%
60%
70%
80%
Bad Client Percentage
Figure 4-21.
Result of Type-2 experiment with different variations
38
90%
Successful Downloading Rate
QS C100%
QP C100%
QSM C100%
QS C50%
QP C50%
QSM C50%
QS C10%
QP C10%
QSM C10%
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
Bad Client Percentage
Figure 4-22.
Result of Type-3 experiment with different variations
The results are the same as our expectancy, the performance descends more
when lesser clients are on-line. Because it is more possible that there is no on-line
“good” file provider. The results also indicate that query server will have a bit better
performance than query other clients in a high variation network.
39
Chaper 5 Conclusions & Future Works
5.1
Conclusions
In summary, we have proposed some mechanisms to defend the attacks on the
reputation system and implemented the reputation system in P2P network. Our
system has a very nice performance which we can see in the experiments results while
the malicious clients are less that 50%. As our reputation system is based on clients’
feedbacks, the system will have a poor performance when most feedbacks (reports)
are incorrect. So we provide another mechanism “Monitor” to detect the malicious
behaviors. The manager can punish the malicious clients and remove the incorrect
judgments so that the reputations of the clients are more believable.
As we use the RepServer to maintain the reputation information and clients’
report record files, the server will eventually suffer the crash problem when the
number of clients exceeds its limit. To improve the scalability, we can extend the
RepServer to multi-servers in our system.
40
5.2
Future Works
There are some directions for further improvement:
1.
Even though our system has the “Monitor” mechanism, the application only
automatically restricts the client to report when his state is at some alert-states.
And the “Determine phase” does not works for all alert-states either. The
manager has to handle all the other “Alert” and “Forbid” situations. Designing
the methods for the other “Forbid” situations will make the application smarter,
and the manager can take less efforts on the monitor results.
2.
Our reputation system is built for clients to select good sources. We only use
the judgments to calculate the reputation of the clients. In fact, there are still
other kinds of information stored in the database like the transaction_size and
transaction_count, we can take these into our reputation calculation formula. It
is also an important issue that how to design the reputation system which makes
the clients have incentives to share the files.
41
References
[CDVPS 2002]
F. Cornelli, E. Damiani, S.C. Vimercati, S. Paraboschi and P.
Samarati. “Choosing Reputable Servents in a P2P Network.”
In 11th International Conference on World Wide Web, May 2002.
[CMS 2002]
JXTA Content Management System.
[DVPSV 2002]
E. Damiani, S.C. Vimercati, S. Paraboschi, P. Samarati and F.
Violante.
“A Reputation-Based Approach for Choosing
Reliable Resources in Peer-to-Peer Networks.” In ACM
Conference on Computer and Communications Security,
November 2002.
[DWJZ 2004]
W. Dou, H.N. Wang, Y. Jia and P. Zou.
“A
recommendation-based peer-to-peer trust model.” Journal of
Software, Vol.15, No.4 2004.
[eDonkey 2000]
eDonkey. URL: http://www.edonkey2000.com/
[eMule 2002]
eMule.
URL: http://www.emule-project.net/
[ezPeer]
ezPeer.
URL: http://www.ezpeer.com/
[FastTrack 2001]
FastTrack. URL: http://en.wikipedia.org/wiki/FastTrack/
[Fu 2003]
Y.F. Fu. An Implementation of a Peer-To-Peer Reputationbased Resources Sharing System. Master thesis in Department of
Information Management, National Taiwan University, 2003.
[GBM 2001]
P. Golle, K.L. Brown and I. Mironov. “Incentives for Sharing
in Peer-to-Peer Networks.” In Proceedings of the 3rd ACM
conference on Electronic Commerce, 2001.
[Gnutella 2000]
Gnutella. URL: http://www.gnutella.com/
[Hardin 1968]
Hardin. “The Tragedy of the Commons.” Science, Vol. 162.
no. 3859, pp. 1243 - 1248, December 1968.
[JXTA 2001]
Project JXTA. URL: http://www.jxta.org/
42
URL: http://cms.jxta.org/
[Kazaa 2002]
Kazaa.
URL: http://www.kazaa.com/us/index.htm
[Kuro]
Kuro.
[LL 2004]
Li Xiong and Ling Liu. “PeerTrust: Supporting ReputationBased Trust for Peer-to-Peer Electronic Communities.” IEEE
Transactions on Knowledge and Data Engineering, VOL. 16, NO.
7, JULY 2004.
[MF 2002]
A.G. Martinez and M. Feldman. GnuShare: Enforcing Sharing
in Gnutella-style Peer-to-Peer Networks.
University of
California at Berkeley, 2002.
[Napster 1999]
Napster.
[sig2dat 2002]
sig2dat spec. 2002.
[SR 2002]
T. Strufe and D. Reschke. “Efficient Content Distribution in
semi-decentralized Peer-to-Peer Networks.” In 8th Netties
Conference, September 2002.
[TWD 2004]
Y.B. Tang, H.M. Wang and W. Dou. “Trust Based Incentive in
P2P Network.” In Proceedings of the IEEE International
Conference on E-Commerce Technology for Dynamic E-Business,
2004.
[TS 2004]
S.A. Theotokis and D. Spinellis. “A survey of peer-to-peer
content distribution technologies.” ACM Computing Surveys,
36(4):335-371, December 2004.
[NWD 2003]
T.W.J. Ngan, D.S. Wallach, and P. Druschel. “Enforcing Fair
Sharing of Peer-to-Peer Resources.” In 2nd International
Workshop on Peer-to-Peer Systems, February 2003.
URL: http://www.kuro.com.tw/
URL: http://www.napster.com/
URL: http://www.geocities.com/vlaibb/
43
Appendix
Experiment(1)
Query Server Type-1
100%,
100%,
100%,
50%,
50%,
50%,
10%,
10%,
10%,
P-Bad
0
0.5
1
0
0.5
1
0
0.5
1
10%
0.92773
0.99949
0.99969
0.92637
0.99925
0.99925
0.91625
0.99772
0.99797
20%
0.86043
0.99915
0.99914
0.83967
0.99818
0.99831
0.82638
0.99351
0.9931
30%
0.79061
0.99857
0.99849
0.7478
0.99672
0.99664
0.73518
0.9864
0.98717
40%
0.70528
0.99767
0.99766
0.66411
0.99416
0.99442
0.6429
0.97422
0.97336
50%
0.60992
0.99659
0.99652
0.56566
0.98929
0.98903
0.55181
0.95061
0.95096
60%
0.52551
0.99554
0.99542
0.47394
0.97756
0.97732
0.44405
0.9071
0.91013
70%
0.40986
0.99424
0.99401
0.37305
0.94954
0.9496
0.3438
0.8412
0.8371
80%
0.31414
0.99284
0.99312
0.25994
0.88304
0.88642
0.24461
0.72777
0.72512
90%
0.18446
0.99233
0.99236
0.15337
0.74989
0.75099
0.13706
0.54668
0.54792
P-On,α
Query Server Type-2
100%,
100%,
100%,
50%,
50%,
50%,
10%,
10%,
10%,
P-Bad
0
0.5
1
0
0.5
1
0
0.5
1
10%
0.9318
0.999
0.999
0.9182
0.99891
0.99884
0.90959
0.99737
0.99749
20%
0.8505
0.998
0.998
0.82159
0.99723
0.99707
0.82065
0.99182
0.9926
30%
0.75717
0.99671
0.99667
0.73376
0.99375
0.99337
0.73059
0.98202
0.98229
40%
0.6612
0.99427
0.99391
0.63791
0.98482
0.98731
0.63238
0.96342
0.96649
50%
0.56026
0.98693
0.98486
0.53594
0.9721
0.97486
0.53482
0.93069
0.93917
60%
0.44041
0.96698
0.97337
0.42484
0.94252
0.95199
0.42144
0.87686
0.88837
70%
0.34043
0.93784
0.95671
0.3147
0.88928
0.91555
0.32004
0.79212
0.81148
80%
0.21981
0.85693
0.91763
0.20664
0.78316
0.82021
0.20494
0.64623
0.69143
90%
0.10887
0.62146
0.83043
0.10817
0.52186
0.64463
0.10038
0.41236
0.48342
P-On,α
Query Server Type-3
100%,
100%,
100%,
50%,
50%,
50%,
10%,
10%,
10%,
P-Bad
0
0.5
1
0
0.5
1
0
0.5
1
10%
0.89972
0.99952
0.99928
0.9021
0.99918
0.99906
0.9028
0.96304
0.96936
20%
0.7781
0.99756
0.99813
0.79031
0.9974
0.99762
0.79936
0.91979
0.93251
30%
0.67714
0.99668
0.99575
0.69464
0.99444
0.99439
0.69205
0.86574
0.87738
40%
0.54906
0.99132
0.99272
0.58031
0.99024
0.98984
0.57935
0.801
0.82041
50%
0.44049
0.98248
0.98605
0.47041
0.97877
0.97748
0.48113
0.71841
0.73571
60%
0.34135
0.95525
0.96226
0.36853
0.95452
0.95414
0.3748
0.62662
0.64332
70%
0.23665
0.90106
0.90709
0.26508
0.91919
0.91418
0.27986
0.51879
0.53754
80%
0.15296
0.78929
0.78872
0.16445
0.82838
0.811
0.17956
0.39666
0.40278
90%
0.07106
0.60776
0.61167
0.07707
0.4359
0.44296
0.08494
0.26652
0.25118
P-On,α
44
Query Peer Type-1
100%,
100%,
100%,
50%,
50%,
50%,
10%,
10%,
10%,
P-Bad
0
0.5
1
0
0.5
1
0
0.5
1
10%
0.93382
0.99954
0.99954
0.92365
0.99885
0.99874
0.91075
0.95568
0.95571
20%
0.8558
0.99914
0.99913
0.84003
0.99673
0.99701
0.81876
0.90361
0.90494
30%
0.78483
0.99863
0.99862
0.75577
0.99466
0.99443
0.72939
0.84399
0.84349
40%
0.69984
0.99787
0.99762
0.66812
0.99067
0.99123
0.62667
0.77171
0.77529
50%
0.61437
0.99641
0.99676
0.57334
0.98326
0.98316
0.53176
0.69092
0.6931
60%
0.51851
0.99547
0.99524
0.46848
0.96825
0.96814
0.43474
0.60222
0.5999
70%
0.41194
0.99379
0.99408
0.36955
0.93452
0.93706
0.3386
0.49742
0.49243
80%
0.30118
0.99294
0.99311
0.25968
0.86891
0.86923
0.23344
0.38503
0.38022
90%
0.18388
0.99223
0.99254
0.14291
0.73354
0.73452
0.12515
0.25183
0.25026
P-On,β
Query Peer Type-2
100%,
100%,
100%,
50%,
50%,
50%,
10%,
10%,
10%,
P-Bad
0
0.5
1
0
0.5
1
0
0.5
1
10%
0.92816
0.999
0.999
0.9211
0.99439
0.99389
0.90863
0.95315
0.95395
20%
0.84216
0.998
0.998
0.8339
0.98748
0.98687
0.81976
0.89947
0.89752
30%
0.76067
0.99698
0.997
0.73848
0.97974
0.97928
0.72029
0.8304
0.83563
40%
0.67138
0.99342
0.99416
0.63769
0.97025
0.97007
0.61987
0.75402
0.75871
50%
0.55803
0.9833
0.98553
0.5424
0.95683
0.95845
0.52793
0.66362
0.66917
60%
0.4396
0.97027
0.97371
0.42599
0.93236
0.93932
0.42537
0.56365
0.56807
70%
0.33211
0.938
0.95696
0.32202
0.88154
0.89928
0.32531
0.44403
0.45771
80%
0.22157
0.85656
0.90769
0.21471
0.77
0.81632
0.22335
0.32068
0.3261
90%
0.10323
0.60867
0.80251
0.10482
0.52508
0.63603
0.1164
0.1734
0.18391
P-On,β
Query Peer Type-3
P-On, β
100%,
100%,
100%,
50%,
50%,
50%,
10%,
10%,
10%,
P-Bad
0
0.5
1
0
0.5
1
0
0.5
1
10%
0.92773
0.99938
0.99959
0.91818
0.99781
0.99801
0.90801
0.95462
0.95693
20%
0.8433
0.99819
0.99834
0.8349
0.99398
0.99355
0.81813
0.89818
0.89913
30%
0.75306
0.99602
0.99667
0.73659
0.98679
0.98495
0.72059
0.83306
0.83069
40%
0.6465
0.99217
0.99421
0.63841
0.96875
0.96952
0.62635
0.75228
0.75273
50%
0.54933
0.98427
0.98817
0.53825
0.94965
0.94589
0.52901
0.65802
0.6644
60%
0.43442
0.97721
0.9767
0.4276
0.90719
0.90907
0.4259
0.55443
0.55707
70%
0.33652
0.90034
0.90558
0.32205
0.83711
0.82215
0.32956
0.43693
0.44114
80%
0.21763
0.7778
0.78813
0.21692
0.70665
0.69198
0.22521
0.31078
0.30511
90%
0.11545
0.6078
0.6012
0.11447
0.46675
0.43868
0.11757
0.16284
0.16406
According to the experiment results, the clients will get the worst successful
downloading rate when they set α, β to 0, because they have to downloading from all
other clients themselves to know whether they are good providers or not. The
successful downloading rate with α,β set to 0.5 and 1 are close.
45
Experiment(2)
Query Server with α = 1, peer on-line 100%
Type-1
10%
20%
30%
40%
50%
60%
70%
80%
90%
Best
0.99949
0.99915
0.99857
0.99767
0.99659
0.99554
0.99424
0.99284
0.99233
BestM
0.99969
0.99914
0.99849
0.99766
0.99652
0.99542
0.99401
0.99312
0.99236
0.8
0.99954
0.99914
0.99863
0.99787
0.99641
0.99547
0.99379
0.99294
0.99223
0.8M
0.99954
0.99913
0.99862
0.99762
0.99676
0.99524
0.99408
0.99311
0.99254
0.5
0.99967
0.99915
0.99843
0.99762
0.99651
0.99543
0.99403
0.99314
0.99239
0.5M
0.99956
0.99912
0.99843
0.99767
0.99645
0.99544
0.99375
0.99284
0.99224
30%
40%
50%
60%
70%
80%
90%
Type-2
10%
20%
Best
0.99949
0.99866
0.99721
0.99432
0.98668
0.97533
0.95059
0.91267
0.80885
BestM
0.99955
0.99911
0.99785
0.99388
0.98707
0.97455
0.95273
0.92549
0.81119
0.8
0.99963
0.99894
0.99808
0.996
0.99133
0.98497
0.97366
0.95879
0.92635
0.8M
0.9995
0.99896
0.99791
0.99583
0.99158
0.98466
0.9746
0.95823
0.92303
0.5
0.99953
0.99898
0.99783
0.99551
0.99117
0.98486
0.97429
0.95677
0.92617
0.5M
0.99962
0.99895
0.99801
0.99544
0.99081
0.98533
0.9735
0.95552
0.93045
Type-3
10%
20%
30%
40%
50%
60%
70%
80%
90%
Best
0.99945
0.99901
0.99686
0.99317
0.98512
0.96226
0.90709
0.78872
0.61167
BestM
0.99957
0.99877
0.99814
0.99585
0.99204
0.985835
0.97892
0.972348
0.960673
0.8
0.99958
0.9989
0.99756
0.9964
0.99112
0.98169
0.960545
0.893012
0.755063
0.9996
0.9989
0.99801
0.99594
0.99321
0.988275
0.98243
0.976957
0.964844
0.5
0.99956
0.99906
0.99769
0.99515
0.98927
0.97969
0.939035
0.777838
0.366346
0.5M
0.99948
0.99899
0.99744
0.9963
0.99307
0.98814
0.98132
0.971947
0.947006
0.8M
There is no difference between the client selects the file owner who has the
reputation higher than 0.8 and 0.5 in Type-2 experiments. Because the malicious
client is always at the lowest reputation which is not exceeding 0.8 or 0.5. The client
selects the file owner with lower reputation will get a worse successful downloading
rate in Type-3. But we observe that the Monitor still makes a better efficiency in this
case.
46