Public goods are goods or services that benefit all the members of a society, not just those who are willing to pay for them. Private provision of public goods usually leads to Pareto inefficiency. The inefficiency happens because pursuing his own interest, each individual has an insufficient incentive to contribute to the public goods. Focusing on this incentive problem, this thesis presents solutions to the public goods problems. Proposed deposit and compensation mechanisms enable societies achieve Pareto optimality or at least Pareto improvement. Applying these mechanisms to a game theory, voluntary provision of the public goods, and externalities, this thesis proves that the problem of the under-provision of public goods can be solved. Not only leading to an equilibrium which is Pareto superior to an original Nash equilibrium, but proposed mechanisms also induces vlountary participation in the public goods contribution in the first place.