ਗਿਆਨ ਅਧਾਰ ਹੁੱਡ ਦੇ ਤਹਿਤ
ਪ੍ਰੋਟੋਕੋਲ ਅਤੇ ਇਵੈਂਟਸ
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 / 9735 | ਜ਼ੈਪ ਬੇਨਤੀ ਅਤੇ ਜ਼ੈਪ ਰਸੀਦ | NIP-57. |
10030 | ਕਸਟਮ ਇਮੋਜੀ ਪੈਕ ਸੂਚੀਆਂ | NIP-30. |
20000 | Geohash ਚੈਨਲ ਸੁਨੇਹਾ | ਏਫਿਮੇਰਲ, ਟੈਗ ਕੀਤਾ ਗਿਆ ['g', geohash]ਇੱਕ ਥਰਿੱਡ ਜਵਾਬ ਇੱਕ ਐੱਨ. ਆਈ. ਪੀ.-10 ਚਿੰਨ੍ਹ ਜੋਡ਼ਦਾ ਹੈ। ['e', rootId, '', 'root'] ਟੈਗ. |
23333 | ਨਾਮ ਦਿੱਤਾ ਚੈਨਲ ਸੁਨੇਹਾ | ਏਫਿਮੇਰਲ, ਟੈਗ ਕੀਤਾ ਗਿਆ ['d', channel]ਇੱਕ ਥਰਿੱਡ ਜਵਾਬ ਇੱਕ ਐੱਨ. ਆਈ. ਪੀ.-10 ਚਿੰਨ੍ਹ ਜੋਡ਼ਦਾ ਹੈ। ['e', rootId, '', 'root'] ਟੈਗ. |
24420 / 24421 | ਜਨਤਕ ਟਾਈਪਿੰਗ ਸੂਚਕ ਅਤੇ ਰੀਡ ਰਸੀਦਾਂ | ਨਿਮਚੈਟ-ਵਿਸ਼ੇਸ਼, ਜਨਤਕ ਚੈਨਲਾਂ ਲਈ। |
25051 / 25052 | ਪੀਅਰ-ਟੂ-ਪੀਅਰ ਸਿਗਨਲਿੰਗ ਅਤੇ ਫਾਈਲ-ਟ੍ਰਾਂਸਫਰ ਸਥਿਤੀ | Nymchat-ਵਿਸ਼ੇਸ਼. |
30030 | ਕਸਟਮ ਇਮੋਜੀ ਸੈੱਟ | NIP-30. |
30078 | ਐਪਲੀਕੇਸ਼ਨ ਡੇਟਾ | NIP-78. ਪੋਲ, ਏਨਕ੍ਰਿਪਟਡ ਸੈਟਿੰਗਾਂ ਸਿੰਕ, ਅਤੇ ਪੋਸਟ-ਕੁਆਂਟਮ ਕੁੰਜੀ ਘੋਸ਼ਣਾਵਾਂ (ਟੈਗ ਕੀਤੀਆਂ ਗਈਆਂ nym-pq, NIP-40 ਦੀ ਮਿਆਦ ਪੁੱਗਣ ਵਾਲੀ ਇੱਕ ML-KEM-768 ਜਨਤਕ ਕੁੰਜੀ ਲੈ ਕੇ ਜਾਣਾ)। |
69420 | ਪ੍ਰਾਈਵੇਟ ਰੀਡ ਰਸੀਦਾਂ ਅਤੇ ਡਿਲੀਵਰੀ ਸਥਿਤੀ | ਨਿਮਚੈਟ-ਵਿਸ਼ੇਸ਼, ਇੱਕ ਤੋਹਫ਼ੇ ਦੀ ਲਪੇਟ ਵਿੱਚ ਇੱਕ ਅਫਵਾਹ ਦੇ ਰੂਪ ਵਿੱਚ ਲਿਜਾਇਆ ਗਿਆ। ਤੋਂ ਵੱਖਰੀ ਕਿਸਮ ਦੀ 14 ਜਾਣਬੁੱਝ ਕੇ, ਇਸ ਲਈ ਹੋਰ NIP-17 ਗਾਹਕ ਹਰ ਰਸੀਦ ਲਈ ਖਾਲੀ ਸਿੱਧੇ ਸੁਨੇਹੇ ਨਹੀਂ ਭੇਜਦੇ। |
NIPs Nymchat ਲਾਗੂ ਕਰਦਾ ਹੈ
| ਐਨ.ਆਈ.ਪੀ | ਇਹ Nymchat ਕੀ ਦਿੰਦਾ ਹੈ |
|---|---|
| NIP-07 | ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਨਾਲ ਲੌਗਇਨ ਕਰੋ। |
| NIP-09 | ਮਿਟਾਉਣ ਦੀਆਂ ਬੇਨਤੀਆਂ। |
| ਐੱਨ. ਆਈ. ਪੀ.-10 | ਨਿਸ਼ਾਨਬੱਧ ਜਵਾਬ ਟੈਗ-ਕਿਵੇਂ ਇੱਕ ਚੈਨਲ ਥਰਿੱਡ ਜਵਾਬ ਆਪਣੇ ਮੂਲ ਸੰਦੇਸ਼ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ। |
| 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 ਪ੍ਰਮਾਣਿਕਤਾ, ਹੋਸਟ ਕੀਤੇ ਅੰਤ ਬਿੰਦੂਆਂ ਲਈ। |
ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ
| ਜਿੱਥੇ | ਕੀ |
|---|---|
| ਪਛਾਣ ਅਤੇ ਦਸਤਖਤ | secp256k1 Schnorr ਦਸਤਖਤਾਂ (BIP-340) ਦੇ ਨਾਲ, ਜਿਵੇਂ ਕਿ Nostr ਦੱਸਦਾ ਹੈ। |
| ਨਿੱਜੀ ਸੁਨੇਹੇ ਅਤੇ ਸਮੂਹ ਚੈਟ | NIP-44 v2: secp256k1 'ਤੇ ECDH, HKDF-SHA256, HMAC-SHA256 ਦੇ ਨਾਲ ChaCha20, ਅਤੇ ਪੈਡਿੰਗ ਇਸ ਲਈ ਸਾਈਫਰਟੈਕਸਟ ਲੰਬਾਈ ਸੰਦੇਸ਼ ਦੀ ਲੰਬਾਈ ਨੂੰ ਦੂਰ ਨਹੀਂ ਕਰਦੀ। |
| ਨਿਮਚੈਟ ਉਪਭੋਗਤਾਵਾਂ ਵਿਚਕਾਰ ਨਿੱਜੀ ਸੁਨੇਹੇ ਅਤੇ ਸਮੂਹ ਚੈਟ | ਇਹ ਵੀ NIP-44 v2 ਲਾਗਇਨ ਲੋਡ, ਤਬਦੀਲ ਨਹੀ ਹੈ, ChaCha20-Poly1305 ਦੇ ਅੰਦਰ ਦੂਜੇ ਵਾਰ ਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ ਕਿ ਇੱਕ ML-KEM-768 (FIPS 203) encapsulation ਦੁਆਰਾ HKDF-SHA256 ਦੁਆਰਾ ਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ. encapsulation encapsulation encryption text and both identity keys are bound in as associated data, and the result carries a pq2. ਅਗੇਤਰ ਇਸ ਲਈ ਇੱਕ ਪਾਠਕ ਪੇਲੋਡ ਦਾ ਮੁਆਇਨਾ ਕਰਕੇ ਮਾਰਗ ਦੀ ਚੋਣ ਕਰਦਾ ਹੈ। ਇੱਕ ਸੰਦੇਸ਼ ਨੂੰ ਮੁਡ਼ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਦੋਵੇਂ ਪਰਤਾਂ ਨੂੰ ਤੋਡ਼ਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਕੁਆਂਟਮ-ਰੋਧਕ ਐਨਕ੍ਰਿਪਸ਼ਨ. |
| ਬਲੂਟੁੱਥ ਜਾਲ ਸੈਸ਼ਨ | Noise XX — X25519, ChaCha20-Poly1305 (IETF), ਦਸਤਖਤਾਂ ਦੀ ਘੋਸ਼ਣਾ ਲਈ Ed25519, ਹੇਠਾਂ SHA-256 ਅਤੇ HMAC। |
| ਆਰਾਮ 'ਤੇ ਪਛਾਣ | AES-GCM-256. ਕੁੰਜੀ PBKDF2-SHA256 ਤੋਂ ਪਾਸਵਰਡ ਜਾਂ ਪਿੰਨ ਲਈ 310,000 ਦੁਹਰਾਓ 'ਤੇ ਆਉਂਦੀ ਹੈ, ਜਾਂ ਪਾਸਕੀ ਜਾਂ ਬਾਇਓਮੈਟ੍ਰਿਕ ਲਈ HKDF-SHA256 ਰਾਹੀਂ WebAuthn PRF ਆਉਟਪੁੱਟ ਤੋਂ ਆਉਂਦੀ ਹੈ। |
| ਕਾਲਾਂ ਅਤੇ ਫਾਈਲ ਟ੍ਰਾਂਸਫਰ | WebRTC ਦਾ ਆਪਣਾ DTLS-SRTP, NIP-17-ਰੈਪਡ ਸਿਗਨਲਿੰਗ 'ਤੇ ਗੱਲਬਾਤ ਕੀਤੀ। |
| ਬੇਤਰਤੀਬਤਾ | ਪਲੇਟਫਾਰਮ CSPRNG ਭਰ ਵਿੱਚ — ਕੁੰਜੀਆਂ, ਨੌਨਸ, ਅਤੇ ਗਿਫਟ-ਰੈਪ ਟਾਈਮਸਟੈਂਪ ਝਟਕਾ. |
ਮੈਟਾਡੇਟਾ ਸੁਰੱਖਿਆ
ਗਿਫਟ-ਰੈਪ ਮਾਰਗ ਵਿੱਚ ਦੋ ਵੇਰਵਿਆਂ ਨੂੰ ਬੁਲਾਉਣ ਦੇ ਯੋਗ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਉਹ ਹਨ ਜੋ NIP-59 ਨੂੰ ਵੱਖ ਕਰਦੇ ਹਨ "ਏਨਕ੍ਰਿਪਟਡ, ਪਰ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਤੁਹਾਡੇ ਵੱਲੋਂ ਉਹਨਾਂ ਤੱਕ" ਤੋਂ:
- ਹਰ ਲਪੇਟ 'ਤੇ a ਦੁਆਰਾ ਦਸਤਖਤ ਕੀਤੇ ਜਾਂਦੇ ਹਨ ਇੱਕ ਵਾਰ ਦੀ ਕੁੰਜੀ ਸਿਰਫ਼ ਉਸ ਸੰਦੇਸ਼ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਇਸ ਲਈ ਕੋਈ ਵੀ ਦੋ ਰੈਪ ਇੱਕ ਭੇਜਣ ਵਾਲੇ ਨੂੰ ਸਾਂਝਾ ਨਹੀਂ ਕਰਦਾ।
- ਹਰ ਲਪੇਟ ਦਾ
created_atਹੈ ਬੇਤਰਤੀਬੇ ਤੌਰ 'ਤੇ ਦੋ ਤੱਕ ਬੈਕਡੇਟ ਕੀਤਾ ਗਿਆ ਘੰਟੇ CSPRNG ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਇਸਲਈ ਭੇਜਣ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਸਮੇਂ ਨੂੰ ਲਾਈਨਅੱਪ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।
ਗਰੁੱਪ ਚੈਟ ਰੋਟੇਟਿੰਗ ਫੀਮਰਲ ਜੋੜਦੀ ਹੈ ਪ੍ਰਾਪਤਕਰਤਾ ਉਸ ਦੇ ਸਿਖਰ 'ਤੇ ਕੁੰਜੀਆਂ - ਵੇਖੋ ਗਰੁੱਪ ਇਨਕ੍ਰਿਪਸ਼ਨ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ.
ਕ੍ਰਿਪਟੋ ਪ੍ਰਾਈਮਿਟਿਵਜ਼ ਵਿੱਚ ਹਨ js/nym-crypto.js ਅਤੇ
js/modules/key-vault.js ਵੈੱਬ ਐਪ ਵਿੱਚ, ਅਤੇ ਹੇਠਾਂ
android-ios-app/lib/core/crypto/ ਅਤੇ
lib/services/mesh/noise/ ਫਲਟਰ ਐਪ ਵਿੱਚ। ਦ
ਰਿਪੋਜ਼ਟਰੀ
AGPL-3.0 ਅਤੇ ਸੰਪੂਰਨ ਹੈ — ਭਰੋਸਾ ਲੈਣ ਲਈ ਕੋਈ ਬੰਦ ਭਾਗ ਨਹੀਂ ਹੈ।