การส่งสินทรัพย์ข้ามบล็อกเชน

เครือข่ายนั้นทำให้การโอนสินทรัพย์ดิจิตอลเป็นไปได้โดยการขยาย State Synchronization ตามขั้นตอนในบทย่อยที่แล้ว

ปริมาณโทเคนของ Pegged-SS (Pegged Token คือโทเคนที่ถูกตรึงราคาไว้ ก็คล้ายๆ Wrapped แหละครับต้องมีการเอาสินทรัพย์นั้นจริงๆ มาตรึงราคาไว้) จะถูกสร้างออกมาอย่างเพียงพอและถูกควบคุมโดย DAxelarD_{Axelar} เมื่อมันถูกสร้างขึ้น สมมติว่าผู้ใช้ต้องการที่จะแลกเปลี่ยนโทเคนจำนวน xx บนเชน SS กับโทเคน Pegged-SS จำนวน xx บนเชนปลายทาง DD เพื่อที่จะฝากไปยังบัญชีบนเชน DD ที่เรียกว่า wDw_D การทำงานโดยทั่วไปที่รองรับเชน SS ใดๆ หรือแม้กระทั่ง Bitcoin ที่ไม่รองรับสัญญาอัจฉริยะดังขั้นตอนต่อไปนี้:

  1. ผู้ใช้งาน (หรือแอปพลิเคชันที่ดำเนินการในนามของผู้ใช้) จะทำการประกาศคำขอการโอน (x,wD)(x,w_D) ไปยังบัญชีบริดจ์แบบ Threshold ซึ่งต่อมาจะถูกส่งไปยังเครือข่าย Axelar

  2. Validator ของ Axelar จะใช้การเข้ารหัสแบบ Threshold เพื่อร่วมกันสร้างที่อยู่การฝากอันใหม่ขึ้นมาบนเชน SSเรียกว่า dSd_S และเหล่า Validator จะประกาศ dSd_S ไปยังบล็อกเชนของ Axelar

  3. ผู้ใช้งาน (หรือแอปพลิเคชันที่ดำเนินการในนามของผู้ใช้) จะรับรู้ dSd_Sจากการตรวจสอบบล็อกเชน Axelar จากนั้นผู้ใช้จะทำการส่งโทเคน SS จำนวน xx ไปยังที่อยู่ dSd_S ผ่านธุรกรรมธรรมดาบนเชน SS โดยจะใช้ซอฟต์แวร์ใดก็ได้แล้วแต่ชอบในการส่ง เราจะแทนธุรกรรมนี้ด้วย txStx_S (เนื่องจากคุณสมบัติของ Threshold ของ dSd_S ทำให้โทเคนไม่สามารถถูกใช้โดย dSd_S ได้นอกจากว่าจำนวนของ Validator ต้องร่วมมือกันจนถึงค่า Threshold จึงจะทำได้)

  4. txStx_S ถูกประกาศลงบนเชน Axelar จากนั้น Validator จะทำการส่งคำขอ API ไปยังซอฟต์แวร์ของเชน SS บนโหนดของตัวเองเพื่อตรวจสอบการมีอยู่ของ txStx_S ถ้าหากคำตอบนั้นเป็น "จริง" จะทำการส่งคำตอบไปยังเชน Axelar

  5. เมื่อค่าถ่วงน้ำหนักของ Validator ทั้งหมดที่รายงานว่า "จริง" รวมกันแล้วมีค่ามากกว่าค่า Threshold FF สำหรับ txStx_S ในรอบที่ RR จากนั้นเครือข่าย Axelar จะบอกให้ Validator ทำการเซ็นธุรกรรม aDa_D ที่จะทำการส่งโทเคน Pegged-SS จำนวน xx จาก DAxelarD_{Axelar} ไปยัง wDw_D

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

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

  8. คำขอเสร็จสมบูรณ์ เมื่อ aDa_D ถูกประกาศไปยังเชน DD และการโอนจะถูกดำเนินการ

