Cover photo

CometBFT คือ Consensus Engine ที่ขับเคลื่อน Berachain

post image

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

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

ลองนึกภาพการคัดลอกข้อมูลสำคัญลงในคอมพิวเตอร์หลายเครื่อง CometBFT ช่วยให้มั่นใจว่า แม้บางเครื่องพัง ข้อมูลจะไม่สูญหายและยังคงสอดคล้องกันระหว่างเครื่องที่เหลือ

post image

แนวคิดของ Byzantine fault tolerance (BFT) คือความสามารถในการรับมือกับความล้มเหลวของเครื่องจักร ไม่ว่าจะล้มเหลวแบบธรรมดาหรือกลายเป็นอันตราย แม้ทฤษฎี BFT มีมานานแล้ว แต่เพิ่งได้รับความนิยมในระยะหลัง ส่วนใหญ่เนื่องมาจากความสำเร็จของเทคโนโลยีบล็อกเชน อย่าง Bitcoin และ Ethereum เทคโนโลยีบล็อกเชนนั้นแท้จริงแล้วเป็นการนำ BFT มาประยุกต์ใช้สมัยใหม่ เน้นการเชื่อมต่อแบบเพื่อนต่อเพื่อนและใช้รหัสเข้ามาเสริมความแข็งแรง

ชื่อ CometBFT มาจากวิธีการจัดกลุ่มธุรกรรมเป็นบล็อกและเชื่อมต่อกันเป็นโซ่ บล็อกเชนประกอบด้วยสองส่วนหลักๆ คือ consensus engine บล็อกเชนและตัวกลางเชื่อมต่อกับแอปพลิเคชัน (Application interface)

  • consensus engine : อิงกับอัลกอริทึม Tendermint ทำให้แน่ใจว่าคอมพิวเตอร์ทุกเครื่องบันทึกธุรกรรมเดียวกัน ในลำดับเดียวกัน

  • ตัวกลางเชื่อมต่อกับแอปพลิเคชัน (Application BlockChain Interface (ABCI)): ส่งธุรกรรมไปยังแอปพลิเคชันเพื่อดำเนินการ

CometBFT แตกต่างจากบล็อกเชนและระบบ consensus อื่นๆ ตรงที่ ไม่ได้บังคับให้ใช้ state machine สำเร็จรูป แต่เปิดกว้างให้ผู้พัฒนาเลือกใช้ state machine replication แบบ BFT กับแอปพลิเคชันที่เขียนขึ้นในภาษาโปรแกรมและสภาพแวดล้อมการพัฒนาใดก็ได้ตามต้องการ เหมือนเป็นเครื่องมืออเนกประสงค์ที่ยืดหยุ่นสูง

CometBFT เน้นความใช้งานง่าย เข้าใจง่าย ประสิทธิภาพสูง และสามารถประยุกต์ใช้กับแอปพลิเคชันแบบกระจายได้หลากหลาย อารมณ์เหมือนมีค้อนวิเศษที่สร้างและควบคุมระบบบล็อกเชนที่แข็งแกร่งเองได้

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

เมื่อเทียบกับอัลกอริทึมฉันทามติอื่นๆ CometBFT มีสองคู่แข่งหลัก:

  1. key-value stores แบบ distributed

post image

ระบบอย่าง Zookeeper, etcd, และ consul ทำหน้าที่เก็บข้อมูลแบบ Key-Value (คู่ ชื่อกับค่า) บนคอมพิวเตอร์หลายเครื่อง แต่ใช้ consensus แบบไม่เสถียร (non-BFT consensus) ซึ่งจะล้มเหลวหากเครื่องในระบบมีปัญหาเกิน 1/2 (เช่น 2 ใน 4 3 ใน 6) เน้นความรวดเร็ว ใช้งานง่าย เหมาะสำหรับการจัดการค่าพื้นฐานของระบบ แต่ไม่ปลอดภัยเท่า BFT

  1. blockchain technology

post image

รวมถึงสกุลเงินดิจิทัลอย่าง Bitcoin และ Ethereum เครือข่ายเหล่านี้ใช้อัลกอริทึม BFT เพื่อความปลอดภัยสูง ทนทาน แต่เน้นการทำธุรกรรมทางการเงินเป็นหลัก และอาจมีความซับซ้อนในการพัฒนา

จุดเด่นของ CometBFT

BFT ช่วยให้ CometBFT ทนทานต่อความล้มเหลวหรืออันตรายของ Engineได้ดีกว่าkey-value store ทั่วไป ยืดหยุ่น: แตกต่างจากบล็อกเชน CometBFT ไม่บังคับให้ใช้ State Machine สำเร็จรูป ผู้พัฒนาสามารถเลือกใช้กับแอปพลิเคชันในภาษาโปรแกรมใดก็ได้ ประสิทธิภาพ: ออกแบบมาให้รวดเร็ว เหมาะสำหรับใช้ในระบบที่ต้องการความคล่องตัว