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

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

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

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 / 9735Zap өтүнүчү жана zap квитанциясыNIP-57.
10030Ыңгайлаштырылган эмодзилердин топтому тизмелериNIP-30.
20000Geohash каналынын билдирүүсүЭфемердик, белгиленген ['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 жана толук — ишенимге ээ боло турган жабык компонент жок.