Holo i ka ʻike
Hoʻi iā Nymchat

kahua ʻike Ma lalo o ka pāpale

Kūlana a me nā hanana

ʻO ka mea a Nymchat i kau ai i ka uea, no ka mea e kūkulu kūʻē iā ia, ka hoʻoponopono ʻana iā ia, a i ʻole ka heluhelu ʻana i nā hanana mai kahi mea kūʻai aku ʻo Nostr.

Nā ʻano hanana

ʻAnoHoʻohana ʻia noNā memo
0Hōʻike metadataNostr profile: inoa, kiʻi, hae, e pili ana, lud16.
5Nā noi holoiNIP-09.
7Nā paneNIP-25, me kahi ['k', originalKind] hōʻailona no laila ua waiho ʻia kahi pane e kūʻē i ke ʻano kahawai kūpono.
13SilaʻO ka papa waena o kahi memo NIP-17.
14He lono memo pilikinoʻAʻole i hoʻopaʻa inoa ʻia, ʻaʻole i paʻi ʻia ma kāna iho.
1059wahī makanaNIP-59. He aha ka mea e hiki ai i kahi relay no nā memo pilikino a me nā kamaʻilio pūʻulu.
1984HōʻikeNIP-56.
9734 / 9735Noi zap a me ka loaʻa zapNIP-57.
10030Nā papa inoa pūʻolo emoji maʻamauNIP-30.
20000Memo kaila GeohashEphemeral, hōʻailona ['g', geohash].
23333Kapa ʻia ka memo channelEphemeral, hōʻailona ['d', channel].
24420 / 24421Nā hōʻailona kikokikona lehulehu a me nā palapala hōʻoiaʻO Nymchat-specific, no nā ala ākea.
25051 / 25052ʻO ka hōʻailona o nā hoa a me ke kūlana hoʻoili failaʻO Nymchat-specific.
30030Nā hoʻonohonoho emoji maʻamauNIP-30.
30078ʻikepili noiNIP-78. Nā koho, a me nā hoʻonohonoho i hoʻopili ʻia.
69420Loaʻa heluhelu pilikino a me ke kūlana hoʻounaʻO Nymchat-specific, lawe ʻia ma ke ʻano he lono i loko o kahi kāwili makana. He ʻano ʻokoʻa mai 14 no laila, ʻaʻole e hāʻawi nā mea kūʻai aku NIP-17 i nā leka pololei no kēlā me kēia loaʻa.

NIPs Nymchat hoʻohana

NIPHe aha ia e hāʻawi ai iā Nymchat
NIP-07E komo me ka hoʻonui polokalamu kele pūnaewele.
NIP-09Nā noi holoi.
NIP-13Hōʻoia o ka hana. Lawe ʻia nā memo i waho i ka liʻiliʻi he 16 mau bits.
NIP-17Nā leka pololei pilikino, a me ke kumu no nā kamaʻilio pūʻulu.
NIP-25Nā pane.
NIP-30Emoji maʻamau.
NIP-40Nā kaha manawa pau - nalo nā memo.
NIP-44Hoʻopili ʻia ka hoʻopili ʻana, hoʻohana ʻia no nā sila, ʻōwili a me nā hoʻonohonoho hoʻonohonoho.
NIP-46Kaulima mamao — bunker://.
NIP-56Hōʻike.
NIP-57Piʻi ka uila.
NIP-59Hāʻawi makana.
NIP-78ʻIkepili noiʻi kūʻokoʻa.
NIP-98ʻO ka ʻoiaʻiʻo HTTP, no nā wahi hope i hoʻokipa ʻia.

ʻO ka cryptography

MaheaHe aha
ʻIke a me nā pūlimasecp256k1 me nā pūlima Schnorr (BIP-340), e like me kā Nostr i kuhikuhi ai.
Nā memo pilikino a me nā kamaʻilio pūʻuluNIP-44 v2: ECDH ma secp256k1, HKDF-SHA256, ChaCha20 me HMAC-SHA256, a me ka padding no laila ʻaʻole e hāʻawi ka lōʻihi o ka ciphertext i ka lōʻihi o ka memo.
Nā hālāwai mesh BluetoothNoise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 no ka hoʻolaha ʻana i nā pūlima, SHA-256 a me HMAC ma lalo.
ʻIke i ka hoʻomahaAES-GCM-256. Loaʻa ke kī mai PBKDF2-SHA256 ma 310,000 iterations no ka ʻōlelo huna a i ʻole PIN, a i ʻole mai kahi puka WebAuthn PRF ma o HKDF-SHA256 no kahi passkey a i ʻole biometric.
Kāhea a me ka hoʻoili failaʻO DTLS-SRTP ponoʻī a WebRTC, kūkākūkā ma luna o ka hōʻailona NIP-17-wrapped.
RandomnessʻO ka paepae CSPRNG a puni - nā kī, nonces, a me ka jitter timestamp jitter.

Palekana ʻikepili

ʻElua mau kikoʻī ma ke ala ʻāwili makana e pono ke kāhea ʻia, no ka mea, ʻo ia ka mea kaʻawale NIP-59 mai "hoʻopili ʻia, akā maopopo mai iā ʻoe iā lākou":

  • Hoʻopaʻa inoa ʻia kēlā me kēia ʻōpala e a kī hoʻokahi manawa hana ʻia no kēlā memo wale nō, no laila, ʻaʻohe ʻelua wraps e kaʻana like i ka mea hoʻouna.
  • ʻO kēlā me kēia kāpili created_at ʻo ia hoʻihoʻi ʻole ʻia e ka ʻelua hola me ka hoʻohana ʻana i ka CSPRNG, no laila ʻaʻole hiki ke hoʻouna a loaʻa nā manawa.

Hoʻohui nā kamaʻilio pūʻulu i ka ephemeral huli ʻana mea loaa nā kī ma luna o kēlā - ʻike Pehea e hana ai ka hoʻopunipuni hui.

Heluhelu i ke kumu

Aia nā crypto primitives i loko js/nym-crypto.js a js/modules/key-vault.js ma ka polokalamu kele pūnaewele, a ma lalo android-ios-app/lib/core/crypto/ a lib/services/mesh/noise/ ma ka polokalamu Flutter. ʻO ka waihona waihona ʻo AGPL-3.0 a piha - ʻaʻohe mea pani e lawe i ka hilinaʻi.