คราวนี้สมมติว่าผู้ใช้ต้องการถอน Wrapped-SS จำนวน xx' จากเชน DD กลับมายังเชน SS เพื่อที่จะนำมาฝากไว้ที่ที่อยู่บนเชน SS ซึ่งเป็นที่อยู่ที่ผู้ใช้เป็นคนเลือกเราจะเรียกแทนที่อยู่นี้ด้วย wSw_S โดยขั้นตอนจะเป็นไปดังนี้:

  1. ผู้ใช้เริ่มต้นโดยส่งคำขอการโอน (x,wS)(x',w_S) โดยการฝากโทเคน Wrapped-SS จำนวน xx' ไปยัง cDc_D ผ่านการทำธุรกรรมแบบปกติบนเชน DD โดยการใช้ซอฟต์แวร์อะไรก็ได้ที่รองรับบนเชน DD

  2. (x,wS)(x',w_S) ถูกประกาศบน Axelar โดยที่เหล่า Validator จะส่งคำขอ API ไปยังซอฟต์แวร์ของเชน DD บนโหนดของตัวเองเพื่อถามการมีอยู่ของ (x,wS)(x',w_S) หากคำตอบนั้นเป็น "จริง" จะทำการส่งคำตอบไปยังเชน Axelar

  3. เมื่อค่าถ่วงน้ำหนักของ Validator ทั้งหมดที่รายงานว่า "จริง" รวมกันแล้วมีค่ามากกว่าค่า Threshold FF สำหรับ (x,wS)(x',w_S) ในรอบที่ RR จากนั้นเครือข่าย Axelar จะบอกให้ Validator ทำการเซ็นธุรกรรม aSa_S เพื่อส่งโทเคน SS จำนวน xx' จาก SAxelarS_{Axelar} ไปยัง wSw_S

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

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

  6. คำขอเสร็จสมบูรณ์ เมื่อ aSa_S ถูกประกาศไปยังเชน SS และการโอนจะถูกดำเนินการ

ยังมีคำขออย่างอื่นที่รองรับด้วย CGP Routing Layer อีก ได้แก่ การล็อก ปลดล็อก และการส่งสินทรัพย์ข้ามเชน

ขั้นตอนการทำธุรกรรมข้ามเชนแบบ Atomicity (Achieving Atomic Cross-Chain Transaction Flow)

ขึ้นอยู่กับประเภทคำขอแบบข้ามเชน Axelar จะพยายามทำให้แน่ใจว่าการทำธุรกรรมนั้นจะถูกทำให้สำเร็จบนหลายๆ เชน หรือจะไม่มีการทำธุรกรรมเกิดขึ้นเลย (ถ้างงตรงนี้อ่านเพิ่มเติมที่ Hint ด้านล่างครับ) การทำแบบนี้ทกๆ คำขอนั้นสามารถอยู่ในสถานะใดสถานะหนึ่งบนบล็อกเชน Axelar ดังนี้: (initialized,(initialized, pending,pending, completed,completed, timedtimed outout) หรือแปลเป็นไทย (เริ่มต้น, อยู่ระหว่างการดำเนินการ, เสร็จสมบูรณ์, หมดเวลา) ถ้าหากในช่วง pendingpending นั้นเกิดหมดเวลา timedtimed outout คำขอจะคืนค่า Error Code กลับมา ในบางกรณีเมื่อเกิด timeouttimeout ขึ้นจะนำไปสู่การดำเนินการ refundrefund หรือคืนเงิน ยกตัวอย่างเช่น หากต้องการส่งสินทรัพย์บนเชนหนึ่งไปยังอีกเชนหนึ่ง ถ้าหากบล็อกเชนปลายทางนั้นไม่ยอมทำธุรกรรม สินทรัพย์ดังกล่าวจะถูกส่งคืนกลับไปยังผู้ส่ง

Atomicity หรือ Atomic Transaction คือการทำธุรกรรมที่ขบวนการในการทำธุรกรรมทั้งหมดต้องเกิดขึ้น หากไม่สามารถทำได้ คำสั่งทั้งหมดจะถูกยกเลิก อ่านเพิ่มเติม

Last updated