Opensats Vertex Report: Oct to Jan

This is what I have achieved on a per-project basis in Q4 of 2025.

Pip the WoT guy

28. Januar 2026January 28, 2026 · 4 Min. Lesezeit4 min read

Opensats Report: Oct to Jan

This is what I have achieved on a per-project basis in Q4 of 2025.


nostr-sqlite#

nostr-sqlite is a Go library that provieds a high-performance, highly customizable sqlite store for Nostr events. It is an evolution of Nastro, which has been discontinued in favor of this more sqlite-centric database.

Notable differences include:

Overall this is a much more performant and capable database, which is being used by the Vertex Crawler and Vertex Relay, by Reis and soon by the new Zapstore server.

rely#

After a long refactor focused on increasing the performance of handling subscriptions, rely finally reached the v1 milestone. An independent test made my @mleku showed that in fact rely + nostr-sqlite is one of the fastest relay implementations, even faster than strfry.

Other notable contributions include:

rate#

rate is a low-level, highly-concurrent, in-memory, generic token bucket rate limiter for Go. This library is or will be used in the Vertex Relay and the new Zapstore server for performing IP-based or pubkey-based rate limiting.

Blossom#

I'm currently working closely with @hzrd to address critical security vulnerabilities in the blossom authorization spec. As explained in this PR, the blossom authorization is currently vulnerable to a replay attack, which is particulary dangerous for delete operations.

This led to the development of a new authorization scheme using Nostr events called Nostr Web Tokens.

Nostr Web Tokens#

A Nostr Web Token (NWT) is a signed Nostr event used to convey signed claims between parties on the web.

NWTs are an equivalent nostrified version of JSON Web Tokens, which are used in traditional applications for authorization and authentication purposes.

Because the validity of an NWT can be scoped to an audience, it's possible to prevent replay attacks like the one that affected Blossom.

A reference Go library for NWT has been developed, and a PR has been opened to the NIPs repository and has received positive feedback so far.

At this link you can learn more about NWT vs Blossom Auth vs NIP-98.

blossy#

blossy is a framework for building super custom Blossom servers, designed for the best developer experience. Similar to rely, blossy's philosophy is to allow developers to build in code any custom business logic on top of a stable foundation that focused on protocol compliance.

Blossy now supports all Blossom endpoints, such as GET /<sha256>.<ext>, PUT /upload, allowing users of the framework to specify exactly what should be accepted and rejected, and how requests should be fulfilled.

I envision blossy becoming a stable foundation for exciting projects, such as a paid Cashu Blossom server, a WoT gated server, or custom blob indexers.

blisk#

blisk (short for blobs on disk), is an efficient, scalable, and deduplicated local blob storage that maintains metadata in sqlite.

Thanks to its sharded directory structure, blisk maintains predictable high performance in highly concurrent scenarios, all while exposing a simple and high-level API.

Bliss is fully compatible with Blossom, providing developers with an easy-to-use and efficient database option for building their own Blossom servers.

Zapstore server#

After coordinating with Fran, I began building a new relay and Blossom server to power the next version of Zapstore.

The repository is still a work in progress and will be open-sourced as soon as it's ready to run.

Looking at the future#

I will be partecipating to the NosFabrica Wotathon with Campfire, a new full-featured Nostr relay and Blossom server designed for personal or community use. It will offer precise access control, powered by a configurable WoT provider and a "spider" mode, automatically fetching all events relevant to the owner npub.

This project will also help in refining the rely and blossy frameworks, as well as the blisk and nostr-sqlite databases.

#blossom#nostr#opensats#relay#wot

Written by

Comments

No comments yet. Start the conversation.

Contents

9 sections

  1. nostr-sqlite
  2. rely
  3. rate
  4. Blossom
  5. Nostr Web Tokens
  6. blossy
  7. blisk
  8. Zapstore server
  9. Looking at the future