Rekọja si akoonu
Pada si Nymchat

Ipilẹ imo Labẹ awọn Hood

Ilana ati awọn iṣẹlẹ

Kini Nymchat fi sori waya nitootọ, fun ẹnikẹni ti o kọle si rẹ, iṣatunṣe rẹ, tabi kika awọn iṣẹlẹ lati ọdọ alabara Nostr miiran.

Awọn iru iṣẹlẹ

IrúTi a lo funAwọn akọsilẹ
0Metadata profailiStandard Nostr Profaili: orukọ, aworan, asia, nipa, lud16.
5Awọn ibeere piparẹNIP-09.
7Awọn aatiNIP-25, pẹlu kan ['k', originalKind] tag ki a lenu ti wa ni ẹsun lodi si awọn ọtun ikanni iru.
13IgbẹhinLayer arin ti ifiranṣẹ NIP-17 kan.
14Ikọkọ ifiranṣẹ agbasọTi ko forukọsilẹ, ati pe ko ṣe atẹjade lori tirẹ.
1059Ebun ipariNIP-59. Ohun ti o de ọdọ yii nitootọ fun awọn ifiranṣẹ aladani ati awọn iwiregbe ẹgbẹ.
1984IroyinNIP-56.
9734 / 9735Ibeere Zap ati iwe-ẹri zapNIP-57.
10030Awọn atokọ idii emoji aṣaNIP-30.
20000Geohash ikanni ifiranṣẹEphemeral, ti samisi ['g', geohash].
23333Ifiranṣẹ ikanni ti a npè niEphemeral, ti samisi ['d', channel].
24420 / 24421Awọn afihan titẹ gbangba ati kika awọn owoNymchat-pato, fun awọn ikanni ita gbangba.
25051 / 25052Ifilọlẹ ẹlẹgbẹ-si-ẹlẹgbẹ ati ipo gbigbe failiNymchat-pato.
30030Aṣa emoji ṣetoNIP-30.
30078Data eloNIP-78. Idibo, ati ìpàrokò eto ìsiṣẹpọ.
69420Awọn gbigba kika aladani ati ipo ifijiṣẹNymchat-pato, ti a gbe bi agbasọ kan inu ipari ẹbun kan. A lọtọ irú lati 14 mọọmọ, nitorinaa awọn alabara NIP-17 miiran ko ṣe awọn ifiranṣẹ taara òfo fun gbogbo iwe-ẹri.

Awọn ohun elo NIPs Nymchat

NIPOhun ti o yoo fun Nymchat
NIP-07Wọle pẹlu itẹsiwaju ẹrọ aṣawakiri kan.
NIP-09Awọn ibeere piparẹ.
NIP-13Ẹri ti iṣẹ. Awọn ifiranṣẹ ti njade ti wa ni min si o kere ju 16 die-die.
NIP-17Awọn ifiranṣẹ taara aladani, ati ipilẹ fun awọn ibaraẹnisọrọ ẹgbẹ.
NIP-25Awọn aati.
NIP-30emoji aṣa.
NIP-40Awọn akoko ipari - awọn ifiranṣẹ ti o padanu.
NIP-44Ìsekóòdù ti ikede, ti a lo fun awọn edidi, murasilẹ ati ìsiṣẹpọ eto.
NIP-46Ibuwọlu latọna jijin - bunker://.
NIP-56Iroyin.
NIP-57Monomono zaps.
NIP-59Gift murasilẹ.
NIP-78Lainidii ohun elo data.
NIP-98HTTP auth, fun awọn ti gbalejo endpoints.

Cryptography

NiboKini
Idanimọ ati awọn ibuwọlusecp256k1 pẹlu awọn ibuwọlu Schnorr (BIP-340), gẹgẹ bi Nostr ṣe sọ.
Awọn ifiranṣẹ aladani ati awọn ibaraẹnisọrọ ẹgbẹNIP-44 v2: ECDH on secp256k1, HKDF-SHA256, ChaCha20 pẹlu HMAC-SHA256, ati padding ki ciphertext ipari ko ni fun awọn ifiranṣẹ ipari kuro.
Awọn akoko apapo BluetoothAriwo XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 fun ikede awọn ibuwọlu, SHA-256 ati HMAC labẹ.
Idanimọ ni isinmiAES-GCM-256. Bọtini naa wa lati PBKDF2-SHA256 ni awọn aṣetunṣe 310,000 fun ọrọ igbaniwọle tabi PIN, tabi lati ojujade WebAuthn PRF nipasẹ HKDF-SHA256 fun bọtini iwọle tabi biometric.
Awọn ipe ati awọn gbigbe failiWebRTC ti ara DTLS-SRTP, idunadura lori NIP-17-ti a we ifihan agbara.
LailetoSyeed CSPRNG jakejado - awọn bọtini, nonces, ati ebun-fi ipari si timestamp jitter.

Idaabobo metadata

Awọn alaye meji ni ọna ipari-ẹbun jẹ tọ pipe, nitori wọn jẹ ohun ti o ya NIP-59 lati "ti paroko, ṣugbọn o han gbangba lati ọdọ rẹ si wọn":

  • Gbogbo ipari ti wa ni wole nipa a ọkan-akoko bọtini ti ipilẹṣẹ fun ifiranṣẹ yẹn nikan, nitorina ko si meji murasilẹ pin a Olu.
  • Gbogbo murasilẹ created_at ni laileto backdated nipa soke si meji wakati lilo CSPRNG, nitorina fifiranṣẹ ati awọn akoko gbigba ko le ṣe laini.

Awọn iwiregbe ẹgbẹ ṣafikun ephemeral yiyi olugba awọn bọtini lori oke ti - wo Bawo ni ìsekóòdù ẹgbẹ ṣiṣẹ.

Kika orisun

Awọn alakoko crypto wa ninu js/nym-crypto.js ati js/modules/key-vault.js ninu ohun elo wẹẹbu, ati labẹ android-ios-app/lib/core/crypto/ ati lib/services/mesh/noise/ ninu ohun elo Flutter. Awọn ibi ipamọ jẹ AGPL-3.0 ati pari - ko si paati pipade lati gba igbẹkẹle.