well, you can start by studying consensus algorithms and the tradeoffs they require
nostr is not a consensus, it is just a way to spew data around
nostr tries to move that "how to replicate" question to another layer, be it the client or a second level of infrastructure