Byzantine Fault Tolerance ใน Blockchain: มองใกล้ขึ้น

ด้าน cryptocurrencies ได้ขยายตัวอย่างมากในช่วงสองสามปีที่ผ่านมา การเพิ่มขึ้นของโครงการใหม่ยังนำเสนอวิธีต่างๆ ที่นักพัฒนาสามารถจัดการกับปัญหาที่มีอยู่ในภาคสนามได้

คำหนึ่งที่มักถูกมองข้ามคือ "กลไกฉันทามติของ BFT" BFT ย่อมาจาก Byzantine Fault Tolerance และนำเสนอปัญหาทางทฤษฎีในระบบคอมพิวเตอร์ที่มีมาก่อน Bitcoin

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

อธิบายปัญหานายพลไบแซนไทน์

ปัญหานายพลไบแซนไทน์เป็นหนึ่งในสถานการณ์เชิงทฤษฎีที่มีการพูดคุยกันมากที่สุดเมื่อใดก็ตามที่หัวข้อของความเห็นพ้องต้องกัน

ปัญหาได้รับการยอมรับครั้งแรกในกระดาษจากปี 1982 ชื่อ ปัญหานายพลไบแซนไทน์ โดย Leslie Lamport, Robert Shostak และ Marshall Pease กระดาษเขียนว่า:

ระบบคอมพิวเตอร์ที่เชื่อถือได้จะต้องสามารถรับมือกับความล้มเหลวของส่วนประกอบอย่างน้อยหนึ่งอย่างได้ องค์ประกอบที่ล้มเหลวอาจแสดงประเภทของพฤติกรรมที่มักถูกมองข้าม กล่าวคือ การส่งข้อมูลที่ขัดแย้งกันไปยังส่วนต่างๆ ของระบบ ปัญหาของการรับมือกับความล้มเหลวประเภทนี้แสดงออกมาอย่างเป็นนามธรรมว่า ปัญหานายพลไบแซนไทน์

ชื่อนี้ได้มาจากการเปรียบเทียบที่นำเสนอในบทความ โดยเฉพาะอย่างยิ่ง ผู้เขียนอธิบายสถานการณ์ทางทฤษฎีที่กองทหารไบแซนไทน์หลายหน่วยตั้งค่ายอยู่นอกเมืองศัตรู แต่ละแผนกได้รับคำสั่งจากนายพลของตนเอง ซึ่งทั้งหมดตั้งอยู่ในแคมป์ที่แตกต่างกัน ผู้บังคับบัญชาต้องคิดแผนปฏิบัติการร่วมกัน (ไม่ว่าจะโจมตีหรือถอยหนี) และพวกเขาสามารถสื่อสารด้วยข้อความเท่านั้น อย่างไรก็ตาม นายพลบางคนอาจเป็นคนทรยศและพยายามป้องกันไม่ให้นายพลผู้ภักดีบรรลุข้อตกลง (ฉันทามติ)

bft_img2
ที่มา: Wikipedia

ดังนั้นนายพลจึงต้องหาวิธีรับประกันว่า:

  • นายพลที่ภักดีทั้งหมดตัดสินใจใช้แผนปฏิบัติการเดียวกัน
  • คนทรยศจำนวนน้อยไม่สามารถทำให้นายพลที่ภักดีใช้แผนที่ไม่ดีได้

ระบบที่สามารถแก้ปัญหาข้างต้นได้จะถือว่ามีความทนทานต่อข้อผิดพลาดของไบแซนไทน์ (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 ให้โซลูชันที่ทำงานได้

bft_img1

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/