Мазмұнға өту
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Жеке оқу түбіртектері және жеткізу күйіНымчатқа тән, сыйлық орамының ішінде қауесет ретінде тасымалданады. -дан бөлек түрі 14 әдейі, сондықтан басқа NIP-17 клиенттері әрбір түбіртек үшін бос тікелей хабарламаларды көрсетпейді.

NIPs Nymchat іске асырады

NIPNymchat не береді
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 және толық — сенімге ие болатын жабық компонент жоқ.