·7 min de leitura·Por Leon Acosta

Nostr vs Gozzip: Keeping the Keys, Adding Storage

Not a replacement, a layer

People sometimes ask whether Gozzip competes with Nostr. It does not. Gozzip is built on Nostr. Same keys, same signed events, same relays. If you already have a Nostr identity, you already have a Gozzip identity; you just install a client that does more with it.

I want to be honest about this from the start, because the decentralization space is full of projects that claim to reinvent everything. Gozzip does not. Nostr got the hard parts right: censorship-resistant identity, self-authenticating events, and a relay model simple enough that anyone can run one. We keep all of it. What we add is a layer that answers a question Nostr deliberately left open: where does your data actually live, and who is responsible for keeping it there?

What Gozzip keeps from Nostr

Everything that makes Nostr work stays exactly as it is.

Your identity is a secp256k1 keypair. Your posts are signed JSON events with a kind, a pubkey, content, tags, and a signature. Kind 0 is your profile, kind 1 is a note, kind 3 is your follow list, kind 7 is a reaction. Direct messages use NIP-44 encryption and NIP-59 sealed gifts. Relays speak the same WebSocket protocol they always have.

This is not a compatibility shim. Gozzip events are Nostr events. Any Nostr client can read Gozzip content. Any Nostr relay can store Gozzip events. A Nostr user who never touches Gozzip can still follow you, reply to you, and verify your signatures. The bridge between the two worlds is the identity itself; there is nothing to translate.

That compatibility is a deliberate constraint, not an afterthought. It means Gozzip inherits an existing network of clients, relays, and users on day one instead of starting from zero.

What Nostr leaves open

Nostr's simplicity is its strength, but simplicity has a cost. A few gaps show up once you use it seriously:

  • Your data lives on relays you do not control. If the relays holding your history go away, so does your history. You can post to many relays, but you have no guarantee any of them will keep your data around.
  • Multi-device means copying your private key. The common practice is to paste the same secret key onto your phone and your laptop. That works until one device is compromised, and then your whole identity is compromised.
  • Following costs nothing, so it means nothing. A follow is just an entry in a list. There is no commitment behind it, no reason to curate.
  • There is no sense of who is reliably storing what. Availability is best-effort and invisible.

None of these are bugs. They are the natural result of a protocol that chose to stop at identity and transport. Gozzip picks up where Nostr stops.

What Gozzip adds

Three things, layered on top without breaking anything underneath.

Storage sovereignty through pacts

The central idea is the storage pact: a bilateral agreement between two people in your web of trust to store each other's events. Your close contacts hold your data, and you hold theirs. Pacts are reciprocal but capped-asymmetric: each side stores whatever the other produces up to a monthly cap, with no volume matching. A healthy pact renews by default rather than expiring on you.

Reading an event follows a three-tier cascade. First your own local storage and read-cache, which is the common case. If you do not have it, a direct encrypted query to the author's known pact partners over iroh. Only if neither has it does the client fall back to a relay, the way Nostr always has.

I want to be careful about the framing here. Relays are reduced, not eliminated. They still matter for onboarding new users, for reaching beyond your web of trust, for mobile-to-mobile delivery when both peers are offline, and for push notifications. The honest description is reduced relay custody, not a world without relays.

Multi-device without sharing secrets

Your root key moves to cold storage. Each device gets its own subkey, authorized by the root through a device delegation event (kind 10050). Events are signed by the device key and linked back to your root identity with a tag. Compromise a device and you revoke that device; your identity survives. Your DM key is derived from an independent seed and rotated periodically, kept separate from your identity key. This is periodic key rotation, not forward secrecy, and I would rather say that plainly than oversell it.

Follow-as-commitment

In Gozzip, following someone means committing to index their part of the network. It costs you something, so you do it deliberately. That small cost is what turns a follow list from a vanity metric into a curation signal, and that signal is what feeds reliably serves you first.

Side by side

Aspect Nostr Gozzip
Identity secp256k1 keypair Same secp256k1 keypair
Events Signed JSON, kinds 0/1/3/7… Same, plus kinds 10050-10070
Data storage Relays (best-effort) Pact partners first, relays as fallback
Multi-device Copy the private key Per-device subkeys, root in cold storage
DMs NIP-44 NIP-44 with a separate, rotated DM key
Following A list entry A storage and indexing commitment
Relays The home of your data Reduced to fallback, discovery, bootstrap
Portability Within Nostr Nostr native, bridges to ActivityPub / AT / RSS

Sovereignty as a gradient

Here is the part I care about most. Sovereignty in Gozzip is not a gate you pass through; it is a gradient that increases as your social graph grows.

On day one, with zero pacts formed, you still get real value: multi-device identity, better DM key hygiene, social recovery through designated contacts, and per-device hash chains that detect tampering. That is enough to make the first Gozzip client simply the best Nostr client available. As you build your follow graph, bootstrap pacts form automatically. As your web of trust matures, reciprocal pacts replace them. Storage sovereignty accrues quietly in the background. You never have to think about where your data lives; it just gradually stops depending on strangers' relays.

The community grows the same way. A newcomer arrives as a Seedling, vouched for by a Guardian who volunteers one slot of storage. Your closest friends become Keepers who hold your whole history and Witnesses who hold your recent events. Heralds (relay operators) carry your reach to strangers. Over time you become someone else's Keeper, and eventually a Guardian yourself. The protocol is a village writing itself into code.

Where Gozzip fits

If you love Nostr, keep loving it. Gozzip is not asking you to leave. It is asking a narrower question: once you own your identity, why should you not also own where your data lives?

Nostr gave us self-sovereign identity and put it on a network that no one can shut down. Gozzip takes that same identity and gives it a home in your social graph: your friends as your infrastructure, relays as a safety net rather than a landlord. Same keys, same events, same open protocol underneath. Just less dependence on servers you do not control, accruing a little more with every pact you form.

Posts relacionados