Clients with pluggable proof-of-work (consensus) algorithms

Hi,

I have a friend who is working in high-performance computing space. They have some workloads that they claim could be an ideal source for useful proof-of-work. Putting the discussion aside if the computations are suitable or not, she would like to test out plugging it in to a running blockchain.

Do any of Ethereum clients currently support pluggable proof-of-work algorithms e.g. assuming Bysantine Fault Tolerance consensus? What could be a starting point for such a research?

The work used in Proof-of-Work needs to be useless. If it’s useful, 1) who decides how it’s useful? and 2) it can be re-used (because it’s useful).

That said, it looks like Py-EVM can be modified pretty easily to use a different PoW algorithm.

Thanks! I think this is a good place to start hacking.