I really like the idea of proof-of-work as a mechanism to prevent peer-to-peer spam, the typical demonstrative use case for this is an extension to e-mail/SMTP (or other P2P messaging systems) where the receiver sets the difficulty threshold for successful message delivery - the amount of time you spent writing the e-mail on your personal computer is disposable income that proves you invested an initial time and energy to get in touch with a person that deserves to read whatever it is you have to say.
e.g. if you burned five minutes of your time, I want to hear what you have to say, as we only have limited time on this earth and PoW is the best way we have, at the moment, of proving that in a way which transcends boundaries. Does arbitrary computation work the same way?
If the cost of sending V1@ġRā e-mails goes from 1000/sec for $75/month to 1/min at the same price, we’ve mostly eliminated spam, put the recipient in-charge of their preferences, and created an implicit cost/benefit relationship, rite? And while it may cost a few extra deciamps to initially get in-touch, once the receiver knows who we are the cost can return to the minimal. You can (kinda) model this using Erlang’s theorem with two additional parameters - maximum acceptable cost per message and recipient cost threshold on a per-sender basis.
But, how does this apply to blockchain, what are the caveats, and how does consensus work without centralised miners?
Right now the mining is constant and pow competing with the whole network pow to get your cut that are running all the time. With this it only competes with other transactions and you don’t need to set up a miner. The pow would be probably pretty low from this.
Accepting PoW in lieu of gas seems to be the way forward, but what are the caveats? How can individual proof of work be abused in a way which provides much less security than the collective probabilistic proof of work threshold of a consensus…
Random project I made, where you are rewarded with arbitrary tokens in return for proving work of some kind:
https://github.com/HarryR/PoWtoken
This follows HashCash, but the idea is that you benchmark each algorithm and offer to swap your mined tokens for tokens of another algorithm which would’ve cost you more to mine. e.g. if I can do 10 gigahash/s of algorithm A and somebody else can mine 20 gigahash/s of algorithm B, but I can only do 11 gigahash/s of algorithm B and they can only do 9/s of A, then offering 10 units of A for 15 units of B is beneficial for both parties?