# Nostr Silent Wallet (NSW) — Összefoglaló

**Szerző:** Tim Bouma (trbouma)
**Forrás:** https://gist.github.com/trbouma/77648ebe1005b181b67d1c4b42c7f31d
**Dátum:** 2026-05-22

## Koncepció

A **Nostr Silent Wallet (NSW)** egy olyan megközelítés, amely a BIP-352 Silent Payments protokollt Nostr identitásokkal köti össze. Minden Nostr npub determinisztikusan leképezhető egy Silent Payment címre (sp1...), ezáltal minden Nostr identitás kap egy rejtett Bitcoin fogadó címet — függetlenül attól, hogy a tulajdonos ezt tudja-e, vagy valaha publikálta-e.

## Alapelvek

- **Független verifikálhatóság:** A küldő az npub-ból lokálisan származtathatja a fogadó Silent Payment címet — nincs szükség cím másolására/manuális megosztásra
- **Anti-spoofing:** A küldő nem tud becsapva lenni hamis címmel, mert a helyes cím az npub-ból egyértelműen származtatható
- **Plausible deniability:** Mivel bárki származtathatja a címet, a cím létezése nem bizonyítja, hogy az nsec birtokosa valaha is tudott róla
- **Privát fogadás észlelés:** Csak a privát scan kulcs birtokosa észleli, mely on-chain outputok tartoznak a NSW-hez
- **Privát pénz feletti rendelkezés:** Csak a spend privát kulcs birtokosa tudja a detektált outputokat elkölteni

## Technikai működés

A core különbség a standard BIP-352-höz képest a **kulcsszármaztatás**:

- **BIP-352:** már létező Silent Payments privát kulcsokból indul (általában seed-ből)
- **NSW:** A Nostr privát kulcsból (nsec) indul, determinisztikus additív tweak-ekkel

Matematika:
```
d = Nostr privát kulcs
P = dG = Nostr publikus kulcs

t_scan  = H_tag("nostr-sp/scan", P)
t_spend = H_tag("nostr-sp/spend", P)

ScanPub  = P + t_scan * G
SpendPub = P + t_spend * G

sp1... = bech32m(v0 || ScanPub || SpendPub)
```

Privát oldalon: `scan_priv = d + t_scan mod n`, `spend_priv = d + t_spend mod n`

## Támadókörnyezet & adományozó védelem

Kiemelten fontos olyan környezetben, ahol:
- Ismert identitásra kell fizetni
- Később igazolni kell a fizetést
- Közvetítők/compliance/audit lép be a folyamatba

A 2022-es kanadai kamionos tüntetés példája mutatja, hogyan szivároghatnak ki adományozói adatok és hogyan fagyaszthatók be számlák, ha a fizetési címek nyilvánosak és újrahasználhatók. Az NSW modell ezt kiküszöböli:
- A küldő lokálisan származtatja a címet (nincs nyilvánosan köröztetett fizetési cím)
- Az sp1... cím nem jelenik meg on-chain
- A fogadott outputok nem nyilvánvalóak scan kulcs nélkül
- A fogadó sweep-elhet unrelated címekre

## Lightning & Cashu összehasonlítás

Az NSW előnye a Lightninggal és Cashuval szemben: **kevesebb infrastruktúra, kevesebb trust feltételezés**. Nem igényel Lightning node-ot, channel managementet, federált/custodial mintet. Közvetlenül Bitcoinra és Nostr identitásra épül.

## OpSec ajánlás

Soha ne költs közvetlenül az NSW walletből külső címre — mindig sweep-elj egy saját kontroll alatt álló friss címre.

## Kapcsolódó anyagok

- [BIP-352 Silent Payments](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki)
- [Silent Payments Design Note](https://github.com/trbouma/openetr/blob/main/docs/specs/SILENT_PAYMENTS_DESIGN_NOTE.md)
- [NSW Derivation Decision Note](https://github.com/trbouma/openetr/blob/main/docs/specs/SILENT_PAYMENTS_DERIVATION_DECISION_NOTE.md)

## Értékelés

Erős és elegáns koncepció: a Bitcoin privacy és a Nostr identitás találkozása. Az NSW minden Nostr felhasználónak ingyen ad egy nem-letagadható, de nem-bizonyítható Silent Payment fogadó képességet. A valós adoptáció függ a wallet implementációktól (Cake Wallet és BlueWallet már tesztelve).
