- AFAIK it's not actually that expensive to create ASICs with a lot of memory, and it looks like scrypt ASICs have in fact been created.
Correct, gridseed has made 2 generations of scrypt chips, KNC made 1 and Bitmain designed but never used 1. The memory isn't expensive, it just takes up die space you'd have preferred to put another 1x10
x pipelines in.
I wonder if ASIC design/creation would be made prohibitively expensive if the hash algorithm was especially complex. For example, if the simplest way of representing the algorithm in assembly code was 1 GB in size, I suppose this would be quite difficult to translate to an ASIC, but not any particular obstacle for general-purpose CPUs. You could still create an ASIC that worked like a CPU but with only the subset of CPU features actually used by the hash algorithm, but this'd be pretty expensive to design and might not earn you much extra efficiency.
Unfortunately there are a few things which prevent this:
1) CPUs have insane markups from $ to make to $ to sell, even amortising the huge upfront costs. Any company who simply manufactured their own chips would still have an insurmountable advantage.
2) Almost any of the non-super-exotic algorithms would be significantly faster on a GPU than a CPU because of their basic makeup. A GPU core runs 1000-3000 threads where as a CPU is of course 4-8 (with some smaller multipliers depending on exactly what it is). It would be amazing if someone could find something that is so inefficient on a GPU that you'd buy a CPU over one to mine it with.
3) ASIC design isn't expensive, making the chips is (in up front costs). That means you're free to theoretically prospect with designs and do small runs on older cheap processes to see if it actually works. If it does, you win. The cost barrier only comes when you then decide to make the chips on a modern process.
I also wonder whether it might be good to use a PoW that is especially easy to build an ASIC for, but so simple that the most dead-simple ASIC design is always the best one. Then you'd have to buy hardware to mine, but no ASIC would have much advantage over any other. I don't know if this'd actually help anything since there'd still be economies of scale in power consumption, though.
Same problem with 1) above. Even if you did a terrible clone of the core features required to mine, you'd have a huge price advantage when you self manufacture compared to retail. And then huge advantage in related components (you make your own mobo + OS + barebones), density, cooling, availability and centralised elec.