Nostr Compass #37 — 2026-08-26¶
Vezértörténetek¶
-
Postr 1.0.0 — Tudatosan kicsi Android composer kind 1 note-okra. A privát kulcs az Amberben marad (NIP-55 lokális aláíró, NIP-46 távoli aláíró). A post csak akkor sikeres, ha a kliens visszaolvassa az azonos aláírt eseményt és ellenőrzi az aláírást; az újrapróbálkozások megtartják az event id-t. Publikáció a NIP-65 write relay-eken + encrypted bootstrap relay-eken. NIP-34 repo announcement és kind 0 profil a
relay.ngit.dev-en. Feedek, analitika, hirdetések és kulcstárolás kimaradnak. -
Infans — Android baba-követő, co-parent sync Nostron. Helyi Room DB a forrás, encrypted kind 30078 (NIP-78) események backupra és partner sync-re. A repo NIP-44 címkét használ, de a megvalósítás AES-256-GCM — a NIP-44 v2 ChaCha20+HMAC-SHA256-ot ír elő, így a local-mode payloadok nem NIP-44-kompatibilisek. Partner sync
baby-tracker-syncd-tag, self-backupbaby-tracker-backupd-tag. Orvosi eszköz igényt vagy biztonsági auditot nem támaszt. -
walls.rip Ghost Chat — Anonim kommunikációs toolkit böngészős OpenPGP identitással. Minden üzenet a címzett PGP nyilvános kulcsára van titkosítva; a beszélgetés a session storage-ban marad (nincs központi adatbázis). Kind 1 eventként küldi a PGP ciphertextet 5 default relayre, room tag a címzett PGP ujjlenyomatából. Demonstrálja a relayket, mint cenzúra-ellenálló üzenet-transzportot — de nem metadata-private és NIP-17-tel nem interoperábilis.
-
pakstr 0.13.0–0.15.0 — CLI web asset mappa → signed Android APK → Zapstore publikáció Nostr kulccsal. 0.13.0 automatikus release verziózás, 0.13.1–0.13.3 javítják a Blossom publikációt (base64url auth, Content-Digest, Zapstore app event a Blossom upload előtt). 0.14.0 validálja a Zapstore publisher-t. 0.15.0 listing metadata-t ír kind 32267 application eventre, release notes kind 30063 release-event tartalomba.
-
Heterodyne — Specifikáció-első protokoll család (portable persona, authenticated comms, own-device control, social). 4 meglévő rétegből építkezik: Nostr signed events, Radicle (P2P git), Marmot (MLS Nostron), KERI key-event logs. Persona = cold-root npub + elfogadott KERI log, mindennapi aláírás forgó epoch kulcsokkal. 4 független 0.x draft: Core (identity, KEL verification, canonical Nostr bytes, Radicle), Comms (Nostr envelope-ek, privacy tiers, Marmot), Social (public follow, interakciók, listák), Control (saját eszköz enrollment — incomplete, nem claim-elhető). Mind draft, az 1.0 előtt eltörhet.
Címkézett release-ek¶
-
Nostr Java v2.0.8 — subscription isolation:
EVENT/EOSE/CLOSEDa subscription-höz route-olódik (eddig minden listener megkapta). NIP-44 már nem igényel JCE provider regisztrációt (BC lightweight ChaCha20 engine), így Androidon is működik. A NIP-44 JCE-provider dependencia lezárva. -
NoorNote v1.3.6 — NIP-38 user status (kind 30315 addressable) a profil NIP-05 neve alatt jelenik meg. NIP-99 (kind 30402 marketplace offers) classified listingek az egész appban megjelennek (marketplace addon csak adás/vétel kell). Privát petname note-ok warning orange színben.
-
nostrord v2.9.0 — NIP-29 (relay-managed groups) leave/delete marker-ek per-relay scope-olva (korábban bare id keying → egy host leave elnyomta a csoportot minden más relayen). Join ami "already a member" most sikernek számít. Markdown image embed-ek
formátumban. DMs: NIP-17 (kind 15) file rumor-ok, encrypted attachment. NIP-4e encryption-key work shipping. -
Nail v0.1.0 — Formstr csapat mail bridge + web kliens; email kind 1301 rumor kind 1059 (NIP-59) gift wrap envelope-ben. Első tagged release. Android app mailstr-re (Capacitor). Érdekesség: az értesítés nem igényel privát kulcsot — csak a p-tagged gift wrap érkezése a jel, és az public adat. Notifier crate: kulcsanyag nélkül,
{kinds:[1059], #p:[owner]}per relay, dedup event id alapján, callback per új wrap. Saját Tokio runtime dedikált thread-en, UniFFI-n át Kotlin felé. NIP-59 csapda: a gift wrapcreated_atakár 2 napos is lehet (timing analysis ellen), így asincewatermark kizárja a frissen érkezett leveleket — Nail a wall clock utolsó ~2 napját kéri, novelty tisztán event id alapján, bounded seen-set + seeded-backlog markerSharedPreferences-ben. -
MDK v0.9.14 & v0.9.15 — Rust Marmot (NIP-104 MLS) implementáció. v0.9.14: setup KeyPackage publikáció priorizálva, batch-elt és prewarm-olt member KeyPackage-ok. v0.9.15: legújabb érvényes KeyPackage kiválasztása invite-hoz (stale → tag, aki nem tud dekódolni). v0.9.15: epoch-gap recovery minden publish gate előtt, admin depletion mint named condition. v0.9.15: directory discovery és operational relay-ek szétválasztva. MarmotKit iOS + macOS XCFrameworks SwiftPM checksum MDK commitra pin-elve.
-
Zeus v13.2.0 — NIP-47 (wallet connect) sűrű fix-kör: pending payment számít a budget-be, settled payment ha hiányzik a listból is debit-eli, routing/melt fee beleszámít.
pay_invoiceserialized (shared-store race ellen), activity record upsert biztonságos,sign_messagevár a sign-ra, client secret rotálódik relay change-nél. LDK 24-word seed phrase, embedded LND bump, Cashu CDK upgrade. -
NYM v3.73.530 / v3.74.533 / v3.74.542 / v3.75.543 — Ephemeral chat kliens Nostron, Bitchat bridge. Bluetooth mesh web kliensben (v3.73.530). Post-quantum encryption privát és group chatekre (v3.74.533), v3.74.542 második verzió (saját envelope → csak önmagával interoperábilis). Message thread-ek channels/private/group chateken (v3.75.543). Bitchat PM kompatibilitás javítva (v3.74.543).
-
diVine 1.0.22 — Rövid looping video kliens, restored Vine archívum. Sign-out nem hagy nyitott relay connection-t, NIP-46 signer sem marad connected. Subscription slot-ok bounded read után felszabadulnak. NIP-04: terminal duplicate-ok nem retry, DM
created_atbounded (nem fagyasztja az unread badge-et). Törölt lista nem jön vissza relay sync-kor. -
Chama v6.0.1 — KRITIKUS BUG: 32-bit timer túlcsordulás. 90 nap ms-ben nem fér el 32-bit signed int-be → negatív érték → "immediately". Minden böngészős ecash escrow azonnal visszakerült a funderhez, miközben a trade locked státuszban maradt a látható Nostr eseményfolyamban. A Nostr-visible trade state helyes volt, de a mögötte lévő érték már unwound. Böngészőn kívüli build-eket nem érintett. Lényeg: látszólag működő, de már üres escrow.
Unreleased work¶
-
Shopstr — NIP-46 bunker payload (
bunker://URL + generált app private key) mostantól runtime memory-ben, nemlocalStorage. NIP-47 NWC connection string + wallet metadata szintén memóriában, régi tárolt másolatok törlődnek. Script az aktív session-ben továbbra is láthatja az in-memory értékeket. -
Routstr SDK — Relay-delivered provider announcement, model list és review (kinds 38421, 38423, 38425) most signature-ellenőrzésen megy át, mielőtt bármely consumer látná. >15 perc ahead timestamp-ek drop-olva "latest review" szelekció előtt. Trusted review nélkül a review gate fail-closed, unreviewed provider payment ranking-ből kizárva.
-
nostr-tools — NIP-59 gift wrap unwrap fix: a wrap kind 1059, a seal kind 13 érvényes signature-rel, a rumor
pubkeyegyezzen a sealpubkey-val (különben bármelyik seal author-hoz rendelhető a rumor → impersonation). Batch unwrap fail-elt wrap-et kihagyja (ne dobja el az egész query-t). -
Haven — NIP-86 management calls relay endpoint-onként, NIP-98 event-tel authentikálva. Operator saját pubkey-jével kezel ban/allowlist/kind rules/relay names/stored media-t. Read-only notes browser: encrypted kind-ok átlátszatlanok maradnak, remote media csak kattintásra töltődik (nem reveal-eli az operator IP-jét). Persistent traffic charts. Default LMDB fix: counting stored events végtelen loop → most backend counter ahol lehetséges, bounded event walk egyébként. +23 teszt (paging, deletion, metrics, owner checks, URL-bound sig-ek).
-
Amethyst — Blossom read authorization aláírás nem OkHttp dispatcher thread-en indul, image fetcher egy shared signature-t vár per host, retry a protected blob request. BUD-11 kompatibilis token encoding: Base64url padding nélkül,
serverscope, blob-specifikusxtag nélkül (egy token több blobot fed le). +concurrency tesztek.
Also shipped (röviden)¶
- ants v0.4.6 — NIP-66 (relay monitoring) discovery candidate NIP-50 (search) relay forrásként, probe-ol és kiszűri a
searchfiltert elfogadó de ignoráló relay-eket. - nostr-dart v11.0.0 — Major verzió, live public relay-ek ellen integráció-tesztelve (nem mock).
- myco v0.6.0/0.6.1 — Mesh wire format változás, user Nostr relayt adhat meg; v0.6.1 fix-eli a "fast lane" ami csak egy telefont kezelt.
- FIPS v0.4.2 — 144 commit mesh protokollon, Nostr keypair-ek node identity-hez; session-eltérítés, traffic attribution és path MTU steering elleni javítások.
- Tollbooth DPYC v0.3.0 — Relay set átrendezés reachability mérés alapján.
relay.primal.netésrelay.nostr.band0/6 probe-on aug. 22-én,nos.lol6/6. - Lightning.Pub v0.0.39 —
GetPaymentFromHash10s timeout (nem indefinite), pending payment reconciliation nem tartja nyitva a Nostr relay connection-t. - Keydex v1.0.1-37 — Relay auth kompatibilitás, non-ASCII vault/owner nevek invitation link fix.
- nostr-vpn v4.1.8 — Resilient public WebSocket bootstrap peers, authenticated private-mesh session recovery teljes network-path loss után restart nélkül.
NIP és protokoll munka¶
-
NIP-22 (comment threads) rollout: Snort és Ditto kind 1111-re váltottak a NIP-10 reply-k helyett. Snort felsőbetűs
E/Aroot scope tag-eken tölti, NIP-10 opt-in maradt. Ditto kind 1111 szövegre, 1244 voice-ra, kind 1 reply-kat továbbra is rendereli. Top-level postok kind 1 maradnak. NIP-30 (custom emoji) most kind 1111-et is felvette azemojitaget hordozható események közé. -
NIP-47 fee-ceiling proposal —
pay_invoiceopcionálismax_feeparaméter millisatoshi-ban. A wallet nem küld olyan fizetést, ahol a routing cost >amount + max_fee;FEE_LIMIT_EXCEEDEDhibát ad vissza (no debit, no attempt). Response-banfees_paidkötelező. Implementációk unknown paraméter esetén ignorálnak — hiányzófees_paidjel, hogy a cap lehet nem volt enforced. Még proposal, nincs mergelve. -
NIP-32 language-label proposal —
["l", "<BCP-47>", "lang"]standardizálása author-deklarált szövegnyelvre. Single-letterltag relay-indexelhető →{"#l":["ja"]}query Japanese feed-hez relay upgrade nélkül. Példák migrálva NIP-66, NIP-68, NIP-71-be. Unverified author assertion, nincs mergelve. -
NWC-09
lookup_payment+ NWC-12 BOLT12 — NIP-47 extension. Selector:transaction_id,payment_hash/invoice, vagypayment_type+ typedlookupobjektum. Közös envelope visszatér (transaction_id, type, state, payment_type, amount msats, timestamps, opcionális fees_paid/metadata, discriminateddetails). Wallet nem revelálja, ha a record inaccessible (selector→record visibility).MULTIPLE_MATCHESha több. State-ek: pending/accepted/settled/failed/expired/canceled. NWC-12 BOLT12 offer/payment details újrahasznosítja az envelope-t. Mindkettő draft. -
NAP-DISPLAY draft — Napplet kérheti a host-tól a használható pixel display-eket.
display.listopaque stable id-ket ad (logical width/height, type: lcd/eink/led-matrix/other).display.pushnon-empty batch coordinate-addressed 3-byte sRGB pixeleket küld. Runtime logical RGB → native color depth/orientation/refresh mapping, MAY rotate/reorder/quantize/dither/coalesce. Shell policy kontrolálja, melyik display-t írhatja. Batch-validáció: failed push semmit nem változtat. Build-öl a külön nem mergelt NIP-5D web-applets proposal-ra (Newsletter #17). Build-öl, de a NIP-5D még nincs a merged NIP setben. -
Marmot same-account enrollment experiment — Withdrawn External Commit draft helyett bounded Commit shape. Negotiated behavior marker: data-less component
0x800d(marmot.same-account-membership.v1). Current leaf authorolhat 1 inline same-account Add-ot vagy 1-4 inline sibling Remove-ot, max 5 current leaf per account. Pairing: short-lived sponsor QRmarmot-pairing-v1:(HKDF-SHA256 + ChaCha20-Poly1305, carrier-independent). Local-only kind 453 proofs bind-olják a session-t a shared account key-hez, soha nem relay-elve. Joiner első payload: non-rendered kind 452 ack, bound a Welcome + GroupInfo digest-ekre. Companion account-sync document exploratory, non-interoperable. Nincs az adopted base profile része.
"Six Years of Nostr Augusts" — hosszú visszatekintés¶
Éves interoperabilitási fókusz: hogyan nevez meg a kliens egy targetet és hogyan csatol visszajelzést.
- 2021. augusztus — Üres commit window az eredeti protokoll repo-ban. June 18 NIP-05 draft → augusztus idle → december NIP-09 (event deletion) + well-known JSON identifier. Signed-event core és relay model változatlan.
- 2022. augusztus 19 — NIP-25 edit: kind 7 reaction target-ek kind 1-en túl más note-okra. Később
atag addressable target-re. - 2022. augusztus 17 — nostr-rs-relay: nem minden hexa tag value bináris index key (csak single-letter + lowercase hex).
- 2023. augusztus 24 — NIP-19: nem-parameterized replaceable event naddr-ként enkódolva; 5 nappal később NIP-01 a-tag formátum
kind:pubkey:empty identifier-rel. Augusztus 22: Amethyst NIP-44 encryption szétválasztva a messaging event formátumtól. Augusztus 24: rust-nostr NIP-44 encrypt/decrypt a JS bindings-be. Augusztus 17: OpenSats grant round (Amber, shared interface design, use-case education). - 2024. augusztus 20 — "Parameterized replaceable event" → "addressable event" átnevezés NIP-01 + 16 másik doksiban (wire format változatlan). Augusztus 27: Blossom BUD-04 — egy authorization event több blob-hash
xtaget vihet. Augusztus 29: go-nostr NIP-46 kliens: egy hibás relay nem blokkolja a többit. Augusztus 19: OpenSats long-term support Vitor Pamplona (Amethyst) — NIP-17, cross-platform libs, outbox model. - 2025. augusztus 22 — NIP-25 external-content reactions (kind 17, NIP-73
k/itag-ek,rtag helyett). Példák: web URL, podcast (show GUID + item GUID, Fountain URL mint hint). Fountain 1.3 (aug. 15) már ezt használta a spec merge előtt. - 2026. augusztus — NIP-22 comment thread-ek kind 1 note-okra is (June amendment). NIP-30 (custom emoji) kind 1111-et is felvette. Snort alapértelmezetten kind 1111, Ditto kind 1111 szöveg / 1244 voice. NIP-10 kind 1 reply-kat továbbra is olvassa. Augusztus 13: Marmot durability and restart contract (local MLS + publication state restart után, reconcile group operations előtt).
A 6 éves ív: 2022 generalizálta a reaction-t, 2023+2024 nevezte a koordinátát, 2025 off-networkre mutatott, 2026 a comment-et tette meg shared reply event-nek. 2026-ban a Marmot durability contract a "named target"-en túl a cryptographic + delivery state recovery-t is megköveteli.
Forrás: https://nostrcompass.org/en/newsletters/2026-08-26-newsletter/ Feldolgozva: 2026-08-27 (Henky heti Nostr Compass cron)