เปิดตัวเครื่องมือตรวจสอบความถูกต้องของ Firedancer ซึ่งปูทางไปสู่การยอมรับ Solana จำนวนมาก
บทความนี้มาจาก:《What is Firedancer? A Deep Dive into Solana 2.0 》
ผู้เขียนต้นฉบับ: 0xIchigo
นักแปล Odaily: สามีอย่างไร

ดังที่เราทุกคนทราบกันดีว่า Solana เป็นหนึ่งในตัวแทนของประสิทธิภาพสูงใน Public Chain ในปัจจุบัน ฝ่ายโครงการหลายฝ่ายต่างแสวงหาความเร็วในการประมวลผลแบบ on-chain ที่เร็วกว่า และยังได้รับความสนใจจากยักษ์ใหญ่แบบดั้งเดิม เช่น Visa อีกด้วย อย่างไรก็ตาม Solana มีอันตรายที่ซ่อนอยู่จากการหยุดทำงานของเครือข่ายมาโดยตลอด วิธีแก้ปัญหาการหยุดทำงานของเครือข่าย ไคลเอนต์ Firedancer ที่ Jump จะเปิดตัวเพื่อตรวจสอบไคลเอนต์อาจสามารถให้คำตอบได้
บทความนี้จะเริ่มต้นด้วยบทบาทของเครื่องมือตรวจสอบและไคลเอนต์เครื่องมือตรวจสอบบนบล็อกเชน และสำรวจว่าไคลเอนต์เครื่องมือตรวจสอบ Firedancer รองรับเครือข่าย Solana อย่างไร
ข้อมูลต่อไปนี้รวบรวมโดย Odaily
ความหลากหลายของไคลเอนต์ validator และ validator คืออะไร?
เครื่องมือตรวจสอบคือคอมพิวเตอร์ที่เข้าร่วมในบล็อคเชนที่พิสูจน์การเดิมพัน ผู้ตรวจสอบความถูกต้องเป็นแกนหลักของเครือข่าย Solana ซึ่งรับผิดชอบในการประมวลผลธุรกรรมและมีส่วนร่วมในกระบวนการที่เป็นเอกฉันท์ เครื่องมือตรวจสอบจะรักษาความปลอดภัยเครือข่ายโดยการล็อคโทเค็นดั้งเดิมของ Solana จำนวนหนึ่งไว้เป็นหลักประกัน โทเค็นการปักหลักถือได้ว่าเป็นเงินประกันที่เชื่อมโยงผู้ตรวจสอบความถูกต้องเข้ากับเครือข่ายในเชิงเศรษฐกิจ การเชื่อมต่อนี้กระตุ้นให้ผู้ตรวจสอบความถูกต้องทำงานได้อย่างถูกต้องและมีประสิทธิภาพ เนื่องจากพวกเขาจะได้รับรางวัลตามการมีส่วนร่วมของพวกเขา ในเวลาเดียวกัน ผู้ตรวจสอบจะถูกลงโทษสำหรับพฤติกรรมที่เป็นอันตรายหรือทำงานผิดปกติ ความยุติธรรมของผู้ตรวจสอบจะลดลงเนื่องจากพฤติกรรมที่ไม่เหมาะสม กระบวนการที่เรียกว่าการลด ดังนั้นผู้ตรวจสอบความถูกต้องจึงมีแรงจูงใจในการปฏิบัติหน้าที่อย่างถูกต้องเพื่อเพิ่มการเดิมพัน
ไคลเอนต์เครื่องมือตรวจสอบคือแอปพลิเคชันที่เครื่องมือตรวจสอบใช้เพื่อดำเนินการต่างๆ ลูกค้าเป็นพื้นฐานของผู้ตรวจสอบความถูกต้อง โดยมีส่วนร่วมในกระบวนการฉันทามติผ่านข้อมูลประจำตัวที่ไม่ซ้ำใครในการเข้ารหัส
การมีไคลเอนต์ที่แตกต่างกันหลายตัวช่วยเพิ่มความทนทานต่อข้อผิดพลาด ตัวอย่างเช่น หากไม่มีไคลเอ็นต์ใดควบคุมส่วนแบ่งมากกว่า 33% ข้อผิดพลาดที่ส่งผลกระทบต่อความสมบูรณ์หรือข้อขัดข้องจะไม่ทำให้เครือข่ายล่ม ในทำนองเดียวกัน หากไคลเอนต์มีจุดบกพร่องที่ทำให้เกิดการเปลี่ยนแปลงสถานะที่ไม่ถูกต้อง และน้อยกว่า 33% ของการแชร์ใช้ไคลเอนต์นั้น เครือข่ายจะได้รับการปกป้องจากความล้มเหลวด้านความปลอดภัย เนื่องจากเครือข่ายส่วนใหญ่จะยังคงอยู่ในสถานะที่ถูกต้อง ป้องกันไม่ให้บล็อคเชนแยกหรือฟอร์ก ดังนั้น ความหลากหลายของไคลเอนต์ตัวตรวจสอบความถูกต้องสามารถปรับปรุงความยืดหยุ่นของเครือข่ายได้ และข้อผิดพลาดหรือช่องโหว่ในไคลเอนต์ตัวเดียวจะไม่ส่งผลกระทบร้ายแรงต่อเครือข่ายทั้งหมด
ความหลากหลายของลูกค้าสามารถวัดได้จากเปอร์เซ็นต์ของการเดิมพันที่ลูกค้าแต่ละรายดำเนินการและจำนวนลูกค้าทั้งหมดที่มีอยู่ ในขณะที่เขียนบทความนี้มีผู้ตรวจสอบความถูกต้อง 1979 คนบนเครือข่าย Solanaไคลเอนต์สองตัวที่ใช้โดยเครื่องมือตรวจสอบความถูกต้องเหล่านี้บน mainnet นั้นให้บริการโดย Solana Labs และ Jito Labs เมื่อ Solana เปิดตัวในเดือนมีนาคม 2020 ก็ใช้ไคลเอนต์ตรวจสอบความถูกต้องที่พัฒนาโดย Solana Labs ในเดือนสิงหาคม 2022 Jito Labs ได้เปิดตัวไคลเอนต์ตรวจสอบตัวที่สอง ไคลเอ็นต์คือทางแยกของโค้ด Solana Labs ที่ดูแลและปรับใช้โดย Jito ไคลเอนต์ปรับการแยกค่าสูงสุดที่สกัดได้ (MEV) ในบล็อกให้เหมาะสม ไคลเอ็นต์ของ Jito สร้างพูลหน่วยความจำหลอก เนื่องจาก Solana สตรีมส่วนต่างๆ โดยไม่มีพูลหน่วยความจำ เป็นที่น่าสังเกตว่า mempool เป็นคิวของธุรกรรมที่ไม่ได้รับการยืนยันและรอดำเนินการ mempool หลอกช่วยให้ผู้ตรวจสอบความถูกต้องสามารถค้นหาธุรกรรมเหล่านี้ รวมเข้าด้วยกันอย่างเหมาะสม และส่งไปยังเครื่องมือบล็อกของ Jito

ณ เดือนตุลาคม 2023 ลูกค้าของ Solana Labs ถือหุ้นอยู่ 68.55% ในขณะที่ Jito ถือหุ้น 31.45% จำนวนผู้ตรวจสอบที่ใช้ไคลเอนต์ Jito เพิ่มขึ้น 16% เมื่อเทียบกับรายงานด้านสุขภาพครั้งก่อนของ Solana Foundation การเติบโตของการใช้งานไคลเอนต์ Jito แสดงให้เห็นถึงแนวโน้มการพัฒนาความหลากหลายของลูกค้า
แม้ว่าข่าวการเติบโตนี้จะน่ายินดี แต่ก็ไม่สมบูรณ์แบบ ควรเน้นย้ำว่าลูกค้าของ Jito เป็นส่วนหนึ่งของลูกค้า Solana Labs ซึ่งหมายความว่า Jito แบ่งปันองค์ประกอบหลายอย่างกับโค้ดเบสตัวตรวจสอบดั้งเดิม และอาจเสี่ยงต่อจุดบกพร่องหรือช่องโหว่ที่ส่งผลกระทบต่อไคลเอนต์ Solana Labs ในอนาคตอันดี Solana ควรมีไคลเอนต์ผู้ตรวจสอบอิสระอย่างน้อยสี่ราย ทีมต่างๆ จะสร้างไคลเอนต์เหล่านี้โดยใช้ภาษาการเขียนโปรแกรมที่แตกต่างกัน ไม่มีการดำเนินการใด ๆ ที่จะเกินส่วนแบ่งการถือหุ้น 33% เนื่องจากลูกค้าแต่ละรายจะถือหุ้นประมาณ 25% การตั้งค่าในอุดมคตินี้จะกำจัดจุดล้มเหลวเพียงจุดเดียวทั่วทั้งสแต็กตัวตรวจสอบความถูกต้อง
การพัฒนาไคลเอนต์ตรวจสอบความถูกต้องอิสระรายที่สองมีความสำคัญอย่างยิ่งต่อการบรรลุเป้าหมายในอนาคตนี้ และ Jump มุ่งมั่นที่จะทำให้มันเกิดขึ้น
เหตุใด Jump จึงสร้างไคลเอนต์เครื่องมือตรวจสอบความถูกต้องใหม่
เมนเน็ตของ Solana หยุดทำงานมาแล้วสี่ครั้งในอดีต โดยแต่ละครั้งต้องมีการซ่อมแซมด้วยตนเองโดยผู้ตรวจสอบหลายร้อยราย การหยุดทำงานดังกล่าวตอกย้ำถึงความกังวลเกี่ยวกับความน่าเชื่อถือของเครือข่ายของโซลานาJump เชื่อว่าโปรโตคอลนั้นมีความน่าเชื่อถือ และถือว่าการหยุดทำงานนั้นเกิดจากปัญหาเกี่ยวกับโมดูลซอฟต์แวร์ที่ส่งผลต่อฉันทามติดังนั้น Jump จึงกำลังพัฒนาไคลเอนต์ตรวจสอบความถูกต้องใหม่เพื่อแก้ไขปัญหาเหล่านี้ เป้าหมายโดยรวมของลูกค้ารายนี้คือการปรับปรุงเสถียรภาพและประสิทธิภาพของเครือข่าย Solana
การพัฒนาไคลเอนต์ตรวจสอบความถูกต้องแบบสแตนด์อโลนนั้นเป็นงานที่ยาก อย่างไรก็ตาม นี่ไม่ใช่ครั้งแรกที่ Jump สร้างเครือข่ายระดับโลกที่เชื่อถือได้ ในอดีต การซื้อขายหลักทรัพย์ (เช่น การซื้อและการขายหุ้น) ดำเนินการโดยผู้เชี่ยวชาญในตลาด ด้วยการเกิดขึ้นของแพลตฟอร์มการซื้อขายทางอิเล็กทรอนิกส์ การซื้อขายหลักทรัพย์จึงเปิดกว้างมากขึ้น การเปิดกว้างนี้จะเพิ่มการแข่งขัน ระบบอัตโนมัติ และลดเวลาและต้นทุนสำหรับนักลงทุนในการซื้อขาย การแข่งขันทางเทคโนโลยีเริ่มขึ้นในหมู่ผู้เชี่ยวชาญในตลาด
พ่อค้าค้าขายเพื่อหาเลี้ยงชีพ ประสบการณ์การซื้อขายที่ดีขึ้นต้องให้ความสำคัญกับซอฟต์แวร์ ฮาร์ดแวร์ และโซลูชั่นเครือข่ายมากขึ้นระบบเหล่านี้ต้องมีเครื่องจักรอัจฉริยะสูง เวลาแฝงแบบเรียลไทม์ต่ำ ปริมาณงานสูง ความสามารถในการปรับตัวสูง ความสามารถในการปรับขนาดสูง ความน่าเชื่อถือสูง และความรับผิดชอบสูง
โซลูชันขนาดเดียวที่เหมาะกับทุกคน (เช่น ซอฟต์แวร์ที่บริษัทสามารถซื้อได้ทันที) ไม่ใช่ข้อได้เปรียบทางการแข่งขัน การส่งคำสั่งซื้อที่ถูกต้องไปยังการแลกเปลี่ยนในอันดับที่สองเป็นวิธีที่มีราคาแพงในการสูญเสียเงิน การแข่งขันที่รุนแรงในพื้นที่การซื้อขายที่มีความถี่สูงได้นำไปสู่วงจรการพัฒนาที่ไม่มีวันสิ้นสุดเพื่อสร้างโครงสร้างพื้นฐานการซื้อขายระดับโลกที่ดีที่สุดในระดับเดียวกัน

