From Proposal to Implementation: What Changed in Nostr Renoter v1.0.0

Girino Vey!

2. November 2025November 2, 2025 · 7 Min. Lesezeit7 min read

From Proposal to Implementation: What Changed in Nostr Renoter v1.0.0

Reference: This article compares the implementation with my original Renoter proposal on Habla News.

Introduction#

Earlier this year, I published a proposal for "Renoters"—an onion-routing system for Nostr inspired by Mixminion remailers. That proposal envisioned nested encryption with Cashu token incentives, expiration tags, and specific size constraints. Now, with the release of Renoter v1.0.0, I've delivered a production-ready implementation that takes a practical approach while maintaining the core privacy goals.

This article describes what was actually built and how it differs from my original proposal, highlighting both pragmatic trade-offs I made during implementation and novel additions that enhance security.

Core Concept: What Stayed the Same#

The fundamental onion-routing mechanism remains unchanged:

What Changed: Encryption Method#

Original Proposal:

Implementation:

Why the Change? NIP-44 provides a standardized, battle-tested encryption scheme that's well-integrated into the Nostr ecosystem. The symmetric nature simplifies key management while maintaining security properties needed for onion-routing.

What Changed: Standardized Message Sizes#

Original Proposal:

Implementation:

Why the Change? Modern Nostr relays typically support much larger event sizes. A 32KB limit allows for more complex nested routing paths (multiple Renoters) and larger original events while still preventing size-based traffic analysis. The padding mechanism ensures all messages between Renoters appear identical in size.

What Changed: Spam Protection#

Original Proposal:

Implementation:

Why the Addition? PoW provides a decentralized, Sybil-resistant spam prevention mechanism that doesn't require payment infrastructure. It makes spam economically unfeasible while remaining practical for legitimate use. The difficulty can be adjusted based on network conditions.

What Changed: Event Structure#

Original Proposal:

Implementation:

This structure separates routing logic (29000) from standardized packaging (29001), allowing for better size control and cleaner protocol separation.

What Changed: Replay Attack Protection#

Original Proposal:

Implementation:

Why the Simplification? Storing only IDs reduces memory footprint while maintaining replay protection. The bounded cache prevents unbounded growth. Age validation complements replay protection by rejecting stale events even if they're new to the cache.

What Wasn't Implemented: Cashu Token Incentives#

Original Proposal:

Implementation:

Why Not? Cashu integration adds significant complexity and requires infrastructure for token minting, redemption, and relay payment verification. For an initial release, PoW-based spam protection was chosen as a simpler, more decentralized alternative. Future versions may explore payment mechanisms as the network matures.

What Wasn't Implemented: NIP-40 Expiration Tags#

Original Proposal:

Implementation:

Why Not? Age validation at Renoter servers provides similar protection without requiring relay support for NIP-40. Since wrapper events are ephemeral (non-persistent), expiration tags provide less benefit than for persistent events.

What Wasn't Implemented: NIP-70 Protected Events#

Original Proposal:

Implementation:

Why Not? NIP-70 adds complexity and requires relay support. The implemented replay protection (ID cache + age validation) provides effective protection without additional protocol dependencies.

What Wasn't Implemented: Traffic Analysis Mitigations#

Original Proposal:

Implementation:

Why Not? These mitigations require network-level analysis and careful timing to be effective. They also add latency and complexity. Multi-relay support helps by distributing events across multiple relays, making correlation harder. Future versions may explore these techniques based on real-world threat analysis.

What Was Added: Multi-Relay Support#

Original Proposal:

Implementation:

Why the Addition? Multi-relay support improves reliability and makes traffic analysis more difficult. Publishing to multiple relays reduces correlation risk and provides redundancy against relay failures.

What Was Added: Comprehensive Validation#

Implementation adds:

These validations ensure protocol correctness and prevent various attack vectors that I didn't explicitly address in my original proposal.

Practical Impact#

The implemented version prioritizes:

  1. Simplicity: Easier to deploy and maintain without payment infrastructure
  2. Decentralization: PoW doesn't require trusted payment providers
  3. Standardization: Uses well-established NIPs (NIP-44, NIP-13) that are widely supported
  4. Pragmatism: Focuses on core privacy goals (metadata hiding, anonymous routing) while deferring advanced mitigations

Security Considerations#

The implementation maintains strong privacy properties:

However, some advanced attack vectors (timing analysis, correlation attacks) aren't explicitly mitigated. These may be addressed in future versions based on real-world usage and threat analysis.

Looking Forward#

My original proposal included many forward-looking features that remain valuable but were deferred for the initial release. Future versions may explore:

Conclusion#

Renoter v1.0.0 implements a production-ready onion-routing system that achieves the core privacy goals of my original proposal through a pragmatic, standards-based approach. While some features I originally proposed were deferred, the implementation adds its own innovations (PoW, two-layer structure, multi-relay support) that enhance security and usability.

The focus on simplicity and standardization makes Renoter easier to deploy and integrate, which is crucial for adoption. As the network grows and usage patterns emerge, future versions can incorporate the more advanced features from my original proposal.

Try Renoter v1.0.0:


This article compares my original Renoter proposal with the v1.0.0 implementation. For technical details, see the NIP draft and source code.

#Nostr, Renoter, onion-routing, anonymous routing, nested encryption, privacy, metadata privacy, NIP-44, NIP-13, proof-of-work, spam protection, replay attack protection, ephemeral events, decentralized communication, censorship resistance, anonymous messaging, Renoter v1.0.0, implementation, proposal comparison, production-ready

Written by

Comments

No comments yet. Start the conversation.

Contents

17 sections

  1. Introduction
  2. Core Concept: What Stayed the Same
  3. What Changed: Encryption Method
  4. What Changed: Standardized Message Sizes
  5. What Changed: Spam Protection
  6. What Changed: Event Structure
  7. What Changed: Replay Attack Protection
  8. What Wasn't Implemented: Cashu Token Incentives
  9. What Wasn't Implemented: NIP-40 Expiration Tags
  10. What Wasn't Implemented: NIP-70 Protected Events
  11. What Wasn't Implemented: Traffic Analysis Mitigations
  12. What Was Added: Multi-Relay Support
  13. What Was Added: Comprehensive Validation
  14. Practical Impact
  15. Security Considerations
  16. Looking Forward
  17. Conclusion