What is Nostr?
Right Shift
npub1ejn…97a5
2024-08-30 01:05:58

Right Shift on Nostr: ## **Decentralized Private DMs** ...

## **Decentralized Private DMs**
อนาคตที่น่าจับตาระบบแชทที่อาจเข้ามาแทนที่ Telegram หรือ Signal โดยไม่มีตัวกลาง



ระบบแชทเป็นหนึ่งในฟีเจอร์ที่ได้รับความนิยมอย่างรวดเร็วในหมู่ผู้ใช้อินเทอร์เน็ตทั่วไปในยุคแรกๆ เพราะมันตอบโจทย์การใช้งานได้อย่างลงตัว ทุกคนสามารถพูดคุยกับคนทั่วโลกแบบเรียลไทม์ได้ฟรีๆ

แต่ระบบแชทไม่ได้มีดีแค่ความสนุกสนานเท่านั้น เรายังได้เห็นการใช้งานในเหตุการณ์สำคัญต่าง
ๆ ระบบแชทจึงมีความสำคัญทั้งในแง่ของความบันเทิงและการสร้างความเปลี่ยนแปลงในโลกแห่งความเป็นจริง

แล้วอะไรล่ะที่ทำให้ระบบแชทมีความปลอดภัย?

จริงๆ แล้ว ความปลอดภัยของระบบแชทมีอยู่ 2 ด้านคือ Private และ Confidential

Private: บุคคลภายนอกไม่สามารถรับรู้ได้ว่ากำลังมีการสนทนากันอยู่เช่น ไม่สามารถรู้ได้ว่า A กับ B กำลังคุยอะไรกันอยู่ หรือทั้งสองคุยอยู่ในกลุ่มเดียวกันถ้าเป็นระบบที่ดีจะต้องมีการปกป้องข้อมูลไม่ให้รั่วไหล

Confidential: ข้อมูลที่ส่งหากันจะต้องไม่สามารถถูกอ่านได้โดยบุคคลที่สาม

เมื่อเราลองศึกษาระบบและโปรโตคอลต่าง ๆ ของระบบแชท รวมถึง NIP บน Nostr เราจะพบว่าทุกอย่างล้วนมีข้อแลกเปลี่ยน เป็นเรื่องปกติของงานวิศวกรรม แต่ในวงการนี้ยิ่งเห็นชัดเจน เราต้องยอมเสียอะไรบางอย่างเพื่อให้ได้สิ่งที่ดีกว่ามา

แต่ยังมีอีกเรื่องที่เราได้ยินบ่อย ๆ เมื่อเราเจาะลึกถึงการเข้ารหัสของระบบแชทก็คือ Forward Secrecy และ Post-Compromise Security

Forward Secrecy: หากคีย์ถูกขโมยไป ข้อความในอดีตจะถูกถอดรหัสไม่ได้

Post-Compromise Security: หากคีย์ถูกขโมยไปจะมีวิธีการกู้คืนและใช้งานบัญชีเดิมต่อไปได้

ในอุดมคติ เราต้องการระบบแชทที่มีทั้ง Private, Confidential, Forward Secrecy, และ Post-Compromise Security ที่สามารถงานได้ทั้งแบบส่วนตัวและแบบกลุ่ม สามารถลบข้อความหรือปฏิเสธได้ว่าไม่เคยเข้าร่วมการสนทนานั้น ๆ ซึ่งมีความท้าทายอบ่างมากมีโปรโตคอลที่พยายามแก้ปัญหานี้ แต่ส่วนใหญ่ก็ต้องยอมแพ้ไป เพราะเป็นเรื่องยากที่จะสร้างระบบที่ทั้งปลอดภัยและสามารถลบร่องรอยได้

เราพอเข้าใจภาพรวมของระบบแชทแล้วงั้นเราลองมาดูระบบแชทของ Nostr กันบ้างดีกว่า

ระบบแชทของ Nostr ในยุคแรกนั้นเรียบง่ายใช้การเข้ารหัสแบบง่ายๆ โดยใช้คีย์ของผู้ส่งและผู้รับมาสร้างคีย์ร่วมกัน ซึ่งหมายความว่ามีเพียงสองคนนั้นเท่านั้นที่สามารถถอดรหัสข้อความได้นั้นคือ Nip-04

ข้อดีเราสามารถดูประวัติการสนทนาย้อนหลังได้ทั้งหมด เพราะทุกอย่างถูกเก็บไว้ด้วยคีย์เดียวกัน