สถานการณ์นี้อาจฟังดูคุ้นเคย ข้อกำหนดสำหรับระบบการซื้อขายที่ประสบความสำเร็จนั้นคล้ายคลึงกับข้อกำหนดสำหรับบล็อกเชนที่ประสบความสำเร็จ บล็อกเชนจำเป็นต้องเป็นเครือข่ายที่มีประสิทธิภาพเหนือกว่า ทนทานต่อข้อผิดพลาดที่แข็งแกร่ง และเวลาแฝงต่ำ บล็อกเชนที่ช้าเป็นเทคโนโลยีที่ล้มเหลวซึ่งไม่สามารถตอบสนองความต้องการของแอปพลิเคชันระดับองค์กรสมัยใหม่ได้ และเป็นเพียงอุปสรรคต่อนวัตกรรม ความสามารถในการปรับขนาด และประโยชน์ในโลกแห่งความเป็นจริงเท่านั้น ด้วยประสบการณ์กว่าสองทศวรรษในการพัฒนาเครือข่ายระดับโลกและระบบที่มีประสิทธิภาพสูง Jump จึงเป็นทีมที่สมบูรณ์แบบในการสร้างไคลเอนต์ผู้ตรวจสอบอิสระ Kevin Bowers ประธานเจ้าหน้าที่ฝ่ายวิทยาศาสตร์ของ Jump Trading ดูแลกระบวนการสร้างตั้งแต่ต้นจนจบ
เหตุใดความเร็วแสงจึงช้าเกินไป?
Kevin Bowers อธิบายอย่างละเอียดเกี่ยวกับปัญหาแสงที่ช้าเกินไป ความเร็วแสงเป็นค่าคงที่จำกัดที่ให้ขีดจำกัดตามธรรมชาติในจำนวนการคำนวณที่ทรานซิสเตอร์ตัวเดียวสามารถรองรับได้ ปัจจุบันบิตถูกสร้างแบบจำลองโดยอิเล็กตรอนที่เดินทางผ่านทรานซิสเตอร์ ทฤษฎีบทความจุของแชนนอน ซึ่งเป็นจำนวนสูงสุดของข้อมูลที่ปราศจากข้อผิดพลาดที่สามารถส่งบนช่องสัญญาณได้ จะจำกัดจำนวนบิตที่สามารถส่งผ่านทรานซิสเตอร์ได้ เนื่องจากข้อจำกัดทางฟิสิกส์พื้นฐานและทฤษฎีข้อมูล ความเร็วในการคำนวณจึงถูกจำกัดด้วยความเร็วที่อิเล็กตรอนเคลื่อนที่ผ่านสสารและปริมาณข้อมูลที่สามารถส่งข้อมูลได้ ข้อจำกัดเหล่านี้จะปรากฏชัดเมื่อผลักดันซูเปอร์คอมพิวเตอร์ให้ถึงขีดจำกัด ผลก็คือ มีความไม่ตรงกันอย่างมากระหว่างความสามารถของคอมพิวเตอร์ในการประมวลผลข้อมูลและความสามารถในการส่งข้อมูล

