Hacker News new | ask | show | jobs
by smallnamespace 1118 days ago
Yes, sorry I wasn't expressing myself very clearly. I agree if the goal is to impose a uniform (per-unit) cost to users, you should avoid widely-optimized hash functions.

But even if you pick a novel function that doesn't have special-purpose hardware, spammers can still optimize their setups to lower the effective unit cost below what a legitimate user faces, by doing normal miner activities (picking hardware, scaling up, moving to where electricity is cheap, etc.).

Since your goal is to maximally discriminate between legitimate and spam use cases, you'd want spammers to face at least the same per-unit cost as legitimate users.

What's one way you can do that? Well, how about charging actual currency, whether Bitcoin or fiat? Money has the useful property of having the same nominal value for everyone, and not being amenable to further optimization.

In short, forcing users to actually run PoW themselves doesn't really make economic sense. Even if you're avoiding existing hash functions, it's mostly worse than just charging money because spammers have better ability to optimize against it.

And if charging money doesn't work, switching to local PoW is unlikely to be better.