Monero Atomic Swaps CLI: บทเรียน BTC-XMR ทีละขั้นตอน
Monero Atomic Swaps คืออะไร?
Atomic swaps คือวิธีการแลกเปลี่ยนสกุลเงินดิจิทัลหนึ่งเป็นอีกสกุลหนึ่งแบบไม่ต้องวางใจ (trustless) โดยไม่ต้องพึ่งพาการแลกเปลี่ยนแบบรวมศูนย์หรือตัวกลาง คำว่า "atomic" หมายถึงการที่การแลกเปลี่ยนจะเสร็จสมบูรณ์ทั้งหมดหรือไม่เกิดขึ้นเลย ไม่มีความเป็นไปได้ที่ฝ่ายหนึ่งจะได้รับเงินทุนในขณะที่อีกฝ่ายไม่ได้รับ สำหรับผู้ใช้ Monero นั้น atomic swaps ถือเป็นวิธีการกระจายศูนย์ที่สุดในการแลกเปลี่ยน BTC เป็น XMR หรือในทางกลับกัน โดยไม่ต้องให้ข้อมูลส่วนบุคคลแก่บุคคลที่สาม
โปรโตคอล BTC-XMR atomic swap ได้รับการพัฒนาโดยทีม COMIT Network และมีให้ใช้งานเป็นเครื่องมือ command-line ตั้งแต่ปี 2564 แม้ว่าจะต้องการความสะดวกทางเทคนิคบ้าง แต่กระบวนการนี้ก็ตรงไปตรงมาเมื่อคุณเข้าใจขั้นตอนต่างๆ บทเรียนนี้จะพาคุณผ่านทุกขั้นตอนของการทำ CLI atomic swap ตั้งแต่การติดตั้งจนถึงการเสร็จสิ้น
ข้อกำหนดเบื้องต้น
ก่อนเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
- คอมพิวเตอร์ที่ใช้ Linux, macOS หรือ Windows (แนะนำ Linux เพื่อความเข้ากันได้ที่ดีที่สุด)
- กระเป๋าเงิน Bitcoin ที่มี BTC ที่คุณต้องการแลก (ถ้าขาย BTC) หรือที่อยู่สำหรับรับ BTC (ถ้าซื้อ BTC)
- กระเป๋าเงิน Monero ที่มีที่อยู่สำหรับรับ XMR (ถ้าซื้อ XMR) หรือ XMR ที่คุณต้องการแลก (ถ้าขาย XMR) กระเป๋าเงิน Monero GUI หรือ CLI มาตรฐานใช้ได้
- monero-wallet-rpc — เซิร์ฟเวอร์ Monero wallet RPC ซึ่งเครื่องมือ swap ใช้เพื่อโต้ตอบกับกระเป๋าเงิน Monero ของคุณ
- การเชื่อมต่ออินเทอร์เน็ตที่เสถียร — กระบวนการ swap ต้องการการสื่อสารต่อเนื่องกับเครือข่าย Bitcoin และ Monero และอาจใช้เวลา 30 นาทีถึงหลายชั่วโมง
- ความอดทน — Atomic swaps เกี่ยวข้องกับธุรกรรม on-chain หลายรายการที่มีข้อกำหนดการยืนยัน ดังนั้นจึงไม่ใช่ทันที
การติดตั้งเครื่องมือ Swap CLI
เครื่องมือ BTC-XMR atomic swap หลักได้รับการดูแลโดย COMIT Network ต่อไปนี้คือวิธีการติดตั้งบน Linux ซึ่งเป็นระบบปฏิบัติการที่แนะนำ:
ขั้นตอนที่ 1: ดาวน์โหลด Swap Binary
ไปที่หน้า GitHub ของ COMIT Network และดาวน์โหลด binary swap ล่าสุดสำหรับระบบปฏิบัติการของคุณ Binary มีให้สำหรับ Linux x86_64, macOS และ Windows คุณสามารถดาวน์โหลดได้โดยตรงจากหน้า releases บน GitHub
บน Linux ให้รันคำสั่ง:
wget https://github.com/comit-network/xmr-btc-swap/releases/latest/download/swap_Linux_x86_64.tar
tar xvf swap_Linux_x86_64.tar
chmod +x swap
sudo mv swap /usr/local/bin/
ขั้นตอนที่ 2: ติดตั้ง monero-wallet-rpc
เครื่องมือ swap จำเป็นต้องมี monero-wallet-rpc เพื่อสื่อสารกับกระเป๋าเงิน Monero ของคุณ ดาวน์โหลด Monero CLI จากเว็บไซต์ Monero อย่างเป็นทางการที่ getmonero.org แตกไฟล์ archive และหา binary ชื่อ monero-wallet-rpc ในไดเรกทอรี
ขั้นตอนที่ 3: เริ่ม monero-wallet-rpc
ก่อนเรียกใช้ swap คุณต้องเริ่ม monero-wallet-rpc ด้วยกระเป๋าเงิน Monero ของคุณ:
./monero-wallet-rpc \
--wallet-file /path/to/your/wallet \
--password "your_wallet_password" \
--rpc-bind-port 18083 \
--disable-rpc-login \
--daemon-address node.moneroworld.com:18089
เปลี่ยน /path/to/your/wallet และ your_wallet_password ด้วยเส้นทางกระเป๋าเงินจริงและรหัสผ่านของคุณ
การค้นหาผู้ให้บริการ Swap
ก่อนที่คุณจะทำ swap ได้ คุณต้องค้นหาผู้ให้บริการที่จะเป็นคู่ค้าของคุณ เครื่องมือ swap รองรับทั้งโหมด Tor และ clearnet ซึ่ง Tor แนะนำสำหรับความเป็นส่วนตัวที่ดีกว่า
รันคำสั่งต่อไปนี้เพื่อแสดงรายการผู้ให้บริการที่มีอยู่:
swap --data-base-dir ~/.swap list-sellers
ระบบจะแสดงรายการผู้ให้บริการที่พร้อมใช้งานพร้อมข้อมูล เช่น อัตราแลกเปลี่ยน จำนวน XMR ขั้นต่ำ/สูงสุด และที่อยู่ peer
การดำเนินการ Swap
เมื่อคุณเลือกผู้ให้บริการแล้ว คุณสามารถเริ่มกระบวนการ swap ได้ สมมติว่าคุณต้องการซื้อ XMR ด้วย BTC:
swap --data-base-dir ~/.swap buy-xmr \
--receive-address YOUR_MONERO_ADDRESS \
--change-address YOUR_BITCOIN_CHANGE_ADDRESS \
--seller /ip4/SELLER_IP/tcp/PORT/p2p/PEER_ID
เปลี่ยนพารามิเตอร์ด้วยข้อมูลจริงของคุณ: ที่อยู่ Monero สำหรับรับ XMR, ที่อยู่ Bitcoin สำหรับรับเงินทอน และรายละเอียด seller ที่ได้จากขั้นตอนก่อนหน้า
กระบวนการ Swap ทีละขั้นตอน
เมื่อคุณเริ่มคำสั่ง swap จะผ่านหลายขั้นตอน:
- การเจรจา: เครื่องมือจะเชื่อมต่อกับผู้ขายและตรวจสอบว่าอัตราและเงื่อนไขยังคงเหมือนเดิม
- Bitcoin Lock: คุณต้องส่ง BTC ไปยังที่อยู่ escrow บน Bitcoin blockchain
- Monero Lock: ผู้ขายจะล็อค XMR บน Monero blockchain
- การแลกเปลี่ยน Secret: โปรโตคอล cryptographic จะดำเนินการเพื่อให้ทั้งสองฝ่ายสามารถรับเงินทุนของตนได้
- การชำระเงิน: คุณจะได้รับ XMR ที่ที่อยู่ Monero ที่คุณระบุ
การจัดการ Refund ในกรณีที่ Swap ล้มเหลว
หนึ่งในคุณสมบัติที่ทรงพลังที่สุดของ atomic swaps คือกลไก refund อัตโนมัติ ถ้า swap ล้มเหลวในขณะใดก็ตามเนื่องจากผู้ขายออกไปหรือปัญหาทางเทคนิค BTC ของคุณจะได้รับการคืนอัตโนมัติหลังจากช่วงเวลาล็อคหมดอายุ
ในการดำเนินการ refund ด้วยตนเองหากจำเป็น ให้รัน:
swap --data-base-dir ~/.swap refund --swap-id SWAP_ID
แทนที่ SWAP_ID ด้วย ID ที่ได้รับระหว่างกระบวนการ swap คุณสามารถค้นหา swap IDs ได้โดยรัน:
swap --data-base-dir ~/.swap history
ข้อดีของ CLI Atomic Swaps เหนือ Centralized Exchanges
การทำ atomic swaps ผ่าน CLI มีข้อได้เปรียบที่ชัดเจนหลายประการเหนือการใช้ exchange แบบรวมศูนย์:
ความเป็นส่วนตัวอย่างสมบูรณ์
ไม่มีการลงทะเบียน ไม่มีการยืนยันตัวตน และไม่มีประวัติธุรกรรมที่เชื่อมโยงกับตัวตนของคุณ ใน exchange แบบรวมศูนย์ คุณต้องผ่านกระบวนการ KYC (Know Your Customer) ที่อาจต้องให้เอกสารประจำตัว ที่อยู่ และข้อมูลส่วนบุคคลอื่นๆ
Trustless และไม่มีการควบคุม
ในระหว่าง atomic swap เงินทุนของคุณไม่เคยอยู่ในมือของบุคคลที่สาม กระบวนการ cryptographic รับประกันว่าทั้งสองฝ่ายจะได้รับเงินทุนของตนหรือการทำธุรกรรมจะถูกยกเลิก ไม่มีความเสี่ยงในการสูญเสียเงินทุนของคุณเนื่องจากการ hack exchange หรือ exit scam
ไม่มีค่าธรรมเนียม Exchange
คุณจ่ายเฉพาะค่าธรรมเนียมธุรกรรม on-chain เท่านั้น ไม่มีค่าธรรมเนียม trading แบบ percentage ที่ exchange แบบรวมศูนย์มักเรียกเก็บ
ข้อจำกัดและการพิจารณา
แม้ atomic swaps จะมีข้อดีมาก แต่ก็มีข้อจำกัดบางประการที่ควรทราบ:
ความซับซ้อนทางเทคนิค
CLI atomic swaps ต้องการความรู้ทางเทคนิคและความสะดวกกับ command-line tools สิ่งนี้ไม่เหมาะสำหรับผู้ใช้ทั่วไปที่ต้องการวิธีที่ง่ายกว่า
ความเร็ว
Atomic swaps ช้ากว่า centralized exchanges มาก เนื่องจากต้องรอการยืนยัน on-chain บนทั้งสองเครือข่าย กระบวนการทั้งหมดอาจใช้เวลาหนึ่งถึงสามชั่วโมงขึ้นอยู่กับความแออัดของเครือข่าย
ความพร้อมใช้งานของ Liquidity
จำนวนผู้ให้บริการที่มีอยู่ยังมีจำกัด และพวกเขาอาจไม่ออนไลน์ตลอดเวลา คุณอาจต้องรอผู้ให้บริการที่เหมาะสมมาออนไลน์
เปรียบเทียบกับ MoneroSwapper
สำหรับผู้ใช้ที่ต้องการความสะดวกสบายมากกว่า MoneroSwapper เสนอทางเลือกที่น่าสนใจ แทนที่จะต้องตั้งค่าและรันซอฟต์แวร์ CLI คุณสามารถแลกเปลี่ยน BTC เป็น XMR และสกุลเงินดิจิทัลอื่นๆ ผ่านอินเตอร์เฟซเว็บที่ง่ายกว่า
MoneroSwapper ทำงานผ่านผู้ให้บริการ API ที่ไม่ต้องการการลงทะเบียนหรือ KYC สำหรับการแลกเปลี่ยนส่วนใหญ่ ซึ่งให้ความสมดุลระหว่างความเป็นส่วนตัวและความสะดวกสบาย แม้ว่าจะไม่ได้ให้ความปลอดภัย trustless ในระดับเดียวกับ atomic swap จริงๆ แต่ก็ขจัดความซับซ้อนทางเทคนิคส่วนใหญ่ที่ต้องการ
แนวทางปฏิบัติที่ดีที่สุดสำหรับความปลอดภัย
เมื่อทำ atomic swaps ให้ปฏิบัติตามแนวทางความปลอดภัยเหล่านี้:
- ตรวจสอบที่อยู่อย่างละเอียด: ตรวจสอบที่อยู่รับของคุณทุกครั้งก่อนเริ่มการแลกเปลี่ยน
- ใช้ Tor: รัน swap ผ่าน Tor network เพื่อความเป็นส่วนตัวของเครือข่ายที่ดีขึ้น
- เริ่มต้นด้วยจำนวนเล็กน้อย: ครั้งแรกให้ลองด้วยจำนวนเล็กน้อยเพื่อทำความคุ้นเคยกับกระบวนการ
- รักษา Swap ID: เก็บ swap ID ไว้เสมอในกรณีที่คุณต้องดำเนินการ refund
- ตรวจสอบความเข้ากันได้ของเวอร์ชัน: ตรวจสอบว่าเครื่องมือ swap ของคุณเป็นเวอร์ชันล่าสุด
สรุป
CLI atomic swaps แทนถึงขอบเขตของการแลกเปลี่ยน BTC-XMR แบบกระจายศูนย์ พวกมันต้องการความพยายามทางเทคนิคมากกว่า exchange แบบรวมศูนย์หรือบริการเว็บ แต่ก็ให้ความเป็นส่วนตัวและการควบคุมในระดับที่บริการอื่นไม่สามารถทำได้
ถ้าคุณสะดวกกับ command-line และต้องการระดับความเป็นส่วนตัวสูงสุดในการแลกเปลี่ยน Bitcoin เป็น Monero ของคุณ atomic swap CLI คือเครื่องมือที่เหมาะสม สำหรับผู้ที่ต้องการความสะดวกสบายมากกว่า บริการอย่าง MoneroSwapper ให้ทางออกที่ใช้งานง่ายกว่าโดยยังรักษาความเป็นส่วนตัวในระดับที่สำคัญ
ไม่ว่าคุณจะเลือกวิธีใด สิ่งสำคัญคือการเข้าใจเครื่องมือที่คุณใช้และความเสี่ยงที่เกี่ยวข้อง ทำการวิจัยของคุณเอง ทดสอบด้วยจำนวนเล็กน้อย และรักษาข้อมูลสำรองของ swap IDs และที่อยู่กระเป๋าเงินของคุณเสมอ
การตั้งค่า Tor สำหรับ Atomic Swaps ที่เป็นส่วนตัวยิ่งขึ้น
หนึ่งในประโยชน์ที่ยิ่งใหญ่ที่สุดของ CLI atomic swap tool คือการรองรับ Tor ในตัว การรัน swaps ผ่าน Tor ช่วยซ่อน IP address ของคุณจากผู้ให้บริการ swap และป้องกันผู้สังเกตการณ์ภายนอกจากการเชื่อมโยงกิจกรรม swap ของคุณกับตัวตนออนไลน์ของคุณ
การเปิดใช้งาน Tor
เพื่อรัน swap ผ่าน Tor ให้แน่ใจว่า Tor daemon ทำงานอยู่บนระบบของคุณ บน Ubuntu หรือ Debian:
sudo apt install tor
sudo systemctl start tor
sudo systemctl enable tor
จากนั้นรันคำสั่ง swap ด้วยการเพิ่ม flag ของ Tor:
swap --data-base-dir ~/.swap --tor-socks5-port 9050 buy-xmr \
--receive-address YOUR_MONERO_ADDRESS \
--change-address YOUR_BITCOIN_CHANGE_ADDRESS \
--seller /onion3/SELLER_ONION_ADDRESS:PORT/p2p/PEER_ID
ผู้ให้บริการบางรายเสนอที่อยู่ onion ซึ่งทำให้การเชื่อมต่อทั้งหมดผ่าน Tor network อย่างสมบูรณ์
การจัดการ Swap State และการกู้คืน
Atomic swaps มีสถานะที่ต้องรักษาผ่านหลายชั่วโมงหรือแม้แต่หลายวัน เครื่องมือ swap เก็บสถานะนี้ใน data directory ที่คุณระบุด้วย flag --data-base-dir
การตรวจสอบสถานะ Swap
swap --data-base-dir ~/.swap history
คำสั่งนี้แสดงรายการ swaps ทั้งหมดพร้อมสถานะปัจจุบัน:
- Started: Swap เริ่มต้นแล้วแต่ยังรอการยืนยัน
- BtcLocked: Bitcoin ของคุณถูกล็อคในสัญญา escrow แล้ว
- XmrLocked: ผู้ขายล็อค Monero แล้ว
- BtcRedeemed: ผู้ขายเรียกร้อง Bitcoin แล้ว
- XmrRedeemed: คุณได้รับ Monero แล้ว
- Cancelled: Swap ถูกยกเลิก (การ refund อาจรอดำเนินการ)
- Refunded: Bitcoin ของคุณถูกคืนแล้ว
การกู้คืน Swap หลังจาก Disconnect
ถ้าการเชื่อมต่ออินเทอร์เน็ตของคุณหยุดชะงักระหว่าง swap ให้รัน:
swap --data-base-dir ~/.swap resume --swap-id SWAP_ID
เครื่องมือจะเชื่อมต่อใหม่กับผู้ขายและดำเนินการต่อจากจุดที่หยุดไว้
การวิเคราะห์ต้นทุน: Atomic Swaps เทียบกับทางเลือกอื่นๆ
เพื่อตัดสินใจว่า atomic swaps เหมาะสมกับคุณหรือไม่ มาเปรียบเทียบต้นทุนและการแลกเปลี่ยนกับทางเลือกอื่นๆ:
ต้นทุน Atomic Swap
- ค่าธรรมเนียมธุรกรรม Bitcoin สำหรับธุรกรรม lock และ redeem
- ค่าธรรมเนียมธุรกรรม Monero สำหรับธุรกรรม lock
- โดยปกติ 0% ค่าธรรมเนียม swap แต่บางผู้ให้บริการเรียกเก็บค่า spread เล็กน้อย
ต้นทุน Centralized Exchange
- ค่าธรรมเนียม trading โดยปกติ 0.1-0.5% ต่อการซื้อขาย
- ค่าธรรมเนียมการถอน
- ต้นทุนเวลาของกระบวนการ KYC
- ความเสี่ยงของการ hack หรือ insolvency
ต้นทุน MoneroSwapper
- Spread ของ API provider โดยปกติ 0.5-2%
- ค่าธรรมเนียมเครือข่าย
- ไม่ต้องการ KYC สำหรับการแลกเปลี่ยนส่วนใหญ่
- ใช้งานง่ายกว่า CLI atomic swaps มาก
คำถามที่พบบ่อยเกี่ยวกับ Atomic Swaps
ฉันต้อง sync กับ Bitcoin node เต็มรูปแบบหรือไม่?
ไม่จำเป็น เครื่องมือ swap สามารถเชื่อมต่อกับ Electrum servers สาธารณะสำหรับการเข้าถึง Bitcoin blockchain แม้ว่าการรัน Bitcoin node ของตัวเองจะให้ความเป็นส่วนตัวที่ดีกว่า
ต้อง sync กับ Monero node เต็มรูปแบบหรือไม่?
monero-wallet-rpc จำเป็นต้องเชื่อมต่อกับ Monero node คุณสามารถใช้ remote node สาธารณะ (เช่น node.moneroworld.com) หรือรัน node ของตัวเอง การรัน node ของตัวเองให้ความเป็นส่วนตัวและความน่าเชื่อถือที่ดีกว่า
จะเกิดอะไรขึ้นถ้าผู้ขายพยายามโกง?
โปรโตคอล atomic swap ได้รับการออกแบบเพื่อป้องกันทั้งสองฝ่ายจากการโกง กลไก refund รับประกันว่าถ้าผู้ขายไม่ดำเนินการ swap ให้เสร็จสิ้น BTC ของคุณจะถูกคืนโดยอัตโนมัติหลังจากช่วงเวลาที่กำหนด
ทิศทางในอนาคตของ Atomic Swap Technology
เทคโนโลยี Atomic swap ยังคงพัฒนาต่อไป โดยมีความก้าวหน้าหลายด้านในอนาคต:
GUI และ UX ที่ดีขึ้น
โครงการต่างๆ กำลังพัฒนาอินเตอร์เฟซที่ใช้งานง่ายขึ้นสำหรับ atomic swaps เพื่อให้ผู้ใช้ทั่วไปสามารถเข้าถึงได้มากขึ้นโดยไม่ต้องใช้ command-line
Liquidity ที่ดีขึ้น
เมื่อผู้ให้บริการ liquidity มากขึ้นเข้าร่วม ecosystem ของ atomic swap ความพร้อมใช้งานและ spread ของ swap จะดีขึ้น
Layer 2 Atomic Swaps
การวิจัยกำลังดำเนินการเกี่ยวกับ atomic swaps ที่ทำงานบน payment channels คล้ายกับ Lightning Network ซึ่งอาจทำให้ swaps เร็วขึ้นอย่างมาก
🌍 อ่านในภาษา