ยกตัวอย่างซีพียู Intel Core i 9 13900 K มีคอร์ 24 x 86 พร้อมความเร็วสัญญาณนาฬิกาพื้นฐาน 2.2 GHz และความเร็วสัญญาณนาฬิกาเทอร์โบสูงสุด 5.8 GHz สถานการณ์กรณีที่เลวร้ายที่สุดคือแสงต้องเดินทางรวมระยะทางประมาณ 52.0 มม. ภายใน CPU ระยะห่างของแมนฮัตตัน (เช่น ระยะห่างระหว่างจุดสองจุดที่วัดตามแกนมุมฉาก) สำหรับ CPU คือประมาณ 73.6 มม. ที่ความถี่สัญญาณนาฬิกาเทอร์โบสูงสุดของ CPU ที่ 5.8 GHz แสงสามารถเดินทางผ่านอากาศได้ประมาณ 51.7 มม. ซึ่งหมายความว่าในรอบสัญญาณนาฬิกาเดียว สัญญาณสามารถเดินทางไปกลับระหว่างจุดสองจุดบน CPU ได้เกือบสมบูรณ์
อย่างไรก็ตามความเป็นจริงนั้นเลวร้ายกว่ามาก การวัดเหล่านี้ใช้ความเร็วของแสงที่เดินทางผ่านอากาศ ในขณะที่สัญญาณถูกส่งผ่านซิลิคอนไดออกไซด์ (SiO2) ที่ความเร็วรอบสัญญาณนาฬิกา 5.8 GHz แสงสามารถเดินทางได้ประมาณ 26.2 มิลลิเมตรในซิลิคอนไดออกไซด์ ในซิลิคอน (Si) แสงสามารถเดินทางได้เพียงประมาณ 15.0 มิลลิเมตรที่ความเร็วรอบสัญญาณนาฬิกา 5.8 GHz ซึ่งมากกว่าครึ่งหนึ่งของด้านยาวของ CPU เล็กน้อย
ทีม Firedancer เชื่อว่าความก้าวหน้าในเทคโนโลยีการประมวลผลในช่วงไม่กี่ปีที่ผ่านมาเป็นเรื่องเกี่ยวกับการบรรจุคอร์ลงใน CPU มากขึ้น แทนที่จะทำให้เร็วขึ้น เมื่อผู้คนต้องการประสิทธิภาพที่มากขึ้น พวกเขาได้รับการสนับสนุนให้ซื้อฮาร์ดแวร์เพิ่ม ซึ่งปัจจุบันใช้งานได้ในสถานการณ์ที่ปริมาณงานเป็นจุดคอขวด คอขวดที่แท้จริงคือความเร็วแสง ข้อจำกัดตามธรรมชาตินี้นำไปสู่อัมพาตในการตัดสินใจ เช่นเดียวกับการปรับให้เหมาะสมประเภทอื่นๆ มีส่วนประกอบมากมายในระบบที่ไม่ได้รับผลตอบแทนทันทีเนื่องจากไม่ได้รับการปรับให้เหมาะสมอย่างเหมาะสม ชิ้นส่วนที่ไม่ได้รับการปรับให้เหมาะสมจะเสื่อมลงเมื่อเวลาผ่านไป เนื่องจากมีทรัพยากรการประมวลผลน้อยลง แล้วตอนนี้ต้องทำอย่างไร?
ในการประมวลผลประสิทธิภาพสูง ทุกอย่างจะต้องได้รับการปรับให้เหมาะสมในที่สุด ผลลัพธ์ที่ได้คือระบบการผลิตที่มุ่งเน้นไปที่การค้าเชิงปริมาณและการวิจัยเชิงปริมาณ ซึ่งดำเนินงานภายใต้ขีดจำกัดของฟิสิกส์และทฤษฎีข้อมูลในระดับโลก ซึ่งรวมถึงอัลกอริธึมที่ไม่มีการล็อคที่สร้างเทคโนโลยีการสลับเครือข่ายแบบกำหนดเองเพื่อให้เป็นไปตามข้อจำกัดทางกายภาพเหล่านี้ Jump เป็นบริษัทการค้าพอๆ กับที่เป็นบริษัทเทคโนโลยี ในระดับแนวหน้าของนิยายวิทยาศาสตร์และความเป็นจริง มีความคล้ายคลึงกันอย่างเห็นได้ชัดระหว่างปัญหาที่ Jump และ Solana ที่กำลังพัฒนา Firedancer เผชิญอยู่ในปัจจุบัน
Firedancer คืออะไร?
Firedancer เป็นไคลเอนต์ตรวจสอบความถูกต้องแบบสแตนด์อโลนใหม่ที่พัฒนาขึ้นในภาษา C โดยทีมงาน Firedancer Firedancer ได้รับการออกแบบโดยคำนึงถึงความน่าเชื่อถือ โดยใช้สถาปัตยกรรมแบบโมดูลาร์ การพึ่งพาขั้นต่ำ และกระบวนการทดสอบที่ครอบคลุม โดยเสนอการเขียนใหม่ที่สำคัญขององค์ประกอบการทำงานสามส่วนของไคลเอนต์ Solana Labs (เครือข่าย รันไทม์ และฉันทามติ) แต่ละระดับได้รับการปรับให้เหมาะสมเพื่อประสิทธิภาพสูงสุด ดังนั้นความสามารถในการรันของลูกค้าจึงถูกจำกัดโดยฮาร์ดแวร์ตัวตรวจสอบความถูกต้องเท่านั้น ไม่ใช่ข้อจำกัดด้านประสิทธิภาพที่เกิดจากความไร้ประสิทธิภาพของซอฟต์แวร์ที่กำลังเผชิญอยู่ในปัจจุบัน ด้วย Firedancer ทำให้ Solana สามารถปรับขนาดตามแบนด์วิดท์และฮาร์ดแวร์ได้
เป้าหมายของ Firedancer คือ:
จัดทำเอกสารและสร้างมาตรฐานของโปรโตคอล Solana (ในที่สุด ผู้คนควรสามารถสร้างเครื่องมือตรวจสอบความถูกต้องของ Solana ได้โดยดูที่เอกสารมากกว่ารหัสเครื่องมือตรวจสอบ Rust)
เพิ่มความหลากหลายของไคลเอนต์ผู้ตรวจสอบ;
ปรับปรุงประสิทธิภาพของระบบนิเวศ
วิธีการทำงานของ Firedancer
สถาปัตยกรรมแบบโมดูลาร์
Firedancer สร้างความแตกต่างจากไคลเอนต์เครื่องมือตรวจสอบความถูกต้องของ Solana ในปัจจุบันผ่านสถาปัตยกรรมแบบโมดูลาร์ที่เป็นเอกลักษณ์ แตกต่างจากไคลเอนต์ตรวจสอบ Rust ของ Solana Labs ซึ่งทำงานเป็นกระบวนการเดียว Firedancer ประกอบด้วยกระบวนการ Linux C อิสระมากมายที่เรียกว่า ไทล์ ไทล์เป็นกระบวนการและหน่วยความจำบางส่วน สถาปัตยกรรมแผ่นกระเบื้องนี้เป็นพื้นฐานของปรัชญาการดำเนินงานของ Firedancer และแนวทางในการปรับปรุงความทนทานและประสิทธิภาพ
กระบวนการเป็นตัวอย่างของโปรแกรมที่กำลังรันอยู่ เป็นองค์ประกอบพื้นฐานของระบบปฏิบัติการสมัยใหม่และแสดงถึงการดำเนินการตามชุดคำสั่ง แต่ละกระบวนการมีพื้นที่หน่วยความจำและทรัพยากรของตัวเอง และระบบปฏิบัติการจะจัดสรรและจัดการทรัพยากรเหล่านี้อย่างเป็นอิสระโดยไม่ได้รับผลกระทบจากกระบวนการอื่น กระบวนการต่างๆ ก็เหมือนกับพนักงานอิสระในโรงงานขนาดใหญ่ โดยใช้เครื่องมือและพื้นที่ทำงานของตนเองเพื่อจัดการงานเฉพาะด้าน
ใน Firedancer แต่ละไทล์เป็นกระบวนการอิสระที่มีบทบาทเฉพาะ ตัวอย่างเช่น ไทล์ QUIC มีหน้าที่ในการจัดการการรับส่งข้อมูล QUIC ขาเข้าและการส่งต่อธุรกรรมที่ห่อหุ้มไปยังไทล์ตรวจสอบ ไทล์การตรวจสอบมีหน้าที่ในการตรวจสอบลายเซ็น และไทล์อื่นๆ ก็มีงานที่คล้ายกัน ไทล์เหล่านี้ทำงานอย่างเป็นอิสระและพร้อมกันและรวมกันเป็นฟังก์ชันการทำงานของทั้งระบบ กระบวนการ Linux อิสระสามารถสร้างโดเมนข้อบกพร่องขนาดเล็กที่เป็นอิสระได้ ซึ่งหมายความว่าปัญหาที่เกิดขึ้นกับไทล์เดียวจะมีผลกระทบเพียงเล็กน้อยต่อทั้งระบบ หรือมี ขอบเขตของผลกระทบ เพียงเล็กน้อย โดยไม่เป็นอันตรายต่อผู้ตรวจสอบทั้งหมดทันที
ข้อได้เปรียบที่สำคัญของสถาปัตยกรรม Firedancer คือความสามารถในการเปลี่ยนและอัปเกรดแต่ละไทล์ภายในไม่กี่วินาทีโดยไม่ต้องหยุดทำงาน ซึ่งตรงกันข้ามกับข้อกำหนดที่ว่าไคลเอ็นต์ตัวตรวจสอบ Rust ของ Solana Labs จะต้องปิดตัวลงอย่างสมบูรณ์ก่อนที่จะอัปเกรด ความแตกต่างนี้เกิดจากการขาดความเสถียรของ ABI (Application Binary Interface) ของ Rust ซึ่งป้องกันการอัปเกรดแบบทันทีทันใดในสภาพแวดล้อมแบบ Rust ที่บริสุทธิ์ ด้วยแนวทางกระบวนการ C คุณสามารถไว้วางใจเสถียรภาพไบนารีในโมเดลรันไทม์ C เพื่อลดเวลาหยุดทำงานที่เกี่ยวข้องกับการอัพเกรดได้อย่างมาก เนื่องจากแต่ละไทล์จัดการสถานะเครื่องมือตรวจสอบในพื้นที่ทำงานที่แตกต่างกัน ออบเจ็กต์หน่วยความจำที่ใช้ร่วมกันเหล่านี้จะคงอยู่ตราบเท่าที่เครื่องมือตรวจสอบเปิดและทำงานอยู่ ในระหว่างการรีบูตหรืออัปเกรด แต่ละไทล์จะสามารถรับตำแหน่งที่ค้างไว้ได้อย่างราบรื่น
โดยรวมแล้ว Firedancer สร้างขึ้นจากสถาปัตยกรรมแบบไทล์ที่รับรู้ถึง NUMA ในสถาปัตยกรรมนี้ แต่ละไทล์ใช้คอร์ CPU หนึ่งคอร์ โดยมีคุณลักษณะการส่งข้อความประสิทธิภาพสูงระหว่างไทล์ การเพิ่มประสิทธิภาพพื้นที่หน่วยความจำ เค้าโครงทรัพยากร และเวลาแฝงของส่วนประกอบ
การประมวลผลเครือข่าย
การประมวลผลเครือข่ายของ Firedancer ได้รับการออกแบบมาเพื่อรองรับความต้องการที่รุนแรงของเครือข่ายของ Solana ในขณะที่อัปเกรดเป็นความเร็วระดับกิกะบิตต่อวินาที กระบวนการนี้แบ่งออกเป็นกิจกรรมขาเข้าและขาออก
กิจกรรมขาเข้าส่วนใหญ่เกี่ยวข้องกับการรับธุรกรรมจากผู้ใช้ ประสิทธิภาพของ Firedancer มีความสำคัญมาก เพราะหากตัวตรวจสอบความถูกต้องล้าหลังในการประมวลผลแพ็กเก็ต ข้อความที่เป็นเอกฉันท์อาจสูญหายได้ ปัจจุบันโหนด Solana ทำงานที่ประมาณ 0.2 Gbps ในขณะที่โหนด Jump ได้บันทึกแบนด์วิดท์สูงสุดไว้ที่ประมาณ 40 GBps แบนด์วิธที่เพิ่มขึ้นอย่างรวดเร็วนี้เน้นย้ำถึงความต้องการโซลูชันการประมวลผลขาเข้าที่แข็งแกร่งและปรับขนาดได้
กิจกรรมขาออก ได้แก่ การบรรจุบล็อก การสร้างบล็อก และการส่งชิ้นส่วน ขั้นตอนเหล่านี้มีความสำคัญต่อการดำเนินงานที่ปลอดภัยและมีประสิทธิภาพของเครือข่าย Solana ประสิทธิภาพของงานเหล่านี้ไม่เพียงส่งผลต่อปริมาณงานเท่านั้น แต่ยังส่งผลต่อความน่าเชื่อถือโดยรวมของเครือข่ายด้วย
Firedancer มีเป้าหมายเพื่อแก้ไขปัญหาที่ผ่านมาของ Solana ด้วยอินเทอร์เฟซแบบจุดต่อจุดสำหรับการประมวลผลธุรกรรม ข้อบกพร่องที่สำคัญของอินเทอร์เฟซแบบจุดต่อจุดของ Solana ในอดีตคือการขาดการควบคุมความแออัดเมื่อประมวลผลธุรกรรมขาเข้า ข้อบกพร่องนี้ส่งผลให้ไฟฟ้าดับในวันที่ 14 กันยายน 2021 (17 ชั่วโมง) และวันที่ 30 เมษายน 2022 (7 ชั่วโมง)

