Siirry sisältöön
Takaisin Nymchatiin

Tietopohja Konepellin alla

Protokolla ja tapahtumat

Mitä Nymchat itse asiassa laittaa johtoon kaikille, jotka rakentavat sitä vastaan, tarkastaa sitä tai lukea tapahtumia toiselta Nostr-asiakkaalta.

Tapahtumatyypit

YstävällinenKäytetäänHuomautuksia
0Profiilin metatiedotNormaali Nostr-profiili: nimi, kuva, banneri, noin, lud16.
5PoistopyynnötNIP-09.
7ReaktiotNIP-25, jossa a ['k', originalKind] -tagia, jotta oikeaa kanavatyyppiä vastaan ​​annetaan reaktio.
13TiivisteNIP-17-sanoman keskikerros.
14Yksityisviestin huhuAllekirjoittamaton, eikä koskaan julkaistu yksinään.
1059LahjapakkausNIP-59. Mikä todella saavuttaa yksityisviestien ja ryhmäkeskustelujen välittäjän.
1984RaportointiNIP-56.
9734 / 9735Zap-pyyntö ja zap-kuittiNIP-57.
10030Mukautetut emojipakettiluettelotNIP-30.
20000Geohash-kanavan viestiEfemeraalinen, merkitty ['g', geohash].
23333Nimetty kanavaviestiEfemeraalinen, merkitty ['d', channel].
24420 / 24421Julkiset kirjoitusilmaisimet ja lukukuititNymchat-kohtainen, julkisille kanaville.
25051 / 25052Vertaissignaloinnin ja tiedostonsiirron tilaNymchat-kohtainen.
30030Mukautetut emojisetitNIP-30.
30078SovellustiedotNIP-78. Äänestykset ja salatut asetukset synkronoidaan.
69420Yksityiset lukukuitit ja toimituksen tilaNymchat-spesifinen, mukana huhuna lahjapaperin sisällä. Erillinen laji 14 tarkoituksella, joten muut NIP-17-asiakkaat eivät renderöi tyhjiä suoria viestejä jokaiselle kuitille.

NIPs Nymchat toteuttaa

NIPISTÄÄMitä se antaa Nymchatille
NIP-07Kirjaudu sisään selainlaajennuksella.
NIP-09Poistopyynnöt.
NIP-13Todiste työstä. Lähtevät viestit louhitaan vähintään 16-bittisiksi.
NIP-17Yksityiset suorat viestit ja perusta ryhmäkeskusteluille.
NIP-25Reaktiot.
NIP-30Mukautettu emoji.
NIP-40Vanhenemisaikaleimat – katoavat viestit.
NIP-44Versioitu salaus, jota käytetään tiivisteisiin, kääreisiin ja asetusten synkronointiin.
NIP-46Etäallekirjoitus - bunker://.
NIP-56Raportointi.
NIP-57Salama räjäyttää.
NIP-59Lahjapaperit.
NIP-78Mielivaltaiset sovellustiedot.
NIP-98HTTP-todennus isännöidyille päätepisteille.

Kryptografia

JossaMitä
Henkilöllisyys ja allekirjoituksetsecp256k1 Schnorr-allekirjoituksella (BIP-340), kuten Nostr määrittelee.
Yksityisviestit ja ryhmäkeskustelutNIP-44 v2: ECDH on secp256k1, HKDF-SHA256, ChaCha20 ja HMAC-SHA256, ja täyte, jotta salatekstin pituus ei kerro viestin pituutta.
Bluetooth mesh -istunnotNoise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 allekirjoituksia varten, SHA-256 ja HMAC alla.
Identiteetti levossaAES-GCM-256. Avain tulee PBKDF2-SHA256:sta 310 000 iteraatiolla salasanaa tai PIN-koodia varten tai WebAuthnin PRF-lähdöstä HKDF-SHA256:n kautta salasanaa tai biometrisiä tietoja varten.
Puhelut ja tiedostojen siirrotWebRTC:n oma DTLS-SRTP, neuvoteltu NIP-17-kääretyn signaloinnin kautta.
SatunnaisuusCSPRNG-alusta kauttaaltaan – avaimet, välipalat ja lahjapakkauksen aikaleiman värinä.

Metatietojen suojaus

Kaksi lahjapakkauspolun yksityiskohtaa kannattaa ottaa esille, koska ne erottavat NIP-59:n "salatusta, mutta ilmeisesti sinulta heille":

  • Jokainen kääre on allekirjoittanut a kertakäyttöinen avain luotu pelkästään tätä viestiä varten, joten kahdella wrapillä ei ole samaa lähettäjää.
  • Jokainen kääre created_at on satunnaisesti jopa kahdella taaksepäin tuntia käyttämällä CSPRNG:tä, joten lähetys- ja vastaanottoaikoja ei voi kohdistaa.

Ryhmäkeskustelut lisäävät pyörivää lyhytaikaisuutta vastaanottaja avaimet päälle - katso Kuinka ryhmäsalaus toimii.

Lähteen lukeminen

Kryptoprimitiivit ovat mukana js/nym-crypto.js ja js/modules/key-vault.js verkkosovelluksessa ja sen alla android-ios-app/lib/core/crypto/ ja lib/services/mesh/noise/ Flutter-sovelluksessa. The arkisto on AGPL-3.0 ja täydellinen — ei ole suljettua komponenttia, joka voisi ottaa luottamuksen.