Білім базасы Сорғыштың астында
Протокол және оқиғалар
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 | Жеке оқу түбіртектері және жеткізу күйі | Нымчатқа тән, сыйлық орамының ішінде қауесет ретінде тасымалданады. -дан бөлек түрі 14 әдейі, сондықтан басқа NIP-17 клиенттері әрбір түбіртек үшін бос тікелей хабарламаларды көрсетпейді. |
NIPs Nymchat іске асырады
| NIP | Nymchat не береді |
|---|---|
| NIP-07 | Браузер кеңейтімімен кіріңіз. |
| NIP-09 | Жою сұраулары. |
| NIP-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 тор сеанстары | Шуыл 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 платформасы — кілттер, бейтараптар және сыйлықты орау уақыт белгісінің дірілдері. |
Метадеректерді қорғау
Сыйлықты орау жолындағы екі егжей-тегжейді атап өту керек, өйткені олар 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 және толық — сенімге ие болатын жабық компонент жоқ.