- Mycoria คือโอเพนซีเคียวร์โอเวอร์เลย์เน็ตเวิร์ก ที่ต้องการสืบทอดจิตวิญญาณที่เสรีและชอบการทดลองของอินเทอร์เน็ตยุคแรก
- ยึดถือ ความเท่าเทียมในการเข้าร่วม, ความไม่เปิดเผยตัวตน และการสื่อสารแบบเข้ารหัสโดยปราศจากการสอดส่อง เป็นปรัชญาหลัก ทำให้ทุกคนเชื่อมต่อได้อย่างง่ายดาย
- โดยพื้นฐานแล้วถูกออกแบบให้ เล็กและเรียบง่าย และเข้ากันได้กับโครงสร้างพื้นฐานเดิม เช่น DNS
- มีฟีเจอร์อย่าง การเข้ารหัสแบบ end-to-end อัตโนมัติ, สมาร์ตรูตติง, การค้นหาบริการ, และ รองรับโดเมน .myco
- ในอนาคตกำลังพัฒนาฟีเจอร์ การหมุนเวียน private address และ การปรับแต่งเครือข่ายด้วยตัวเอง เพิ่มเติม
แนะนำ Mycoria
- Mycoria คือโอเพนซีเคียวร์โอเวอร์เลย์เน็ตเวิร์กแบบเปิดที่เชื่อมต่อผู้เข้าร่วมทุกคน โดยมีเป้าหมายเพื่อฟื้นคืน จิตวิญญาณแห่งการผจญภัยและความอยากรู้อยากเห็น ของอินเทอร์เน็ตยุคแรก
- รับประกันการเชื่อมต่ออย่างอิสระระหว่างผู้ใช้ และมอบ สภาพแวดล้อมการสื่อสารที่ปราศจากการสอดส่องผ่านการยืนยันตัวตนและการเข้ารหัส
ปรัชญาหลัก
- ทุกคนเท่าเทียมกัน: เชื่อมต่อกับใครก็ได้อย่างง่ายดาย
- เปิดกว้างสำหรับทุกคน: เป็นเครือข่ายเปิดที่ไม่มีระบบราชการมาขวางกั้น
- ไม่มีการสอดส่อง: การสื่อสารทั้งหมดถูกเข้ารหัส และสามารถใช้ private address ได้
- ไร้กำแพงกั้น: ขยายผ่านอินเทอร์เน็ตหรือเมชเน็ตเวิร์กของตัวเองได้อย่างง่ายดาย
เป้าหมายด้านการออกแบบ
- รักษาโครงสร้างที่ เล็กและเรียบง่าย
- ทำให้ เข้ากันได้กับโครงสร้างพื้นฐานเดิม เช่น DNS
- ออกแบบโดยให้ ความปลอดภัยเป็นพื้นฐาน
- ปกป้องความเป็นส่วนตัวขั้นพื้นฐาน (กำลังพัฒนาอยู่ในขณะนี้)
ฟีเจอร์หลัก
- การเข้ารหัสแบบ end-to-end อัตโนมัติ
- ใช้ เทคโนโลยีการเข้ารหัสสมัยใหม่
- รูตติงอัจฉริยะที่ขยายได้
- มีแดชบอร์ดให้ใช้งาน
- สามารถ resolve DNS .myco ได้ (ต้องตั้งค่าระบบปฏิบัติการ)
- service discovery แบบเรียบง่าย
- ฟีเจอร์ปรับแต่งและฟื้นตัวอัตโนมัติสำหรับอินเทอร์เน็ตโอเวอร์เลย์เน็ตเวิร์ก (กำลังพัฒนา)
- ฟีเจอร์หมุนเวียน private address อัตโนมัติ (กำลังพัฒนา)
Simplicity (ความเรียบง่าย)
- เราเตอร์ Mycoria มี ID ในรูปแบบที่อยู่ IPv6 ซึ่งไม่ใช่แค่ที่อยู่ธรรมดา แต่ยังทำหน้าที่เป็น ลายนิ้วมือแฮชของ public key ด้วย
- สร้างขึ้นด้วยกระบวนการ สร้างคู่กุญแจ Ed25519 → public key → แฮช BLAKE3 → แปลงเป็นที่อยู่ IPv6
- วิธีนี้ทำให้สามารถ รวม public key และที่อยู่เข้าเป็นข้อมูลชุดเดียวกัน และยังเข้ากันได้กับโครงสร้างพื้นฐานเดิมที่รองรับ IPv6
- ในสภาพแวดล้อมที่ติดตั้ง Mycoria แล้ว จะสามารถทำ การเข้ารหัสแบบ end-to-end ได้ 100%
Scalable Routing (รูตติงที่ขยายได้)
- ที่อยู่ IPv6 อาจดูเหมือนสุ่ม แต่จริง ๆ แล้วมี โครงสร้าง prefix ตามประเทศและภูมิภาค
- prefix แยกตามประเทศทำให้ ปรับแต่งเส้นทางตามภูมิศาสตร์ได้
- ภายใน prefix นั้นจะใช้ รูตติงตามระยะห่างของที่อยู่ และส่งข้อมูลไปยังเราเตอร์ที่มีที่อยู่ใกล้เคียง
- ยังสามารถหาเส้นทางรูตติงที่มีประสิทธิภาพได้ผ่าน การสำรวจเส้นทาง (source routing)
Layers (โครงสร้างเลเยอร์)
- เมื่อรับแพ็กเก็ตเข้ามา จะถูกประมวลผลที่ สวิตช์เลเยอร์ ก่อน
- แพ็กเก็ตแบบ source routing จะมีเส้นทางทั้งหมดอยู่ในส่วนหัวแพ็กเก็ต ทำให้ ส่งต่อได้โดยไม่ต้องค้นตารางเราเตอร์
- ระบุอินเทอร์เฟซและส่งต่อโดยอิงจากสวิตช์เลเบล
- หากสวิตช์เลเยอร์จัดการไม่ได้ จะถูกส่งต่อไปยัง รูตติงเลเยอร์ เพื่อทำการรูตติงตามปกติ
Private Address (ที่อยู่ส่วนตัว)
- แม้ยังไม่ได้ถูกนำไปใช้งานจริง แต่กำลังพัฒนา ระบบ private address ที่ไม่สามารถติดตามได้
- เนื่องจาก Router ID ถูกเข้ารหัสแต่มีความถาวร จึงมีการนำ private prefix ที่ไม่สามารถรูตได้ มาใช้เพื่อชดเชยจุดนี้
- private address จำเป็นต้องใช้สวิตช์เลเบล และสามารถ เรียนรู้เส้นทางแบบอ้อมผ่าน discovery packet ได้
- ผู้รับสามารถส่งคำตอบกลับโดยย้อนตามเส้นทางของเลเบลได้ จึง ไม่จำเป็นต้องรู้ตำแหน่งของฝั่งผู้ส่ง
- เพื่อบรรเทาปัญหาที่เลเบลอาจเปิดเผยข้อมูลมากเกินไป จึงกำลังศึกษา แนวทางการ masking เลเบล อยู่ด้วย
Cryptography (เทคโนโลยีการเข้ารหัส)
- เทคโนโลยีที่ใช้:
- Curve25519: public/private key และการแลกเปลี่ยนกุญแจ
- Chacha20Poly1305: การเข้ารหัสแบบยืนยันความถูกต้อง
- BLAKE3: การทำแฮช
- ในอนาคตยังเผื่อ version และ type field ไว้อย่างเพียงพอ เพื่อให้เปลี่ยนไปใช้อัลกอริทึมอื่นได้
Inspirations (แรงบันดาลใจ)
- Mycoria ได้รับ แรงบันดาลใจ จากแนวคิดของโครงการโอเพนซอร์สดังต่อไปนี้:
ยังไม่มีความคิดเห็น