Kihagyás

Nostr Silent Payments (NSP)

Koncepció

A Nostr Silent Payments (NSP) — korábban Nostr Silent Wallet (NSW) — Tim Bouma (trbouma) által javasolt derivation modell, amely minden Nostr npub-hoz determinisztikusan hozzárendel egy BIP-352 Silent Payment fogadó címet (sp1...). Ez gyakorlatilag minden Nostr identitásnak ad egy rejtett Bitcoin fizetési csatornát, függetlenül attól, hogy az illető tud-e róla, vagy valaha igénybe vette.

Az egyik legfontosabb tulajdonsága, hogy a Silent Payments egy statikus fizetési címet biztosít: egy olyan stabil fogadó identitást, amit a küldők újrahasználhatnak anélkül, hogy on-chain reusable address keletkezne.

A sending wallet számára az sp1... cím teljesen szabványos Silent Payment cím — Cake Wallet és BlueWallet már tesztelve. A különbség a receiver oldalon van: a fogadónak az NSP recovery rule alapján kell helyreállítania a privát kulcsokat az nsec-ből.

Core tulajdonságok

  1. Független verifikálhatóság: A küldő az npub-ból és a derivation rule-ból lokálisan származtatja a címet
  2. Anti-spoofing: Nem kell megbízni egy beillesztett vagy kézzel megosztott címben — a helyes cím az npub-ból egyértelmű
  3. Plausible deniability: Bárki származtathatja a címet → léte nem bizonyítja, hogy az nsec tulajdonos szándékosan létrehozta vagy tudott róla
  4. Privát fogadás detektálás: Csak a scan privát kulcs birtokosa látja a fogadott UTXO-kat
  5. Privát költés: Csak a spend privát kulcs birtokosa sweep-elhet

Kulcsszármaztatás

d = Nostr privát kulcs (nsec)
P = dG = Nostr publikus kulcs (npub)

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

A core különbség BIP-352-höz képest: nem seed-alapú wallet-ből indul, hanem a Nostr identitáskulcsból. NSP esetén a BIP-352 base derivation helyett "start from the publicly known Nostr key, derive additive tweaks, and turn that into scan/spend keys."

⚠️ Fontos Biztonsági Caveat (2026-05-25 frissítés)

A 2026-05-25-i frissítés explicit módon dokumentálja:

d = scan_priv - t_scan mod n

Mivel t_scan az npub-ból nyilvánosan számolható, aki ismeri scan_priv-et, az vissza tudja számolni az nsec-et, majd abból a spend_priv-et is.

Ez azt jelenti: - Az NSP scan privát kulcs root-equivalens - scan_priv felfedése = nsec felfedése = spend_priv felfedése - NSP NEM biztonságos untrusted remote-scanning modellben - Scanning csak lokálisan vagy fully trusted scanner infrastruktúrával

Operational következmények: - Lokális scanning az ajánlott modell - Self-hosted vagy fully trusted scanner elfogadható - Untrusted third-party remote scanner NEM biztonságos NSP-hez - A sender-side előnyök (független cím-verifikáció) változatlanok

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

A 2022-es kanadai kamionos tüntetés példája: adományozói adatok kiszivárogtak, kripto címeket fagyasztottak be. Az NSP ezt kiküszöböli: - A cím lokálisan származtatható, nem kell publikusan körözni - Az sp1... identitás nem jelenik meg on-chain - A fogadott output-ok scan kulcs nélkül nem detektálhatók - A küldő kevésbé valószínű, hogy felfedi magát egy nyilvánosan figyelhető fogadó címre való fizetéssel

High-risk környezetben az NSP csökkenti a trust gap-eket: - A küldőnek erős bizonyossága van, hogy a helyes identitásnak fizetett - A fogadó privátan konfirmálhatja a beérkezést - A fogadó explicit, szándékolt receipt confirmation-t adhat - Nincs szükség third-party address registry-re vagy manuális verifikációra

Lightning & Cashu összehasonlítás

Az NSP előnye más privacy megoldásokkal szemben: kevesebb moving part. Nincs szükség Lightning node-ra, channel managementre, routing feltételezésekre, federált/custodial mintre. Közvetlenül Bitcoinra és Nostr identitásra épül — kevesebb trust feltételezés a cím-koordinációs rétegben. Feltéve, hogy a scanning lokális vagy fully trusted.

OpSec

⚠️ Soha ne költs közvetlenül az NSP walletből külső címre. Mindig sweep-elj saját kontroll alatt álló, unrelated címre.

⚠️ Soha ne oszd meg a scan privát kulcsot untrusted third party-val — az nsec-ed kompromittálódik.

Kapcsolódó anyagok


Forrás: GitHub Gist | Szerző: Tim Bouma | Utolsó frissítés: 2026-05-25

Vissza a tetejére