Hi everyone,
I've been following the discussions here for a while and I'm impressed by the ongoing work - Johan's ripple.archi with the 3-phase commit and penalty system, Evgeni's Swaptacular reaching production, the Villages.io relaunch, and the continuing evolution of Credit Commons.
I wanted to share some infrastructure components we've been working on that might be useful as shared building blocks, and get your thoughts on whether they could help the broader Ripple ecosystem.
## The components
**1. did:nostr for identity**
A simple DID method using Nostr's secp256k1 keys:
did:nostr:<pubkey>
This gives us:
- Cryptographic identity (same curve as Bitcoin)
- Already used by millions in the Nostr ecosystem
- Portable across implementations
- One keypair for social identity + payments
Spec:
https://nostrcg.github.io/did-nostr/
**2. Nostr relays for sync and discovery**
Instead of each implementation running its own servers for state sync,
Nostr provides:
- Decentralized relay infrastructure (thousands of relays exist)
- Real-time push via WebSocket subscriptions
- No single operator controls the network
- Could be used for trust line announcements, path queries, payment coordination
This doesn't replace the payment protocol itself - just the sync layer.
**3. Web Ledgers for state format**
This one is honestly still a draft (v0.1.4, W3C CG-DRAFT status):
https://webledgers.org/The idea is a simple JSON-LD format mapping URIs to balances:
- Any URI can hold a balance (did:nostr, WebID, email, etc.)
- Interoperable across implementations
- Built on linked data principles
I'd love input from this community on whether this format could work for mutual credit, and what's missing. It's explicitly a "work in progress" and could benefit from people who actually build these systems.
**4. Blocktrails for optional Bitcoin anchoring**
For implementations that want Bitcoin-grade finality without requiring every payment to touch the chain:
https://blocktrails.org/- Anchor state to Bitcoin via Taproot key tweaking
- SPV-verifiable (no full node required)
- Optional - only for high-value txs, periodic checkpoints, or disputes
- Doesn't replace other commit mechanisms, supplements them
## On the atomic commit problem
I've been thinking about a layered approach that builds on existing work:
1. **Bilateral netting first** - Most obligations can be cleared directly or via cycle detection, no multi-hop commit needed
2. **Nostr-coordinated consensus** - For online parties, fast coordination via signed messages on Nostr relays
3. **Johan's 3-phase commit with penalties** - For contested cases where game-theoretic enforcement is needed
4. **Bitcoin anchor** - Fallback for disputes or audit requirements
This isn't meant to replace what anyone's building - I'm genuinely curious whether these pieces could be useful as shared infrastructure across Villages, Swaptacular, ripple.archi, Credit Commons, etc.
## Questions for the list
1. Would did:nostr work as a common identity layer? Or are there reasons to prefer something else?
2. Has anyone experimented with Nostr for payment coordination? The real-time subscription model seems well-suited to multi-party protocols.
3. What would need to change in Web Ledgers to be useful for mutual credit? Happy to work on the spec with anyone interested.
4. Is optional Bitcoin anchoring valuable, or does it add complexity without benefit for most use cases?
I'm not trying to propose "yet another implementation" - more interested in whether we could converge on some shared primitives that benefit everyone.
Happy to dive deeper on any of these, or help integrate with existing projects.
Best,
Melvin