به محتوا بروید
بازگشت به 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 / 9735درخواست زاپ و رسید زاپ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رسیدهای خواندن خصوصی و وضعیت تحویلویژه Nymchat، به عنوان یک شایعه در داخل بسته بندی هدیه. یک نوع جدا از 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، برای نقاط پایانی میزبان.

رمزنگاری

کجاچی
هویت و امضاsecp256k1 با امضاهای Schnorr (BIP-340)، همانطور که Nostr مشخص می کند.
پیام های خصوصی و چت های گروهیNIP-44 v2: ECDH در secp256k1، HKDF-SHA256، ChaCha20 با HMAC-SHA256، و padding تا طول متن رمزی طول پیام را از بین نبرد.
جلسات مش بلوتوثNoise XX — X25519، ChaCha20-Poly1305 (IETF)، Ed25519 برای امضای اعلام، SHA-256 و HMAC در زیر.
هویت در حالت استراحتAES-GCM-256. کلید از PBKDF2-SHA256 با 310000 تکرار برای رمز عبور یا پین، یا از خروجی WebAuthn PRF از طریق HKDF-SHA256 برای رمز عبور یا بیومتریک می آید.
تماس و انتقال فایلDTLS-SRTP خود WebRTC که بر سر سیگنالینگ با پوشش NIP-17 مذاکره شده است.
تصادفی بودنپلتفرم CSPRNG در سراسر - کلیدها، نونس ها، و لرزش مهر زمان بسته بندی هدیه.

حفاظت از فراداده

دو جزییات در مسیر بسته بندی هدیه ارزش توجه دارند، زیرا آنها چیزی هستند که NIP-59 را از هم جدا می کنند از "رمزگذاری شده، اما آشکارا از شما به آنها":

  • هر بسته بندی توسط یک امضا می شود کلید یکبار مصرف تنها برای آن پیام ایجاد شده است، بنابراین هیچ دو Wraps یک فرستنده را به اشتراک نمی گذارد.
  • هر بسته بندی 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 و کامل است - هیچ جزء بسته ای برای اعتماد وجود ندارد.