The P2P incentive mechanism is aimed at encouraging peers to serve each other, so that the performance of system can be improved. Evolutionary game-based incentive mechanism uses evolutionary game theory to model peers and transactions in the P2P network. It can provide a better description of the changes in peers' behaviors. However, providing service according to transaction history is unfair to those who always provide service, and it is far too tolerant of those who seldom provide service. In this paper, we assessed reward and punishment mechanisms, and we prove that this approach facilitated cooperation and achieved the best average payoff of the system in a shorter period of time.