Distributed generations, together with information and communication technologies, have transformed traditional electricity consumers into prosumers who can actively manage their consumption and generation of energy. Neighboring prosumers can exchange their energy surplus and deficit through peer-to-peer (P2P) energy trading in a local market. An efficient trading mechanism is pivotal for the successful implementation of the P2P paradigm. This paper proposes two trading mechanisms, i.e., Vickrey-Clarke-Groves (VCG) double-auction and linear-program-based perturbation (LPBP) double-auction. Each of them can eliminate any potential of market power exercise via incentivizing truthful bidding of prosumers. In addition, the VCG mechanism maximizes social welfare but results in budget deficit. The LPBP mechanism, in contrast, fulfils the budget balance property with a loss of social welfare. It is proved that the welfare loss converges to zero as the number of prosumers approaches infinity. Case studies are conducted to evaluate the performance of the two P2P trading mechanisms and demonstrate the effectiveness of the LPBP mechanism in handing energy transactions for a large number of small-scale prosumers.