relays technically are only forwarding traffic, but the whole thing would not work without caching, so they are blending it with databases, and because of that, they are also starting to move into the realm of distributed databases. it's pretty much mandatory for nostr to blend relaying and caching together so there must also be a concomitant development of appropriate consensus algorithms that fit the use case. some people think that means blockchains but it's not needed to have strong consistency. eventual consistency, and only driven by user activity, is what seems to me like the right fit for nostr. this is solveable with merkle DAGs, tied to users. on a side note, there is a lot of confusion of domains in the discussion of architecture in nostr. it is a simple fact that the way a relay will structure its caching depends on the users. trying to make the strategy about a subject is blurring the boundary between serving users and serving an application model, and is going to lead to rigid and difficult to modify systems.

Replies (1)