So if I was to implement asymmetric password logins right now as a learning exercise or proof of concept, I would use Argon2id for key derivation, Ed25519 for signatures, and Ristretto255 for the OPRF.
The thing is, I would really like to get very secure parameters for Argon2id, but even a mere time factor of three with one lane using 256 MiB of RAM costs one to three seconds on recent browser versions on recent hardware with high end specs. That's just for the Argon2id itself.
Of course, if I knew it was making my password resistant to cracking even by state-funded purpose-built ASIC farms, you could make me wait ten seconds to log in and I'd feel pretty good about it. But typical users might start dropping off after half-second delays, and if you can be so responsive that it feels instant, that matters a lot.
Also you could easily create a really nice interface which progressively loads and renders all the UI elements that don't reveal sensitive information while the password verification is happening. If you have an implementation of Argon2id which has hooks or incremental outputs for progress reporting, then you could even accurately and precisely show progress.
So another reason why it's worth carefully looking at OPAQUE is that I'm sure all that stuff it does is actually more performant, much more responsive.

















