Мазмунга өтүү
Nymchat барагына кайтуу

Билим базасы Капоттун астында

Протокол жана окуялар

Nymchat чындыгында зымга эмне коёт, ага каршы курулган кимдир бирөө үчүн, аны текшерүү же башка Nostr кардарынын окуяларын окуу.

Окуя түрлөрү

Боорукерүчүн колдонулатЭскертүүлөр
0Профиль метадайындарыСтандарттык Nostr профили: аты, сүрөт, баннер, жөнүндө, lud16.
5Өчүрүү өтүнүчтөрүNIP-09.
7РеакцияларNIP-25, а менен ['k', originalKind] теги туура канал түрүнө каршы жооп берүү үчүн.
13МөөрNIP-17 билдирүүсүнүн ортоңку катмары.
14Жеке билдирүү ушакКол коюлбаган жана эч качан өз алдынча жарыяланган.
1059Белек пакетиNIP-59. Чындыгында жеке билдирүүлөр жана топтук баарлашуулар үчүн реле жетет.
1984Отчет берүүNIP-56.
9734 / 9735Zap өтүнүчү жана zap квитанциясыNIP-57.
10030Ыңгайлаштырылган эмодзилердин топтому тизмелериNIP-30.
20000Geohash каналынын билдирүүсүЭфемердик, белгиленген ['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 жана толук — ишенимге ээ боло турган жабык компонент жок.