State Synchronization (ความสอดคล้องกันของสถานะ)

State Synchronization แปลตรงๆ จะหมายถึงการที่หลายๆ ปาร์ตี้นั้นมีสำเนาชุดข้อมูลสถานะอยู่ ถ้าหากสถานะนั้นซิงโครไนซ์กันก็คือการที่สำเนาสถานะเหล่านั้นมีความสอดคล้องกัน

ให้ qSq_Sแทนคำถามอะไรก็ได้เกี่ยวกับเชน SS ตัวอย่างของqSq_Sก็คือ:

  • บล็อกไหนที่มีธุรกรรม tx เกิดขึ้น? (tx คือชื่อธุรกรรม)

  • ค่าของเขตข้อมูล (Data Field) มีค่าเท่ากับเท่าใด?

  • อะไรคือ Merkel Root Hash ของสถานะทั้งหมดของเชน SS ณ บล็อกที่ 314159 (Hash คือฟังก์ชันที่เอาไว้เปลี่ยนค่าที่มีความยาวเท่าไหร่ก็ได้ไปเป็นผลลัพธ์ที่ถูกเข้ารหัสและมีความยาวที่แน่นอน Merkel Root Hash เป็นรูปแบบในการเก็บ Hash ประเภทหนึ่งซึ่งถ้าสนใจอ่านเพิ่มได้ที่นี่เลยครับ)

ให้aSa_Sแทนคำตอบที่ถูกต้องของqSq_Sและสมมติว่าผู้ใช้หรือแอปพลิเคชันต้องการให้aSa_Sถูกประกาศบนเชน DD เครือข่าย Axelar จะตอบสนองความต้องการดังนี้:

  1. ผู้ใช้ประกาศคำขอไปยังบัญชีบริดจ์บัญชีใดบัญชีหนึ่ง (ซึ่งจะถูกเลือกในภายหลังโดย Validator) หรือส่งไปยังบล็อกเชน Axelar โดยตรง

  2. ฉันทามติของ Axelar นั้นจะให้ Validator แต่ละคนต้องรันโหนดซอฟแวร์ให้กับเชน SS และ DD โดยที่ Validator ของ Axelar จะส่งคำขอ API ไปยังโหนดซอฟแวร์ของเชน SS ของตัวเอง (คือส่งคำขอเข้าซอฟแวร์ของเชน SS บนโหนดของตัวเองเลย) เพื่อรับคำตอบ aSa_Sมารายงานต่อเชน Axelar

  3. เมื่อค่าถ่วงน้ำหนักของเหล่า Validator ที่ตอบคำถามเหมือนกัน ณ รอบที่ RR มีค่ามากกว่า FF เครือข่าย Axelar จะบอกให้ Validator ทำการเซ็น aSa_S

  4. Validator จะทำการเซ็น aSa_S โดยใช้การเข้ารหัสแบบ Threshold โดยที่ลายเซ็นนี้จะถูกบันทึกลงไปในบล็อกที่ R+11R+11

  5. ทุกคนสามารถเก็บค่า aSa_S ที่ถูกเซ็นแล้วจากบล็อกที่ R+11R+11 และประกาศไปยังเชน DD

  6. คำขอเสร็จสมบูรณ์ แอปพลิเคชันใดๆ บนเชน DD อาจจะใช้ค่า aSa_S ที่ถูกเซ็นแล้ว ส่งคำขอไปยัง DAxelarD_{Axelar} เพื่อขอ PKAxelarPK_{Axelar} อันล่าสุด และยืนยันว่าลายเซ็นของ aSa_S นั้นสอดคล้องกับ PKAxelarPK_{Axelar} จากนั้น Validator จะประกาศ aSa_S ไปยังบัญชีบริดจ์บนเชน DD ซึ่งแอปพลิเคชันสามารถมาดึงข้อมูลไปใช้ได้

Last updated