ด้าน cryptocurrencies ได้ขยายตัวอย่างมากในช่วงสองสามปีที่ผ่านมา การเพิ่มขึ้นของโครงการใหม่ยังนำเสนอวิธีต่างๆ ที่นักพัฒนาสามารถจัดการกับปัญหาที่มีอยู่ในภาคสนามได้
คำหนึ่งที่มักถูกมองข้ามคือ "กลไกฉันทามติของ BFT" BFT ย่อมาจาก Byzantine Fault Tolerance และนำเสนอปัญหาทางทฤษฎีในระบบคอมพิวเตอร์ที่มีมาก่อน Bitcoin
อย่างไรก็ตาม โปรโตคอลที่ใช้บล็อคเชนจำนวนมากมีส่วนร่วมในการแก้ปัญหาที่เกี่ยวข้องกับความทนทานต่อความผิดพลาดของไบแซนไทน์ และสิ่งต่อไปนี้จะพิจารณาอย่างละเอียดถี่ถ้วนในเรื่องนี้และทั้งหมดที่เกิดขึ้นจากมัน
อธิบายปัญหานายพลไบแซนไทน์
ปัญหานายพลไบแซนไทน์เป็นหนึ่งในสถานการณ์เชิงทฤษฎีที่มีการพูดคุยกันมากที่สุดเมื่อใดก็ตามที่หัวข้อของความเห็นพ้องต้องกัน
ปัญหาได้รับการยอมรับครั้งแรกในกระดาษจากปี 1982 ชื่อ ปัญหานายพลไบแซนไทน์ โดย Leslie Lamport, Robert Shostak และ Marshall Pease กระดาษเขียนว่า:
ระบบคอมพิวเตอร์ที่เชื่อถือได้จะต้องสามารถรับมือกับความล้มเหลวของส่วนประกอบอย่างน้อยหนึ่งอย่างได้ องค์ประกอบที่ล้มเหลวอาจแสดงประเภทของพฤติกรรมที่มักถูกมองข้าม กล่าวคือ การส่งข้อมูลที่ขัดแย้งกันไปยังส่วนต่างๆ ของระบบ ปัญหาของการรับมือกับความล้มเหลวประเภทนี้แสดงออกมาอย่างเป็นนามธรรมว่า ปัญหานายพลไบแซนไทน์
ชื่อนี้ได้มาจากการเปรียบเทียบที่นำเสนอในบทความ โดยเฉพาะอย่างยิ่ง ผู้เขียนอธิบายสถานการณ์ทางทฤษฎีที่กองทหารไบแซนไทน์หลายหน่วยตั้งค่ายอยู่นอกเมืองศัตรู แต่ละแผนกได้รับคำสั่งจากนายพลของตนเอง ซึ่งทั้งหมดตั้งอยู่ในแคมป์ที่แตกต่างกัน ผู้บังคับบัญชาต้องคิดแผนปฏิบัติการร่วมกัน (ไม่ว่าจะโจมตีหรือถอยหนี) และพวกเขาสามารถสื่อสารด้วยข้อความเท่านั้น อย่างไรก็ตาม นายพลบางคนอาจเป็นคนทรยศและพยายามป้องกันไม่ให้นายพลผู้ภักดีบรรลุข้อตกลง (ฉันทามติ)
ดังนั้นนายพลจึงต้องหาวิธีรับประกันว่า:
- นายพลที่ภักดีทั้งหมดตัดสินใจใช้แผนปฏิบัติการเดียวกัน
- คนทรยศจำนวนน้อยไม่สามารถทำให้นายพลที่ภักดีใช้แผนที่ไม่ดีได้
ระบบที่สามารถแก้ปัญหาข้างต้นได้จะถือว่ามีความทนทานต่อข้อผิดพลาดของไบแซนไทน์ (BFT) นี่คือที่มาของอัลกอริธึมฉันทามติของ BFT
โดยพื้นฐานแล้ว Byzantine Fault Tolerance เป็นเงื่อนไขที่ป้องกันไม่ให้ระบบต้องทนทุกข์จากผู้เข้าร่วมที่ไม่น่าเชื่อถือ (ไม่ภักดี)
การแก้ปัญหาของนายพลไบแซนไทน์
ในการแก้ปัญหา Byzantine Generals และบรรลุ Byzantine Fault Tolerance (BFT) จะต้องมีข้อตกลงร่วมกันระหว่างนายพลเกี่ยวกับกลยุทธ์ของพวกเขา
ทำได้หลายวิธีขึ้นอยู่กับระบบและความจำเป็น ในบริบทของ blockchain ทั้ง proof-of-work และ proof-of-stake สามารถบรรลุความทนทานต่อข้อผิดพลาด Byzantine ได้ แต่แนวทางในทั้งสองวิธีต่างกัน
บล็อคเชนที่พิสูจน์การมีส่วนได้ส่วนเสียส่วนใหญ่สามารถทนได้ถึงหนึ่งในสามของโหนดที่ผิดพลาด ทำให้มีความคล่องตัวในการ 3f+1 กฎโดยที่ F คือจำนวนโหนดที่ไม่ภักดี และสูตรให้จำนวนโหนดที่ภักดีที่ระบบต้องมี
ตัวอย่างเช่น ในระบบที่มี 4 โหนด มีเพียงหนึ่งโหนดเท่านั้นที่สามารถมีข้อบกพร่องเพื่อให้เข้ากับเกณฑ์ (3f+1)
ในเดือนกุมภาพันธ์ พ.ศ. 1999 Miguel Castro และ Barbara Liskov จากห้องปฏิบัติการวิทยาการคอมพิวเตอร์ที่สถาบันเทคโนโลยีแมสซาชูเซตส์ (MIT) ได้ตีพิมพ์บทความที่นำเสนอวิธีแก้ปัญหาผ่านสิ่งที่เรียกว่า ความทนทานต่อความผิดพลาดของไบแซนไทน์ในทางปฏิบัติ
Blockchain แก้ปัญหา Byzantine Generals ได้อย่างไร?
เทคโนโลยีที่ใช้บล็อคเชนนำเสนอโซลูชั่นที่หลากหลายสำหรับปัญหา Byzantine Generals ความแตกต่างเกิดขึ้นจากอัลกอริธึมฉันทามติที่กำหนดและแนวทางของ BFT แต่ทั้ง Proof-of-Work และ Proof-of-Stake ให้โซลูชันที่ทำงานได้
Bitcoin แก้ปัญหา Byzantine Generals ได้อย่างไร?
ที่น่าสนใจในเอกสารต้นฉบับ Satoshi Nakamoto ไม่ได้กล่าวถึงปัญหา Byzantine Generals Problem แต่ด้วยการเปิดตัวเครือข่าย Bitcoin ผู้สร้างนามแฝงได้แก้ไขโดยหลักผ่านอัลกอริธึมฉันทามติของ Proof-of-Work (PoW)
ในการแก้ปัญหา Satoshi ได้สร้างวิธีการใช้การรักษาความปลอดภัยการเข้ารหัสและการเข้ารหัสคีย์สาธารณะในเครือข่ายดิจิทัล เพื่อป้องกันการปลอมแปลงข้อมูล การรักษาความปลอดภัยการเข้ารหัสจะใช้การแฮช ในขณะที่ข้อมูลประจำตัวของผู้ใช้เครือข่ายจะได้รับการยืนยันผ่านคีย์สาธารณะของพวกเขา
ธุรกรรมมีความปลอดภัยในบล็อก ซึ่งเชื่อมต่อกับบล็อกอื่นๆ ด้วยค่าแฮชและรักษาความปลอดภัยโดยการเข้ารหัส สิ่งสำคัญที่ควรทราบคือบล็อคเชนใช้ Merkle Tree เพื่อตรวจสอบแฮชที่มาจากบล็อกกำเนิด (เริ่มต้น) ทุกบล็อกที่มาจากบล็อกกำเนิดนั้นถูกต้อง บล็อกเหล่านี้ได้รับการตรวจสอบโดยคนงานเหมืองที่ไขปริศนาการเข้ารหัสในการแข่งขันเพื่อสร้างบล็อกซึ่งเป็นส่วนหนึ่งของวิธีการที่เป็นเอกฉันท์
Bitcoin ได้กำหนดกฎเกณฑ์ที่ชัดเจนและมีวัตถุประสงค์ที่ชัดเจนสำหรับ blockchain เพื่อปฏิบัติตามเพื่อเอาชนะปัญหา Byzantine Generals สมาชิกเครือข่ายต้องเผยแพร่หลักฐานว่าพวกเขาทำงานเสร็จแล้วจึงจะสามารถเพิ่มข้อมูลในบล็อกเชนได้ (ดังนั้น หลักฐานการทำงาน) สิ่งนี้มีค่าใช้จ่ายสูงสำหรับสมาชิกและทำให้ไม่จูงใจสำหรับพวกเขาในการแบ่งปันข้อมูลที่ผิดพลาดเนื่องจากจะถูกหักล้างโดยสมาชิกรัฐอื่น ๆ
กฎทั้งหมดมีความชัดเจนและมีวัตถุประสงค์ หมายความว่าจะไม่มีการปลอมแปลงข้อมูล
Proof-of-Stake แก้ปัญหา Byzantine Generals ได้อย่างไร?
เครือข่ายที่ควบคุมโดยอัลกอริธึมฉันทามติที่พิสูจน์การมีส่วนได้ส่วนเสียไม่พึ่งพาการขุด – พวกเขาพึ่งพาการปักหลัก ในการเป็นผู้ตรวจสอบเครือข่าย ผู้ใช้ต้องเดิมพันเงินในระบบก่อน ผู้ที่มีส่วนแบ่งมากกว่าสามารถตรวจสอบบล็อกได้มากขึ้นและได้รับรางวัลมากขึ้น ผู้ที่พยายามแก้ไขข้อมูลมีความเสี่ยงที่จะสูญเสียเงินเดิมพัน
วิธีที่ระบบเหล่านี้แก้ปัญหาแตกต่างกันไป ตัวอย่างเช่น Ethereum 2.0 ใช้อัลกอริทึมของแคสเปอร์ จำเป็นต้องมีโหนดส่วนใหญ่อย่างน้อยสองในสามเพื่อยอมรับบล็อกเฉพาะก่อนที่จะสามารถสร้างและเพิ่มลงในเครือข่ายได้
มีความพยายามที่หลากหลายในการแก้ปัญหาตามความจำเป็นของระบบและแนวทางของทีม ตัวอย่างเช่น ด้วย Delegated Proof of Stake (dPoS) การได้รับฉันทามตินั้นเร็วกว่ามาก ในทางกลับกัน บางระบบใช้ความทนทานต่อข้อผิดพลาดแบบไบแซนไทน์ในทางปฏิบัติ
Binance ฟรี $100 (พิเศษ): ใช้ลิงก์นี้ เพื่อลงทะเบียนและรับฟรี $100 และค่าธรรมเนียม 10% สำหรับ Binance Futures เดือนแรก (เงื่อนไขการใช้บริการ).
ข้อเสนอพิเศษ PrimeXBT: ใช้ลิงก์นี้ เพื่อลงทะเบียนและป้อนรหัส POTATO50 เพื่อรับสูงถึง $7,000 จากเงินฝากของคุณ
ที่มา: https://cryptopotato.com/byzantine-fault-tolerance-in-blockchain-a-closer-look/