ความทนทานต่อความผิดพลาดของไบแซนไทน์ในทางปฏิบัติคืออะไร? คู่มือสำหรับผู้เริ่มต้นฉบับสมบูรณ์

ความคลาดเคลื่อนของไบแซนไทน์ในทางปฏิบัติ

โมเดล Consensus เป็นองค์ประกอบหลักของระบบบล็อกเชนแบบกระจายและเป็นหนึ่งในสิ่งที่สำคัญที่สุดสำหรับการทำงานของพวกเขา พวกเขาเป็นหัวใจสำคัญสำหรับผู้ใช้ที่จะสามารถโต้ตอบกันได้อย่างไม่ไว้วางใจและการนำไปใช้อย่างถูกต้องในแพลตฟอร์มสกุลเงินดิจิทัลได้สร้างเครือข่ายใหม่ ๆ ที่มีศักยภาพพิเศษ.

ในบริบทของระบบกระจาย, Byzantine Fault Tolerance คือความสามารถของเครือข่ายคอมพิวเตอร์แบบกระจายในการทำงานตามที่ต้องการและได้รับฉันทามติที่เพียงพออย่างถูกต้องแม้ส่วนประกอบที่เป็นอันตราย (โหนด) ของระบบจะล้มเหลวหรือเผยแพร่ข้อมูลที่ไม่ถูกต้องไปยังเพื่อนร่วมงานคนอื่น ๆ.

วัตถุประสงค์คือเพื่อป้องกันความล้มเหลวของระบบหายนะโดยการลดอิทธิพลของโหนดที่เป็นอันตรายเหล่านี้ที่มีต่อการทำงานที่ถูกต้องของเครือข่ายและฉันทามติที่ถูกต้องซึ่งมาถึงโดยโหนดที่ซื่อสัตย์ในระบบ.

ได้มาจากไฟล์ ปัญหาของ Byzantine Generals, ภาวะที่กลืนไม่เข้าคายไม่ออกนี้ได้รับการวิจัยและปรับแต่งอย่างกว้างขวางด้วยชุดวิธีแก้ปัญหาที่หลากหลายในทางปฏิบัติและได้รับการพัฒนาอย่างแข็งขัน.

ปัญหาของ Byzantine Generals

ปัญหาของ Byzantine Generals ภาพโดย Debraj Ghosh

Practical Byzantine Fault Tolerance (pBFT) เป็นหนึ่งในการเพิ่มประสิทธิภาพเหล่านี้และได้รับการแนะนำโดย Miguel Castro และ Barbara Liskov ในบทความวิชาการในปี 2542 หัวข้อ“ความคลาดเคลื่อนของไบแซนไทน์ในทางปฏิบัติ”.

มีจุดมุ่งหมายเพื่อปรับปรุงตามกลไกฉันทามติ BFT ดั้งเดิมและได้รับการปรับใช้และปรับปรุงในระบบคอมพิวเตอร์แบบกระจายสมัยใหม่หลายระบบรวมถึงแพลตฟอร์มบล็อกเชนยอดนิยม.

ภาพรวมของการยอมรับความผิดพลาดของไบแซนไทน์ในทางปฏิบัติ

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

อัลกอริทึมได้รับการออกแบบมาเพื่อทำงานในระบบอะซิงโครนัสและได้รับการปรับให้มีประสิทธิภาพสูงพร้อมกับรันไทม์เหนือศีรษะที่น่าประทับใจและเวลาแฝงที่เพิ่มขึ้นเพียงเล็กน้อย.

  • โดยพื้นฐานแล้วโหนดทั้งหมดในแบบจำลอง pBFT จะเรียงลำดับตามลำดับโดยหนึ่งโหนดเป็นโหนดหลัก (ผู้นำ) และโหนดอื่น ๆ เรียกว่าโหนดสำรอง.
  • โหนดทั้งหมดภายในระบบสื่อสารซึ่งกันและกันและเป้าหมายคือเพื่อให้โหนดที่ซื่อสัตย์ทั้งหมดได้ข้อตกลงเกี่ยวกับสถานะของระบบผ่านเสียงส่วนใหญ่.
  • โหนดสื่อสารกันอย่างหนักและไม่เพียง แต่ต้องพิสูจน์ว่าข้อความนั้นมาจากโหนดเพียร์ที่ระบุเท่านั้น แต่ยังต้องตรวจสอบด้วยว่าข้อความนั้นไม่ได้ถูกแก้ไขระหว่างการส่ง.

ความคลาดเคลื่อนของไบแซนไทน์ในทางปฏิบัติ

ความคลาดเคลื่อนของไบเซนไทน์ในทางปฏิบัติภาพโดย อัลโตรอส

เพื่อให้โมเดล pBFT ทำงานได้สมมติฐานคือจำนวนโหนดที่เป็นอันตรายในเครือข่ายไม่สามารถเท่ากับหรือเกิน⅓ของโหนดโดยรวมในระบบในหน้าต่างช่องโหว่ที่กำหนด.