เพื่อเป็นการตอบสนอง Solana ได้ทำการอัปเกรดเครือข่ายหลายครั้งเพื่อรองรับปริมาณธุรกรรมที่สูงอย่างเหมาะสม Firedancer ปฏิบัติตาม โดยนำ QUIC มาใช้เป็นรูปแบบการควบคุมการจราจรQUIC เป็นโปรโตคอลเครือข่ายการรับส่งข้อมูลแบบมัลติเพล็กซ์ที่เป็นพื้นฐานของ HTTP/3มีบทบาทสำคัญในการป้องกันการโจมตี DDoS และจัดการการรับส่งข้อมูลเครือข่าย อย่างไรก็ตาม สิ่งสำคัญคือต้องทราบว่าในบางกรณี ต้นทุนมีมากกว่าผลประโยชน์ QUIC ใช้ร่วมกับฮาร์ดแวร์ศูนย์ข้อมูลเฉพาะเพื่อลดการโจมตี DDoS โดยขจัดแรงจูงใจในการโจมตีแบบน้ำท่วมของธุรกรรม
ข้อกำหนด 151 หน้าของ QUIC นำเสนอความซับซ้อนอย่างมากในการพัฒนา ไม่พบไลบรารี C ที่มีอยู่ซึ่งตรงกับความต้องการด้านสิทธิ์การใช้งาน ประสิทธิภาพ และความน่าเชื่อถือ ทีม Firedancer จึงสร้างการใช้งานของตนเองขึ้นมา การใช้งาน QUIC ของ Firedancer ซึ่งมีชื่อเล่นว่า fd_quic นำเสนอโครงสร้างข้อมูลและอัลกอริธึมที่ได้รับการปรับปรุงเพื่อให้แน่ใจว่ามีการจัดสรรหน่วยความจำน้อยที่สุดและป้องกันไม่ให้หน่วยความจำหมด
สแต็กเครือข่ายแบบกำหนดเองของ Firedancer ถือเป็นหัวใจสำคัญของพลังการประมวลผล สแต็กได้รับการออกแบบตั้งแต่ต้นจนจบเพื่อใช้ประโยชน์จากการรับ Side Scaling (RSS) RSS คือรูปแบบการเร่งสมดุลโหลดเครือข่ายที่เร่งด้วยฮาร์ดแวร์ ซึ่งจะกระจายการรับส่งข้อมูลเครือข่ายไปยังคอร์ CPU ต่างๆ เพื่อเพิ่มความขนานในการประมวลผลเครือข่าย CPU คอร์แต่ละตัวจะจัดการส่วนหนึ่งของการรับส่งข้อมูลขาเข้าโดยมีค่าใช้จ่ายเพิ่มเติมเล็กน้อย วิธีการนี้มีประสิทธิภาพเหนือกว่าการปรับสมดุลโหลดบนซอฟต์แวร์แบบดั้งเดิม โดยกำจัดตัวกำหนดเวลา การล็อค และการดำเนินการอะตอมมิกที่ซับซ้อน
Firedancer แนะนำเฟรมเวิร์กการส่งข้อความใหม่สำหรับการเขียนแอปพลิเคชันไทล์ประสิทธิภาพสูง ไทล์เหล่านี้สามารถข้ามข้อจำกัดของเครือข่ายเคอร์เนลแบบซ็อกเก็ตได้โดยการใช้ประโยชน์จาก AF_XDP ซึ่งเป็นตระกูลที่อยู่ที่ได้รับการปรับให้เหมาะสมสำหรับการประมวลผลแพ็กเก็ตประสิทธิภาพสูง ใช้ AF_XDP เพื่อเปิดใช้งาน Firedancer เพื่ออ่านข้อมูลโดยตรงจากบัฟเฟอร์อินเทอร์เฟซเครือข่าย
ระบบไทล์นี้ใช้แนวคิดการประมวลผลประสิทธิภาพสูงต่างๆ ภายในสแต็ก Firedancer รวมถึง:
NUMA Aware - NUMA (การเข้าถึงหน่วยความจำที่ไม่สม่ำเสมอ) คือการออกแบบหน่วยความจำคอมพิวเตอร์ที่โปรเซสเซอร์เข้าถึงหน่วยความจำของตัวเองได้เร็วกว่าการเข้าถึงหน่วยความจำที่เกี่ยวข้องกับโปรเซสเซอร์อื่นๆ สำหรับ Firedancer การรับทราบ NUMA หมายความว่าไคลเอ็นต์สามารถจัดการหน่วยความจำได้อย่างมีประสิทธิภาพในการกำหนดค่าแบบหลายโปรเซสเซอร์ นี่เป็นสิ่งสำคัญสำหรับการประมวลผลปริมาณธุรกรรมสูง เนื่องจากจะช่วยปรับการใช้ทรัพยากรฮาร์ดแวร์ที่มีอยู่ให้เหมาะสม
ตำแหน่งแคช - ตำแหน่งแคชหมายถึงการใช้ข้อมูลที่จัดเก็บไว้ในแคชใกล้กับโปรเซสเซอร์ โดยปกติจะเป็นตัวแปรหนึ่งของท้องถิ่นชั่วคราว (เช่น ข้อมูลที่เข้าถึงล่าสุด) ใน Firedancer การมุ่งเน้นไปที่ตำแหน่งแคชหมายความว่าได้รับการออกแบบมาเพื่อจัดการข้อมูลเครือข่ายในขณะที่ลดเวลาแฝงและเพิ่มความเร็วสูงสุด
การทำงานพร้อมกันแบบไม่มีการล็อค - การทำงานพร้อมกันแบบไม่มีการล็อคหมายถึงการออกแบบอัลกอริธึมที่ไม่ต้องใช้กลไกการล็อค (เช่น mutex) เพื่อจัดการการทำงานที่เกิดขึ้นพร้อมกัน สำหรับ Firedancer การทำงานพร้อมกันแบบไม่มีการล็อคช่วยให้การดำเนินงานเครือข่ายหลายรายการสามารถดำเนินการแบบขนานได้โดยไม่มีความล่าช้าเนื่องจากการล็อค การทำงานพร้อมกันแบบไร้การล็อคช่วยเพิ่มความสามารถของ Firedancer ในการจัดการธุรกรรมจำนวนมากพร้อมกัน
ขนาดหน้าใหญ่ - การใช้ขนาดหน้าใหญ่ในการจัดการหน่วยความจำช่วยในการประมวลผลชุดข้อมูล ลดการค้นหาตารางหน้า และการกระจายตัวของหน่วยความจำที่อาจเกิดขึ้น สำหรับ Firedancer นี่หมายถึงประสิทธิภาพในการจัดการหน่วยความจำที่ดีขึ้น สิ่งนี้มีประโยชน์มากสำหรับการประมวลผลข้อมูลเครือข่ายจำนวนมาก
สร้างระบบ
ระบบการสร้างของ Firedancer เป็นไปตามชุดหลักการชี้นำเพื่อให้มั่นใจในความน่าเชื่อถือและความสม่ำเสมอ โดยเน้นการลดการพึ่งพาภายนอกให้เหลือน้อยที่สุด และถือว่าเครื่องมือทั้งหมดที่เกี่ยวข้องกับกระบวนการสร้างเป็นการพึ่งพา ซึ่งรวมถึงการปักหมุดทุกการขึ้นต่อกัน (รวมถึงคอมไพเลอร์) ให้เป็นเวอร์ชันที่แน่นอน ลักษณะสำคัญของระบบนี้คือการแยกสภาพแวดล้อมระหว่างขั้นตอนการสร้าง การแยกสภาพแวดล้อมช่วยเพิ่มความสามารถในการพกพาเนื่องจากกระบวนการสร้างไม่ได้รับผลกระทบจากสภาพแวดล้อมของระบบ
เหตุใด Firedancer จึงเร็วกว่า
ความเท่าเทียมของข้อมูลขั้นสูง
Firedancer ใช้ประโยชน์จากข้อมูลแบบขนานขั้นสูงที่มีอยู่ในโปรเซสเซอร์สมัยใหม่ในงานการเข้ารหัส เช่น การตรวจสอบลายเซ็น ED 25519 CPU สมัยใหม่มีคำสั่ง Single Instruction Multiple Data (SIMD) สำหรับการประมวลผลองค์ประกอบข้อมูลหลายรายการพร้อมกัน รวมถึงความสามารถในการเพิ่มประสิทธิภาพการทำงานหลายคำสั่งต่อรอบ CPU มักจะมีประสิทธิภาพมากกว่าในด้านพื้นที่ เวลา และพลังงานในการใช้งานคำสั่งเดียวบนอาร์เรย์หรือเวกเตอร์ขององค์ประกอบข้อมูลในแบบคู่ขนาน ในที่นี้ การปรับปรุงการประมวลผลข้อมูลแบบขนานสามารถครอบงำการปรับปรุงปริมาณงานเมื่อเปรียบเทียบกับการปรับปรุงความเร็วการประมวลผลเพียงอย่างเดียว
ด้านหนึ่งที่ Firedancer ใช้ข้อมูลแบบขนานคือการเพิ่มประสิทธิภาพการตรวจสอบลายเซ็นด้วยคอมพิวเตอร์ วิธีการนี้ช่วยให้สามารถประมวลผลองค์ประกอบข้อมูลในอาร์เรย์หรือเวกเตอร์พร้อมกันเพื่อเพิ่มปริมาณงานและลดเวลาแฝงให้เหลือน้อยที่สุด แกนหลักของการดำเนินการ ED 25519 คือการดำเนินการภาคสนามของ Galois เลขคณิตรูปแบบนี้เหมาะอย่างยิ่งสำหรับอัลกอริธึมการเข้ารหัสและการคำนวณไบนารี ในสาขา Galois การดำเนินการต่างๆ เช่น การบวก การลบ การคูณ และการหาร ถูกกำหนดโดยธรรมชาติของระบบคอมพิวเตอร์แบบไบนารี นี่คือตัวอย่างของฟิลด์ Galois ที่กำหนดโดย 2^3:

ปัญหาเดียวคือ ED 25519 ใช้ฟิลด์ Galois ที่กำหนดโดย 2^(255-19) คุณสามารถนึกถึงองค์ประกอบโดเมนเป็นตัวเลขตั้งแต่ 0 ถึง 2^(255-19) การดำเนินการพื้นฐานมีดังนี้:

การบวก การลบ และการคูณนั้นแทบจะใช้คณิตศาสตร์ได้ 256 _t (เช่น การคำนวณโดยใช้จำนวนเต็มที่ไม่ได้ลงนามซึ่งค่าสูงสุดคือ 2^(256-1)) การคำนวณแบบแบ่งส่วนนั้นท้าทาย CPU และ GPU ทั่วไปไม่รองรับคณิตศาสตร์ uint 256 _t ไม่ต้องพูดถึงเลย เกือบจะไม่มีคณิตศาสตร์ 256 _t ไม่ต้องพูดถึงการหารที่ยากอย่างไม่น่าเชื่อ การใช้คณิตศาสตร์นี้และการทำให้มันมีประสิทธิภาพเป็นประเด็นสำคัญ ขึ้นอยู่กับว่าเราสามารถจำลองคณิตศาสตร์นี้ได้ดีแค่ไหน

