Blockdit Logo
Blockdit Logo (Mobile)
สำรวจ
ลงทุน
คำถาม
เข้าสู่ระบบ
มีบัญชีอยู่แล้ว?
เข้าสู่ระบบ
หรือ
ลงทะเบียน
HBAR Gossip "กระซิบข่าว Hedera" เหรียญ HBAR coin
•
ติดตาม
16 ก.ย. 2022 เวลา 00:00 • วิทยาศาสตร์ & เทคโนโลยี
Hashgraph Consensus Algorithm ทำงานอย่างไร?
เยี่ยมชม
youtube.com
Hashgraph Consensus Algorithm Explained | Dr. Leemon Baird
The hashgraph consensus algorithm enables distributed consensus in an innovative way. Hashgraph is a distributed consensus algorithm that is fast, fair, and ...
ดังคลิปวิดีโอข้างต้นนี้ Dr.Leemon Baird ได้อธิบายขั้นตอนกระบวนการทำงานของ Hashgraph Consensus Algorithm ไว้อย่างง่ายที่สุดที่บุคคลทั่วไปที่ไม่ได้เชี่ยวชาญเรื่องเทคโนโลยีหรือระบบคอมพิวเตอร์ก็สามารถเข้าใจเบื้องต้นได้ เป็นอย่างไร เรามาดูกันครับ
Hashgraph Consensus Algorithm เป็นกระบวนการในการบันทึกข้อมูลที่เกิดขึ้นในเครือข่าย Hedera ผ่านสมาชิกของเครือข่าย นั่นคือ โหนด (node) ด้วย 2 ขั้นตอนสำคัญ คือ Gossip about Gossip protocol และ Virtual Voting ก่อนจะบรรลุฉันทามติที่สมาชิกทุกโหนดในเครือข่ายโดยส่วนใหญ่เห็นชอบร่วมกัน ที่มีทั้งความรวดเร็ว รองรับปริมาณธุรกรรมได้มาก มีการกระจายอำนาจ ปลอดภัย ประหยัดพลังงาน ซึ่งเป็นคุณสมบัติที่เหมาะสมของเครือข่ายกระจายอำนาจก้าวไปสู่การใช้งานจริงในระบบเศรษฐกิจอย่างแพร่หลายในอนาคต
ดังภาพตัวอย่าง รายชื่อแต่ละคนนั้นเปรียบเสมือน โหนด บนเครือข่าย Hedera ที่ทำงานเชื่อมโยงกันอยู่ การทำงานเริ่มต้นเมื่อ อลิซ ต้องการจะส่งข้อความให้กับสมาชิกในเครือข่าย อลิซก็รวบรวมข้อมูลประกอบด้วย เวลาที่ส่งข้อความ (Timestamp) ลายเซ็นต์ดิจทัลของผู้ส่งข้อมูล (Digital Signature) และข้อมูลที่ต้องการส่ง (Transaction)
ข้อความจากอลิซ จะถูกส่งให้สมาชิกในเครือข่ายแต่ละคนแบบสุ่ม ผ่านกระบวนการ Gossip about Gossip protocol ที่เป็นดั่งการซุบซิบกันด้วยข้อความสั้น ๆ จากนั้น สมมุติว่า อลิซสุ่มเจอบ๊อบ บ๊อบได้รับข้อความที่อลิซกระซิบมา บ๊อบก็จะกระซิบต่อไปแบบสุ่มไปที่คนอื่น ๆ อีกทอด ต่อมาแครอล และแฮงค์ ได้รับข้อความ แครอล และแฮงค์ ก็จะกระซิบต่อไปเรื่อย ๆ ข้อความจากหนึ่งคนจะถูกขยายวงออกไปเป็น 2, 4, 16, … exponential ไปเรื่อย ๆ จนทุกคนในเครือข่ายรู้ข้อมูลจากอลิซอย่างรวดเร็ว รู้เท่ากัน รู้เหมือนกันทุกประการ
แล้วก็มีคำถามเกิดขึ้นมาก็คือ แล้วอลิซจะแน่ใจได้อย่างไรว่าทุก ๆ คนได้รับข้อความแล้วจริง ๆ เพราะแต่ละคนไม่ได้ตอบกลับว่า “ได้รับแล้วนะ” หรือไม่มีใบเสร็จใด ๆ และอลิซก็ไม่มีวันรู้เลยว่า บ๊อบส่งให้แครอลหรือไม่ แครอลส่งต่อหรือไม่ และอลิซไม่ได้ส่งข้อความให้ทุก ๆ คนในเครือข่าย
จะให้เห็นภาพ ลองนึกถึงตอนคุณส่งอีเมลให้ใครสักคน แล้วฝากเขาส่งต่อให้คนรู้จักอีกทอด แล้วฝั่งนั้นไม่ตอบกลับครับ ไม่รู้ว่าได้รับหรือยัง ส่งต่อหรือยัง ส่งได้ไหม อารมณ์เดียวกัน
ดังนั้น เพื่อแก้ปัญหานี้ ข้อความของอลิซ จึงถูกนำไปบันทึกบนกราฟที่เรียกว่า Directed acyclic graph (DAG) ที่เป็นเสมือนกระดาษบันทึกเหตุการณ์ต่าง ๆ ที่เกิดบนเครือข่าย แล้วส่งกราฟนี้ไปพร้อม ๆ กับข้อความที่จะส่งให้ทุกคน จากนั้น เมื่อส่งถึงบ๊อบ บ๊อบก็จะอัพเดทกราฟว่าได้รับจากอลิซและได้ส่งข้อความไปให้ใครแล้วบ้าง แล้วก็ส่งกราฟที่อัพเดทของตัวเองไปให้คนอื่น ๆ
ต่อมาแครอลส่งข้อความของอลิซกลับมาหาบ๊อบ บ๊อบก็รู้ว่าตัวเองได้รับข้อความของอลิซแล้ว และรู้ด้วยว่าแครอลได้ส่งให้แฮงค์และแฟรงค์ไปเรียบร้อยแล้ว กราฟของบ๊อบก็จะได้รับการอัพเดทเหตุการณ์ล่าสุดในทันที สุดท้าย กราฟก็จะถูกส่งกลับไปกลับมาหากัน อัพเดทไปเรื่อย ๆ จนกว่าทุกคนจะได้รับข้อความจนครบ กราฟของทุกคนจะมีเส้นทางเหมือนกัน
เท่ากันและเก็บข้อมูลนี้ไว้กับตัวเองด้วย นั่นทำให้ทุกคนในเครือข่ายรู้ว่าข้อมูลถูกส่งครบถ้วนหมดแล้วและรู้ด้วยว่าใครกระซิบใครบ้าง รู้ทุกข้อมูล รู้เท่ากันราวกับเป็นคนคนเดียวกัน สมองเดียวกันนั่นเอง
เมื่อจบขั้นตอนนี้ สิ่งที่เกิดขึ้นคือมีทั้งข้อความและประวัติเส้นทางการซุบซิบของแต่ละคนเกิดขึ้น ดังนั้น จึงต้องทำการย่อข้อความทั้งหมดให้สั้นที่สุดด้วยการ Hash จำนวน 2 ครั้ง ครั้งแรกจะบันทึกข้อความของคนที่กระซิบคนแรกและครั้งที่สองจะบันทึกข้อความของคนที่กระซิบคนสุดท้าย เพื่อให้ข้อมูล Transaction ที่จะนำไปสู่ขั้นตอนต่อไปเพื่อลงฉันทามติ มีขนาดเล็กที่สุดและส่งหากันได้อย่างรวดเร็วราวกับเป็นการซุบซิบบอกต่อกันนั่นเอง
ที่นี้ กลับมาดูที่กราฟที่ส่งครบหมดแล้วอีกครั้ง ทุกอย่างเหมือนกันหมด เว้นเพียงอย่างเดียว คือ “เวลา” ทุกคนจะพบว่า เวลาที่ได้รับข้อความของแต่ละคนนั้น เหลื่อมกันเพียงเศษเสี้ยวของวินาที เพราะมันมีเวลาแฝงช่วงระหว่างที่กระซิบต่อ ๆ กันเกิดขึ้น
ดังนั้น Algorithm ก็จะนำเวลาที่ได้รับข้อความของทุก ๆ คนมาจัดเรียงและหาค่ากลางทางคณิตศาสตร์หรือ ค่ามัธยฐาน (Median) เพื่อให้ได้เวลาหนึ่งเดียวของข้อความจากอลิซนำมาลงประทับเวลา (Timestamp) ที่ทุกคนมีฉันทามติร่วมกัน โดยใน Algorithm จะมีการกำหนดระยะเวลา delay การรับข้อความของแต่ละโหนดที่ เพื่อป้องกันโหนดที่พยายามถ่วงเวลาด้วย
เมื่อรู้ทุกข้อมูล รู้เท่ากันราวกับเป็นคนคนเดียวกัน สมองเดียวกัน แล้วจะมีอะไรต้องคุยกันอีก ไม่มีแล้ว!! จึงก้าวไปสู่ขั้นตอนสุดท้าย นั่นคือการลงฉันทามติ เพื่อรับรองว่า ข้อความของอลิซ ได้เกิดขึ้นบนเครือข่าย ถูกบันทึก ลงประทับเวลา แต่เมื่อรู้กันหมดแล้ว จะต้องมาถามฉันทามติทำไมให้เสียเวลา
เพราะทุกคนรู้เท่ากันหมดว่าจะโหวตอะไร รู้ว่าข้อมูลเหล่านี้ได้ผ่านกระบวนการต่าง ๆ อย่างถูกต้องหรือไม่เหมือน ๆ กัน ก็ทำเป็นเสมือนว่าโหวต (Virtual Voting) เพื่อลดขั้นตอนการทำงานของเครือข่าย และทำให้สามารถรองรับปริมาณข้อความของแต่ละคนที่เกิดขึ้นในแต่ละวินาทีได้อย่างรวดเร็วมากยิ่งขึ้นกว่าเครือข่ายระบบอื่น ๆ
ข้อความของอลิซ ตั้งแต่เริ่มส่งส่งไปจนถึงการได้รับฉันทามติ เสร็จสิ้นกระบวนการ ใช้เวลาไม่เกิน 5 วินาที
อ้างอิง
https://www.youtube.com/watch?v=cje1vuVKhwY
ช่องทางการติดตามพวกเรา
Facebook Page -
https://bit.ly/3qbDXZR
Facebook Groups -
https://bit.ly/3RjEx3B
cryptocurrency
ข่าวรอบโลก
บันทึก
โฆษณา
ดาวน์โหลดแอปพลิเคชัน
© 2024 Blockdit
เกี่ยวกับ
ช่วยเหลือ
คำถามที่พบบ่อย
นโยบายการโฆษณาและบูสต์โพสต์
นโยบายความเป็นส่วนตัว
แนวทางการใช้แบรนด์ Blockdit
Blockdit เพื่อธุรกิจ
ไทย