ไม่กี่เดือนที่ผ่านมา เราแสดงความคิดเห็นที่นี่ในบล็อกเกี่ยวกับความตั้งใจของผู้พัฒนาโครงการ Tor บน Rustเนื่องจากในช่วงไม่กี่ปีที่ผ่านมา โครงการโอเพ่นซอร์สที่สำคัญหลายโครงการได้หันไปใช้ภาษาการเขียนโปรแกรมนี้ และเมื่อเวลาผ่านไปก็เริ่มมีความเกี่ยวข้องมากขึ้น
และตอนนี้ ตามที่เราพูดถึงผู้พัฒนาเครือข่าย Tor นิรนาม เหล่านี้ ทำให้เป็นที่รู้จัก ผ่านบล็อกโพสต์ การเปิดตัวของ เวอร์ชันเบต้าแรก 0.1.0 ของโปรเจ็กต์ Arti ซึ่งพัฒนาไคลเอนต์ Tor ที่เขียนด้วย Rust
เกี่ยวกับ Arti
ส่วนใครที่ยังไม่รู้โครงการนี้บอกเลยว่า ต่างจากการนำภาษาซีไปใช้ ซึ่งเดิมได้รับการออกแบบให้เป็นพร็อกซี SOCKS และต่อมาปรับให้เข้ากับความต้องการอื่น ๆ Arti ได้รับการพัฒนาในขั้นต้นเป็นไลบรารีปลั๊กอินแบบแยกส่วน ที่สามารถใช้งานได้หลากหลาย
นอกจากนี้ ในการพัฒนาโครงการใหม่ ประสบการณ์การพัฒนา Tor ที่ผ่านมาทั้งหมดถูกนำมาพิจารณา ซึ่งจะหลีกเลี่ยงปัญหาสถาปัตยกรรมที่เป็นที่รู้จักและทำให้โครงการเป็นแบบแยกส่วนและมีประสิทธิภาพมากขึ้น รหัสนี้เผยแพร่ภายใต้ใบอนุญาต Apache 2.0 และ MIT
เหตุผลในการเขียน Tor ใหม่ใน Rust คือความปรารถนาที่จะได้รับความปลอดภัยในระดับที่สูงขึ้น ของรหัสโดยใช้ภาษาที่ปลอดภัยสำหรับหน่วยความจำ ตามที่นักพัฒนา Tor บอก อย่างน้อยครึ่งหนึ่งของช่องโหว่ทั้งหมดที่ติดตามโดยโปรเจ็กต์ จะถูกลบออกในการใช้งาน Rust หากโค้ดไม่ได้ใช้บล็อกที่ "ไม่ปลอดภัย"
Rust ยังช่วยให้คุณพัฒนาความเร็วได้เร็วกว่าภาษา C เนื่องจากความชัดเจนของภาษาและการรับประกันอย่างเข้มงวดที่ช่วยให้คุณไม่ต้องเสียเวลาในการตรวจสอบซ้ำและเขียนโค้ดที่ไม่จำเป็น
ความแปลกใหม่หลักของ Arti 0.1.0
จากการเปลี่ยนแปลงในเวอร์ชั่น 0.1.0, มีความเสถียรพื้นฐานของ API ระดับสูง และเตรียมห้องสมุดเพื่อทดลองบูรณาการกับโครงการอื่นๆ
จากการเปลี่ยนแปลงดังกล่าว เพิ่ม API เพื่อสร้างอินสแตนซ์ TorClient รวมถึงความสามารถในการคอมไพล์และบูตสแตรปในพื้นหลังเมื่อใช้งานครั้งแรก นอกจากนี้ยังมีการเพิ่ม API ระดับสูงใหม่สำหรับการจัดการข้อผิดพลาดอีกด้วย
วันนี้ เรามาถึงหลักชัย 0.1.0 แล้ว ซึ่งหมายความว่าตอนนี้เราถือว่า API ระดับสูงของ Arti นั้น "เสถียรเป็นส่วนใหญ่" และพร้อมสำหรับการผสานรวมทดลองกับโครงการอื่นๆ (เราไม่สัญญาว่า API จะหยุดทำงาน แต่เราไม่ทำลาย API ระดับสูงของเราโดยไม่มีเหตุผลที่ดี) เป้าหมาย 1.0.0 ซึ่งกำหนดไว้สำหรับเดือนกันยายนจะแสดงให้เห็นถึงความมุ่งมั่นของ API ที่แข็งแกร่งยิ่งขึ้น
ก่อนการเปิดตัวเวอร์ชัน 1.0.0 ผู้พัฒนาตั้งใจที่จะให้ Arti การสนับสนุนอย่างเต็มที่สำหรับการทำงานเป็นลูกค้าของ Tor ซึ่งให้การเข้าถึงอินเทอร์เน็ต (การดำเนินการสนับสนุนบริการ onion ถูกเลื่อนออกไปในอนาคต)
มีการวางแผนที่จะรวมไว้เพื่อให้เกิดความเท่าเทียมกันกับการใช้งานหลักในภาษาซี ในด้านต่างๆ เช่น ประสิทธิภาพเครือข่าย ภาระของ CPU และความน่าเชื่อถือ ตลอดจนการสนับสนุนคุณลักษณะที่เกี่ยวข้องกับความปลอดภัยทั้งหมด
เป็นมูลค่าการกล่าวขวัญอีกครั้งว่าโปรเจ็กต์อยู่ในสถานะการพัฒนาทดลอง ล้าหลังการทำงานของไคลเอนต์ Tor ในภาษา C หลัก และยังไม่พร้อมที่จะแทนที่โดยสมบูรณ์
การเปิดตัว 1.0 มีการวางแผนในเดือนกันยายนด้วย API, CLI และความเสถียรของการกำหนดค่า ซึ่งจะเหมาะสำหรับการใช้งานครั้งแรกโดยผู้ใช้ทั่วไป
ในอนาคตต่อไป เมื่อรหัส Rust ถึงระดับที่สามารถแทนที่เวอร์ชัน C ได้อย่างสมบูรณ์ นักพัฒนาตั้งใจที่จะทำให้ Arti เป็นการใช้งานหลักของ Tor และหยุดการบำรุงรักษาการใช้งาน C
เราพึ่งพาผู้ใช้และอาสาสมัครในการค้นหาปัญหากับซอฟต์แวร์ของเราและแนะนำแนวทางในการปรับปรุง แม้ว่า Arti ยังไม่พร้อมสำหรับการใช้งานจริง แต่คุณสามารถลองใช้เป็นพร็อกซี SOCKS (หากคุณยินดีที่จะคอมไพล์จากแหล่งที่มา) และเป็นไลบรารีแบบฝังได้ (หากคุณไม่สนใจเกี่ยวกับความไม่เสถียรของ API เล็กน้อย)
ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม เกี่ยวกับรุ่นใหม่นี้คุณสามารถตรวจสอบรายละเอียดได้ ในลิงค์ต่อไปนี้.