การใช้งาน Firedancer แบ่งการดำเนินการทางคณิตศาสตร์โดยการจัดการตัวเลขได้อย่างยืดหยุ่นมากขึ้น หากเราใช้หลักการของการหารยาวและการคูณแบบธรรมดา โดยนำตัวเลขจากคอลัมน์หนึ่งไปยังอีกคอลัมน์หนึ่ง เราก็จะสามารถประมวลผลคอลัมน์ต่างๆ แบบขนานได้ วิธีที่เร็วที่สุดในการจำลองคณิตศาสตร์นี้คือ การแสดง uint 256 _t เป็นตัวเลข 43 บิต 6 ตัว โดยมี carry 9 บิต ซึ่งอนุญาตให้ดำเนินการ 64 บิตที่มีอยู่บน CPU ในขณะที่ให้พื้นที่เพียงพอสำหรับดำเนินการบิต การจัดเรียงตัวเลขนี้ช่วยลดความจำเป็นในการแพร่กระจายการพกพาบ่อยครั้ง และทำให้ Firedancer สามารถจัดการตัวเลขจำนวนมากได้อย่างมีประสิทธิภาพมากขึ้น
การใช้งานนี้ใช้ประโยชน์จากความเท่าเทียมของข้อมูลโดยจัดระเบียบการคำนวณทางคณิตศาสตร์ใหม่ให้เป็นผลรวมของคอลัมน์ที่ขนานกัน การประมวลผลคอลัมน์แบบขนานสามารถเร่งการคำนวณโดยรวมได้ เนื่องจากจะเปลี่ยนงานที่อาจเป็นปัญหาคอขวดตามลำดับให้เป็นงานแบบขนานได้ Firedancer ยังใช้ชุดคำสั่งแบบเวกเตอร์ เช่น AVX 512 และส่วนขยาย IFMA (AVX 512-IFMA) ชุดคำสั่งเหล่านี้ช่วยให้สามารถประมวลผลเลขคณิตสนาม Galois ที่อธิบายไว้ข้างต้น ส่งผลให้ความเร็วและประสิทธิภาพเพิ่มขึ้น
การใช้งานการเร่งความเร็ว AVX 512 ของ Firedancer นั้นรวดเร็วมาก บนเซิร์ฟเวอร์คอร์ Icelake 2.3 GHz เดี่ยว ประสิทธิภาพสัญญาณนาฬิกาต่อคอร์นั้นมากกว่าสองเท่าของประสิทธิภาพการสาธิต Breakpoint ในปี 2022 การใช้งานประกอบด้วยการใช้ช่องสัญญาณเวกเตอร์ 100% และความเท่าเทียมของข้อมูลขนาดใหญ่ นี่เป็นอีกหนึ่งการสาธิตที่ยอดเยี่ยมจากทีม Firedancer ที่ด้วยความหน่วงของ lightspeed ทำให้การทำงานแบบคู่ขนานอิสระในเวลาเดียวกันได้ง่ายกว่าการทำทีละอย่าง แม้จะใช้งานฮาร์ดแวร์แบบกำหนดเองก็ตาม
เปิดใช้งานการสื่อสารเครือข่ายความเร็วสูงด้วย FPGA
CPU สามารถรองรับการตรวจสอบลายเซ็นได้ประมาณ 30,000 รายการต่อวินาทีต่อคอร์ แม้ว่าพวกเขาจะเป็นตัวเลือกที่ประหยัดพลังงาน แต่ก็มีข้อบกพร่องในการทำงานขนาดใหญ่ ข้อจำกัดนี้เกิดจากวิธีการประมวลผลตามลำดับ GPU ช่วยเพิ่มพลังการประมวลผลนี้เป็นประมาณ 1 ล้านการตรวจสอบต่อวินาทีต่อคอร์ อย่างไรก็ตาม อุปกรณ์เหล่านี้กินไฟประมาณ 300 W ต่อหน่วย และมีเวลาแฝงโดยธรรมชาติเนื่องจากการประมวลผลเป็นชุด
FPGA กลายเป็นตัวเลือกที่ดีกว่า ตรงกับปริมาณงานของ GPU แต่ใช้พลังงานน้อยกว่ามาก ประมาณ 50 W ต่อ FPGA เวลาแฝงยังต่ำกว่าเวลาแฝงสิบมิลลิวินาทีของ GPU FPGA มอบโซลูชันการประมวลผลแบบเรียลไทม์ที่ตอบสนองมากขึ้นด้วยเวลาแฝงประมาณ 200 ไมโครวินาที ต่างจากการประมวลผลแบบแบตช์ของ GPU ตรงที่ FPGA ใน Firedancer ประมวลผลแต่ละธุรกรรมแยกกันในรูปแบบการสตรีม ผลลัพธ์ของการใช้ FPGA ของ Firedancer ก็คือ 8 FPGA สามารถประมวลผลลายเซ็นได้ 8 ล้านลายเซ็นต่อวินาที ในขณะที่ใช้พลังงานน้อยกว่า 400 W
ทีมงานสาธิตกระบวนการตรวจสอบลายเซ็น ED 25519 ของ Firedancer ที่ Breakpoint 2022 กระบวนการนี้เกี่ยวข้องกับหลายขั้นตอน รวมถึงการคำนวณ SHA-512 ในไปป์ไลน์ RTL ที่แท้จริง และการตรวจสอบและการคำนวณต่างๆ ในไปป์ไลน์ตัวประมวลผล ECC-CPU แบบกำหนดเอง โดยพื้นฐานแล้ว ทีม Firedancer เขียนคอมไพเลอร์และแอสเซมเบลอร์สำหรับโปรเซสเซอร์แบบกำหนดเอง นำโค้ด Python จาก RFC (ขอความคิดเห็น) ใช้ตัวดำเนินการโอเวอร์โหลดอ็อบเจ็กต์เพื่อสร้างโค้ดเครื่อง จากนั้นใส่โค้ดเครื่องใน ECC - ด้านบนของ ซีพียู

โดยเฉพาะอย่างยิ่ง Firedancer ใช้รูปแบบฟอร์มแฟกเตอร์ของ AWS Accelerators เพื่อสร้างสมดุลระหว่างความแข็งแกร่งและการเชื่อมต่อเครือข่าย ตัวเลือกนี้ช่วยแก้ปัญหาความท้าทายที่เกี่ยวข้องกับการเชื่อมต่อเครือข่ายโดยตรง ซึ่งเป็นคุณลักษณะที่ผู้ให้บริการระบบคลาวด์มักจำกัด ด้วยตัวเลือกนี้ Firedancer ช่วยให้มั่นใจได้ว่าความสามารถขั้นสูงสามารถบูรณาการได้อย่างราบรื่นภายในข้อจำกัดของโครงสร้างพื้นฐานระบบคลาวด์

