Nonces are often used to prevent replay attacks in networks. Because they are a one time use, any attacker replaying a request would be stopped because the nonce would be invalid.
However using nonces forces the serialisation of requests. Most web APIs are made to be usable concurrently.
Are there solutions that enable the usage of nonces and still allow concurrent requests?
I know that TLS is usually recommended so that replay attacks don't happen, so nonces aren't used. But I'm referring to situations where nonces still are used regardless of TLS.
One idea I had was to share a seed during an initial key exchange and that shared seed is used to generate nonces deterministically in lockstep between client and server. But I realised concurrent messages/requests may arrive at the server out of order.