จัดทำขึ้นเพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน การลงทุนอาจทำให้สูญเสียเงินลงทุนได้
คำตอบโดยตรง
Atomic swap เป็นโปรโตคอลแบบไม่พร้อมกันสำหรับแลกเปลี่ยนสินทรัพย์โดยไม่ให้อำนาจควบคุมธุรกรรมทั้งสองฝั่งแก่ผู้รับฝากรายเดียว ในการออกแบบ hashed timelock contract (HTLC) แบบดั้งเดิม preimage เดียวใช้รับสินทรัพย์ได้ทั้งสองฝั่ง และกำหนดเวลาที่ไม่เท่ากันช่วยรักษาเส้นทางขอคืนในภายหลัง Atomicity เป็นเงื่อนไขว่าฝ่ายที่ซื่อสัตย์ไม่ควรสูญเสียเงินต้นให้อีกฝ่ายเพียงเพราะการแลกเปลี่ยนยุติลง ไม่ได้หมายความว่าการยืนยันเกิดพร้อมกัน การคืนเงินเป็นอัตโนมัติหรือไม่มีต้นทุน ราคาตลาดยุติธรรม สภาพคล่องต่อเนื่อง หรือไม่เปิดเผยตัวตน
แต่ละ implementation ต้องผูกเชนหรือเครือข่าย สินทรัพย์และสัญญา จำนวนดิบและทศนิยม กุญแจผู้รับและกุญแจขอคืน โครงสร้าง hash ไบต์ preimage ที่ถูกต้อง สคริปต์หรือ bytecode และความหมายของ timelock ให้ชัดเจน ระบบสองระบบไม่ได้เข้ากันได้โดยอัตโนมัติเพียงเพราะมี hash และนาฬิกาทั้งคู่ absolute lock และ relative lock ของ Bitcoin, timestamp ของ EVM และ finality ของเชนอื่นอาจมีกฎต่างกันอย่างมีนัยสำคัญ
การสวอป HTLC แบบดั้งเดิมยังมอบ optionality ด้านราคาให้ฝ่ายที่ดำเนินการทีหลัง โดยฝ่ายนั้นอาจรอเพื่อตัดสินใจว่าการดำเนินการยังได้เปรียบหรือไม่ Adaptor signature และโปรโตคอลแบบ scriptless อื่นเปลี่ยนร่องรอยและสมมติฐานบนเชน แต่ไม่ได้ขจัดความจำเป็นในการตรวจสอบตัวตน เวลา ค่าธรรมเนียม liveness และการกู้คืน
กลไกการทำงาน
- ระบุเครือข่ายทั้งสอง สินทรัพย์ จำนวน อัตราแลกเปลี่ยน กุญแจ การเข้ารหัส hash และ preimage ไบต์ของสัญญาหรือสคริปต์ หน่วยเวลา ผู้จ่ายค่าธรรมเนียม และนโยบายการยืนยันหรือ finality
- สร้าง secret ใช้ครั้งเดียวที่มี entropy สูง
xคำนวณh = H(x)แบบ offline และให้ implementation ทั้งสองสร้าง digest เดียวกันจากไบต์ดิบชุดเดียวกัน - ผู้เริ่มต้นให้เงินทุนฝั่งที่มีเวลาหมดอายุยาวกว่า ผู้เข้าร่วมตรวจสอบเชน สินทรัพย์ จำนวน กุญแจ hash โค้ด และกำหนดเวลา แล้วรอระดับความปลอดภัยที่ตกลงกัน
- ผู้เข้าร่วมให้เงินทุนฝั่งที่มีเวลาหมดอายุสั้นกว่า ผู้เริ่มต้นตรวจสอบรายการเดิมซ้ำและรอการยืนยันหรือ finality ที่กำหนด
- ก่อนถึงจุดตัดการดำเนินงานที่เร็วกว่า ผู้เริ่มต้นรับสินทรัพย์ฝั่งสั้นด้วย
xทำให้ preimage ที่ถูกต้องเปิดเผยในข้อมูลธุรกรรมแบบมาตรฐาน - ผู้เข้าร่วมสังเกตการรับนั้น ตรวจสอบ
H(x) = hแล้วรับสินทรัพย์ฝั่งยาวโดยเหลือเวลาพอสำหรับสร้างธุรกรรม broadcast กู้คืนค่าธรรมเนียม และรอ finality - หากด่านใดไม่ผ่าน ให้หยุดเพิ่มความเสี่ยง หลัง timelock ที่เกี่ยวข้องครบกำหนด ต้องสร้างหรือ broadcast ธุรกรรมขอคืนด้วยตนเอง และกระทบยอดเงินต้น ค่าธรรมเนียม ระยะเวลาที่ถูกล็อก และหลักฐานจากเชน
งบเวลาหลักคือ T_long - T_short >= observation + construction + broadcast + confirmation/finality + reorg/operations buffer ค่าอย่าง 48 และ 24 ชั่วโมงเป็นเพียงตัวอย่าง ไม่ใช่พารามิเตอร์ปลอดภัยสากล Timelock เพียงเปิดใช้เส้นทางขอคืน ไม่ได้ broadcast ธุรกรรมขอคืนหรือจ่ายค่าธรรมเนียมให้
ตัวอย่าง
- ไบต์สำหรับ hash เพื่อการสอนเท่านั้น UTF-8
abcคือไบต์ดิบ0x616263และSHA-256(0x616263) = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015adการ hash ข้อความที่แสดงว่า0x616263จะให้ digest ต่างกัน secret ที่ใช้งานจริงต้องมี entropy เชิงเข้ารหัสและห้ามใช้ซ้ำ - งบเวลาหมดอายุ สมมติการขอคืนฝั่งยาวครบกำหนดที่
48.0 hและฝั่งสั้นที่24.0 hหากส่งคำขอรับฝั่งสั้นที่22.0 hการสังเกตใช้0.5 hการสร้างและ broadcast ใช้0.5 hและการยืนยันบนเชนฝั่งยาวใช้1.5 hเวลาที่คาดว่าจะเสร็จคือ24.5 hระยะเผื่อฝั่งยาวที่เหลือตามแบบจำลองคือ48.0 - 24.5 = 23.5 hไม่ใช่การรับประกันการผลิตบล็อก - Optionality ด้านราคา ตอนตกลง
1 BTCที่$60,000เท่ากับ20 ETHที่$3,000ตอนรับสินทรัพย์ BTC อยู่ที่$63,000และ ETH อยู่ที่$2,800Alice ส่งมอบ$63,000และรับ20 x $2,800 = $56,000ซึ่งต่างจากตลาดขณะนั้น-$7,000ก่อนค่าธรรมเนียม Atomicity ของโปรโตคอลไม่ได้ล็อกมูลค่าทางเศรษฐกิจ - บัญชีเมื่อยุติ Alice จ่าย
0.00020 BTCเพื่อให้เงินทุนและ0.00025 BTCเพื่อขอคืน รวม0.00045 BTCหรือ$27ที่$60,000/BTCBob จ่าย0.006 ETHเพื่อให้เงินทุนและ0.004 ETHเพื่อขอคืน รวม0.010 ETHหรือ$30ที่$3,000/ETHเงินต้นกลับมาในภายหลัง แต่ต้นทุนเครือข่ายรวมที่ขอคืนไม่ได้คือ$57บวกค่าเสียโอกาส
ความเสี่ยง
- ระบุโดเมนเชนหรือเครือข่ายผิด
- ระบุสินทรัพย์ native สัญญาโทเค็น หรือทศนิยมผิด
- ระบุจำนวน กุญแจรับ หรือกุญแจขอคืนผิด
- อัลกอริทึม hash หรือการเข้ารหัสไบต์เข้ากันไม่ได้
- secret มี entropy ต่ำ ถูกใช้ซ้ำ หรือเปิดเผยก่อนเวลา
- เส้นทางรับ สคริปต์ หรือ bytecode บกพร่อง
- เส้นทางขอคืนไม่ถูกต้อง ใช้งานไม่ได้ หรือไม่ได้ลงนาม
- ลำดับเวลาหมดอายุกลับด้านหรือระยะเผื่อไม่พอ
- อ่านความหมายของความสูง median time, timestamp หรือ relative lock ผิด
- การรับฝั่งสั้นแข่งกับการขอคืนใกล้หมดอายุ
- reorg ลบธุรกรรมให้เงินทุน เปิดเผย หรือรับสินทรัพย์
- นโยบายการยืนยันหรือ finality ไม่เพียงพอ
- ค่าธรรมเนียมพุ่ง ธุรกรรมถูกนำออกจาก mempool ถูก censor หรือเพิ่มค่าธรรมเนียมไม่ได้
- การเฝ้าติดตาม RPC, indexer, wallet หรือกุญแจล้มเหลว
- คู่สัญญาถ่วงเวลา griefing และ optionality ของเงินทุนที่ถูกล็อก
- อัตราแลกเปลี่ยน basis และสภาพคล่องที่ดำเนินการได้เปลี่ยน
- call บน EVM, reentrancy, gas, proxy หรือ upgrade บกพร่อง
- พฤติกรรมของสินทรัพย์ wrapped ผู้ออกโทเค็น bridge, hook, rebase หรือค่าธรรมเนียมโอน
- เชื่อมโยงข้ามเชนได้จาก hash จำนวน และเวลา
- ภาษี การคว่ำบาตร กฎหมาย การเก็บบันทึก หรือการกู้คืนจากภัยพิบัติล้มเหลว
ความเข้าใจผิดที่พบบ่อย
- Atomic หมายถึงพร้อมกัน สองเชนเดินหน้าอย่างอิสระผ่าน state machine แบบไม่พร้อมกันที่มีลำดับ
- เมื่อยุติแล้วทุกอย่างคืนโดยอัตโนมัติ ปกติผู้ใช้ต้องรอ ส่งธุรกรรม และจ่ายค่าธรรมเนียม ความล้มเหลวด้านการติดตามหรือค่าธรรมเนียมอาจยืดเวลาล็อก
- เชนสองเชนใดก็ตามที่มี hash และ timelock ใช้ร่วมกันได้ อัลกอริทึม การเข้ารหัส เวลา สคริปต์ สัญญา และ finality ต้องตรงกันจริง
- Non-custodial หมายถึงไม่มีความเสี่ยงคู่สัญญาหรือราคา Griefing, optionality, ความผันผวน และการพึ่งพาการดำเนินงานยังคงอยู่
- Atomic swap ให้สภาพคล่องและความเป็นส่วนตัว โปรโตคอลประสานเงื่อนไขการชำระ ไม่ได้สร้างราคา ความลึก คู่สัญญา หรือกิจกรรมที่เชื่อมโยงไม่ได้
หัวข้อที่เกี่ยวข้อง
แหล่งที่มา
- Atomic Cross-Chain Swaps - Association for Computing Machinery (เข้าถึง: 2026-08-13)
- On the optionality and fairness of Atomic Swaps - Association for Computing Machinery (เข้าถึง: 2026-08-13)
- BIP 65: OP_CHECKLOCKTIMEVERIFY - Bitcoin Improvement Proposals (เข้าถึง: 2026-08-13)
- BIP 112: CHECKSEQUENCEVERIFY - Bitcoin Improvement Proposals (เข้าถึง: 2026-08-13)
- Contracts - Bitcoin Developer Documentation (เข้าถึง: 2026-08-13)
- Transactions - Bitcoin Developer Documentation (เข้าถึง: 2026-08-13)
- Atomic Swaps - Decred Documentation (เข้าถึง: 2026-08-13)
- Proof-of-stake (PoS) - Ethereum.org (เข้าถึง: 2026-08-13)