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



By [Super Bera](https://paragraph.com/@nothing0-2) · 2024-01-27

---

![](https://storage.googleapis.com/papyrus_images/1b0e7bf511651de711014e35a7acc04fd0c11ec26c4db5e4987f598fa2aef591.png)

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

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

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

![](https://storage.googleapis.com/papyrus_images/4e6b27fbc9bfa80e0c4528e2877796dd7b2eb1ac3647e804136545a587103a2d.png)

แนวคิดของ 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
    

![](https://storage.googleapis.com/papyrus_images/7c09d8d52709ef734c08f6715182bd5f24ec1a3e338a6e943d33c7c1454d116c.png)

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

1.  blockchain technology
    

![](https://storage.googleapis.com/papyrus_images/8b382310cc569cb9ab557e7da188aeb4daa01a2ea29d5977e22f3d7c6b6b1fbc.png)

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

จุดเด่นของ CometBFT

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

---

*Originally published on [Super Bera](https://paragraph.com/@nothing0-2/cometbft-consensus-engine-berachain)*