เราต้องตระหนักว่าการดำเนินการที่แตกต่างกันต้องใช้พื้นที่ทางกายภาพจริง ไม่ใช่แค่พื้นที่ข้อมูลเชิงแนวคิดเท่านั้น Firedancer ทำงานโดยการจัดวางตำแหน่งของส่วนประกอบทางกายภาพอย่างมีกลยุทธ์เพื่อให้มีขนาดกะทัดรัดและนำกลับมาใช้ใหม่ได้ การกำหนดค่านี้ทำให้ Firedancer สามารถเพิ่มประสิทธิภาพของ FPGA ได้สูงสุด โดยบรรลุธุรกรรม 8 ล้านรายการต่อวินาทีโดยใช้ FPGA อายุ 7 ปีบนเครื่องอายุ 8 ปี
ความท้าทายพื้นฐานในการสื่อสารผ่านเครือข่ายคือการเผยแพร่ธุรกรรมใหม่ทั่วโลก
ลักษณะแบบจุดต่อจุดของอินเทอร์เน็ต แบนด์วิธที่จำกัด และปัญหาความล่าช้าจำกัดความเป็นไปได้ของวิธีการแบบเดิมๆ เช่น การแพร่ภาพโดยตรงโดยใช้เครือข่าย การกระจายข้อมูลในโครงสร้างวงแหวนหรือโครงสร้างต้นไม้ช่วยแก้ปัญหาเหล่านี้ได้บางส่วน แต่แพ็กเก็ตอาจสูญหายระหว่างการส่งข้อมูล
การเข้ารหัส Reed-Solomon เป็นวิธีแก้ไขปัญหาเหล่านี้ที่แนะนำ โดยแนะนำความซ้ำซ้อนในการส่งข้อมูล (เช่น ข้อมูลพาริตี) เพื่อกู้คืนแพ็กเก็ตที่สูญหาย แนวคิดพื้นฐานคือจุดสองจุดสามารถกำหนดเส้นตรงได้ และจุดสองจุดใดๆ บนเส้นตรงนี้สามารถสร้างจุดข้อมูลดั้งเดิมขึ้นมาใหม่ได้ ด้วยการสร้างพหุนามตามจุดข้อมูลและกระจายจุดต่างๆ ของฟังก์ชันนี้ไปยังแพ็กเก็ตที่แยกจากกัน ข้อมูลต้นฉบับจะถูกสร้างขึ้นใหม่ได้ตราบใดที่ผู้รับได้รับแพ็กเก็ตอย่างน้อยสองแพ็กเก็ต
เราสร้างพหุนามเนื่องจากการใช้สูตรดั้งเดิมสำหรับจุดบนเส้นตรง (y = mx + b) เป็นวิธีการคำนวณที่ช้า Firedancer ใช้พหุนาม Lagrangian (วิธีการเฉพาะสำหรับการสร้างพหุนาม) เพื่อเร่งความเร็ว ช่วยให้การสร้างพหุนามที่จำเป็นสำหรับการเข้ารหัสรีด-โซโลมอนง่ายขึ้น นอกจากนี้ยังแปลงกระบวนการเป็นการคูณเมทริกซ์-เวกเตอร์ที่มีประสิทธิภาพมากขึ้นสำหรับพหุนามลำดับที่สูงกว่า เมทริกซ์นี้มีโครงสร้างสูง โดยมีรูปแบบที่เกิดขึ้นซ้ำในลักษณะที่แถวแรกของรูปแบบกำหนดได้อย่างสมบูรณ์ โครงสร้างนี้หมายความว่ามีวิธีการคำนวณการคูณที่รวดเร็วยิ่งขึ้น Firedancer ใช้วิธี O(n log n) ซึ่งอธิบายไว้ในบทความปี 2559 เกี่ยวกับวิธีใช้เมทริกซ์นี้สำหรับการคูณ ซึ่งเป็นวิธีทางทฤษฎีที่เร็วที่สุดของการเข้ารหัส Reed-Solomon ที่รู้จักกันในปัจจุบัน ผลลัพธ์ที่ได้คือวิธีที่มีประสิทธิภาพสูงในการคำนวณข้อมูลพาริตีเมื่อเปรียบเทียบกับวิธีการแบบเดิม:
ความเร็วการเข้ารหัส RS มากกว่า 120 Gbps ต่อคอร์;
ความเร็วในการถอดรหัส RS สูงถึง 50 Gbps ต่อคอร์
หน่วยวัดเหล่านี้เปรียบเทียบกับการเข้ารหัส RS ปัจจุบัน ~8 Gbps/core (rust-rse)
ด้วยการใช้วิธีการเข้ารหัส Reed-Solomon ที่ได้รับการปรับปรุงนี้ Firedancer สามารถคำนวณข้อมูลพาริตีได้เร็วกว่าวิธีดั้งเดิมถึง 14 เท่า สิ่งนี้ทำให้กระบวนการเข้ารหัสและถอดรหัสข้อมูลรวดเร็วและเชื่อถือได้ ซึ่งมีความสำคัญอย่างยิ่งต่อการรักษาปริมาณงานที่สูงและความหน่วงต่ำทั่วโลก
Firedancer อยู่อย่างปลอดภัยได้อย่างไร?
โอกาส
เครื่องมือตรวจสอบทั้งหมดในปัจจุบันใช้ซอฟต์แวร์ที่อิงจากไคลเอนต์เครื่องมือตรวจสอบดั้งเดิม หาก Firedancer แตกต่างจากลูกค้าของ Solana Labs Firedancer ก็สามารถปรับปรุงลูกค้าของ Solana และความหลากหลายของห่วงโซ่อุปทานได้ ซึ่งรวมถึงการใช้การพึ่งพาที่คล้ายกันและการใช้ Rust เพื่อพัฒนาลูกค้าของพวกเขา
ไคลเอ็นต์เครื่องมือตรวจสอบ Solana Labs และ Jito ทำงานเป็นกระบวนการที่แยกกัน การเพิ่มความปลอดภัยให้กับแอปพลิเคชันขนาดใหญ่เป็นเรื่องยากเมื่อใช้งานจริง เครื่องมือตรวจสอบที่ใช้ไคลเอ็นต์เหล่านี้จะต้องปิดตัวลงเพื่ออัปเกรดความปลอดภัยเป็น Pure Rust ทันที ทีม Firedancer สามารถพัฒนาลูกค้าใหม่ด้วยสถาปัตยกรรมความปลอดภัยในตัวตั้งแต่เริ่มต้น
Firedancer ยังมีข้อได้เปรียบในการเรียนรู้จากประสบการณ์ในอดีต Solana Labs พัฒนาไคลเอนต์เครื่องมือตรวจสอบความถูกต้องในสภาพแวดล้อมการเริ่มต้นระบบ สภาพแวดล้อมที่เปลี่ยนแปลงไปอย่างรวดเร็วนี้หมายความว่าห้องแล็บจำเป็นต้องดำเนินการอย่างรวดเร็วเพื่อออกสู่ตลาดอย่างรวดเร็ว สิ่งนี้ทำให้แนวโน้มการพัฒนาในอนาคตของพวกเขาน่ากังวล ทีม Firedancer สามารถดูว่า Labs ทำอะไรได้บ้าง และทีมใดในเครือข่ายอื่นๆ ได้ทำ และถามว่าพวกเขาจะทำอะไรที่แตกต่างออกไปหากพวกเขาสามารถพัฒนาไคลเอนต์ตรวจสอบตั้งแต่เริ่มต้นได้
ท้าทาย
แม้ว่าจะแตกต่างจากไคลเอนต์ของ Solana Labs แต่ Firedancer จะต้องจำลองพฤติกรรมของมันอย่างใกล้ชิด การไม่ทำเช่นนี้อาจทำให้เกิดข้อผิดพลาดด้านความสอดคล้อง และกลายเป็นความเสี่ยงด้านความปลอดภัย ปัญหานี้แก้ไขได้ด้วยการกระตุ้นส่วนแบ่งบางส่วนให้ทำงานบนไคลเอนต์ทั้งสอง ส่งผลให้ส่วนแบ่งรวมของ Firedancer ต่ำกว่า 33% ของส่วนแบ่งทั้งหมดเป็นระยะเวลานานขึ้น ไม่ว่าทีม Firedancer จะต้องปรับใช้ชุดฟีเจอร์ทั้งหมดของโปรโตคอล ไม่ว่าจะยากหรือปลอดภัยแค่ไหนก็ตาม ทุกอย่างจะต้องสอดคล้องกับ Firedancer ดังนั้น ทีมจึงไม่สามารถพัฒนาโค้ดแบบแยกส่วนได้ และต้องตรวจสอบกับความสามารถของไคลเอ็นต์ Labs สิ่งนี้รุนแรงขึ้นเนื่องจากการขาดข้อกำหนดและเอกสาร ซึ่งหมายความว่า Firedancer จะต้องแนะนำโครงสร้างที่ไม่มีประสิทธิภาพในโปรโตคอล
ทีม Firedancer จะต้องทราบด้วยว่าพวกเขากำลังพัฒนาลูกค้าใหม่ใน C ภาษา C ไม่ได้รับประกันความปลอดภัยของหน่วยความจำเหมือนกับภาษาอย่าง Rust เป้าหมายหลักของโค้ดเบส Firedancer คือการลดการเกิดและผลกระทบของช่องโหว่ด้านความปลอดภัยของหน่วยความจำ เป้าหมายนี้ต้องการความสนใจเป็นพิเศษเนื่องจาก Firedancer เป็นโครงการที่ดำเนินไปอย่างรวดเร็ว Firedancer จะต้องหาวิธีรักษาความเร็วในการพัฒนาโดยไม่ทำให้เกิดข้อบกพร่องดังกล่าว แซนด์บ็อกซ์ของระบบปฏิบัติการคือแนวทางปฏิบัติในการแยกไทล์ออกจากระบบปฏิบัติการ ไทล์ได้รับอนุญาตให้เข้าถึงทรัพยากรและทำการเรียกระบบที่จำเป็นสำหรับการทำงานเท่านั้น เนื่องจาก Tile มีวัตถุประสงค์ที่กำหนดไว้อย่างชัดเจน และทีม Firedancer พัฒนาโค้ดฝั่งไคลเอ็นต์เป็นส่วนใหญ่ การอนุญาตของ Tile จึงถูกตัดออกไปตามหลักการของสิทธิ์ขั้นต่ำสุด
ใช้การออกแบบการป้องกันเชิงลึก

ซอฟต์แวร์ทั้งหมดมีช่องโหว่ด้านความปลอดภัยในบางจุด เริ่มต้นจากสมมติฐานที่ว่าซอฟต์แวร์จะมีข้อบกพร่อง Firedancer เลือกที่จะจำกัดผลกระทบที่อาจเกิดขึ้นจากช่องโหว่ใดๆ แนวทางนี้เรียกว่าการป้องกันเชิงลึก การป้องกันเชิงลึกเป็นกลยุทธ์ที่ใช้มาตรการรักษาความปลอดภัยที่หลากหลายเพื่อปกป้องทรัพย์สิน หากผู้โจมตีโจมตีส่วนหนึ่งของระบบ จะมีมาตรการเพิ่มเติมเพื่อป้องกันภัยคุกคามไม่ให้ส่งผลกระทบต่อทั้งระบบ
Firedancer ได้รับการออกแบบมาเพื่อลดความเสี่ยงระหว่างช่องโหว่และขั้นตอนการแสวงหาประโยชน์ ตัวอย่างเช่น ช่องโหว่ด้านความปลอดภัยของหน่วยความจำเป็นเรื่องยากสำหรับผู้โจมตีที่จะโจมตี เนื่องจากการป้องกันการโจมตีประเภทนี้เป็นปัญหาที่ได้รับการวิจัยมาอย่างดี ในภาษา C การวิจัยอย่างเข้มข้นเกี่ยวกับความปลอดภัยของหน่วยความจำนำไปสู่ชุดเทคนิคการเสริมความแข็งแกร่งและคุณสมบัติคอมไพเลอร์ที่ทีมใช้ใน Firedancer แม้ว่าผู้โจมตีจะสามารถหลีกเลี่ยงแนวทางปฏิบัติที่ดีที่สุดในอุตสาหกรรมได้ แต่ก็เป็นเรื่องยากที่จะประนีประนอมระบบโดยการใช้ประโยชน์จากช่องโหว่ นี่เป็นเพราะการแยกไทล์และการมีอยู่ของระบบปฏิบัติการแซนด์บ็อกซ์

