วิทยาศาสตร์ยอดนิยม: Blockchain และระบบกระจาย
หมายเหตุบรรณาธิการ: บทความนี้มาจากชุมชนเติ้งเหลียนพิมพ์ซ้ำโดย Odaily โดยได้รับอนุญาต
หมายเหตุบรรณาธิการ: บทความนี้มาจาก
ชุมชนเติ้งเหลียน
พิมพ์ซ้ำโดย Odaily โดยได้รับอนุญาต
ความนิยมของเทคโนโลยีบล็อกเชนได้ส่งเสริมการพัฒนาต่อไปของเทคโนโลยีแบบกระจายแบบดั้งเดิม จากมุมมองของสาระสำคัญของเทคโนโลยีบล็อกเชน โดยพื้นฐานแล้วนั้นแยกออกจากเทคโนโลยีหลักของระบบกระจายและการเข้ารหัสแบบดั้งเดิมไม่ได้ เทคโนโลยีบล็อกเชนควรค่าแก่การศึกษาจริงหรือ? blockchain เลือกเรา หรือเราเลือก blockchain? บทความนี้จะทำความเข้าใจบล็อกเชนจากมุมมองของนักวิจัยระบบกระจาย
ผู้คนมักคิดว่าบล็อกเชนเป็นฐานข้อมูลแบบกระจายหรือบัญชีแยกประเภทแบบกระจาย ซึ่งไม่ถูกต้องและสับสน เมื่อเปรียบเทียบกับฐานข้อมูลแบบกระจายที่เรามักจะเห็น บล็อกเชนมีความแตกต่างหลักสองประการ: อัลกอริทึมที่สอดคล้องกันและโครงสร้างลูกโซ่ ทั้งสองส่วนเสริมซึ่งกันและกันและประกอบกันเป็นลักษณะเฉพาะของบล็อกเชน
ชื่อเรื่องรอง
อัลกอริทึมฉันทามติ
อัลกอริทึมที่เป็นเอกฉันท์ที่นำมาใช้โดยฐานข้อมูลแบบกระจายนั้นโดยทั่วไปจะขึ้นอยู่กับชุดของอัลกอริทึมที่ได้มาจาก Paxos ความปลอดภัยของอัลกอริทึมเหล่านี้ขึ้นอยู่กับสมมติฐานของการรวมศูนย์ นั่นคือ โหนดทั้งหมดได้รับการจัดการโดยศูนย์ที่เชื่อถือได้ ภายใต้สมมติฐานนี้ โหนดทั้งหมดถือว่า "ซื่อสัตย์" นั่นคือ โหนดทั้งหมดพยายามอย่างดีที่สุดเพื่อส่งข้อความ และข้อความจะไม่ถูกดัดแปลง หากโหนดจำนวนน้อยหยุดทำงานหรือขาดการเชื่อมต่อ จะไม่ส่งผลกระทบต่อความปลอดภัยของโปรโตคอล
อย่างไรก็ตาม อัลกอริทึมที่เป็นเอกฉันท์ในบล็อกเชนไม่ถือเป็นการรวมศูนย์ และแต่ละโหนดสามารถพิจารณาได้ว่ามีพฤติกรรมที่เป็นอิสระ ซึ่งเป็นที่มาของ "การกระจายอำนาจ" ของบล็อกเชน โปรโตคอลอนุญาตให้โหนดบางโหนด (โดยทั่วไปน้อยกว่า 1/3) เป็นโหนดไบแซนไทน์ พวกเขาสามารถเลือกที่จะปฏิบัติตามหรือละเมิดโปรโตคอลตามความต้องการของตนเอง ส่งข้อความตามอำเภอใจ หรือแสร้งทำเป็นว่าไม่ทำงาน โหนดไบแซนไทน์สามารถเป็นโหนดที่ถูกควบคุมโดยผู้โจมตี หรือโหนดที่มีข้อบกพร่องร้ายแรงในซอฟต์แวร์ของตนเอง อัลกอริทึมประเภทนี้เรียกว่าอัลกอริธึมความทนทานต่อความผิดพลาดของไบแซนไทน์หรือเรียกสั้น ๆ ว่า BFT จะเห็นได้อย่างชัดเจนว่าการยอมรับข้อผิดพลาดของอัลกอริทึมที่สอดคล้องกันของบล็อกเชนนั้นสูงกว่าฐานข้อมูลแบบกระจายแบบดั้งเดิมมาก ดังนั้นจึงมักจะมีประสิทธิภาพน้อยกว่า
การวิจัยเกี่ยวกับอัลกอริธึมฉันทามติของ BFT ได้เริ่มขึ้นมานานแล้ว และงานวิจัยที่มีอิทธิพลมากที่สุดคือ PBFT (BFT เชิงปฏิบัติ) ที่เสนอโดยบาร์บารา ผู้ชนะรางวัลทัวริง ในปี 1999 OSDI [1] อย่างไรก็ตาม เนื่องจากอัลกอริทึมมีความซับซ้อนสูง จึงเป็นเรื่องยากที่จะดำเนินการปรับใช้ขนาดใหญ่ นอกจากนี้ อัลกอริทึมประเภทนี้ยังกำหนดให้ทราบเอกลักษณ์ของแต่ละโหนด กล่าวคือ เมื่อโปรโตคอลเริ่มต้นหรือเมื่อโหนดใหม่เข้าร่วม จำเป็นต้องมีกลไกควบคุมการเข้าถึง (Access Control) เพื่อให้แน่ใจว่าโหนดสามารถ ตรวจสอบตัวตนของกันและกัน จากเหตุผลข้างต้น การวิจัยเกี่ยวกับโปรโตคอล BFT แบบดั้งเดิมจึงไม่มีความคืบหน้ามากนักจนถึงปี 2010
การใช้ทรัพยากรที่ดี นักขุดที่เข้าร่วมในเครือข่ายจำเป็นต้องจ่ายค่าฮาร์ดแวร์และค่าไฟฟ้าจำนวนมาก
ประสิทธิภาพต่ำมาก เครือข่าย Bitcoin สามารถประมวลผลได้ประมาณ 7 ธุรกรรมต่อวินาที และเวลาในการสร้างเฉลี่ยของแต่ละบล็อกคือประมาณ 10 นาที
ความไม่แน่นอนของธุรกรรม แม้ว่าบล็อกจะได้รับการยืนยันในเครือข่าย Bitcoin แต่เนื่องจากการแยกบล็อกเชนที่เป็นไปได้ บล็อกยังคงมีความเสี่ยงที่จะถูกเขียนใหม่ หลังจากรอการยืนยันบล็อกหลายครั้ง (เช่น 6 ครั้ง) เท่านั้น ความเสี่ยงที่บล็อกนี้จะถูกเขียนใหม่จะลดลงมากพอ สิ่งนี้ยังเพิ่มเวลาแฝงสำหรับการยืนยันธุรกรรมอีกด้วย
เพื่อลดค่าใช้จ่ายข้างต้น นักวิจัยจำนวนมากได้ใช้ความพยายามอย่างมาก ตัวอย่างเช่น เพื่อปรับปรุงประสิทธิภาพของอัลกอริทึมที่สอดคล้องกัน นักวิจัยจากมหาวิทยาลัย Cornell ได้เสนอ Bitcoin-NG [2] ที่ NDSI ในปี 2559 นักวิจัยจาก MIT และ Stanford เสนอ Prism [3] ที่ CCS ในปี 2019 เพื่อขยาย Bitcoin นอกจากนี้ เพื่อลดการใช้ทรัพยากร นักวิจัยจาก MIT ได้เสนอ Algorand ตาม Proof-of-Stake ที่ SOSP ในปี 2560 ซึ่งลดการใช้การขุด
ชื่อเรื่องรอง
โครงสร้างโซ่
นวัตกรรมอีกประการหนึ่งที่นำมาจาก blockchain คือโครงสร้างโซ่ แต่ละบล็อกเชื่อมโยงกับบล็อกก่อนหน้าผ่านแฮช ตลอดทางจนถึงบล็อกเริ่มต้น สร้างห่วงโซ่ที่ไม่มีที่สิ้นสุด ข้อดีอย่างหนึ่งของโครงสร้างนี้คือเมื่อโหนดยืนยันบล็อก หมายความว่าบล็อกก่อนหน้าทั้งหมดบนเชนที่เป็นที่ตั้งของบล็อกนั้นได้รับการยืนยันพร้อมกัน จากโครงสร้างห่วงโซ่นี้ ทำให้ง่ายต่อการนำหลักการ "ห่วงโซ่ที่ยาวที่สุด" มาใช้ในบล็อกเชนเพื่อเผยแพร่บล็อกใหม่ ตัวอย่างเช่น ใน Bitcoin เนื่องจากปัญหาเครือข่ายและการโจมตีที่เป็นอันตราย นักขุดอาจเห็นหลายเชน แต่นักขุดมักจะขุดในเชนที่ยาวที่สุดเสมอ
แม้ว่าคุณจะพบโซ่ที่ยาวกว่าโซ่ที่คุณอยู่ระหว่างการขุด คุณต้องเปลี่ยนไปใช้โซ่ที่ยาวกว่านั้น หลักการ "ห่วงโซ่ที่ยาวที่สุด" ไม่จำเป็นต้องเป็นข้อบังคับ และจะไม่มีผลกระทบร้ายแรงต่อความปลอดภัยของโปรโตคอล แต่เมื่อนักขุดทุกคนปฏิบัติตามหลักการนี้ นักขุดแต่ละคนสามารถคาดหวังผลประโยชน์สูงสุดได้ แน่นอน มีข้อยกเว้น เมื่อนักขุดครอบครองทรัพยากรที่ค่อนข้างใหญ่ (น้อยกว่า 50%) กลยุทธ์ "การขุดแบบเห็นแก่ตัว" (การขุดแบบเห็นแก่ตัว) [4] สามารถนำมาใช้ได้ซึ่งละเมิดหลักการ "longest chain" และแสวงหารายได้ที่สูงขึ้น .
โครงสร้างสายโซ่ของบล็อกเชนยังเป็นแรงบันดาลใจที่ดีให้กับนักวิจัยที่ศึกษา BFT แบบดั้งเดิม และโปรโตคอล BFT จำนวนมากที่ปรับให้เหมาะกับบล็อกเชนได้เริ่มปรากฏขึ้น ที่มีชื่อเสียงที่สุดคือ LibraBFT [5] โปรโตคอลฉันทามติที่นำมาใช้โดย Facebook LibraBFT อิงจาก HotStuff [6] ซึ่งเสนอโดยนักวิจัยจาก VMware HotSutff ปรับปรุงประสิทธิภาพของ BFT แบบดั้งเดิมโดยการนำโครงสร้างลูกโซ่ของบล็อกเชนมาใช้ ทำให้สามารถปรับใช้โปรโตคอลในเครือข่ายที่มีโหนดหลายร้อยโหนด ให้ฉันอธิบายสั้น ๆ ความมหัศจรรย์ของโครงสร้างห่วงโซ่นี้
เพื่อแก้ปัญหานี้ HotStuff แนะนำโครงสร้างโซ่บนพื้นฐานของ PBFT เนื่องจากลักษณะของโครงสร้างลูกโซ่ที่กล่าวถึงข้างต้น การโหวตของโหนดสำหรับบล็อกจึงเป็นการลงคะแนนสำหรับบล็อกก่อนหน้าทั้งหมดบนเชนที่บล็อกนี้ตั้งอยู่ ดังนั้น HotStuff ที่เชื่อมโยงกันจึงลดขั้นตอนการลงคะแนนที่แตกต่างกันและคงไว้เฉพาะแบบฟอร์มเสนอ-โหวตแบบรวม ดังแสดงในรูปด้านล่าง (ที่มา [6])
สรุป
HotStuff ใช้คุณลักษณะของโครงสร้างลูกโซ่เพิ่มเติมเพื่อระบุกฎการลงคะแนนเสียงและกฎการยืนยันบล็อก (กฎคอมมิต) เพื่อให้มั่นใจในความปลอดภัยของโปรโตคอล โครงสร้างสายโซ่ทำให้โปรโตคอล BFT เรียบง่ายและสง่างาม และสามารถทำงานได้ดีกับการดำเนินการไปป์ไลน์ ซึ่งช่วยปรับปรุงประสิทธิภาพของโปรโตคอลและลดพื้นที่สถานะลงอย่างมาก


