Билим базасы Капоттун астында
Протокол жана окуялар
Nymchat чындыгында зымга эмне коёт, ага каршы курулган кимдир бирөө үчүн, аны текшерүү же башка Nostr кардарынын окуяларын окуу.
Бул барак ыңгайлуулук үчүн машинада которулган. Англисче оригиналдуу версия колдонулат.
Окуя түрлөрү
| Боорукер | үчүн колдонулат | Эскертүүлөр |
|---|---|---|
0 | Профиль метадайындары | Стандарттык Nostr профили: аты, сүрөт, баннер, жөнүндө, lud16. |
5 | Өчүрүү өтүнүчтөрү | NIP-09. |
7 | Реакциялар | NIP-25, а менен ['k', originalKind] теги туура канал түрүнө каршы жооп берүү үчүн. |
13 | Мөөр | NIP-17 билдирүүсүнүн ортоңку катмары. |
14 | Жеке билдирүү ушак | Кол коюлбаган жана эч качан өз алдынча жарыяланган. |
1059 | Белек пакети | NIP-59. Чындыгында жеке билдирүүлөр жана топтук баарлашуулар үчүн реле жетет. |
1984 | Отчет берүү | NIP-56. |
9734 / 9735 | Zap өтүнүчү жана zap квитанциясы | NIP-57. |
10030 | Ыңгайлаштырылган эмодзилердин топтому тизмелери | NIP-30. |
20000 | Geohash каналынын билдирүүсү | Эфемердик, белгиленген ['g', geohash]. |
23333 | Аты аталган канал билдирүүсү | Эфемердик, белгиленген ['d', channel]. |
24420 / 24421 | Коомдук терүү көрсөткүчтөрү жана окуу дүмүрчөктөрү | Nymchat өзгөчө, коомдук каналдар үчүн. |
25051 / 25052 | Тең-теңге сигнал берүү жана файлды өткөрүү статусу | Nymchat өзгөчө. |
30030 | Ыңгайлаштырылган быйтыкчалар топтому | NIP-30. |
30078 | Колдонмо маалыматтары | NIP-78. Сурамжылоолор жана шифрленген жөндөөлөр шайкештештирилет. |
69420 | Жеке окуу дүмүрчөктөрү жана жеткирүү абалы | Nymchat-спецификалык, белек пакетинин ичинде ушак катары жүргүзүлөт. өзүнчө бир түрү 14 атайылап, ошондуктан башка NIP-17 кардарлары ар бир алуу үчүн бош түз билдирүүлөрдү беришпейт. |
NIPs Nymchat ишке ашырат
| NIP | Бул Nymchat эмне берет |
|---|---|
| NIP-07 | Серепчи кеңейтүүсү менен кириңиз. |
| NIP-09 | Өчүрүү өтүнүчтөрү. |
| УИП-13 | Иштин далили. Чыгуучу билдирүүлөр кеминде 16 битке чейин казылып алынат. |
| NIP-17 | Жеке түз билдирүүлөр жана топтук чаттар үчүн негиз. |
| NIP-25 | Реакциялар. |
| NIP-30 | Ыңгайлаштырылган быйтыкчалар. |
| NIP-40 | Мөөнөтү бүткөн убакыт белгилери — жоголуп бараткан билдирүүлөр. |
| NIP-44 | Версияланган шифрлөө, мөөрлөр, таңуулар жана орнотууларды синхрондоштуруу үчүн колдонулат. |
| NIP-46 | Алыстан кол коюу — bunker://. |
| NIP-56 | Отчет берүү. |
| NIP-57 | Чагылган. |
| NIP-59 | Белек орогучтары. |
| NIP-78 | Колдонмо маалыматтары. |
| NIP-98 | Хостталган акыркы чекиттер үчүн HTTP аутентификациясы. |
Криптография
| Кайда | Эмне |
|---|---|
| Идентификация жана кол тамгалар | Nostr белгилегендей, Schnorr кол тамгалары менен secp256k1 (BIP-340). |
| Жеке билдирүүлөр жана топтук чаттар | NIP-44 v2: secp256k1 боюнча ECDH, HKDF-SHA256, HMAC-SHA256 менен ChaCha20 жана толтуруу шифрленген тексттин узундугу билдирүүнүн узундугун бербейт. |
| Bluetooth сеанстары | Noise XX — X25519, ChaCha20-Poly1305 (IETF), колдорду жарыялоо үчүн Ed25519, астында SHA-256 жана HMAC. |
| Эс алуудагы идентификация | AES-GCM-256. Ачкыч сырсөз же PIN үчүн 310 000 итерацияда PBKDF2-SHA256дан же өтүүчү ачкыч же биометрикалык маалымат үчүн HKDF-SHA256 аркылуу WebAuthn PRF чыгаруусунан келет. |
| Чалуулар жана файлдарды которуу | WebRTCдин өзүнүн DTLS-SRTP, NIP-17 менен оролгон сигнализация боюнча сүйлөшүүлөрдү жүргүзгөн. |
| Кокустук | Платформа CSPRNG бүтүндөй — ачкычтар, nonces жана белекти таңуу убакыт белгиси. |
Метадайындарды коргоо
Белекти таңуу жолунда эки деталдарды атап өтүүгө болот, анткени алар NIP-59ду бөлүп турат "шифрленген, бирок сизден аларга":
- Ар бир пакетке а тарабынан кол коюлат бир жолку ачкыч ошол билдирүү үчүн гана түзүлгөн, Ошентип, жөнөтүүчүнү эки ороп бөлүшпөйт.
- Ар бир ороо
created_atболуп саналат кокусунан экиге чейин артка жылдырылды саат CSPRNG колдонуп, ошондуктан жөнөтүү жана кабыл алуу убакыттарын тизип коюуга болбойт.
Топтук чаттар айлануучу эфемердик кошуу алуучу анын үстүнө баскычтар - карагыла Топтук шифрлөө кантип иштейт.
Крипто примитивдери бар js/nym-crypto.js жана
js/modules/key-vault.js желе колдонмосунда жана астында
android-ios-app/lib/core/crypto/ жана
lib/services/mesh/noise/ Flutter колдонмосунда. The
репозиторий
AGPL-3.0 жана толук — ишенимге ээ боло турган жабык компонент жок.