การแยกกระเบื้องเป็นผลมาจากสถาปัตยกรรมแบบคู่ขนานของ Firedancer เนื่องจากแต่ละ Tile ทำงานในกระบวนการ Linux ของตัวเอง จึงมีจุดประสงค์เดียวที่ชัดเจน ตัวอย่างเช่น QUIC Tile มีหน้าที่รับผิดชอบในการจัดการการรับส่งข้อมูล QUIC ขาเข้าและการส่งต่อธุรกรรมที่ห่อหุ้มไปยังไทล์การตรวจสอบ ไทล์การตรวจสอบจะรับผิดชอบในการตรวจสอบลายเซ็น การสื่อสารระหว่าง QUIC Tile และไทล์การตรวจสอบจะทำผ่านอินเทอร์เฟซหน่วยความจำที่ใช้ร่วมกัน (เช่น กระบวนการ Linux สามารถส่งข้อมูลระหว่างกันได้) อินเทอร์เฟซหน่วยความจำที่ใช้ร่วมกันระหว่างสองไทล์ทำหน้าที่เป็นขอบเขตการแยก หากไทล์ QUIC มีจุดบกพร่องที่ทำให้ผู้โจมตีสามารถรันโค้ดโดยอำเภอใจเมื่อประมวลผลแพ็คเก็ต QUIC ที่เป็นอันตราย มันจะไม่ส่งผลกระทบต่อไทล์อื่น ๆ ในกระบวนการเดียวจะส่งผลให้เกิดการประนีประนอมทันที หากผู้โจมตีใช้ประโยชน์จากช่องโหว่นี้เพื่อกำหนดเป้าหมายไปยังผู้ตรวจสอบหลายราย พวกเขาอาจก่อให้เกิดอันตรายต่อเครือข่ายทั้งหมดได้ ผู้โจมตีสามารถลดประสิทธิภาพของไทล์ QUIC ได้ แต่การออกแบบของ Firedancer จำกัดไว้แค่ไทล์ QUIC เท่านั้น

แซนด์บ็อกซ์ของระบบปฏิบัติการคือแนวทางปฏิบัติในการแยกไทล์ออกจากระบบปฏิบัติการ ไทล์ได้รับอนุญาตให้เข้าถึงทรัพยากรและทำการเรียกระบบที่จำเป็นสำหรับการทำงานเท่านั้น เนื่องจาก Tile มีวัตถุประสงค์ที่กำหนดไว้อย่างชัดเจน และโค้ดเกือบทั้งหมดได้รับการพัฒนาโดยทีม Firedancer การอนุญาตของ Tile จึงถูกตัดให้เหลือน้อยที่สุดตามหลักการของสิทธิ์ขั้นต่ำ ไทล์ถูกวางไว้ในเนมสเปซ Linux ของตัวเอง ทำให้มีมุมมองที่จำกัดของระบบ มุมมองที่แคบนี้ป้องกันไม่ให้ไทล์เข้าถึงระบบไฟล์ เครือข่าย และกระบวนการอื่น ๆ ที่ทำงานบนระบบเดียวกันส่วนใหญ่ เนมสเปซมีขอบเขตการรักษาความปลอดภัยเป็นอันดับแรก อย่างไรก็ตาม การแยกนี้ยังคงสามารถข้ามได้หากผู้โจมตีมีช่องโหว่ของเคอร์เนลที่ยกระดับสิทธิ์ อินเทอร์เฟซการเรียกของระบบเป็นเวกเตอร์การโจมตีสุดท้ายในเคอร์เนลที่สามารถเข้าถึงได้จากไทล์ เพื่อป้องกันสิ่งนี้ Firedancer ใช้ seccomp-BPF เพื่อกรองการเรียกของระบบก่อนที่เคอร์เนลจะประมวลผล ไคลเอนต์สามารถจำกัดไทล์ให้อยู่ในชุดการเรียกของระบบที่เลือกได้ ในบางกรณี คุณสามารถกรองพารามิเตอร์ของการเรียกของระบบได้ นี่เป็นสิ่งสำคัญเนื่องจาก Firedancer ทำให้แน่ใจว่าการเรียกของระบบการอ่านและเขียนจะทำงานบนตัวอธิบายไฟล์ที่ระบุเท่านั้น
ใช้แผนการรักษาความปลอดภัยแบบฝังตัว
ในระหว่างการพัฒนา Firedancer เราให้ความสำคัญกับการฝังขั้นตอนความปลอดภัยที่ครอบคลุมในทุกขั้นตอน โปรแกรมความปลอดภัยของลูกค้าเป็นผลมาจากการทำงานร่วมกันอย่างต่อเนื่องระหว่างทีมพัฒนาและทีมรักษาความปลอดภัย ซึ่งกำหนดมาตรฐานใหม่สำหรับเทคโนโลยีบล็อกเชนที่ปลอดภัย
กระบวนการเริ่มต้นด้วยโครงสร้างพื้นฐานการทดสอบฟัซแบบบริการตนเอง การทดสอบ Fuzz เป็นเทคนิคที่ตรวจจับข้อขัดข้องหรือเงื่อนไขข้อผิดพลาดที่บ่งบอกถึงช่องโหว่โดยอัตโนมัติ การทดสอบ Fuzz ดำเนินการโดยการทดสอบภาวะวิกฤตทุกองค์ประกอบที่ยอมรับอินพุตของผู้ใช้ที่ไม่น่าเชื่อถือ รวมถึงอินเทอร์เฟซ P2P (parser) และเครื่องเสมือน SBPF OSS-Fuzz รักษาความครอบคลุมของฟัซอย่างต่อเนื่องระหว่างการเปลี่ยนแปลงโค้ด ทีมรักษาความปลอดภัยยังตั้งค่าอินสแตนซ์ ClusterFuzzer เฉพาะสำหรับการทดสอบฟัซที่มีแนวทางครอบคลุมอย่างต่อเนื่อง นักพัฒนาและวิศวกรด้านความปลอดภัยยังจัดเตรียมเครื่องมือสำหรับการทดสอบแบบคลุมเครือ (นั่นคือ การทดสอบหน่วยกับส่วนประกอบที่มีความสำคัญต่อความปลอดภัยเวอร์ชันพิเศษ) นักพัฒนายังสามารถสนับสนุนการทดสอบ fuzz ใหม่ ซึ่งจะได้รับและทดสอบโดยอัตโนมัติ เป้าหมายคือการทดสอบทุกส่วนอย่างคลุมเครือก่อนที่จะก้าวไปสู่ขั้นต่อไป
การตรวจสอบโค้ดภายในช่วยเปิดเผยช่องโหว่ที่เครื่องมืออาจพลาด ในขั้นตอนนี้ จุดเน้นอยู่ที่ส่วนประกอบที่มีความเสี่ยงสูงและมีผลกระทบสูง ขั้นตอนนี้เป็นกลไกผลตอบรับที่ให้ผลตอบรับไปยังส่วนอื่นๆ ของโปรแกรมความปลอดภัย ทีมงานใช้บทเรียนทั้งหมดที่เรียนรู้ในการทบทวนเหล่านี้เพื่อปรับปรุงความครอบคลุมของการทดสอบแบบคลุมเครือ แนะนำการตรวจสอบการวิเคราะห์แบบคงที่ใหม่สำหรับประเภทช่องโหว่เฉพาะ และแม้แต่การนำการปรับโครงสร้างโค้ดขนาดใหญ่มาใช้เพื่อแยกแยะเวกเตอร์การโจมตีที่ซับซ้อน การตรวจสอบความปลอดภัยจากภายนอกจะได้รับการเสริมโดยผู้เชี่ยวชาญชั้นนำของอุตสาหกรรมและโปรแกรมรางวัลจุดบกพร่องที่ใช้งานอยู่ ทั้งก่อนและหลังการเปิดตัว
Firedancer ยังผ่านการทดสอบความเครียดอย่างกว้างขวางในเครือข่ายการทดสอบต่างๆ เครือข่ายทดสอบเหล่านี้จะเผชิญกับการโจมตีและความล้มเหลวต่างๆ เช่น การทำสำเนาโหนด การเชื่อมโยงเครือข่ายล้มเหลว การฟลัดแพ็กเก็ต และการละเมิดฉันทามติ โหลดที่เครือข่ายเหล่านี้ทนทานเกินกว่าสิ่งที่เป็นจริงบนเมนเน็ต
ดังนั้นจึงเกิดคำถามว่า สถานะปัจจุบันของ Firedancer คืออะไร?
สถานะปัจจุบันของ Firedancer คืออะไร และ Frankendancer คืออะไร
ทีม Firedancer กำลังค่อยๆ พัฒนา Firedancer เพื่อทำให้ไคลเอ็นต์ตัวตรวจสอบความถูกต้องเป็นแบบโมดูลาร์ ซึ่งสอดคล้องกับเป้าหมายด้านเอกสารและมาตรฐาน แนวทางนี้ช่วยให้แน่ใจว่า Firedancer ติดตามการพัฒนาล่าสุดใน Solana อยู่เสมอ สิ่งนี้นำไปสู่การสร้าง Frankendancer Frankendancer เป็นโมเดลไคลเอนต์แบบไฮบริดที่ทีม Firedancer รวมส่วนประกอบที่พัฒนาแล้วเข้ากับโครงสร้างพื้นฐานไคลเอนต์ตัวตรวจสอบที่มีอยู่ กระบวนการพัฒนานี้ช่วยให้สามารถปรับปรุงและทดสอบคุณสมบัติใหม่เพิ่มเติมได้
Frankendancer ก็เหมือนกับการวางรถสปอร์ตไว้กลางการจราจร ประสิทธิภาพจะดีขึ้นอย่างต่อเนื่องเมื่อมีการพัฒนาส่วนประกอบต่างๆ มากขึ้นและปัญหาคอขวดจะหมดไป กระบวนการพัฒนาแบบแยกส่วนนี้เอื้อต่อสภาพแวดล้อมการตรวจสอบที่ปรับแต่งได้และยืดหยุ่น ที่นี่ นักพัฒนาสามารถแก้ไขหรือเปลี่ยนส่วนประกอบเฉพาะในไคลเอนต์เครื่องมือตรวจสอบได้ตามความต้องการ
สิ่งที่ทำงานจริง

