||BitTorrent is currently one of the most widely used Peer-to-peer (P2P) file sharing systems, which has proved to be a robust and scalable approach for delivering large files to multiple users. Each peer in a BitTorrent system plays two roles: the server and the client, decreasing the server's burden substantially. However, when a free-rider peer just downloads without any upload contribution, other peers cannot get enough upload bandwidth. This is currently one of the most serious problems in Peer-to-peer (P2P) system and has seriously affected the system's performance. Some incentive mechanisms, like the reputation system, have been proposed to deal with this problem, but are still not good enough to prevent free-riders from completing a download. This is because the policy is to only discover the free-riders' behavior after or during the process of trading, giving them the opportunity to download freely from other nodes. In this thesis, we propose a novel approach named PreDiscover to prevent free-riding behavior occurring in a BitTorrent file sharing system. In PreDiscover, regular peers and free-riders can be recognized before trading, which means a regular peer knows whether its neighbors are free-riders or not without sending any blocks to them, so free-riders have little opportunity to get blocks from others. We have implemented PreDiscover in a simulator based on BitTorrent Protocol, and compared Original BitTorrent and PreDiscover results. Our experiment results show that this new mechanism is very effective in discouraging free-riders and therefore fosters fairness.