ข้ามไปที่เนื้อหา
กลับมาที่ 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ข้อความช่อง Geohashชั่วคราว, ติดแท็ก ['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 พร้อมลายเซ็น Schnorr (BIP-340) ตามที่ Nostr ระบุ
ข้อความส่วนตัวและการแชทเป็นกลุ่มNIP-44 v2: ECDH บน secp256k1, HKDF-SHA256, ChaCha20 พร้อม HMAC-SHA256 และการเสริมเพื่อให้ความยาวไซเฟอร์เท็กซ์ไม่ทำให้ความยาวของข้อความหายไป
เซสชัน Bluetooth meshNoise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 สำหรับลายเซ็นประกาศ, SHA-256 และ HMAC ข้างใต้
ตัวตนที่เหลือAES-GCM-256. คีย์มาจาก PBKDF2-SHA256 ที่ 310,000 ครั้งสำหรับรหัสผ่านหรือ PIN หรือจากเอาต์พุต WebAuthn PRF ผ่าน HKDF-SHA256 สำหรับรหัสผ่านหรือไบโอเมตริก
การโทรและการโอนไฟล์DTLS-SRTP ของ WebRTC มีการเจรจาผ่านการส่งสัญญาณที่ห่อด้วย NIP-17
ความบังเอิญCSPRNG ของแพลตฟอร์มทั้งหมด — คีย์, noces และความกระวนกระวายใจในการประทับเวลาห่อของขวัญ

การป้องกันข้อมูลเมตา

รายละเอียดสองประการในเส้นทางห่อของขวัญควรค่าแก่การกล่าวถึง เนื่องจากเป็นสิ่งแยก 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 และเสร็จสมบูรณ์ — ไม่มีส่วนประกอบแบบปิดที่จะรับความไว้วางใจ