Byzantine Fault หรือปัญหาของ Byzantine Generals เป็นหัวข้อที่มีการถกเถียงกันอย่างกว้างขวางในด้านต่างๆ เช่น วิทยาการคอมพิวเตอร์หรือระบบแบบกระจาย ในสกุลเงินดิจิทัล โดยเฉพาะเทคโนโลยีบล็อคเชน Byzantine Fault Tolerance (BFT) มีบทบาทสำคัญอย่างยิ่ง หาข้อมูลเพิ่มเติมเกี่ยวกับ BFT ในบทความนี้!
Byzantine Fault Tolerance (BFT) คืออะไร?
Byzantine Fault Tolerance คือความสามารถที่ระบบหรือเครือข่ายแบบกระจายสามารถดำเนินการและบรรลุข้อตกลงร่วมกัน (ข้อตกลงที่เป็นกลาง) โดยพิจารณาว่าผู้เข้าร่วมบางรายอาจล้มเหลวในการดำเนินการหรือกระทำการดังกล่าวโดยมุ่งร้าย ชื่อของมันมาจากความขัดแย้งที่เรียกว่า Byzantine Generals' Problem ในขณะที่ Byzantine Fault Tolerance เป็นวิธีแก้ปัญหา
เพื่อให้เครือข่ายทำงานได้อย่างถูกต้อง แม้ว่าผู้เข้าร่วมบางส่วนจะประสบปัญหา (โดยตั้งใจหรือไม่ตั้งใจ) ก็จะต้องมีกฎเกณฑ์และเงื่อนไขทั่วไปบางประการเพื่อให้ผู้เข้าร่วมการทำงานสามารถรับประกันฉันทามติของเครือข่ายได้
ปัญหาของนายพลไบแซนไทน์คืออะไร?
ปัญหา Byzantine Generals 'ถูกนำเสนอครั้งแรกในปี 1982 ในบทความโดยกลุ่มคนที่ Microsoft Research ได้อธิบายปัญหาให้ชัดเจนดังนี้
“ลองนึกภาพว่าหลายฝ่ายในกองทัพไบแซนไทน์ตั้งค่ายอยู่นอกเมืองศัตรู แต่ละแผนกได้รับคำสั่งจากแม่ทัพของตน นายพลสามารถสื่อสารกันได้โดยใช้ผู้ส่งสารเท่านั้น หลังจากสังเกตศัตรูแล้ว พวกเขาจะต้องตัดสินใจเกี่ยวกับแผนปฏิบัติการร่วมกัน
อย่างไรก็ตาม นายพลบางคนอาจเป็นคนทรยศ โดยพยายามป้องกันไม่ให้นายพลผู้ภักดีบรรลุข้อตกลง นายพลต้องตัดสินใจว่าจะโจมตีเมืองเมื่อใด แต่พวกเขาต้องการกองทัพส่วนใหญ่ที่เข้มแข็งเพื่อโจมตีในเวลาเดียวกัน
นายพลต้องมีอัลกอริธึมเพื่อรับประกันว่า (ก) นายพลที่ภักดีทั้งหมดตัดสินใจใช้แผนปฏิบัติการเดียวกันและ (ข) ผู้ทรยศจำนวนเล็กน้อยไม่สามารถทำให้นายพลที่ภักดีใช้แผนที่ไม่ดีได้ นายพลผู้จงรักภักดีทุกคนจะทำในสิ่งที่อัลกอริธึมบอกว่าควรทำ แต่ผู้ทรยศอาจทำทุกอย่างที่พวกเขาต้องการ อัลกอริทึมต้องรับประกันเงื่อนไข (a) ไม่ว่าผู้ทรยศจะทำอะไรก็ตาม นายพลที่ภักดีไม่ควรบรรลุข้อตกลงเท่านั้น แต่ควรตกลงตามแผนที่สมเหตุสมผล”
ปัญหานายพลไบแซนไทน์ แม้ว่าจะคล้ายกับปัญหาของนายพลสองนาย (ความขัดแย้งของนายพลสองนาย) ก็เป็นฉบับทั่วไปมากกว่า ในลักษณะที่ซับซ้อนมากขึ้น ปัญหาของนายพลไบแซนไทน์สามารถกำหนดรูปแบบต่างๆ ได้มากขึ้น ตัวอย่างเช่น ผู้ส่งสารอาจล้มเหลวในการส่งข้อความระหว่างทาง หรือแม้กระทั่งจงใจเปลี่ยนเนื้อหาต้นฉบับ
BFT ใน Crypto คืออะไร?
ใน crypto โดยเฉพาะเทคโนโลยีบล็อคเชน Byzantine Fault Tolerance มีบทบาทสำคัญอย่างยิ่ง เมื่อเราใช้ Byzantine Generals' Problem กับ crypto นายพลคือโหนด โหนดทั้งหมดภายในเครือข่ายบล็อคเชนต้องสื่อสารระหว่างกันและหาวิธีที่จะบรรลุข้อตกลงร่วมกัน ซึ่งนำไปสู่วิธีการที่เราเรียกว่าอัลกอริธึมฉันทามติ
มีหลายวิธีในการบรรลุ Byzantine Fault Tolerance ดังนั้นจึงมีอัลกอริธึมฉันทามติต่างๆ ในพื้นที่บล็อกเชน โดยแต่ละขั้นตอนมีวิธีแก้ไขปัญหาของตนเองเพื่อประสิทธิภาพสูงสุด
Bitcoinด้วยอัลกอริธึมฉันทามติของ Proof of Work เป็นหนึ่งในกลุ่มแรกที่เข้าถึง Byzantine Fault Tolerance ใน crypto นับตั้งแต่เปิดตัวในปี 2551 Proof of Workได้พิสูจน์แล้วว่าเป็นหนึ่งในวิธีแก้ไขปัญหาที่ปลอดภัยและน่าเชื่อถือที่สุด ควบคู่ไปกับความสำเร็จของ Bitcoin
หลักฐานการทำงานเข้าถึง Byzantine Fault Tolerance ได้อย่างไร
Byzantine Fault Tolerance ทำงานอย่างไร?
Byzantine Fault Tolerance (pBFT) เป็นอัลกอริธึมฉันทามติที่นำมาใช้ในช่วงปลายทศวรรษ 90 โดย Barbara Liskov และ Miguel Castro โดยมีเป้าหมายในการแก้ปัญหาที่มีอยู่ของโซลูชัน Byzantine Fault Tolerance ที่มีอยู่แล้ว
โดยทั่วไป pBFT ทำงานโดยกำหนด 1 โหนดเป็นโหนดหลัก (ลีดเดอร์) และโหนดอื่นๆ เป็นโหนดรอง (สำรอง) โหนดใด ๆ สามารถกลายเป็นโหนดหลักได้หากโหนดปัจจุบันไม่ทำงาน
นอกจากนี้ ระบบ pBFT สามารถทำงานได้ก็ต่อเมื่อจำนวนสูงสุดของโหนดที่เป็นอันตรายต้องไม่มากกว่าหรือเท่ากับหนึ่งในสามของโหนดทั้งหมดภายในระบบ
รอบฉันทามติ pBFT มี 4 ขั้นตอน:
- คำขอ:ลูกค้าส่งคำขอไปยังโหนดหลัก (ผู้นำ)
- การเตรียมการล่วงหน้า:โหนดหลัก (ผู้นำ) ออกอากาศคำขอไปยังโหนดรอง (สำรอง) ทั้งหมด
- เตรียม:โหนด (หลักและรอง) ดำเนินการบริการที่ร้องขอ
- สัญญา :การตอบกลับจะถูกส่งไปยังไคลเอนต์หากถูกต้อง
Byzantine Fault Tolerance (pBFT) ใช้งานได้จริงอย่างไร
การรวมศูนย์และการกระจายอำนาจ
อย่างที่คุณเห็น ในการเข้าถึง Byzantine Fault Tolerance แต่ละโหนด (หรือผู้เข้าร่วม) ภายในเครือข่ายต้องสื่อสารและร่วมมือกับโหนดอื่น ไม่มีแหล่งข้อมูลที่น่าเชื่อถือให้ทุกคนพึ่งพาได้ ดังนั้นเฉพาะเครือข่ายที่กระจายอำนาจเท่านั้นที่ต้องพิจารณา Byzantine Fault Tolerance
ในทางกลับกัน สำหรับเครือข่ายแบบรวมศูนย์ มักจะมีบุคคลที่สามอย่างน้อยหนึ่งรายที่ทำหน้าที่เป็นตัวกลางระหว่างผู้เข้าร่วมแต่ละราย ทำให้การสื่อสารและความเห็นพ้องต้องกันง่ายขึ้นมาก ผู้เข้าร่วมแต่ละคนไม่ต้องเชื่อใจกันอีกต่อไป พวกเขาสามารถส่งข้อมูลทั้งหมดไปยังตัวกลางได้อย่างง่ายดาย
Byzantine Fault Tolerance ในการรวมศูนย์และการกระจายอำนาจ
คำถามที่พบบ่อยเกี่ยวกับ BFT ใน Crypto
หลักฐานของ Stake Byzantine Fault Tolerance หรือไม่?
ดังที่กล่าวไว้ข้างต้น เทคโนโลยีบล็อคเชนต้องใช้อัลกอริธึมที่เป็นเอกฉันท์เพื่อเข้าถึง Byzantine Fault Tolerance โดยเป็นหนึ่งในนั้น Proof of Stake สามารถตอบสนองความต้องการ Byzantine Fault Tolerance เช่นเดียวกับ Proof of Work
ค้นหาเพิ่มเติม: PoS คืออะไร? ทำไมถึงเป็น Byzantine Fault Tolerance?
เป็น Tendermint BFT?
Tendermint เปิดตัวครั้งแรกในปี 2014 เป็นการปรับครั้งแรกของมติ Proof-of-Stake ที่ได้มาจากอัลกอริธึม Practical Byzantine Fault Tolerant (PBFT) ดังนั้นจึงถือว่าเป็นอัลกอริธึมฉันทามติของ BFT Proof-of-Stake
Ethereum Byzantine Fault Tolerance หรือไม่?
Ethereumกำลังใช้อัลกอริธึมฉันทามติของ Proof-of-Work คล้ายกับที่ Bitcoin ใช้ ในอนาคต Ethereum จะเปลี่ยนเครือข่ายเป็น Proof-of-Stake
ไม่ว่าจะด้วยวิธีใด Ethereum ยังคงสามารถตอบสนอง Byzantine Fault Tolerance ได้
บทสรุป
Byzantine Fault Tolerance คือความสามารถที่ระบบหรือเครือข่ายแบบกระจายสามารถดำเนินการและบรรลุข้อตกลงร่วมกัน (ข้อตกลงที่เป็นกลาง) โดยพิจารณาว่าผู้เข้าร่วมบางรายอาจล้มเหลวในการดำเนินการหรือกระทำการดังกล่าวโดยมุ่งร้าย
ชื่อของมันมาจากความขัดแย้งที่เรียกว่า Byzantine Generals' Problem ในขณะที่ Byzantine Fault Tolerance เป็นวิธีแก้ปัญหา
กล่าวโดยย่อ Byzantine Generals' Problem หมายถึงปัญหาเมื่อนายพลหลายคนต้องการโจมตีป้อมปราการและต้องตัดสินใจเป็นกลุ่มว่าจะโจมตีหรือล่าถอย เราต้องค้นหาว่านายพลเหล่านี้สามารถบรรลุฉันทามติได้อย่างไร โดยไม่คำนึงถึงการกระทำที่เป็นอันตรายหรือความพยายามในการสื่อสารที่ล้มเหลว
เมื่อเราใช้ Byzantine Generals' Problem กับ crypto นายพลคือโหนด โหนดทั้งหมดภายในเครือข่ายบล็อคเชนต้องสื่อสารระหว่างกันและหาวิธีที่จะบรรลุข้อตกลงร่วมกัน ซึ่งนำไปสู่วิธีการที่เราเรียกว่าอัลกอริธึมฉันทามติ
มีหลายวิธีในการบรรลุ Byzantine Fault Tolerance ดังนั้นจึงมีอัลกอริธึมฉันทามติต่างๆ ในพื้นที่บล็อกเชน โดยแต่ละขั้นตอนมีวิธีแก้ไขปัญหาของตนเองเพื่อประสิทธิภาพสูงสุด