Climate change is the world's biggest public goods problem. It occurred to me that Bitcoin invented a purely voluntary solution to its own public goods problem: voluntary donation of computation to secure the ledger.
So I've come up with an ethereum subcurrency I'm calling Climatecoin, which mints coins to anyone who donates to offset carbon emissions.
The basic idea is to pay approved carbon offsetters with ether, upon which the contract awards new climatecoins. Coins are denominated in tonnes carbon, total coins minted are equal to total emissions, total coins awarded per tonne of purchased offset is equal to (total emissions)/(total climatecoin offsets), so early adopters get larger rewards.
A rough-draft initial implementation is here:https://github.com/DennisBPeterson/Climatecoin
I've submitted a writeup to ClimateColab, an MIT project crowdsourcing solutions to climate change:http://climatecolab.org/web/guest/plans/-/plans/contestId/1301417/planId/1313601
This goes into the rationale and various details. I'm very interested in any suggestions regarding the writeup, currency design, or code.
I've made it into the semi-finalist round, and per the judges' suggestion I'm making modifications so the writeup will be more friendly to people unfamiliar with cryptocurrency. I have seven days to do that, then the judges will pick finalists. From the finalists, winners will be chosen by judges and popular vote.
Winners will present their ideas at a conference at MIT. I've actually pulled this off several times before:http://climatecolab.org/web/guest/member/-/member/userId/147894
To make this work we'd need at least one carbon offsetter accepting ether donations. This could be either an existing offsetter, or a new organization which accepts ether, converts to cash, and purchases offsets from existing organizations.
To make a significant impact, we'd need to be able to scale up the subcurrency to a very large number of users and transactions. I'm interested in opinions on how feasible this would be, and the best way to go about it. Right now I'm using the basic subcurrency code from samples.