Nostr Compass Hírlevél #26 — 2026-06-10¶
Forrás: https://nostrcompass.org/en/newsletters/2026-06-10/ Dátum: 2026-06-10 (szerdai megjelenés, csütörtöki feldolgozás) Előző szám: #25 (2026-06-03)
Főbb témák¶
1. Marmot v2 (Dark Matter) — protokoll-újradolgozás és natív kliensek¶
A marmot-protocol GitHub szervezet három új repót jelentetett be, amelyek a Marmot v2 protokoll-tervezet és natív kliens-vonal korai formáját adják:
- darkmatter (Rust, 2026-05-13. óta, 34 commit az elmúlt 7 napban): a v2 protokoll-tervezet a
spec/mappában, OpenMLS-alapú CGKA engine acrates/cgka-engine-ben, konformancia-szimulátor property tesztekkel, valamint Tamarin formális modell a konvergencia-bizonyításokhoz. - darkmatter-ios (Swift/SwiftUI, 2026-05-25. óta): MarmotKit UniFFI xcframework, Notification Service Extension a MIP-05 push ébresztések on-device dekódolásához.
- darkmatter-android (Kotlin/Jetpack Compose, 2026-05-25. óta): ugyanazok a Rust bindingok, just-alapú build, signed arm64-v8a APK.
- A régi Whitenoise Flutter app
whitenoise-archivejelölést kapott; az aktív Flutter vonal az újwhitenoiseDart repóban fut párhuzamosan.
Protokoll-változások a v1→v2 átmenetben:
- Az MIP-01 monolitikus marmot_group_data MLS extension szétszedése verzionált app komponensekre: marmot.group.profile.v1, marmot.group.admin-policy.v1, marmot.transport.nostr.routing.v1, marmot.group.blossom.image.v1, marmot.group.message-retention.v1. Minden komponens saját bájtokat és verzionálási utat kap.
- MIP-00 credentials új "account-identity-proof-v1" dokumentumot kap (címkézve: "new in v2 and breaking"), amely elválasztja az identity proof-ot a KeyPackage építéstől.
- A cgka-engine saját állapotgépet definiál: Stable, PendingPublish, Merging, Recovering epoch állapotokkal, és IngestOutcome/GroupEvent típusú visszatérésekkel minden bejövő transport envelope-ra. A TransportPeeler trait elválasztja a Nostr transportot, a StorageProvider trait pedig az SQLite (SQLCipher) tárolót az engine-től.
- A konvergencia distributed-convergence.md-ben dokumentálva, Tamarin modellel bizonyítva (branch szelekció, policy-gated eligibility, anchor replay, stale-branch elutasítás, stb.).
Natív kliensek jelentősége: A Marmot leggyakrabban emlegetett gyengesége a mobil megbízhatóság volt egyenetlen delivery körülmények között. A SwiftUI/Compose közvetlen hozzáférést ad a platform background-processing primitívekhez, amiket a Flutter csak plugin bridge-en ér el. Az UniFFI bindingok a protokoll-logikát egy Rust workspace-ben tartják, és statikus library-ként szállítják mindkét platformon.
Megjegyzés: A darkmatter README expliciten jelzi: "MDK remains the deployed Rust protocol implementation until this draft and engine are adopted." A cgka-engine crate 0.1.0-ás, "single internal consumer, not semver-stable". A workspace 3 csillag, iOS/Android 0 — pre-announce státusz, nem production ready.
2. Chama v2.0.0 → v3.1.0 — standalone P2P escrow egy hét alatt¶
A Newsletter #25-ben v1.3.0-nál bemutatott Nostr-natív P2P escrow kliens 17 release-t szállított 7 nap alatt, június 9-ére eljutva v3.1.0-ig trade-room UI újrarajzolással és per-seller storefronts-okkal.
Verzió-történet:
- v2.0.0 (BREAKING): escrow LOCK formátum változás — minden Shamir share csak a tulajdonosához van titkosítva (sharePolicy holder-only-v1); federation bearer ecash nem rekonstruálható egyetlen résztvevőből. Pre-2.0 kliens "can't find your share" hibát dob, és a trade nem teljesül.
- v2.0.1–v2.0.3: Fedi WebView funding-rail gap-ek zárása
- v2.1.0–v2.3.1: arbiter réteg keményítés (arbiter helyettesítés, ₿121 trade proof, listing-arbiter community membership ellenőrzés)
- v2.4.0: BIP-39 recovery phrase (Fedimint ecash wallet, titkosítva Nostr-on tárolva)
- v2.5.0: master nsec backup (Nostr identity + wallet seed)
- v2.6.0: globális community picker (ország nélküli fallback a legközelebbi federation-höz)
- v2.7.0: recovery-key screen plain English újrafogalmazás
- v2.8.0: group applications, dark/light theming, új event kind-ok (38120 roster, 38121 application)
- v2.9.0: dispute resolution deadline-nél arbiter ruling (korábbi auto-refund helyett) — COORDINATED release
- v2.10.0: per-trade thumb-up/thumb-down rating, új event kind 38123
- v3.0.0: standalone app — nem kell koordináló community a működéshez; end-to-end trade notification-ök (counterparty locked, payout ready, dispute ruling, settled/expired)
- v3.1.0 (június 9.): trade screen újrarajzolás Reserved → Locked → Settled progress spine-nel, role-colored action cardok, per-seller storefront listing class (curated swaps, loanbooks, bills) — sats commerce BTCPay/Zaprite nélkül
Architektúrális pivot: A holder-only share encryption a v2.0.0-as BREAKING change. A federation bearer ecash nem rekonstruálható egyetlen résztvevőből, ezzel bezárul egy út, ahol egy rosszindulatú fél a saját share-jével és a federation által tartott share-jával tudta volna a trade-et consent nélkül lezárni.
Dispute resolution: v2.9.0-tól a deadline-et elérő vitás trade-ek arbiter döntéssel zárulnak (korábbi auto-refund helyett). Mindkét félnek frissítenie kell.
Elérhetőség: Windows és Linux desktop bundle-ök a release-szel; macOS dmg signing/notarization-re vár.
Pozíció: A Chama csatlakozik a Mostro-hoz és a Shopstr-hez mint Nostr-natív marketplace, megkülönböztető jellemzői: serverless architektúra, Fedimint-backed 2-of-3 Shamir escrow, holder-only share encryption, és ez az egyetlen a három közül, ami koordináló community nélküli self-contained desktop+mobile klienst szállít.
3. Coracle Hosting — fizetős relay szolgáltatás Caravel+zooid stackkel¶
Június 3-án Hodlbod bejelentette a Coracle Hosting-ot a hosting.coracle.social címen — hosztolt community-relay szolgáltatás, ami recurring lightning payment-eket fogad el NWC-n vagy kártyán keresztül. A szolgáltatás a Caravel (Coracle billing és provisioning frontend) és a zooid (egy relay runtime, ami sok virtuális relay-t hostol egy gépen) stackre épül. Mindkettő open source a Coracle self-hosted gitea-ján.
- A Caravel opcionális livekit és Blossom integrációval shippel, amit operátorok relay-nként kapcsolhatnak.
- Ingyenes tier member-count limitekkel (értékeléshez, fizetési adatok megadása előtt).
- Üzleti modell: "monetize open source by selling a hosted version of a stack that anyone else can also run."
- A versenyelőny a Flotilla integráció (tervezett, következő lépés) — Flotilla birtokolja a user surface-t, így a hosztolt opció a Flotilla-ból kiszolgálva lesz a default útvonal a managed infrastruktúrát preferáló usereknek.
- Hodlbod felajánlotta, hogy más Caravel operátorokat hozzáad a Flotilla alternative-hosting picker-jéhez, ha jelentkeznek — ajtó nyitva a federált hosting piac felé.
Piaci pozíció: A Caravel a relay.tools-hoz csatlakozik mint nyilvános Nostr relay-provisioning platform paid member támogatással. A relay.tools domináns relay-creator service (saját community relay directory, paid-member/moderator join flow). A Caravel megkülönböztető jegyei: koordinált stack (zooid runtime + Caravel frontend + Flotilla picker), valamint a zooid many-relays-per-process sűrűsége (customer relay-k egy host processen osztoznak, így az operátor amortizálja a hosting költségeket sok kis community közt).
Release-ek¶
Angor v0.2.29 és v0.2.30¶
- v0.2.30 (június 8.): PR #893 — default network átváltás mainnetre. Az Angor unstable alpha státuszban marad, de a default-mainnet jelzi, hogy a protokoll túljutott a testnet-only fázison desktop és mobile kliensek esetén. További: single-tap mobile create-project flow image upload-dal (PR #889), lightning invoice spinner race condition fix (PR #890).
- v0.2.29 (június 4.): end-to-end UAT test PR #881 — 3-user send funds over 10 rounds unconfirmed spends-szel, az első multi-user funding-flow teszt az Angor test suite-ban. Angor CLI és MCP server implementációs terv (PR #792), CLI fejlesztések MCP testing workflow-hoz (PR #880). DavidGershony PR #885 — Boltz lightning invoice hálózati hiba runtime switch után (élesben jött volna elő a v0.2.30 mainnet default után). Settings: opcionális recovery-wallet file purge data wipe alatt (PR #883).
Sprout v0.3.15 (június 10.)¶
A v0.3.7-től (június 2.) futó release-sorozat nyolcadik tagja. Newsletter #25 a v0.3.1–v0.3.6 mesh-llm integration és channel sections munkát fedte; v0.3.7–v0.3.15 a polish és user-facing kiegészítések fázisa.
- PR #902: TTL refresh ephemeral channel-öknél — unarchive meghosszabbítja a time-to-live-ot, hogy ne archive-olódjon vissza azonnal.
- PR #906: mobile custom emojis + settings redesign.
- PR #904: reaction count-ok animálódnak változáskor.
- PR #905: több-szavas display name-ek és NIP-27 nostr:npub mention extraction csendes eldobásának javítása.
- PR #912: directory-backed team UI desktop-ra (install, sync, reveal parancsok).
- PR #919: slash command-ok átengedése ACP connector-oknak — a /help típusú command-ok közvetlenül az agent runtime-hoz mennek, a Sprout UI kimarad az útból.
Wisp v1.1.1 (június 5.)¶
- PR #548: két-szintű wallet Connect screen Spark sub-screen-nel.
- PR #549: dashboard parity iOS wallet UI-val.
- Rendszer-szintű nsec paste guard: nsec1-prefixű paste-et bárhol detektálja az appban, és blokkolja a mezőt. Ez az egyik leggyakrabban emlegetett footgun a Nostr UX-ben.
- PR #552: QR-scan login + watch-only mód npub és nprofile-hoz.
- PR #559: Zap message-ek mini-post-ként jelennek meg az engagement drawer-ben.
- PR #583: web-of-trust filter thread reply-kre — userenként elrejthető a follow graph-on kívüli reply spam.
Nostria v3.1.46 és nospeak 1.1.3¶
- Nostria v3.1.46 (június 7.): notification counter rework — csak az utolsó megtekintés óta új notification-öket számolja, eliminálva a régi inflációt, ahol régebbi notification-ök scroll-olása badge count-ot növelt.
- Nostria v3.1.45 (korábbi): split-payment bug fix lightning és QR-code fizetéseknél, valamint az Android compositor-ral összeférhetetlen translucent UI elvetése.
- nospeak v1.1.3 (június 4.): ICE restart FAILED state-en 1-on-1 voice call-oknél. A standard WebRTC behavior eldobja a call-t, ha az ICE candidate-ek alternative path nélkül timeout-olnak; az ICE-restart path újratárgyalja a candidate-eket, így a call recovery-el átmeneti NAT vagy hálózati változásokból. Android: screen on tartása video call-ok alatt.
Nem release-elt változások¶
Amethyst: 41 PR a NIP-32 / NIP-F4 / Tor vonalon¶
Az Amethyst 41 PR-t merge-elt a héten release tag vágása nélkül, a múlt heti 52 PR és a NIP-32 hashtag labeling + NIP-F4 podcast munka tetejére (Newsletter #25). Az aktív branch a következő release-re feature-öket halmoz, polish-t rakva a múlt heti headline újdonságokra: hashtag labeler discovery, podcast screen, music tracks és playlist-ek, Tor self-heal watchdog, ephemeral signers anonymous upload-okhoz, onchain zaps NIP-05 filter-rel. Az Amethyst PR throughput a legmagasabb Nostr kliensnél, és az unreleased queue a de-facto roadmap más Android Nostr kliensek számára.
Damus: relay tracking OK message-ekből és v1.17 changelog¶
- PR #3786 (június 3., merged): sikeres OK message-ek a relay-től bekerülnek a post-relay list-be. Korábban csak általános message-ek triggerelték a seen-relay population-t, így egy relay, ami acknowledge-elte a post-ot de nem szállított vissza event-et, láthatatlan volt a user számára.
- PR #3796: AttributeGraph cycle fix Profile View-n.
- PR #3725: v1.17 changelog a következő tagged release előtt.
Shopstr: NIP-34 dual-publishing¶
A Shopstr shopstr repója az ngit-en Nostr-on lett bejelentve NIP-34 git repo-ként, csatlakozva az ngit tracked repo-jaihoz. A shop kliens GitHub repója marad az elsődleges fejlesztési surface; a NIP-34 bejelentés párhuzamos git-over-Nostr collaboration utat nyit. Ez a második nagy Nostr marketplace projekt, ami dual-publishel NIP-34-re (Mostro után), folytatva a project metadata fokozatos migrációját a Nostr git transportra.
Hermes-Marmot: AI agent gateway MLS-en át¶
A hermes-marmot (Hermes Agent plugin) AI agent messaging surface-ét köti össze Marmot (MLS-over-Nostr) csoportokkal mdk-python (Rust Marmot Development Kit Python bindingok) segítségével. A plugin lehetővé teszi, hogy a user bármely Nostr kliensből DM-eljen egy AI agent-nek, ami kind 445 MLS message-eket beszél (pl. Whitenoise).
- Inbound DMs: NIP-59 gift-wrap unwrapping nostr-sdk Python bindingokon át, majd UnwrappedGift.from_gift_wrap → mdk.process_welcome → mdk.accept_welcome.
- Access control: MARMOT_ALLOWED_USERS (vesszővel elválasztott npub allowlist) vagy MARMOT_ALLOW_ALL_USERS=true nyílt dev access-hez.
- A repo új (utoljára frissítve május 27.), kicsi. Architektúrális jelentősége: az első nyilvános híd LLM agent runtime és MLS-titkosított Nostr messaging channel között, valamint az első production use of mdk-python a Whitenoise-on túl. A pattern agent-to-agent kommunikáció felé mutat, ahol mindkét végpont MLS kulcsokat tart, és a relay csak ciphertext-et lát.
NIP frissítések és protokoll-munka¶
NIP-67 EOSE completeness hint (PR #2317, merged június 6.)¶
Mattn PR #2317 június 6-án mergelve, hozzáadja a NIP-67-et a protokollhoz. A NIP kiterjeszti az EOSE relay message-et egy opcionális harmadik elemmel: ["EOSE", <subscription_id>, "finish"] jelzi, hogy minden tárolt event kiszállításra került; a csupasz ["EOSE", <subscription_id>] nem hordoz teljesség-állítást. A NIP-67 advertisement-et NIP-11-ben elhagyó relay a mai legacy heuristicát tartja.
Motivation:
1. Csendes adatvesztés: A kliens 500 note-ot kér egy 300-as cap-es relay-től, a relay visszaad 300 event-et, a kliens (received < limit heuristic) teljesnek hiszi. A 201–N-edik legrégebbi matching note a relay-en marad olvasatlanul.
2. Kötelező waste round trip-ek: Ha a relay cap-nél kimerül a subscription, egy második REQ kell until=<oldest_created_at>-tel a teljesség megerősítéséhez — még akkor is, ha a filter pont 300 eventet matchel.
A "finish" hint egy opcionális string egy létező message-en, és mindkét költséget eliminálja. Backward compatibility mindkét irányban: legacy kliensek ignorálják a trailing array elementet, legacy relay-ek elhagyják.
NIP deep dive: A NIP-67 egyike a legrégebbi NIP-01 correctness gap-eknek. A spec nem definiálta, hogy a relay végigszállította-e a tárolt matcheket vagy cap miatt félúton megállt. A standard workaround (received < limit) silent truncation-höz vezetett cap-exhausted subscription-öknél. A NIP-67 fix egyetlen opcionális string az EOSE message-en. A spec nem definiál cursor vagy pagination token-t — az until-alapú pagination marad a mechanizmus. A relay cap-ek maradnak, és a NIP nem igényli azok exposúráját. A merge ~7 hét review után történt, ami NIP-01 módosításnál rövid. Mattn expliciten jelezte a PR-ban, hogy AI translation-t használt az angol szöveghez — a change elég kicsi, hogy ez ne számítson.
NIP-50 autocomplete extension (PR #2357, merged június 6.)¶
Alex Gleason PR #2357 június 6-án mergelve, egy autocomplete:true/false tokent ad a NIP-50 search-höz. A kiterjesztéssel a kliens typeahead lookup-ként jelölheti a query-t, a relay prefix matching-et használ, a default full-text search marad a token nélküli query-kre. A Ditto relay implementálja follow pack-ekre, list-ekre és minden title tag-es event-re — title prefix ellen matchel; default search path full-text scoring-ot fut. A token per-search hint, nem relay-wide capability, így a relay implementálhatja egy event class-ra (titles) anélkül, hogy általános autocomplete support-ot állítana.
NIP-GART emergency alerts és location broadcasts (PR #2374)¶
Disinqa PR #2374, megnyitva június 9-én. Privacy-preserving wire format-ot definiál Nostr-on emergency alert-ekre és location broadcast-okra, amik egy megbízható címzetti csoporthoz szólnak. Tervezési cél: elrejteni a sender identity-t, a group membership-et és a payload-ot a relay operátorok elől, miközben az event-ek replay-safe-ek és signature-verifiabilisak end-to-end. NIP szám még TBD, a proposal early-draft. A use case a standard emergency-alert pattern: user fenyegetés alatt location ping-et broadcastol, amit csak egy előre megosztott trusted contact csoport tud dekódolni, a relay vak a sender-re, recipient set-re és payload-ra.
NIP-46 logout method (PR #2373)¶
Hzrd149 PR #2378, megnyitva június 8-án. Egy logout method-ot ad a NIP-46-hoz, hogy a kliens expliciten közölhesse a bunker-rel, hogy a session véget ért. Korábban a bunker session timeout-ra várni kellett, vagy a connection-t kellett leállítani — mindkettő esetén a bunker session state-et tartott egy már nem létező kliensről. A proposal rövid (egy új method) — housekeeping típusú change, ami a hosszú-idejű bunker integrációkat tisztítja.
NIP-95 hybrid relay-P2P proposal (long-form)¶
NIP-95 specifikáció long-form köröztetése kind:30023 post-ként npub 91bea5cd... -tól június 4-én, "Protocolo Híbrido Relay-P2P via WebRTC" címmel. A portugál nyelvű dokumentum egy hibrid peer-to-peer relay protokollt definiál, ahol a Nostr kliensek WebRTC-n keresztül közvetlenül kapcsolódnak egymáshoz live messaging-re, miközben a relay-ket használják stored-event retrieval-re és offline delivery-re. Az author expliciten "LLM-ready"-ként keretezte a spec-et: message definíciók, logikai flow-k, data schema-k és state rule-ok olyan részletességi szinten, hogy egy AI modell working client/server code-ot generáljon. A proposal még nem NIP PR; a kind:30023-as köröztetés a szokásos precursor a formális nostr-protocol/nips pull request előtt.
NIP-44 v3 második signer: Clave portolja a spec-et¶
Az Amber v6.2.0 NIP-44 v3 rollout a múlt héten merged NIPs PR nélkül shippelt, v3-at Amber-specific extension-ként hagyva, amit más klienseknek tükrözniük kellett az interop-hoz. Ez az egyszeres implementációs framing ezen a héten változott: Clave (push-based iOS NIP-46 remote signer) június 3-4-én független NIP-44 v3 portot landolt nyolc commitban. - Crypto primitive-ok: HKDF + ECDH keys layer, v3 padding algorithm, top-level public API + encryption Context. - NIP-46 surface: RPC dispatch wiring a LightSigner-ben + PendingRequest schema a v3 context-tel (kind + scope), hogy a signer rögzíthesse, mely event kind-re és use case-re lett a v3 payload jóváhagyva. - Clave eltér az Amber-től a user-facing surface-ben: permission grant schema sensitivity tiers-ekkel — a user v3 encryption-t adhat egy konkrét event kind-re és scope-ra egy választott sensitivity szinten. Első találkozáskor v3-context-aware approval prompt-ok one-time explainer card-dal mutatják be v3-at a usernek. - A work main-ben van és Xcode project-be drótozva, de unreleased; a legutóbbi tagged build v0.2.0-build79 (május 12.).
Jelentőség: Két független implementáció landol NIP-44 v3-at production útvonalakban, mielőtt a NIPs PR merge-öl — ez erősíti a wire format esetét, amit a protokoll PR formalizálni fog. Cross-implementation interop testing a spec konvergencia útja, az Amber Android approval surface-e és a Clave iOS sensitivity-tier model-je mint két referencia pont.
NIP-34 activity: joinmarket-ng és Iris¶
- joinmarket-ng: modern alternatív implementációja a JoinMarket-nek (Bitcoin CoinJoin). 13 patchet push-olt az ngit-hosted git repójába ezen a héten. A JoinMarket CoinJoin tranzakciókat koordinál Tor felett; a joinmarket-ng az első NIP-34-natív re-implementáció, és a patch flow ezen a héten a legnagyobb sustained activity bármely tracked NIP-34 repón a NIP-34 tracker indulása óta.
- Iris NIP-34 repo bejelentések: hashtree (június 8.), iris-apps, iris-drive, iris-chat-rs (június 9.) — clone URL-ek új
htree://sémával awss://temp.iris.to-ról. A hashtree transport content-addressed alternatíva a GRASP-routed clone-okkal szemben; ez a négy bejelentés az első nyilvános használata. A repók üres description-öket hordoznak, az architektúrális részletek még alakulnak, de a NIP-34 announcement-en (egyedi Iris-internal manifest helyett) való publish-olás azt jelzi, hogy az Iris elkötelezi magát a szélesebb NIP-34 git-over-Nostr stack mellett.
Összefoglaló trendek¶
- Marmot v2 komoly formális módszertani munkát hoz (Tamarin bizonyítás, property tesztek), ami egyedülálló a Nostr ökoszisztémában — a mobil megbízhatóság problémáját strukturáltan kezeli, nem patch-csel.
- NIP-44 v3 immár két implementációval bír (Amber + Clave) — a wire format consensus gyűlik, bár a spec PR még nem merge-elt.
- NIP-01 extension ritka konszenzussal merge-elt (NIP-67 EOSE hint) — a konkrét failure mode (silent data loss, waste round trip) és a minimális surface (egy opcionális string) együtt gyors átmenetet hozott.
- Marketplace érettség — Chama mostantól standalone, a Mostro és Shopstr (NIP-34-gyel) mellett; mindhárom más-más escrow/coordination modellt képvisel.
- Nostr-git ökoszisztémák szaporodnak — NIP-34 tracker-ek, hashtree transport, ngīt, joinmarket-ng, Mostro/Shopstr dual-publishing.
Kapcsolódó linkek¶
- Marmot v2 / Dark Matter: github.com/marmot-protocol/darkmatter
- Chama releases: v2.0.0 → v3.1.0 (június 9.)
- Coracle Hosting: hosting.coracle.social
- Angor v0.2.30 (PR #893 — mainnet default)
- NIP-67 (EOSE completeness): PR #2317
- NIP-50 autocomplete: PR #2357
- NIP-GART emergency alerts: PR #2374
- NIP-46 logout method: PR #2373
- hermes-marmot: új repo, május 27-i utolsó frissítés
Forrás: https://nostrcompass.org/en/newsletters/2026-06-10/ — Nostr Compass Hírlevél #26