ข้อเสียข้อความเหล่านี้ถูกเปิดเผยว่าใครคุยกับใครบ้าง หากคีย์ของฝ่ายใดฝ่ายหนึ่งรั่วไหล ข้อมูลทั้งหมดจะตกอยู่ในอันตรายทันที

หลายคนไม่ชอบ NIP-04 มองกันว่ามันอันตรายและมันแย่ไม่ควรใช้ อย่างไรก็ตามข้อถกเถียงนี้ทำให้เกิด NIP-44 ในเวลาต่อมาที่มีความปลอดภัยกว่าและยังมี Gift Wrapping เข้ามาเสริมเรื่องความเป็นส่วนตัว

“Gift Wrapping” เป็นเทคนิคในการซ่อนข้อมูลโดยการห่อ Event ด้วย Event อีกทีหนึ่ง

เพื่อป้องกันไม่ให้คนอื่นรู้ว่าใครกำลังคุยกับใคร Event ที่อยู่ภายในจะไม่ได้ถูกเซ็นชื่อจึงไม่สามารถเผยแพร่ไปบนรีเลย์ได้

ล่าสุดระบบแชทของ Nostr ได้ใช้ NIP-44 และ NIP-59 โดยใช้มาตรฐานการเข้ารหัสแบบใหม่และเทคนิค Gift Wrapping ทำให้ข้อมูลเมตาถูกซ่อนอย่างดี และข้อมูลถูกเข้ารหัสอย่างแน่นหนา เราสามารถดูประวัติการสนทนาย้อนหลังได้ และไม่มีใครรู้ว่าเรากำลังคุยกับใครอยู่

ระบบนี้ยังไม่มี Forward Secrecy และ Post-Compromise Security หากคีย์รั่วไหล ข้อมูลก็ยังหายอยู่ดี

เป้าหมายของ Jeff คือสร้างระบบแชทบน Nostr ที่สามารถทดแทน Telegram, Signal หรือแอปแชทอื่นๆ โดยไม่ต้องพึ่งพาเซิร์ฟเวอร์ส่วนกลางโดยใช้แบบใหม่ที่เรียกว่า Messaging Layer Security (MLS) ซึ่งใช้โครงสร้างแบบ Binary Tree ในการจัดการสมาชิกและสร้างระบบคีย์ที่ทำให้สมาชิกทุกคนมีข้อมูลเพียงพอสำหรับการเข้ารหัสและถอดรหัสข้อมูลภายในกลุ่ม

ในปัจจุบันมีไลบรารี่ดี ๆ ที่ช่วยให้ Nostr client ไม่ต้องเขียนโค้ด MLS เองทั้งหมด

ข้อดีของ MLS คือ ทำให้การจัดการกลุ่มขนาดใหญ่มีประสิทธิภาพมากขึ้น รองรับทั้งแบบส่วนตัวและแบบกลุ่มมีForward Secrecy และ Post-Compromise Security ข้อความทุกข้อความถูกเข้ารหัสด้วยคีย์ที่ต่างกัน และมีการหมุนเวียนคีย์ทุกครั้งที่มีการส่งข้อความ ไม่มีการรั่วไหลของข้อมูลมีเพียง Event เดียวที่ถูกเผยแพร่บนรีเลย์โดยใช้ Ephemeral Key และ Group ID ซึ่งสามารถหมุนเวียนได้เช่นกัน

ข้อเสียคือ MLS มันค่อนข้างซับซ้อนต้องอาศัยเครื่องมือที่ดีในเขียน Client นั้นเป็นสิ่งที่ Jeff พยายามพัฒนาอยู่ และต้องอาศัยความร่วมมือจากนักพัฒนา Nostr คนอื่น ๆ ด้วยเช่นกัน อีกข้อเสียคือไม่สามารถดูประวัติการสนทนาย้อนหลังได้ หากไม่ได้บันทึกไว้

การพัฒนาครั้งนี้เป็นสิ่งที่น่าสนใจมากอาจตอบโจทย์ที่หลายคนตามหาในโลกที่ privacy ถูกมองว่าเรื่องอันตราย

Notoshi⚡ (nprofile…ezc7)

#Siamstr
Author Public Key
npub1ejn774qahqmgjsfajawy7634unk88y26yktvwuzp9kfgdeejx9mqdm97a5