สำรวจโลกของอัลกอริธึมฉันทามติ ซึ่งจำเป็นสำหรับการสร้างระบบกระจายศูนย์ที่เชื่อถือได้และทนทานต่อความผิดพลาด เรียนรู้เกี่ยวกับ Paxos, Raft, Proof-of-Work และอีกมากมาย
การตัดสินใจในระบบกระจายศูนย์: เจาะลึกอัลกอริธึมฉันทามติ
ในภูมิทัศน์ดิจิทัลสมัยใหม่ ระบบกระจายศูนย์ (distributed systems) เป็นรากฐานของแอปพลิเคชันนับไม่ถ้วน ตั้งแต่ธนาคารออนไลน์และแพลตฟอร์มอีคอมเมิร์ซไปจนถึงเครือข่ายโซเชียลมีเดียและเทคโนโลยีบล็อกเชน โดยธรรมชาติแล้ว ระบบเหล่านี้มีการกระจายศูนย์ ซึ่งหมายความว่าข้อมูลและการประมวลผลถูกกระจายไปตามเครื่องคอมพิวเตอร์หลายเครื่อง ความท้าทายพื้นฐานในระบบดังกล่าวคือการบรรลุ ฉันทามติ (consensus) ซึ่งหมายถึงการทำให้แน่ใจว่าทุกโหนดในเครือข่ายเห็นพ้องต้องกันในสถานะเดียวที่สอดคล้องกัน แม้ต้องเผชิญกับความล้มเหลวและผู้ไม่หวังดี และนี่คือจุดที่อัลกอริธึมฉันทามติเข้ามามีบทบาท
อัลกอริธึมฉันทามติคืออะไร?
อัลกอริธึมฉันทามติคือโปรโตคอลที่ช่วยให้ระบบกระจายศูนย์สามารถบรรลุข้อตกลงร่วมกันเกี่ยวกับค่าข้อมูลหรือสถานะเดียว แม้จะมีความล้มเหลวที่อาจเกิดขึ้นหรือพฤติกรรมที่เป็นอันตราย อัลกอริธึมเหล่านี้เป็นกลไกให้โหนดในระบบสามารถประสานงานและตัดสินใจร่วมกัน เพื่อให้มั่นใจในความสอดคล้องและความน่าเชื่อถือของข้อมูล
ลองจินตนาการถึงสถานการณ์ที่เซิร์ฟเวอร์ธนาคารหลายเครื่องต้องอัปเดตยอดเงินในบัญชีของลูกค้า หากไม่มีกลไกฉันทามติ เซิร์ฟเวอร์หนึ่งอาจประมวลผลการฝากเงินในขณะที่อีกเครื่องประมวลผลการถอนเงินพร้อมกัน ซึ่งนำไปสู่ข้อมูลที่ไม่สอดคล้องกัน อัลกอริธึมฉันทามติป้องกันความไม่สอดคล้องดังกล่าวโดยทำให้แน่ใจว่าเซิร์ฟเวอร์ทุกเครื่องเห็นพ้องต้องกันในลำดับและผลลัพธ์ของธุรกรรมเหล่านี้
ทำไมอัลกอริธึมฉันทามติจึงมีความสำคัญ?
อัลกอริธึมฉันทามติมีความสำคัญอย่างยิ่งต่อการสร้างระบบกระจายศูนย์ที่แข็งแกร่งและเชื่อถือได้ด้วยเหตุผลหลายประการ:
- การทนทานต่อความผิดพลาด (Fault Tolerance): ช่วยให้ระบบยังคงทำงานได้อย่างถูกต้องแม้ว่าโหนดบางส่วนจะล้มเหลวหรือไม่สามารถใช้งานได้ นี่เป็นสิ่งสำคัญอย่างยิ่งในระบบที่ต้องการความพร้อมใช้งานสูง เช่น สถาบันการเงินหรือระบบตอบสนองเหตุฉุกเฉิน ตัวอย่างเช่น หากเซิร์ฟเวอร์หนึ่งในศูนย์ข้อมูลล่ม เซิร์ฟเวอร์อื่นๆ ยังคงสามารถบรรลุฉันทามติและรักษาความสมบูรณ์ของข้อมูลได้
- ความสอดคล้องของข้อมูล (Data Consistency): ทำให้มั่นใจได้ว่าทุกโหนดในระบบมีมุมมองต่อข้อมูลเดียวกัน ป้องกันความไม่สอดคล้องและความขัดแย้ง ซึ่งเป็นสิ่งสำคัญสำหรับแอปพลิเคชันที่ต้องการความแม่นยำของข้อมูลในระดับสูง เช่น เวชระเบียนหรือการจัดการห่วงโซ่อุปทาน
- การทนทานต่อความผิดพลาดแบบไบแซนไทน์ (Byzantine Fault Tolerance): อัลกอริธึมฉันทามติขั้นสูงบางตัวสามารถทนทานต่อความผิดพลาดแบบไบแซนไทน์ ซึ่งโหนดอาจแสดงพฤติกรรมที่คาดเดาไม่ได้ รวมถึงการส่งข้อมูลที่ไม่ถูกต้องหรือเป็นอันตราย นี่เป็นสิ่งสำคัญอย่างยิ่งในระบบที่ไม่สามารถรับประกันความไว้วางใจได้ เช่น เครือข่ายบล็อกเชน
- ความปลอดภัย (Security): ด้วยการบังคับใช้ข้อตกลงระหว่างโหนด อัลกอริธึมฉันทามติสามารถช่วยป้องกันการโจมตีที่พยายามแก้ไขหรือทำลายข้อมูล อัลกอริธึมเหล่านี้เป็นรากฐานที่ปลอดภัยสำหรับการสร้างแอปพลิเคชันแบบกระจายศูนย์ที่น่าเชื่อถือ
ประเภทของอัลกอริธึมฉันทามติ
อัลกอริธึมฉันทามติมีอยู่หลายประเภท แต่ละประเภทก็มีจุดแข็งและจุดอ่อนแตกต่างกันไป นี่คือบางส่วนของอัลกอริธึมที่ใช้กันอย่างแพร่หลาย:
1. Paxos
Paxos เป็นกลุ่มของอัลกอริธึมฉันทามติที่ใช้กันอย่างแพร่หลายในระบบกระจายศูนย์ เป็นที่รู้จักในด้านความทนทานและความสามารถในการทนต่อความล้มเหลว แต่ก็อาจมีความซับซ้อนในการนำไปใช้และทำความเข้าใจ
Paxos ทำงานอย่างไร:
Paxos ประกอบด้วยผู้กระทำสามประเภท: Proposers (ผู้เสนอ), Acceptors (ผู้ยอมรับ), และ Learners (ผู้เรียนรู้) อัลกอริธึมจะดำเนินการในสองเฟส:
- เฟส 1 (Prepare): Proposer จะส่งคำขอ Prepare ไปยัง Acceptors ส่วนใหญ่เพื่อเสนอค่า Acceptors จะให้สัญญาว่าจะไม่สนใจคำขอ Prepare ในอนาคตที่มีหมายเลขข้อเสนอต่ำกว่า
- เฟส 2 (Accept): หาก Proposer ได้รับคำสัญญาจาก Acceptors ส่วนใหญ่ จะส่งคำขอ Accept พร้อมกับค่าที่เสนอ Acceptors จะยอมรับค่าดังกล่าวหากยังไม่เคยยอมรับค่าที่มีหมายเลขข้อเสนอสูงกว่า
เมื่อ Acceptors ส่วนใหญ่ยอมรับค่าแล้ว Learners จะได้รับการแจ้งเตือน และค่านั้นจะถือว่าถูกเลือกแล้ว
ตัวอย่าง: บริการ Chubby lock ของ Google ใช้อัลกอริธึมที่คล้ายกับ Paxos เพื่อให้เกิดฉันทามติระหว่างเซิร์ฟเวอร์ ซึ่งทำให้มั่นใจได้ว่าบริการทั้งหมดของ Google มีมุมมองต่อสถานะของ lock ที่สอดคล้องกัน ป้องกันการทุจริตและความขัดแย้งของข้อมูล
2. Raft
Raft เป็นอัลกอริธึมฉันทามติที่ออกแบบมาให้เข้าใจง่ายกว่า Paxos บรรลุฉันทามติผ่านกระบวนการเลือกผู้นำ (leader election) และการจำลองบันทึก (replicated log)
Raft ทำงานอย่างไร:
Raft แบ่งระบบออกเป็นสามบทบาท: Leaders (ผู้นำ), Followers (ผู้ตาม), และ Candidates (ผู้ท้าชิง) อัลกอริธึมทำงานในสามสถานะ:
- การเลือกผู้นำ: หาก Follower ไม่ได้รับสัญญาณชีพ (heartbeat) จาก Leader ภายในเวลาที่กำหนด จะเปลี่ยนสถานะเป็น Candidate และเริ่มการเลือกตั้ง
- การจำลองบันทึก: Leader จะจำลองรายการบันทึกของตนไปยัง Followers หากบันทึกของ Follower ล้าหลัง Leader จะทำการอัปเดตให้
- ความปลอดภัย: Raft ทำให้มั่นใจได้ว่ามีเพียง Leader เท่านั้นที่สามารถยืนยัน (commit) รายการบันทึกใหม่ได้ และรายการที่ยืนยันแล้วทั้งหมดจะถูกจำลองไปยัง Followers ทุกตัวในที่สุด
ตัวอย่าง: etcd ซึ่งเป็นที่เก็บข้อมูลแบบ key-value แบบกระจายที่ใช้โดย Kubernetes อาศัย Raft เป็นกลไกฉันทามติ สิ่งนี้ทำให้มั่นใจได้ว่าสถานะของคลัสเตอร์ Kubernetes จะสอดคล้องกันในทุกโหนด
3. Proof-of-Work (PoW)
Proof-of-Work (PoW) เป็นอัลกอริธึมฉันทามติที่ใช้ในสกุลเงินดิจิทัลหลายชนิด เช่น Bitcoin เกี่ยวข้องกับนักขุด (miners) ที่ต้องแก้ปริศนาที่ต้องใช้พลังการคำนวณสูงเพื่อตรวจสอบธุรกรรมและเพิ่มบล็อกใหม่เข้าไปในบล็อกเชน
Proof-of-Work ทำงานอย่างไร:
นักขุดจะแข่งขันกันเพื่อแก้ปริศนาการเข้ารหัสลับ (cryptographic puzzle) นักขุดคนแรกที่พบคำตอบจะประกาศให้เครือข่ายทราบ โหนดอื่นๆ จะตรวจสอบคำตอบ และหากถูกต้อง จะเพิ่มบล็อกนั้นเข้าไปในบล็อกเชน
ความยากของปริศนาจะถูกปรับเป็นระยะเพื่อรักษาเวลาในการสร้างบล็อกให้คงที่ ซึ่งจะช่วยป้องกันไม่ให้ผู้โจมตีเข้าครอบงำเครือข่ายได้ง่าย
ตัวอย่าง: Bitcoin ใช้ PoW เพื่อรักษาความปลอดภัยของบล็อกเชน นักขุดใช้ทรัพยากรการคำนวณจำนวนมากเพื่อแก้ปริศนา ทำให้การแทรกแซงบล็อกเชนโดยผู้โจมตีมีค่าใช้จ่ายสูงและทำได้ยาก
4. Proof-of-Stake (PoS)
Proof-of-Stake (PoS) เป็นทางเลือกแทน Proof-of-Work ที่มีเป้าหมายเพื่อการประหยัดพลังงานมากขึ้น ใน PoS ผู้ตรวจสอบ (validators) จะถูกเลือกให้สร้างบล็อกใหม่โดยพิจารณาจากจำนวนสกุลเงินดิจิทัลที่พวกเขาถือครองและยินดีที่จะ "วางเดิมพัน" (stake) เป็นหลักประกัน
Proof-of-Stake ทำงานอย่างไร:
ผู้ตรวจสอบจะถูกเลือกแบบสุ่มหรือตามปัจจัยต่างๆ เช่น อายุของเงินเดิมพัน (stake age) และอายุของเหรียญ (coin age) ผู้ตรวจสอบที่ได้รับเลือกจะเสนอบล็อกใหม่ และผู้ตรวจสอบคนอื่นๆ จะรับรองความถูกต้องของบล็อกนั้น
หากบล็อกถูกต้อง บล็อกจะถูกเพิ่มเข้าไปในบล็อกเชน และผู้ตรวจสอบจะได้รับรางวัล หากผู้ตรวจสอบพยายามสร้างบล็อกที่ไม่ถูกต้อง พวกเขาอาจสูญเสียเงินเดิมพันของตน
ตัวอย่าง: Ethereum กำลังเปลี่ยนไปใช้กลไกฉันทามติแบบ Proof-of-Stake โดยมีเป้าหมายเพื่อลดการใช้พลังงานและปรับปรุงความสามารถในการขยายระบบ
5. Practical Byzantine Fault Tolerance (PBFT)
Practical Byzantine Fault Tolerance (PBFT) เป็นอัลกอริธึมฉันทามติที่สามารถทนทานต่อความผิดพลาดแบบไบแซนไทน์ ซึ่งโหนดอาจแสดงพฤติกรรมที่คาดเดาไม่ได้ รวมถึงการส่งข้อมูลที่ไม่ถูกต้องหรือเป็นอันตราย
PBFT ทำงานอย่างไร:
PBFT เกี่ยวข้องกับโหนดผู้นำและชุดของโหนดจำลอง (replica nodes) อัลกอริธึมดำเนินการในสามเฟส:
- Pre-prepare: ผู้นำเสนอบล็อกใหม่ให้กับโหนดจำลอง
- Prepare: โหนดจำลองจะกระจายเสียงโหวตของตนสำหรับบล็อกนั้น
- Commit: หากโหนดจำลองจำนวนเพียงพอเห็นด้วยกับบล็อกนั้น บล็อกจะถูกยืนยัน
PBFT ต้องการให้โหนดส่วนใหญ่ (supermajority) มีความซื่อสัตย์เพื่อให้ระบบทำงานได้อย่างถูกต้อง
ตัวอย่าง: Hyperledger Fabric ซึ่งเป็นเฟรมเวิร์กบล็อกเชนแบบจำกัดสิทธิ์ (permissioned) ใช้ PBFT เป็นกลไกฉันทามติ ซึ่งทำให้มั่นใจได้ว่าบล็อกเชนยังคงปลอดภัยแม้ว่าโหนดบางส่วนจะถูกบุกรุก
การเลือกอัลกอริธึมฉันทามติที่เหมาะสม
การเลือกอัลกอริธึมฉันทามติที่เหมาะสมขึ้นอยู่กับความต้องการเฉพาะของระบบกระจายศูนย์ ปัจจัยที่ต้องพิจารณา ได้แก่:
- การทนทานต่อความผิดพลาด: ระบบสามารถทนต่อความล้มเหลวได้มากน้อยเพียงใด? จำเป็นต้องทนต่อความผิดพลาดแบบไบแซนไทน์หรือไม่?
- ประสิทธิภาพ: ปริมาณงาน (throughput) และความหน่วง (latency) ที่ต้องการคือเท่าใด?
- ความสามารถในการขยายระบบ (Scalability): ระบบจะต้องรองรับโหนดจำนวนเท่าใด?
- ความซับซ้อน: อัลกอริธึมมีความยากในการนำไปใช้และบำรุงรักษาเพียงใด?
- ความปลอดภัย: ช่องทางการโจมตีที่เป็นไปได้คืออะไร และอัลกอริธึมป้องกันได้ดีเพียงใด?
- การใช้พลังงาน: ประสิทธิภาพการใช้พลังงานเป็นเรื่องที่น่ากังวลหรือไม่? (โดยเฉพาะอย่างยิ่งสำหรับแอปพลิเคชันบล็อกเชน)
นี่คือตารางสรุปความแตกต่างที่สำคัญระหว่างอัลกอริธึมที่กล่าวถึงข้างต้น:
อัลกอริธึม | การทนทานต่อความผิดพลาด | ประสิทธิภาพ | ความซับซ้อน | กรณีการใช้งาน |
---|---|---|---|---|
Paxos | ทนทานต่อความล้มเหลวแบบแครช (crash failures) | ค่อนข้างซับซ้อนในการปรับให้เหมาะสม | สูง | ฐานข้อมูลแบบกระจาย, บริการ lock |
Raft | ทนทานต่อความล้มเหลวแบบแครช (crash failures) | นำไปใช้และเข้าใจง่ายกว่า Paxos | ปานกลาง | ที่เก็บข้อมูล key-value แบบกระจาย, การจัดการคอนฟิกูเรชัน |
Proof-of-Work | ทนทานต่อความผิดพลาดแบบไบแซนไทน์ | ปริมาณงานต่ำ, ความหน่วงสูง, ใช้พลังงานสูง | ปานกลาง | สกุลเงินดิจิทัล (Bitcoin) |
Proof-of-Stake | ทนทานต่อความผิดพลาดแบบไบแซนไทน์ | ปริมาณงานสูงกว่า, ความหน่วงต่ำกว่า, ใช้พลังงานน้อยกว่า PoW | ปานกลาง | สกุลเงินดิจิทัล (Ethereum 2.0) |
PBFT | ทนทานต่อความผิดพลาดแบบไบแซนไทน์ | ปริมาณงานสูง, ความหน่วงต่ำ, แต่ความสามารถในการขยายระบบมีจำกัด | สูง | บล็อกเชนแบบจำกัดสิทธิ์ (Permissioned), การจำลองเครื่องสถานะ (state machine replication) |
ตัวอย่างและการประยุกต์ใช้ในโลกแห่งความเป็นจริง
อัลกอริธึมฉันทามติถูกนำมาใช้ในแอปพลิเคชันที่หลากหลายในอุตสาหกรรมต่างๆ:
- บล็อกเชน: สกุลเงินดิจิทัลเช่น Bitcoin และ Ethereum ใช้อัลกอริธึมฉันทามติ (PoW และ PoS ตามลำดับ) เพื่อรักษาความปลอดภัยของเครือข่ายและตรวจสอบธุรกรรม
- คลาวด์คอมพิวติ้ง: ฐานข้อมูลแบบกระจายเช่น Google Spanner และ Amazon DynamoDB ใช้อัลกอริธึมฉันทามติเพื่อรับรองความสอดคล้องของข้อมูลระหว่างเซิร์ฟเวอร์หลายเครื่อง
- บริการทางการเงิน: ธนาคารและสถาบันการเงินอื่นๆ ใช้อัลกอริธึมฉันทามติเพื่อประมวลผลธุรกรรมและรักษายอดคงเหลือในบัญชีที่ถูกต้อง
- อุตสาหกรรมการบิน: เครื่องบินสมัยใหม่พึ่งพาระบบกระจายศูนย์ในการควบคุมการบิน การนำทาง และการสื่อสาร อัลกอริธึมฉันทามติมีความสำคัญอย่างยิ่งต่อการรับรองความปลอดภัยและความน่าเชื่อถือของระบบเหล่านี้ ลองจินตนาการว่าคอมพิวเตอร์ควบคุมการบินหลายเครื่องต้องเห็นพ้องต้องกันในการแก้ไขเส้นทางที่เหมาะสมเพื่อตอบสนองต่อสภาพอากาศแปรปรวน
- การดูแลสุขภาพ: เวชระเบียนอิเล็กทรอนิกส์ (EHRs) มักถูกจัดเก็บในระบบกระจายศูนย์เพื่อให้แน่ใจว่ามีความพร้อมใช้งานและเข้าถึงได้ อัลกอริธึมฉันทามติสามารถช่วยรักษาความสมบูรณ์และความสอดคล้องของข้อมูลผู้ป่วยในหลายๆ แห่ง
- การจัดการห่วงโซ่อุปทาน: การติดตามสินค้าและวัสดุข้ามห่วงโซ่อุปทานที่ซับซ้อนจำเป็นต้องมีระบบกระจายศูนย์ที่สามารถจัดการข้อมูลจำนวนมากและรับประกันความสอดคล้องของข้อมูลได้ อัลกอริธึมฉันทามติสามารถช่วยให้แน่ใจว่าทุกฝ่ายมีมุมมองที่ถูกต้องเกี่ยวกับห่วงโซ่อุปทาน
ความท้าทายและแนวโน้มในอนาคต
แม้ว่าอัลกอริธึมฉันทามติจะมีความก้าวหน้าอย่างมากในช่วงไม่กี่ปีที่ผ่านมา แต่ก็ยังมีความท้าทายหลายประการที่ต้องเอาชนะ:
- ความสามารถในการขยายระบบ: การขยายอัลกอริธึมฉันทามติเพื่อรองรับโหนดจำนวนมากยังคงเป็นความท้าทาย อัลกอริธึมจำนวนมากประสบปัญหาประสิทธิภาพลดลงเมื่อจำนวนโหนดเพิ่มขึ้น
- ความซับซ้อน: อัลกอริธึมฉันทามติบางตัวมีความซับซ้อนในการนำไปใช้และทำความเข้าใจ ทำให้ยากต่อการติดตั้งและบำรุงรักษา
- การใช้พลังงาน: อัลกอริธึม Proof-of-Work ใช้พลังงานจำนวนมาก ทำให้เกิดความกังวลด้านสิ่งแวดล้อม
- การทนทานต่อความผิดพลาดแบบไบแซนไทน์: การพัฒนาอัลกอริธึมฉันทามติที่สามารถทนต่อความผิดพลาดแบบไบแซนไทน์ในเปอร์เซ็นต์ที่สูงยังคงเป็นพื้นที่การวิจัยที่ดำเนินอยู่
แนวโน้มในอนาคตของอัลกอริธึมฉันทามติ ได้แก่:
- ฉันทามติแบบผสม (Hybrid Consensus): การผสมผสานอัลกอริธึมฉันทามติที่แตกต่างกันเพื่อใช้ประโยชน์จากจุดแข็งและลดจุดอ่อนของกันและกัน
- Delegated Proof-of-Stake (DPoS): รูปแบบหนึ่งของ PoS ที่อนุญาตให้ผู้ถือโทเค็นมอบสิทธิ์ในการลงคะแนนเสียงให้กับตัวแทนกลุ่มเล็กๆ
- Federated Byzantine Agreement (FBA): อัลกอริธึมฉันทามติที่อนุญาตให้องค์กรต่างๆ เข้าร่วมในระบบกระจายศูนย์โดยไม่จำเป็นต้องมีหน่วยงานกลาง Stellar และ Ripple ใช้รูปแบบของ FBA
- Sharding: การแบ่งบล็อกเชนออกเป็นชิ้นส่วนเล็กๆ ที่จัดการได้ง่ายขึ้นเพื่อปรับปรุงความสามารถในการขยายระบบ
สรุป
อัลกอริธึมฉันทามติเป็นส่วนประกอบพื้นฐานสำหรับระบบกระจายศูนย์ที่เชื่อถือได้และทนทานต่อความผิดพลาด ช่วยให้โหนดในเครือข่ายสามารถประสานงานและตัดสินใจร่วมกันได้ ทำให้มั่นใจในความสอดคล้องและความปลอดภัยของข้อมูล แม้ว่าจะมีอัลกอริธึมฉันทามติหลายประเภท ซึ่งแต่ละประเภทมีจุดแข็งและจุดอ่อนของตัวเอง แต่การเลือกอัลกอริธึมขึ้นอยู่กับความต้องการเฉพาะของแอปพลิเคชันนั้นๆ
ในขณะที่ระบบกระจายศูนย์ยังคงพัฒนาต่อไป อัลกอริธึมฉันทามติจะมีบทบาทสำคัญมากขึ้นในการรับรองความน่าเชื่อถือและความปลอดภัยของระบบเหล่านี้ การทำความเข้าใจหลักการและข้อดีข้อเสียของอัลกอริธึมฉันทามติที่แตกต่างกันเป็นสิ่งจำเป็นสำหรับทุกคนที่สร้างหรือทำงานกับระบบกระจายศูนย์
ข้อคิดที่นำไปปฏิบัติได้:
- ประเมินความต้องการของระบบของคุณ: พิจารณาอย่างรอบคอบถึงความต้องการด้านการทนทานต่อความผิดพลาด ประสิทธิภาพ ความสามารถในการขยายระบบ และความปลอดภัยของระบบกระจายศูนย์ของคุณก่อนที่จะเลือกอัลกอริธึมฉันทามติ
- เริ่มต้นด้วยอัลกอริธึมที่เป็นที่ยอมรับ: หากคุณยังใหม่กับอัลกอริธึมฉันทามติ ให้เริ่มต้นด้วยอัลกอริธึมที่เป็นที่ยอมรับอย่างกว้างขวาง เช่น Raft หรือ Paxos อัลกอริธึมเหล่านี้ได้รับการทดสอบอย่างละเอียดและมีแหล่งข้อมูลและการสนับสนุนมากมาย
- พิจารณาแนวทางแบบผสม: สำรวจความเป็นไปได้ในการผสมผสานอัลกอริธึมฉันทามติที่แตกต่างกันเพื่อใช้ประโยชน์จากจุดแข็งและลดจุดอ่อนของกันและกัน
- ติดตามงานวิจัยล่าสุดอยู่เสมอ: สาขาของอัลกอริธึมฉันทามติมีการพัฒนาอย่างต่อเนื่อง ดังนั้นควรติดตามงานวิจัยและการพัฒนาล่าสุดอยู่เสมอ