ยิ่งมีโหนดในระบบมากเท่าไหร่ก็ยิ่งไม่น่าเป็นไปได้ทางคณิตศาสตร์มากขึ้นสำหรับจำนวนที่เข้าใกล้⅓ของโหนดทั้งหมดที่จะเป็นอันตราย อัลกอริทึมให้ทั้งความเป็นอยู่และความปลอดภัยได้อย่างมีประสิทธิภาพตราบเท่าที่มากที่สุด (n-1) / ⅓) โดยที่ n แทนโหนดทั้งหมดเป็นอันตรายหรือผิดพลาดในเวลาเดียวกัน.

ผลลัพธ์ที่ตามมาคือในที่สุดการตอบกลับที่ลูกค้าได้รับจากคำขอของพวกเขานั้นถูกต้องเนื่องจาก เชิงเส้น.

แต่ละรอบของฉันทามติ pBFT (เรียกว่ามุมมอง) แบ่งออกเป็น 4 ขั้นตอน แบบจำลองนี้เป็นไปตามรูปแบบ “ผู้บัญชาการและผู้หมวด” มากกว่าปัญหาทั่วไปของ Byzantine Generals โดยที่นายพลทุกคนมีความเท่าเทียมกันเนื่องจากมีโหนดผู้นำ ขั้นตอนอยู่ด้านล่าง.

  1. ไคลเอ็นต์ส่งคำร้องขอไปยังโหนดผู้นำเพื่อเรียกใช้การดำเนินการบริการ.
  2. โหนดผู้นำทำหลายคำขอไปยังโหนดสำรอง.
  3. โหนดดำเนินการตามคำขอจากนั้นส่งการตอบกลับไปยังไคลเอนต์.
  4. ไคลเอนต์รอ f + 1 (f หมายถึงจำนวนโหนดสูงสุดที่อาจผิดพลาด) การตอบกลับจากโหนดต่าง ๆ ที่มีผลลัพธ์เดียวกัน ผลลัพธ์นี้เป็นผลมาจากการดำเนินการ.

ข้อกำหนดสำหรับโหนดคือถูกกำหนดและเริ่มต้นในสถานะเดียวกัน ผลลัพธ์สุดท้ายคือโหนดที่ซื่อสัตย์ทั้งหมดตกลงกันในลำดับของเรกคอร์ดและพวกเขายอมรับหรือปฏิเสธ.

โหนดผู้นำมีการเปลี่ยนแปลงในรูปแบบประเภท round robin ในทุกมุมมองและยังสามารถแทนที่ด้วยโปรโตคอลที่เรียกว่า view change ได้หากระยะเวลาที่กำหนดผ่านไปโดยไม่มีโหนดผู้นำแบบ multicasting ตามคำขอ.

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

ข้อดีและข้อกังวลกับแบบจำลอง pBFT

แบบจำลองฉันทามติของ pBFT ได้รับการออกแบบมาสำหรับการใช้งานจริงและมีการกล่าวถึงข้อบกพร่องเฉพาะในเอกสารวิชาการต้นฉบับพร้อมกับการเพิ่มประสิทธิภาพที่สำคัญบางประการเพื่อนำอัลกอริทึมไปใช้ในระบบจริง.

ในทางตรงกันข้ามแบบจำลอง pBFT ให้ข้อได้เปรียบที่สำคัญบางประการเหนือแบบจำลองฉันทามติอื่น ๆ.

ประโยชน์ของ pBFT

ประโยชน์ของ pBFT, ภาพโดย Zilliqa

ข้อได้เปรียบหลักอย่างหนึ่งของแบบจำลอง pBFT คือความสามารถในการจัดทำธุรกรรมขั้นสุดท้ายโดยไม่จำเป็นต้องมีการยืนยันเหมือนในรูปแบบ Proof-of-Work เช่น Bitcoin ใช้.

หากโหนดในระบบ pBFT เห็นด้วยกับบล็อกที่เสนอบล็อกนั้นถือเป็นที่สิ้นสุด สิ่งนี้เปิดใช้งานโดยข้อเท็จจริงที่ว่าโหนดที่ซื่อสัตย์ทั้งหมดเห็นด้วยกับสถานะของระบบในช่วงเวลานั้นอันเป็นผลมาจากการสื่อสารระหว่างกัน.

ข้อได้เปรียบที่สำคัญอีกประการหนึ่งของรุ่น pBFT เมื่อเทียบกับระบบ PoW คือการลดการใช้พลังงานลงอย่างมาก.

ในรูปแบบ Proof-of-Work เช่นใน Bitcoin จำเป็นต้องมีรอบ PoW สำหรับทุกบล็อก สิ่งนี้นำไปสู่การใช้ไฟฟ้าของเครือข่าย Bitcoin โดยนักขุดที่แข่งขันกับประเทศเล็ก ๆ เป็นประจำทุกปี.

Bitcoin คืออะไร? คู่มือฉบับสมบูรณ์Bitcoin คืออะไร? สุดยอดคู่มือสำหรับผู้เริ่มต้น

