New developments in password hashing: ROM-port-hard functions
openwall.com
openwall.com
Bottom line is that if you're worried about database file or backup leaks, blind hashing is not adding meaningful security. It only helps with SQL injection and text dump vectors.
Edit: Duh, it's covered further in the slides!
This only needs a very single table key->value store where every transaction is only a single access. I would just map it to a hash table mapped directly to the raw disk. Doesn't need transactions with a log if done right.
The hash spreads out the allocation, no information leaks for the allocation. If you don't have a log there are no time stamps.
Modern disks are big enough that you dont need to worry about resizing the hash table. And the random salt makes collisions unlikely enough.
The defense against this scenario is to make hashes expensive to compute and hard to parallelise. If an algorithm is using a lot of RAM it's hard to parallelise because a piece of RAM can be used by only one computation at a time, hence this algorithm is hard to attack, but your own server is computing things sequentially as users come online, so a single piece of RAM can be freely reused. This is why low RAM usage is bad.
I did not quite get the idea behind the ROM thing, but I think it means you have a large multi-GB piece of strongly random data, which is used during hash computation either entirely, or piecemeal where pieces are picked pseudorandomly and not predictably. A GPU cannot store multi-GB chunk of data, so it will have to travel externally to fetch required data, which is easy to do for a sequential machine, but creates a huge bottleneck for a GPU, making parallelism hard again.
To sum this up, it's one of those ways to make sure that attacker's cost grows much faster than defender's costs, but it's not without cost to the defender.