HashCash had the same idea and failed for the same reason: bad actors aren't using their own machines. They have access to the cheapest compute in the world: botnets and the compute of honest actors.
Add in the mobile-device issue and you quite literally have a solution that's lose/lose.