Dostr ('Dost' means 'friend' in Hindi, an adoption of 'Doost' from Farsi) is an Ethereum-flavoured Nostr client. Dostr is a fully backward-compatible Nostr client with ENS and Ethereum integration. It's a collection of experimental specifications and implementations of Ethereum-aware Nostr clients to transfer signed data/messages, and transact between users and services.
Ethereum was originally designed as a 3-in-1 protocol: Ethereum/EVM as Consensus mechanism, Swarm as Storage system and Whisper as Messaging protocol. Dostr is equivalent to Whisper in this grander vision outlined in the Ethereum whitepaper. Dostr client allows Nostr to function with Ethereum wallets (SIWE) and leverage properties of ENS, such as allowing users to import their ENS identity, avatars and other records on Nostr. Dostr is unsurprisingly a minimal implementation of Sign In With X (SIWx).
To understand Dostr, one must understand Nostr. Nostr is a minimal peer-to-peer networking protocol with following properties:
More details about the Nostr protocol may be found here (and here). In native Nostr implementation, Schnorr signature scheme is used as per Bitcoin-native BIP-340 standard. Dostr adds to this standard by deriving the Nostr-specific private keys from Ethereum-native ECDSA signature scheme outlined in EIP-191 and EIP-712 using HMAC Key Derivation Function (HKDF). In Dostr clients, ENS names of the signing wallets become the usernames of the users and users may choose to import their ENS avatars and other records.
Dostr design is identitical to the Nostr specifications described in NIP-01 except for two main differences - a) using ECDSA signatures to derive user keys, and b) use of ENS via a gateway to access the user properties instead of a web2 DNS server. The detailed NIP-XX proposal covering these two aspects is currently under review.
Dostr allows Nostr to work with Ethereum-based wallets and leverage the rich UX of Ethereum ecosystem. Dostr replaces the current web2 centralised dependencies in Nostr ecosystem (DNS and server storage) with web3 decentralised dependencies, e.g. ENS and IPFS respectively. In course of this, Dostr has unwittingly solved the problem of secure login into Nostr network from mobile devices. No universal Nostr mobile extensions existed until Dostr (Damus recently launched a Nostr client but for iOS only). In addition, most Ethereum-wallets implement ENS by default and Dostr is the first and only protocol that allows users to uitlise their NIP-02 compatible ENS names on Nostr. Dostr further leverages properties of ENS such as its DNS resolution via a gateway (https://vitalik.eth.limo) to store NIP-05 compatible public user information on decentralised IPFS/IPNS storage.
The Nostr-specific private keys derived by Dostr (using the HMAC function) are new keys which have no invertible connection to the Ethereum wallet that derived it. Users can import or export their new generated Nostr-specific private keys in other Nostr clients and continue to use the same ENS features without exposing their Ethereum wallet private keys.
Dostr client UI is ready and the prototype test build can be accessed on GitHub Pages. Dostr client is a fork of Astral (which is a fork of Branle), and it can already be used with generic Nostr keys. Developers are currently testing SIWE interfacing with the UI while NIP-XX is under active review. The expected release date for the client is March 31 2023.