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.
Tämä sivu on käännetty koneella käyttömukavuuden vuoksi. Englanninkielinen alkuperäinen versio on voimassa.
Tapahtumatyypit
| Ystävällinen | Käytetään | Huomautuksia |
|---|---|---|
0 | Profiilin metatiedot | Normaali Nostr-profiili: nimi, kuva, banneri, noin, lud16. |
5 | Poistopyynnöt | NIP-09. |
7 | Reaktiot | NIP-25, jossa a ['k', originalKind] -tagia, jotta oikeaa kanavatyyppiä vastaan annetaan reaktio. |
13 | Tiiviste | NIP-17-sanoman keskikerros. |
14 | Yksityisviestin huhu | Allekirjoittamaton, eikä koskaan julkaistu yksinään. |
1059 | Lahjapakkaus | NIP-59. Mikä todella saavuttaa yksityisviestien ja ryhmäkeskustelujen välittäjän. |
1984 | Raportointi | NIP-56. |
9734 / 9735 | Zap-pyyntö ja zap-kuitti | NIP-57. |
10030 | Mukautetut emojipakettiluettelot | NIP-30. |
20000 | Geohash-kanavan viesti | Efemeraalinen, merkitty ['g', geohash]. |
23333 | Nimetty kanavaviesti | Efemeraalinen, merkitty ['d', channel]. |
24420 / 24421 | Julkiset kirjoitusilmaisimet ja lukukuitit | Nymchat-kohtainen, julkisille kanaville. |
25051 / 25052 | Vertaissignaloinnin ja tiedostonsiirron tila | Nymchat-kohtainen. |
30030 | Mukautetut emojisetit | NIP-30. |
30078 | Sovellustiedot | NIP-78. Äänestykset ja salatut asetukset synkronoidaan. |
69420 | Yksityiset lukukuitit ja toimituksen tila | Nymchat-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-07 | Kirjaudu sisään selainlaajennuksella. |
| NIP-09 | Poistopyynnöt. |
| NIP-13 | Todiste työstä. Lähtevät viestit louhitaan vähintään 16-bittisiksi. |
| NIP-17 | Yksityiset suorat viestit ja perusta ryhmäkeskusteluille. |
| NIP-25 | Reaktiot. |
| NIP-30 | Mukautettu emoji. |
| NIP-40 | Vanhenemisaikaleimat – katoavat viestit. |
| NIP-44 | Versioitu salaus, jota käytetään tiivisteisiin, kääreisiin ja asetusten synkronointiin. |
| NIP-46 | Etäallekirjoitus - bunker://. |
| NIP-56 | Raportointi. |
| NIP-57 | Salama räjäyttää. |
| NIP-59 | Lahjapaperit. |
| NIP-78 | Mielivaltaiset sovellustiedot. |
| NIP-98 | HTTP-todennus isännöidyille päätepisteille. |
Kryptografia
| Jossa | Mitä |
|---|---|
| Henkilöllisyys ja allekirjoitukset | secp256k1 Schnorr-allekirjoituksella (BIP-340), kuten Nostr määrittelee. |
| Yksityisviestit ja ryhmäkeskustelut | NIP-44 v2: ECDH on secp256k1, HKDF-SHA256, ChaCha20 ja HMAC-SHA256, ja täyte, jotta salatekstin pituus ei kerro viestin pituutta. |
| Bluetooth mesh -istunnot | Noise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 allekirjoituksia varten, SHA-256 ja HMAC alla. |
| Identiteetti levossa | AES-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 siirrot | WebRTC:n oma DTLS-SRTP, neuvoteltu NIP-17-kääretyn signaloinnin kautta. |
| Satunnaisuus | CSPRNG-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_aton 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.
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.