انتقل إلى المحتوى
العودة إلى Nymchat

قاعدة المعرفة تحت غطاء محرك السيارة

البروتوكول والأحداث

ما يضعه Nymchat فعليًا على السلك، لأي شخص يبني ضده، تدقيقها، أو قراءة الأحداث من عميل Nostr آخر.

أنواع الأحداث

عطوفتستخدم لملحوظات
0البيانات التعريفية للملف الشخصيملف تعريف Nostr القياسي: الاسم، الصورة، الشعار، حول، lud16.
5طلبات الحذفنيب-09.
7ردود الفعلNIP-25، مع ['k', originalKind] ضع علامة بحيث يتم تقديم رد فعل ضد نوع القناة الصحيح.
13ختمالطبقة الوسطى من رسالة NIP-17.
14إشاعة رسالة خاصةغير موقعة، ولم تنشر من تلقاء نفسها.
1059تغليف الهديةنيب-59. ما يصل فعلا إلى ترحيل للرسائل الخاصة والمحادثات الجماعية.
1984إعداد التقاريرنيب-56.
9734 / 9735طلب Zap وإيصال Zapنيب-57.
10030قوائم حزمة الرموز التعبيرية المخصصةنيب-30.
20000رسالة قناة جيوهاشسريعة الزوال، الموسومة ['g', geohash].
23333رسالة القناة المسماةسريعة الزوال، الموسومة ['d', channel].
24420 / 24421مؤشرات الكتابة العامة وإيصالات القراءةNymchat خاص بالقنوات العامة.
25051 / 25052إشارات نظير إلى نظير وحالة نقل الملفاتخاص بـNymchat.
30030مجموعات الرموز التعبيرية المخصصةنيب-30.
30078بيانات التطبيقنيب-78. مزامنة استطلاعات الرأي والإعدادات المشفرة.
69420إيصالات القراءة الخاصة وحالة التسليمNymchat خاص، يتم حمله كإشاعة داخل غلاف هدية. نوع منفصل عن 14 عن عمد، لذلك لا يقوم عملاء NIP-17 الآخرون بعرض رسائل مباشرة فارغة لكل إيصال.

تنفذ NIPs Nymchat

ارتشفما يعطيه Nymchat
نيب-07تسجيل الدخول باستخدام ملحق المتصفح.
نيب-09طلبات الحذف
نيب-13إثبات العمل. يتم استخراج الرسائل الصادرة إلى 16 بت على الأقل.
نيب-17الرسائل المباشرة الخاصة، وأساس المحادثات الجماعية.
نيب-25ردود الفعل.
نيب-30الرموز التعبيرية المخصصة.
نيب-40الطوابع الزمنية لانتهاء الصلاحية - اختفاء الرسائل.
نيب-44تشفير ذو إصدار محدد، يُستخدم لمزامنة الأختام والأغطية والإعدادات.
نيب-46التوقيع عن بعد — bunker://.
نيب-56إعداد التقارير.
نيب-57الصواعق البرق.
نيب-59أغلفة الهدايا.
نيب-78بيانات التطبيق التعسفي.
نيب-98مصادقة HTTP لنقاط النهاية المستضافة.

التشفير

أينماذا
الهوية والتوقيعاتsecp256k1 مع توقيعات شنور (BIP-340)، كما يحدد Nostr.
الرسائل الخاصة والمحادثات الجماعيةNIP-44 v2: ECDH على secp256k1 وHKDF-SHA256 وChaCha20 مع HMAC-SHA256 والحشو بحيث لا يؤدي طول النص المشفر إلى تقليل طول الرسالة.
جلسات شبكة بلوتوثالضوضاء XX - X25519، ChaCha20-Poly1305 (IETF)، Ed25519 لتوقيعات الإعلان، SHA-256 وHMAC بالأسفل.
الهوية في راحةايه إي إس-جي سي إم-256. يأتي المفتاح من PBKDF2-SHA256 بمعدل 310.000 تكرار لكلمة المرور أو رقم التعريف الشخصي، أو من مخرج WebAuthn PRF من خلال HKDF-SHA256 لمفتاح مرور أو قياسات حيوية.
المكالمات ونقل الملفاتتم التفاوض على DTLS-SRTP الخاص بـ WebRTC عبر إشارات ملفوفة بـ 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/ في تطبيق فلاتر. ال مستودع هو AGPL-3.0 وكامل — لا يوجد مكون مغلق ليحظى بالثقة.