block / block/buzz

use NOISE protocol instead of SSL at the transport layer

Open
#6,142 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

Since you've designed both your own client and server, I'd recommend enabling transport over NOISE protocol in addition to SSL.

In https://engineering.block.xyz/blog/run-your-own-buzz-relay you mention the relay signs messages with the `BUZZ_RELAY_PRIVATE_KEY`.

Would like the NOISE protocol to use that same private key to encrypt and authenticate all transport between client and peer.

The client also has a nostr private key it should use to authenticate itself to the relay.

SSL certs are super annoying and a barrier for secure self hosting. Using the nostr keypair and NOISE is a natural fit that makes all the weaknesses of SSL gone and allows users to get true security by **pinning** to the relay's known, fixed npub. It seems like if NOISE were implemented using these existing keypairs there would be **no extra config** and self hosters can get security **automatically**.

Generally, I'd like to see all of nostr adopt this same approach, but you have a unique situation in that you have built both a client and server that you encourage users to pair together, so it seems like a natural place to set this precedent. This is one of the most major flaws I see in nostr, relying on SSL, so it would be awesome if you could press forward with something better, especially since you are still very early in the launch of this groundbreaking tool.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.