Գիտելիքների բազա Կափարիչի տակ
Արձանագրություն և իրադարձություններ
Այն, ինչ Nymchat-ը իրականում դնում է լարերի վրա, ցանկացած մեկի համար, ով դեմ է դրան, աուդիտի ենթարկել այն կամ կարդալ իրադարձություններ Nostr-ի մեկ այլ հաճախորդի կողմից:
Այս էջը թարգմանված է մեքենայական հարմարության համար: Անգլերեն բնօրինակը կիրառելի տարբերակն է:
Միջոցառումների տեսակները
| Բարի | Օգտագործված է | Նշումներ |
|---|---|---|
0 | Պրոֆիլի մետատվյալներ | Ստանդարտ Նոստրի պրոֆիլ՝ անուն, նկար, դրոշակակիր, մասին, lud16. |
5 | Ջնջման հարցումներ | ՆԻՊ-09. |
7 | Ռեակցիաներ | ՆԻՊ-25, ա ['k', originalKind] հատկորոշել այնպես, որ արձագանքը ներկայացվի ճիշտ ալիքի տեսակի դեմ: |
13 | Կնիք | NIP-17 հաղորդագրության միջին շերտը: |
14 | Անձնական հաղորդագրություն լուրեր | Անստորագրված է և երբեք ինքնուրույն չի հրապարակվել: |
1059 | Նվերների փաթեթավորում | NIP-59. Ինչն իրականում հասնում է անձնական հաղորդագրությունների և խմբային զրույցների ռելեին: |
1984 | Հաշվետվություն | NIP-56. |
9734 / 9735 | Zap հարցում և zap անդորրագիր | NIP-57. |
10030 | Պատվերով emoji փաթեթների ցուցակներ | NIP-30. |
20000 | Geohash ալիքի հաղորդագրություն | Ժամանակավոր, հատկորոշված ['g', geohash]. |
23333 | Անվանված ալիքի հաղորդագրություն | Ժամանակավոր, հատկորոշված ['d', channel]. |
24420 / 24421 | Հանրային մուտքագրման ցուցիչներ և ընթերցման անդորրագրեր | Nymchat-ի հատուկ, հանրային ալիքների համար: |
25051 / 25052 | Peer-to-peer ազդանշանային և ֆայլերի փոխանցման կարգավիճակ | Nymchat-ի հատուկ. |
30030 | Էմոջիների անհատական հավաքածուներ | NIP-30. |
30078 | Դիմումի տվյալներ | NIP-78. Հարցումներ և գաղտնագրված կարգավորումների համաժամեցում: |
69420 | Անձնական ընթերցման անդորրագրեր և առաքման կարգավիճակ | Nymchat-ին հատուկ, որը տարածվում է որպես բամբասանք նվերների փաթեթավորման ներսում: Առանձին տեսակ 14 միտումնավոր, այնպես որ մյուս NIP-17 հաճախորդները դատարկ ուղիղ հաղորդագրություններ չեն տալիս յուրաքանչյուր ստացման համար: |
ՆԻՊ-ներ Nymchat-ը իրականացնում է
| ՆԻՊ | Ինչ է տալիս Nymchat-ին |
|---|---|
| NIP-07 | Մուտք գործեք դիտարկիչի ընդլայնմամբ: |
| ՆԻՊ-09 | Ջնջման հարցումներ. |
| NIP-13 | Աշխատանքի ապացույց. Ելքային հաղորդագրությունները արդյունահանվում են առնվազն 16 բիթով: |
| ՆԻՊ-17 | Անձնական ուղիղ հաղորդագրություններ և խմբային զրույցների հիմք: |
| NIP-25 | Ռեակցիաներ. |
| NIP-30 | Պատվերով էմոջի: |
| NIP-40 | Ժամկետի ժամկետների կնիքներ — անհետացող հաղորդագրություններ: |
| NIP-44 | Տարբերակված գաղտնագրում, որն օգտագործվում է կնիքների, փաթաթումների և կարգավորումների համաժամացման համար: |
| NIP-46 | Հեռավոր ստորագրում — bunker://. |
| NIP-56 | Հաշվետվություն. |
| NIP-57 | Կայծակի հարվածներ. |
| NIP-59 | Նվերների փաթեթավորում: |
| NIP-78 | Դիմումի կամայական տվյալներ. |
| NIP-98 | HTTP վավերացում՝ հյուրընկալված վերջնակետերի համար: |
Գաղտնագրություն
| Որտեղ | Ինչ |
|---|---|
| Ինքնությունը և ստորագրությունները | secp256k1 Schnorr ստորագրություններով (BIP-340), ինչպես նշում է Nostr-ը: |
| Անձնական հաղորդագրություններ և խմբային զրույցներ | NIP-44 v2. ECDH secp256k1-ում, HKDF-SHA256, ChaCha20-ը՝ HMAC-SHA256-ով և լրացում, որպեսզի ծածկագրված տեքստի երկարությունը չհեռացնի հաղորդագրության երկարությունը: |
| Bluetooth ցանցի նիստեր | Noise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519՝ ստորագրությունների հայտարարության համար, SHA-256 և HMAC ներքևում: |
| Ինքնությունը հանգստի ժամանակ | AES-GCM-256. Բանալին գալիս է PBKDF2-SHA256-ից՝ գաղտնաբառի կամ PIN-ի համար 310,000 կրկնումներով, կամ WebAuthn PRF-ի ելքից՝ HKDF-SHA256-ից՝ անցաբառի կամ կենսաչափական տվյալների համար: |
| Զանգեր և ֆայլերի փոխանցում | 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 հավելվածում: Այն
պահոց
AGPL-3.0-ն է և ամբողջական — չկա փակ բաղադրիչ, որը կարող է վստահություն ստանձնել: