Why Nostr? What is Njump?
2025-05-03 17:51:02

Gzuuus on Nostr: Relays, bots, and DVMs are not the same. These terms are being mixed up recently, ...

Relays, bots, and DVMs are not the same.
These terms are being mixed up recently, leading to clear confusion about what each of them represents. I’m going to share my perspective on what they are, and I hope this can clarify the vision for others or, at least, provide a good opportunity to better define them.
A relay is "essentially" a dumb piece of software that just receives and sends notes upon request. I say "essentially" because there are some advanced and sophisticated relays that offer additional services like translation, spam filtering, etc. That’s fine, but it is still fundamentally a relay.
A bot can be anything, it is an NPUB that can create notes, whether they are posts, responses, reactions, or any other type. Its operation is based on any conditions or instructions that the creator of the bot wants to implement. For example, it could listen for notes mentioning the NPUB of the bot, notes with a certain hashtag, or even other conditions like a weather station publishing weather reports and alerts. Bots are extremely flexible, and can be as simple or complex as you want.
A DVM in the other hand provides specific functionality, whether it’s a translation service, algo feeds, public key lookups, image generation, or anything else. DVMs are also quite flexible, as you can abstract any type of computation behind them, but the key idea is that they use a standard way to access their services.
Putting this all together, you can have an image generation bot that listens for notes mentioning its NPUB or notes with the hashtag #cats (or whatever you choose) to respond to those notes with an image. The bot will be able to use a DVM to fulfill its functionality, and both the bot and DVMs will utilize relays for communication and coordination.
Bots can be complex systems that integrate multiple capabilities, while DVMs are more atomic component, with a single responsibility and a standard interface. One bot could use multiple dvms to handle its functionality.
Author Public Key
npub1gzuushllat7pet0ccv9yuhygvc8ldeyhrgxuwg744dn5khnpk3gs3ea5ds