Frankendancer ใช้ฟังก์ชันการทำงานของเครือข่ายทั้งหมดของเครื่องมือตรวจสอบ Solana:
ขาเข้า: QUIC, TPU, Sigverify, Dedup
ขาออก: การบรรจุแบบบล็อก การสร้าง/ลงนาม/ส่งชิ้นส่วน (กังหัน)
Frankendancer ใช้โค้ดเครือข่าย C ประสิทธิภาพสูงของ Firedancer เพิ่มเติมจากรันไทม์และโค้ดฉันทามติของ Solana Labs
การออกแบบสถาปัตยกรรมของ Frankendancer มุ่งเน้นไปที่การปรับแต่งฮาร์ดแวร์ระดับไฮเอนด์ แม้ว่าจะรองรับโฮสต์คลาวด์ระดับล่างที่ใช้ระบบปฏิบัติการ Linux มาตรฐาน แต่ทีม Firedancer กำลังเพิ่มประสิทธิภาพ Frankendancer สำหรับเซิร์ฟเวอร์ที่มีจำนวนคอร์สูง เป้าหมายระยะยาวคือการใช้ประโยชน์จากทรัพยากรฮาร์ดแวร์ที่มีอยู่ในระบบคลาวด์เพื่อปรับปรุงประสิทธิภาพและประสิทธิภาพ ไคลเอนต์รองรับการเชื่อมต่อหลายรายการพร้อมกัน การเร่งความเร็วด้วยฮาร์ดแวร์ การควบคุมการรับส่งข้อมูลแบบสุ่มสำหรับการกระจายโหลด (รับประกันการกระจายการรับส่งข้อมูลเครือข่ายที่สม่ำเสมอ) และขอบเขตกระบวนการที่หลากหลายเพื่อเพิ่มความปลอดภัยระหว่างส่วนประกอบ
ประสิทธิภาพทางเทคนิคคือรากฐานสำคัญของ Frankendancer ระบบหลีกเลี่ยงการจัดสรรหน่วยความจำและการดำเนินการแบบอะตอมมิกบนพาธวิกฤติ และการจัดสรรทั้งหมดจะถูกปรับให้เหมาะสม NUMA เมื่อเริ่มต้น การออกแบบนี้ช่วยให้มั่นใจได้ถึงประสิทธิภาพและประสิทธิภาพสูงสุด นอกจากนี้ ความสามารถในการตรวจสอบส่วนประกอบของระบบทั้งแบบอะซิงโครนัสและจากระยะไกล รวมถึงการจัดการไทล์ที่ยืดหยุ่น (การสตาร์ท หยุด และรีสตาร์ทแบบอะซิงโครนัส) ช่วยเพิ่มความแข็งแกร่งและความสามารถในการปรับตัวให้กับระบบอีกชั้นหนึ่ง
Frankendancer ค่าโดยสารเป็นอย่างไร?
Tile of Frankendancer แต่ละตัวสามารถรองรับธุรกรรม 1,000,000 รายการต่อวินาที (TPS) ที่ฝั่งขาเข้าของเครือข่าย เนื่องจากแต่ละไทล์ใช้คอร์ CPU หนึ่งคอร์ ประสิทธิภาพจึงปรับขนาดเชิงเส้นตรงกับจำนวนคอร์ที่ใช้ Frankendancer บรรลุความสำเร็จนี้โดยใช้เพียงสี่คอร์และใช้การ์ดอินเทอร์เฟซเครือข่าย (NIC) 25 Gbps ในแต่ละคอร์อย่างเต็มที่
เมื่อพูดถึงการดำเนินงานขาออกของเครือข่าย Frankendancer ได้รับการปรับปรุงที่สำคัญด้วยการเพิ่มประสิทธิภาพ Turbine ฮาร์ดแวร์โหนดมาตรฐานปัจจุบันมีความเร็ว 6 Gbps ต่อไทล์ ซึ่งรวมถึงการปรับปรุงความเร็วอย่างมากในการแบ่งส่วนข้อมูล (เช่น วิธีการแบ่งบล็อกข้อมูลและส่งไปยังเครือข่ายเครื่องมือตรวจสอบความถูกต้อง) เมื่อเปรียบเทียบกับโหนด Solana มาตรฐานปัจจุบัน Frankendancer แสดงการเร่งความเร็วการแบ่งส่วนประมาณ 22% โดยไม่มีต้นไม้ Merkle และเกือบสองเท่าเมื่อใช้ต้นไม้ Merkle นี่เป็นการปรับปรุงอย่างมากจากการแพร่กระจายบล็อกตัวตรวจสอบปัจจุบันและประสิทธิภาพการรับธุรกรรม
ประสิทธิภาพเครือข่ายของ Firedancer แสดงให้เห็นว่าฮาร์ดแวร์ถึงขีดจำกัดแล้ว ซึ่งบรรลุประสิทธิภาพสูงสุดเมื่อเทียบกับฮาร์ดแวร์ตัวตรวจสอบมาตรฐานในปัจจุบัน นี่เป็นหลักชัยสำคัญทางเทคโนโลยี ซึ่งแสดงให้เห็นถึงความสามารถของลูกค้าในการจัดการกับปริมาณงานหนักอย่างมีประสิทธิผลและประสิทธิผล
Frankendancer เปิดตัวบนเครือข่ายทดสอบแล้ว
ปัจจุบัน Frankendancer กำลังปักหลัก โหวต และผลิตบล็อกบนเครือข่ายทดสอบ สามารถทำงานร่วมกับ Solana Labs และ Jito และผู้ตรวจสอบอื่นๆ อีกประมาณ 2,900 ราย การใช้งานในโลกแห่งความเป็นจริงนี้แสดงให้เห็นถึงพลังของ Firedancer บนฮาร์ดแวร์สินค้าโภคภัณฑ์ ปัจจุบันมีการใช้งานบนเซิร์ฟเวอร์ Equinix Metal m 3.large.x 86 พร้อมด้วย CPU AMD EPYC 7513 เครื่องมือตรวจสอบความถูกต้องอื่นๆ จำนวนมากยังใช้เซิร์ฟเวอร์ประเภทเดียวกัน โดยนำเสนอโซลูชันที่เหมาะสม โดยมีราคาตามความต้องการตั้งแต่ 3.10 ถึง 4.65 เหรียญต่อชั่วโมง ซึ่งแตกต่างกันไปตามสถานที่
ความคืบหน้าของ Firedancer ในการเปิดตัว mainnet เปิดโอกาสให้มีความเป็นไปได้หลายประการสำหรับฮาร์ดแวร์โหนด:
ฮาร์ดแวร์ตัวตรวจสอบปัจจุบันช่วยให้ประสิทธิภาพการทำงานต่อโหนดสูงขึ้น
ประสิทธิภาพของ Firedancer ช่วยให้ผู้ตรวจสอบความถูกต้องสามารถใช้ฮาร์ดแวร์ที่มีราคาต่ำกว่าและมีสเปคต่ำกว่าได้ ในขณะที่ยังคงรักษาระดับประสิทธิภาพที่ใกล้เคียงกัน
Firedancer ได้รับการออกแบบมาเพื่อใช้ประโยชน์จากความก้าวหน้าในด้านฮาร์ดแวร์และแบนด์วิธ
การพัฒนาเหล่านี้ ควบคู่ไปกับความคิดริเริ่มอื่นๆ เช่น Wiredancer (การทดลองของทีม Firedancer กับการเร่งความเร็วด้วยฮาร์ดแวร์) และรันไทม์/SVM แบบโมดูลาร์ที่ใช้ Rust ทำให้ Firedancer เป็นโซลูชันที่มีแนวคิดก้าวหน้า
ความคืบหน้าของ Firedancer ยังจุดประกายให้เกิดการอภิปรายกันว่าจะให้ผู้ตรวจสอบรันไคลเอนต์ Solana Labs ควบคู่ไปกับ Firedancer ซึ่งรู้จักกันในชื่อว่าทำงานแบบคู่ขนานหรือไม่ แนวทางนี้ช่วยเพิ่มกิจกรรมเครือข่ายให้สูงสุดโดยใช้ประโยชน์จากจุดแข็งของไคลเอ็นต์ทั้งสอง และลดผลกระทบที่อาจเกิดขึ้นจากไคลเอ็นต์ใดไคลเอ็นต์หนึ่งบนเครือข่ายโดยรวม นอกจากนี้ สิ่งนี้ยังนำไปสู่การคาดเดาว่าโปรเจ็กต์อย่าง Jito จะพิจารณาแยก Firedancer ออกมาหรือไม่ สิ่งนี้อาจเพิ่มประสิทธิภาพการแยก MEV และประสิทธิภาพการประมวลผลธุรกรรมเพิ่มเติม เวลาเท่านั้นที่จะบอก.
สรุปแล้ว
นักพัฒนามักคิดว่าการดำเนินงานเป็นการครอบครองพื้นที่ข้อมูลมากกว่าพื้นที่ทางกายภาพ ด้วยความเร็วแสงที่เป็นขีดจำกัดตามธรรมชาติ สมมติฐานนี้ส่งผลให้ระบบช้าลงและไม่สามารถปรับฮาร์ดแวร์ให้เหมาะสมได้อย่างเหมาะสม ในสภาพแวดล้อมที่มีความขัดแย้งและมีการแข่งขันสูง เราไม่สามารถโยนฮาร์ดแวร์เพิ่มเติมให้กับ Solana และคาดหวังให้ทำงานได้ดีขึ้นได้ เราจำเป็นต้องปรับให้เหมาะสม Firedancer ปฏิวัติโครงสร้างและการทำงานของไคลเอนต์ผู้ตรวจสอบความถูกต้อง ด้วยการสร้างไคลเอนต์ตรวจสอบความถูกต้องแบบโมดูลาร์สูงและมีประสิทธิภาพสูง ทีม Firedancer กำลังเตรียมการนำ Solana มาใช้เป็นจำนวนมาก
ไม่ว่าคุณจะเป็น Junior Developer หรือผู้ใช้ Solana ทั่วไป การทำความเข้าใจ Firedancer และความหมายของมันเป็นสิ่งสำคัญ ความสำเร็จทางเทคโนโลยีนี้ทำให้บล็อกเชนที่มีประสิทธิภาพสูงสุดและเร็วที่สุดในตลาดดียิ่งขึ้นไปอีก Solana ได้รับการออกแบบให้เป็นเครื่องสถานะระดับโลกที่มีปริมาณงานสูงและมีเวลาแฝงต่ำ Firedancer เป็นก้าวสำคัญในการบรรลุเป้าหมายเหล่านี้ให้สมบูรณ์แบบ