เนื่องจาก pBFT ไม่ได้ใช้การคำนวณอย่างเข้มข้นการลดพลังงานไฟฟ้าลงอย่างมากจึงเป็นสิ่งที่หลีกเลี่ยงไม่ได้เนื่องจากคนงานเหมืองไม่ได้แก้อัลกอริธึมการแฮชแบบ PoW ที่มีความเข้มข้นสูงในทุกๆบล็อก.

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

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

แม้ว่าลายเซ็นดิจิทัลและมัลติซิกซ์จะช่วยปรับปรุง MAC ได้อย่างมากมาย แต่การเอาชนะข้อ จำกัด ด้านการสื่อสารของโมเดล pBFT ในขณะที่การรักษาความปลอดภัยไปพร้อม ๆ กันถือเป็นการพัฒนาที่สำคัญที่สุดที่จำเป็นสำหรับระบบใด ๆ ที่ต้องการนำไปใช้อย่างมีประสิทธิภาพ.

โมเดล pBFT ยังมีความอ่อนไหวต่อ การโจมตีของ sybil ที่ฝ่ายเดียวสามารถสร้างหรือจัดการข้อมูลประจำตัวจำนวนมาก (โหนดในเครือข่าย) จึงทำให้เครือข่ายเสียหาย.

สิ่งนี้จะลดลงเมื่อเทียบกับขนาดเครือข่ายที่ใหญ่ขึ้น แต่ความสามารถในการปรับขยายและความสามารถในการรับส่งข้อมูลสูงของรุ่น pBFT จะลดลงด้วยขนาดที่ใหญ่ขึ้นดังนั้นจึงจำเป็นต้องปรับให้เหมาะสมหรือใช้ร่วมกับกลไกที่เป็นเอกฉันท์อื่น.

แพลตฟอร์มที่ใช้เวอร์ชันที่เพิ่มประสิทธิภาพของ pBFT วันนี้

ปัจจุบันมีแพลตฟอร์มบล็อกเชนจำนวนหนึ่งที่ใช้อัลกอริทึม pBFT เวอร์ชันที่ปรับให้เหมาะสมหรือไฮบริดเป็นแบบจำลองฉันทามติหรืออย่างน้อยก็เป็นส่วนหนึ่งร่วมกับกลไกฉันทามติอื่น.

Zilliqa

Zilliqa ใช้ pBFT แบบคลาสสิกที่ได้รับการปรับให้เหมาะสมที่สุดร่วมกับ PoW consensus รอบทุกๆ ~ 100 บล็อก พวกเขาใช้หลายลายเซ็นเพื่อลดค่าใช้จ่ายในการสื่อสารของ pBFT แบบคลาสสิกและในสภาพแวดล้อมการทดสอบของพวกเขาเองพวกเขามี TPS ถึงสองสามพันด้วยความหวังที่จะปรับขนาดให้มากยิ่งขึ้นเมื่อมีการเพิ่มโหนดมากขึ้น.

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

Zilliqa

ไฮเปอร์เลดเจอร์

ผ้า Hyperledger เป็นสภาพแวดล้อมการทำงานร่วมกันแบบโอเพนซอร์สสำหรับโครงการบล็อกเชนและเทคโนโลยีที่โฮสต์โดย Linux Foundation และใช้อัลกอริทึม pBFT เวอร์ชันที่ได้รับอนุญาตสำหรับแพลตฟอร์มของตน.

เนื่องจากเครือข่ายที่ได้รับอนุญาตใช้กลุ่มฉันทามติขนาดเล็กและไม่จำเป็นต้องบรรลุการกระจายอำนาจของบล็อกเชนแบบเปิดและแบบสาธารณะเช่น Ethereum pBFT จึงเป็นโปรโตคอลฉันทามติที่มีประสิทธิภาพสำหรับการให้บริการธุรกรรมที่มีปริมาณงานสูงโดยไม่ต้องกังวลเกี่ยวกับการปรับแพลตฟอร์มให้เหมาะสมเพื่อขยายขนาดไปยังกลุ่มฉันทามติขนาดใหญ่.

ผ้า Hyperledger

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

สรุป

Byzantine Fault Tolerance เป็นแนวคิดที่ได้รับการศึกษามาอย่างดีในระบบแบบกระจายและการรวมเข้าด้วยกันผ่านอัลกอริธึม Tolerance Byzantine Fault Tolerance ในระบบและแพลตฟอร์มในโลกแห่งความเป็นจริงไม่ว่าจะผ่านเวอร์ชันที่ปรับให้เหมาะสมหรือรูปแบบไฮบริดยังคงเป็นองค์ประกอบโครงสร้างพื้นฐานที่สำคัญของสกุลเงินดิจิทัลในปัจจุบัน.

ในขณะที่แพลตฟอร์มยังคงพัฒนาและสร้างสรรค์นวัตกรรมในด้านโมเดลฉันทามติสำหรับระบบบล็อกเชนสาธารณะขนาดใหญ่การจัดหากลไก Byzantine Fault Tolerance ขั้นสูงจะมีความสำคัญอย่างยิ่งต่อการรักษาความสมบูรณ์ของระบบต่างๆและลักษณะที่เชื่อถือได้.