Билим базасы Капоттун астында
Протокол жана окуялар
Nymchat чындыгында зымга эмне коёт, ага каршы курулган кимдир бирөө үчүн, аны текшерүү же башка Nostr кардарынын окуяларын окуу.
Бул барак ыңгайлуулук үчүн машинада которулган. Англисче оригиналдуу версия колдонулат.
Окуя түрлөрү
| Боорукер | үчүн колдонулат | Эскертүүлөр |
|---|---|---|
0 | Профиль метадайындары | Стандарттык Nostr профили: аты, сүрөт, баннер, жөнүндө, lud16. |
5 | Өчүрүү өтүнүчтөрү | NIP-09. |
7 | Реакциялар | NIP-25, а менен ['k', originalKind] теги туура канал түрүнө каршы жооп берүү үчүн. |
13 | Мөөр | NIP-17 билдирүүсүнүн ортоңку катмары. |
14 | Жеке билдирүү ушак | Кол коюлбаган жана өз алдынча эч качан жарыяланбаган. Треддин жообу... ['nymthread', rootId] шифрленген ушактын ичиндеги тег, тамырдын орток билдирүү идентификаторуна шилтеме жасаган. |
1059 | Белек пакети | NIP-59. Чындыгында жеке билдирүүлөр жана топтук баарлашуулар үчүн реле жетет. |
1984 | Отчет берүү | NIP-56. |
9734 / 9735 | Zap өтүнүчү жана zap квитанциясы | NIP-57. |
10030 | Ыңгайлаштырылган эмодзилердин топтому тизмелери | NIP-30. |
20000 | Geohash каналынын билдирүүсү | Эфемердик, белгиленген ['g', geohash]. Тредге берилген жооп NIP-10 белгиленген кошот. ['e', rootId, '', 'root'] тег. |
23333 | Аты аталган канал билдирүүсү | Эфемердик, белгиленген ['d', channel]. Тредге берилген жооп NIP-10 белгиленген кошот. ['e', rootId, '', 'root'] тег. |
24420 / 24421 | Коомдук терүү көрсөткүчтөрү жана окуу дүмүрчөктөрү | Nymchat өзгөчө, коомдук каналдар үчүн. |
25051 / 25052 | Тең-теңге сигнал берүү жана файлды өткөрүү статусу | Nymchat өзгөчө. |
30030 | Ыңгайлаштырылган быйтыкчалар топтому | NIP-30. |
30078 | Колдонмо маалыматтары | NIP-78. Сурамжылоолор, шифрленген жөндөөлөр синхрондоштуруу жана пост-кванттык ачкыч жарыялары (белгиленген nym-pq, NIP-40 мөөнөтү аяктаган ML-KEM-768 ачык ачкычы бар). |
69420 | Жеке окуу дүмүрчөктөрү жана жеткирүү абалы | Nymchat-спецификалык, белек пакетинин ичинде ушак катары жүргүзүлөт. өзүнчө бир түрү 14 атайылап, ошондуктан башка NIP-17 кардарлары ар бир алуу үчүн бош түз билдирүүлөрдү беришпейт. |
NIPs Nymchat ишке ашырат
| NIP | Бул Nymchat эмне берет |
|---|---|
| NIP-07 | Серепчи кеңейтүүсү менен кириңиз. |
| NIP-09 | Өчүрүү өтүнүчтөрү. |
| NIP-10 | Белгиленген жооп тегдери — каналдын тармактуу жообу өзүнүн негизги билдирүүсүнө кантип багытталганы. |
| УИП-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 жана толтуруу шифрленген тексттин узундугу билдирүүнүн узундугун бербейт. |
| Nymchat колдонуучуларынын ортосундагы жеке билдирүүлөр жана топтук чаттар | Өзгөртүлбөгөн ошол эле NIP-44 v2 маалыматтык жүктөмү, HKDF-SHA256 аркылуу ML-KEM-768 (FIPS 203) капсулациясынан алынган ачкыч менен ChaCha20-Poly1305 ичинде экинчи жолу мөөрлөндү. Капсулацияланган шифртекст жана эки идентификациялык ачкычтын экөө тең кошумча маалымат катары байланган, ал эми жыйынтык... pq2. префикс, ошондуктан окуучу жүктөмдү текшерүү аркылуу жолду тандайт. Билдирүүнү калыбына келтирүү үчүн эки катмар тең бузулушу керек. Караңыз кванттык туруктуу шифрлөө. |
| 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 жана толук — ишенимге ээ боло турган жабык компонент жок.