Kihagyás

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-sync d-tag, self-backup baby-tracker-backup d-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/CLOSED a 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 ![alt](url) 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 wrap created_at akár 2 napos is lehet (timing analysis ellen), így a since watermark 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 marker SharedPreferences-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_invoice serialized (shared-store race ellen), activity record upsert biztonságos, sign_message vá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_at bounded (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, nem localStorage. 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 pubkey egyezzen a seal pubkey-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, server scope, blob-specifikus x tag 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 search filtert 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 és relay.nostr.band 0/6 probe-on aug. 22-én, nos.lol 6/6.
  • Lightning.Pub v0.0.39 — GetPaymentFromHash 10s 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/A root 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 az emoji taget hordozható események közé.

  • NIP-47 fee-ceiling proposal — pay_invoice opcionális max_fee paraméter millisatoshi-ban. A wallet nem küld olyan fizetést, ahol a routing cost > amount + max_fee; FEE_LIMIT_EXCEEDED hibát ad vissza (no debit, no attempt). Response-ban fees_paid kötelező. Implementációk unknown paraméter esetén ignorálnak — hiányzó fees_paid jel, 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-letter l tag 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, vagy payment_type + typed lookup objektum. Közös envelope visszatér (transaction_id, type, state, payment_type, amount msats, timestamps, opcionális fees_paid/metadata, discriminated details). Wallet nem revelálja, ha a record inaccessible (selector→record visibility). MULTIPLE_MATCHES ha 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.list opaque stable id-ket ad (logical width/height, type: lcd/eink/led-matrix/other). display.push non-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 QR marmot-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 a tag 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 x taget 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/i tag-ek, r tag 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)

Vissza a tetejére