Q:

Suggest proof of work algorithm that can be used to control the growth of the blockchain

I'm working on a blockchain based identity system. And, since each item will be in the chain forever, consuming space, I'm thinking on adding a proof of work requirement to add items to the chain.
At first I was thinking of bitcoin, since it's a tried and tested way to prove that the work was done, but doing it this way would prevent users from joining in, since bitcoin is not widely adapted yet. Also, in a distributed system, it is not clear who should get the money.
So, I'm looking for a proof of work algorithm, complexity of which can be easily adjusted based on blockchain growth speed, as well as something that would be hard to be re-used. Also, if complexity would had grown since the work has been started, the work should be able to be completed with adjusted complexity without having to be re-done.
Can someone suggest to me something that would work for my purpose, as well as would be resistant to GPU acceleration?

A:

Simple... burn bitcoins.   Anyone can do it - so there's no barrier to entry, and really what you need is "proof of destroyed value".   Because the value is destroyed, you know the miner's incentives are to strengthen your chain.   
Invent a bitcoin address that cannot be real, but checksums correctly.   Then have your miners send to that burn address, with a public key in OP-return.   Doing so earns them the right to mine during some narrow window of time.  
"Difficulty" is adjusted by increasing the amount of bitcoins burned.   Multiple burns in the same window can get reward shared, but only one block is elected correct (that with a checksum closest to the checksum of all of the valid burns for the window).

