Peer-to-peer (P2P) file sharing systems assume that their users download files in proportion to their sharing. Unfortunately, users are unlikely to do so without an incentive mechanism. Previous solutions to the problem required some types of centralized control, which strays from the spirit of P2P to provide long-term incentives. This paper presents the balance-based bandwidth allocation, B^3A, an incentive framework to inspire participants to share files. In the B^3A framework, each peer keeps the differences between the amount of data it has received from each peer and the amount it has sent to that one. When receiving simultaneous requests from various peers, the peer prefers to allocate its limited upload bandwidth to those peers with larger differences. Therefore, the downloading bandwidth perceived by a peer is positively related to its contributions to others, consequently stimulating it to share more files. The B^3A framework is fully decentralized, scalable, and secure.