آموزش کامل Monero Atomic Swaps CLI: راهنمای گام به گام سواپ BTC↔XMR
آموزش کامل Monero Atomic Swaps CLI: راهنمای جامع سواپ BTC به XMR
اتمیک سواپ (Atomic Swap) یکی از مهمترین نوآوریهای دنیای رمزارز است که امکان تبادل مستقیم دو ارز دیجیتال بین دو طرف را بدون نیاز به صرافی مرکزی یا واسطه فراهم میکند. در این راهنمای جامع، نحوه انجام اتمیک سواپ بین بیتکوین (BTC) و مونرو (XMR) را با استفاده از ابزار خط فرمان به صورت کامل و گام به گام آموزش میدهیم. این راهنما برای کاربران پیشرفتهای طراحی شده که به دنبال بیشترین سطح حریم خصوصی و کنترل بر تراکنشهای خود هستند.
اتمیک سواپ چیست و چرا مهم است؟
اتمیک سواپ یک قرارداد هوشمند رمزنگاریشده است که اجازه میدهد دو کاربر ارزهای دیجیتال مختلف را مستقیماً با یکدیگر معامله کنند. کلمه «اتمیک» به این معنی است که تراکنش یا به طور کامل انجام میشود یا اصلاً انجام نمیشود - هیچ حالت میانی وجود ندارد. این ویژگی ریسک طرف مقابل را به صفر میرساند و یکی از قدرتمندترین ویژگیهای این پروتکل است.
برای مونرو، اتمیک سواپ اهمیت ویژهای دارد زیرا:
- حریم خصوصی کامل: شما نیازی ندارید هویت خود را به صرافی مرکزی ثابت کنید و هیچ اطلاعاتی از شما جمعآوری نمیشود
- بدون کاستدی: در هیچ مرحلهای کنترل وجوه شما به دست دیگری نمیافتد و تنها شما به کلیدهای خصوصی دسترسی دارید
- غیرقابل سانسور: هیچ نهادی نمیتواند تراکنش را مسدود کند چون هیچ واسطهای وجود ندارد
- ریاضیاً امن: پروتکل توسط رمزنگاری تضمین میشود، نه اعتماد به طرف مقابل یا یک شرکت
- بدون KYC: نیازی به ارائه هیچگونه مدرک هویتی یا اطلاعات شخصی نیست
پیشنیازهای فنی
قبل از شروع، باید مطمئن شوید که سیستم شما موارد زیر را دارد و همه آنها به درستی پیکربندی شدهاند:
سیستمعامل مورد نیاز
این راهنما برای لینوکس (Ubuntu 20.04 یا بالاتر) نوشته شده است. توزیعهای دیگر لینوکس مثل Debian، Fedora و Arch هم پشتیبانی میشوند. برای macOS روند مشابهی است اما برخی دستورات متفاوت است. برای Windows، توصیه میکنیم از WSL2 (Windows Subsystem for Linux) استفاده کنید.
نرمافزارهای مورد نیاز و نسخهها
- Rust 1.63 یا بالاتر (برای کامپایل ابزار سواپ)
- Bitcoin Core 22.0 یا بالاتر (نود کامل BTC یا حالت pruned)
- Monero daemon 0.18.0 یا بالاتر (monerod برای همگامسازی با بلاکچین)
- monero-wallet-rpc (از بسته Monero CLI، همراه با monerod)
- Git (برای دریافت کد ابزار سواپ)
- build-essential و libssl-dev (برای کامپایل)
منابع سختافزاری مورد نیاز
- حداقل ۵۰ گیگابایت فضای دیسک برای بلاکچینهای کوتاهشده (pruned) یا ۵۰۰+ گیگابایت برای نود کامل
- حداقل ۴ گیگابایت رم (۸ گیگابایت توصیه میشود)
- اتصال اینترنت پایدار با سرعت کافی برای همگامسازی اولیه
- CPU چهار هستهای یا بیشتر برای عملکرد بهتر
نصب و راهاندازی مرحله به مرحله
مرحله ۱: نصب پیشنیازهای سیستم
ابتدا باید پکیجهای مورد نیاز را نصب کنید:
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential git curl libssl-dev pkg-config
مرحله ۲: نصب Rust
ابزار سواپ به زبان Rust نوشته شده است. اگر Rust ندارید، آن را نصب کنید:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
rustc --version
cargo --version
مرحله ۳: دریافت کد ابزار سواپ
ابزار سواپ BTC-XMR توسط تیم COMIT Network توسعه یافته است:
git clone https://github.com/comit-network/xmr-btc-swap.git
cd xmr-btc-swap
git checkout v0.12.0
git log --oneline -5
مرحله ۴: کامپایل ابزار
cargo build --release
# این فرآیند ممکن است ۱۰-۳۰ دقیقه طول بکشد
echo "Build completed: $?"
ls -lh target/release/swap target/release/asb
مرحله ۵: راهاندازی Bitcoin Core
برای تست اولیه، از testnet استفاده کنید تا ریسک از دست دادن BTC واقعی را نداشته باشید:
mkdir -p ~/.bitcoin
cat > ~/.bitcoin/bitcoin.conf << 'EOF'
testnet=1
server=1
rpcuser=bitcoinrpc
rpcpassword=yourpassword123_change_this
txindex=1
fallbackfee=0.0001
rpcallowip=127.0.0.1
EOF
bitcoind -testnet -daemon
# صبر کنید تا همگامسازی شروع شود
bitcoin-cli -testnet getblockchaininfo
مرحله ۶: راهاندازی Monero Daemon
# برای stagenet (testnet مونرو)
monerod --stagenet --detach --log-level 0
# بررسی وضعیت
monerod --stagenet status
# انتظار برای همگامسازی (ممکن است چند ساعت طول بکشد)
watch -n 10 "monerod --stagenet status"
مرحله ۷: ایجاد کیف پول مونرو و راهاندازی RPC
# ایجاد کیف پول جدید
monero-wallet-cli --stagenet --generate-new-wallet /path/to/stagenet-wallet
# راهاندازی RPC server
monero-wallet-rpc --stagenet
--wallet-file /path/to/stagenet-wallet
--rpc-bind-port 18083
--password yourwalletpassword
--disable-rpc-login
--daemon-address 127.0.0.1:38081 &
انجام سواپ از دیدگاه Alice: خریدار XMR
فرض کنیم شما Alice هستید و میخواهید BTC خود را به XMR تبدیل کنید. این متداولترین حالت استفاده از این ابزار است.
مرحله ۱: پیدا کردن فروشندگان XMR
ابزار سواپ دارای یک پروتکل P2P است. میتوانید از ASB (Automated Swap Backend) که توسط Bobها اجرا میشود استفاده کنید:
./target/release/swap list-sellers
--rendezvous-point /dnsaddr/rendezvous.coblox.tech/p2p/12D3KooWQUt9DkNZxEn2R5ymJzWj15MpG6mTW84kyd8vDaRZi46o
--env testnet
خروجی نشان میدهد چه فروشندگانی فعال هستند و چه نرخهایی ارائه میدهند.
مرحله ۲: بررسی موجودی و شروع سواپ
# بررسی موجودی BTC
bitcoin-cli -testnet getbalance
# شروع سواپ
./target/release/swap buy-xmr
--receive-address YOUR_XMR_STAGENET_ADDRESS
--change-address YOUR_BTC_TESTNET_ADDRESS
--seller /ip4/SELLER_IP/tcp/PORT/p2p/SELLER_PEER_ID
--bitcoin-electrum-rpc-url tcp://electrum.blockstream.info:60001
--monero-daemon-address 127.0.0.1:38081
--env testnet
مرحله ۳: پیگیری وضعیت سواپ
ابزار وضعیت سواپ را به صورت لحظهای در ترمینال نشان میدهد. مراحل اصلی عبارتند از:
- تبادل اطلاعات رمزنگاری: Alice و Bob کلیدهای عمومی خود را به اشتراک میگذارند
- قفل BTC توسط Alice: تراکنش قفل BTC در بلاکچین ثبت میشود
- تأیید قفل BTC: صبر برای تأییدیههای کافی
- قفل XMR توسط Bob: Bob XMR را در آدرس مشترک قفل میکند
- تأیید قفل XMR: صبر برای تأییدیههای بلاکچین مونرو
- آزاد کردن BTC توسط Alice: Alice با امضای آداپتور BTC را آزاد میکند
- آزاد کردن XMR توسط Bob (اتوماتیک): کلید XMR برای Alice آشکار میشود
- دریافت XMR: Alice XMR را به کیف پول خود منتقل میکند
# مشاهده تاریخچه سواپها
./target/release/swap history --env testnet
# از سر گرفتن سواپ در صورت قطع
./target/release/swap resume
--swap-id YOUR_SWAP_ID
--env testnet
اجرای ASB: نقش Bob فروشنده XMR
اگر میخواهید XMR بفروشید و BTC دریافت کنید، باید ASB (Automated Swap Backend) را اجرا کنید. این یک سرور است که به صورت ۲۴ ساعته در دسترس است.
پیکربندی ASB
cat > asb_config.toml << 'EOF'
[data]
dir = "/var/lib/asb"
[network]
listen = ["/ip4/0.0.0.0/tcp/9939"]
rendezvous_point = "/dnsaddr/rendezvous.coblox.tech/p2p/12D3KooWQUt9DkNZxEn2R5ymJzWj15MpG6mTW84kyd8vDaRZi46o"
[bitcoin]
electrum_rpc_url = "tcp://electrum.blockstream.info:60001"
target_block = 3
network = "Testnet"
[monero]
wallet_rpc_url = "http://127.0.0.1:18083/json_rpc"
finality_confirmations = 10
network = "Stagenet"
[tor]
register_hidden_service = false
[maker]
min_buy_btc = 0.001
max_buy_btc = 0.1
ask_spread = 0.02
price_ticker_ws_url = "wss://ws.kraken.com"
EOF
اجرای ASB
./target/release/asb --config asb_config.toml start
# مشاهده وضعیت
./target/release/asb --config asb_config.toml history
درک عمیق پروتکل امنیتی
پروتکل اتمیک سواپ BTC-XMR بر پایه یک چالش جالب رمزنگاری کار میکند: چگونه میتوان دو بلاکچین با قابلیتهای اسکریپتینگ متفاوت را بدون واسطه متصل کرد؟
امضاهای آداپتور (Adaptor Signatures)
مونرو از اسکریپتهای پیچیده پشتیبانی نمیکند (برخلاف بیتکوین). راهحل از طریق امضاهای آداپتور است که یک جزء رمزنگاری است که به این صورت کار میکند:
- یک «پیشامضا» ایجاد میشود که برای تکمیل نیاز به یک «راز» دارد
- وقتی Alice با BTC پرداخت میکند، این «راز» را آشکار میکند
- Bob از این راز برای ادعای XMR در مونرو استفاده میکند
تبادل کلیدهای مونرو
کلید خصوصی برای آدرس XMR قفلشده بین Alice و Bob تقسیم میشود. هیچکدام به تنهایی نمیتوانند XMR را خرج کنند تا زمانی که Bob به طور مؤثر کلید خود را از طریق ادعای BTC «به Alice بدهد».
مدیریت خطاها و سناریوهای استرداد
سواپ معلق به دلیل مشکل شبکه
اگر اتصال شما در حین سواپ قطع شود، ابزار به طور خودکار از آخرین وضعیت ذخیرهشده ادامه میدهد:
./target/release/swap resume
--swap-id SWAP_ID
--bitcoin-electrum-rpc-url tcp://electrum.blockstream.info:60001
--monero-daemon-address 127.0.0.1:38081
--env testnet
استرداد BTC در صورت ناموفق بودن سواپ
اگر Bob معامله را انجام ندهد، پس از اتمام قفل زمانی میتوانید BTC خود را پس بگیرید:
# لغو سواپ (پس از انقضای timelock)
./target/release/swap cancel
--swap-id SWAP_ID
--env testnet
# استرداد BTC
./target/release/swap refund
--swap-id SWAP_ID
--env testnet
# بررسی وضعیت
./target/release/swap history --env testnet
دورههای انتظار و قفلهای زمانی
پروتکل دارای دو قفل زمانی است:
- T1 (حدود ۱۲ ساعت): Alice میتواند BTC را استرداد کند اگر Bob XMR را قفل نکند
- T2 (حدود ۲۴ ساعت): Bob میتواند XMR را استرداد کند اگر Alice BTC را ادعا نکند
نکات امنیتی و بهترین روشها
- همیشه از testnet/stagenet شروع کنید: قبل از استفاده با پول واقعی، با شبکههای تست آشنا شوید و چندین سواپ موفق انجام دهید
- از نودهای اختصاصی استفاده کنید: برای حداکثر امنیت و حریم خصوصی، از نود کامل BTC و Monero خودتان استفاده کنید نه از سرویسهای عمومی
- مراقب فیشینگ باشید: فقط از مخزن رسمی GitHub پروژه COMIT دانلود کنید و hashها را تأیید کنید
- پشتیبانگیری منظم: پوشه داده ASB/swap را به طور منظم پشتیبانگیری کنید زیرا حاوی اطلاعات بازیابی سواپهای در جریان است
- بررسی دقیق آدرسها: قبل از شروع، آدرس دریافت XMR را کاملاً بررسی کنید - اشتباه در آدرس منجر به از دست دادن وجوه میشود
- از Tor استفاده کنید: برای حداکثر حریم خصوصی، ASB را پشت Tor اجرا کنید تا IP شما پنهان بماند
مقایسه با سایر روشهای تبادل
| روش | حریم خصوصی | تمرکززدایی | سهولت | هزینه | سرعت |
|---|---|---|---|---|---|
| صرافی متمرکز (KYC) | بسیار ضعیف | ندارد | آسان | متوسط-بالا | سریع |
| DEX (مثل THORChain) | متوسط | دارد | متوسط | متوسط | متوسط |
| اتمیک سواپ CLI | عالی | کامل | پیشرفته | پایین | کند |
| MoneroSwapper | خوب | متوسط | خیلی آسان | متوسط | سریع |
| UnstoppableSwap GUI | عالی | کامل | آسان | پایین | کند |
آینده اتمیک سواپهای مونرو
تیم توسعه مونرو و جامعه جهانی آن به طور مستمر در حال بهبود این پروتکل هستند. پیشرفتهای مورد انتظار در آینده نزدیک شامل موارد زیر میشود:
- رابط گرافیکی پیشرفتهتر: پروژه UnstoppableSwap در حال توسعه رابط کاربری گرافیکیای است که استفاده از اتمیک سواپ را برای کاربران عادی هم ساده میکند
- پشتیبانی از ارزهای بیشتر: تحقیقات برای اضافه کردن اتریوم، لایتکوین و سایر ارزها در حال انجام است و نتایج امیدوارکنندهای داشته
- بهبود چشمگیر سرعت: نسل بعدی پروتکلها با بهینهسازیهای رمزنگاری زمان تکمیل سواپ را از چند ساعت به چند دقیقه کاهش میدهند
- یکپارچهسازی با Lightning Network: تحقیقاتی در زمینه امکانپذیری سواپهای فوری بین شبکه Lightning بیتکوین و مونرو در جریان است
- کاهش کارمزدها: بهینهسازیهای پروتکل باعث کاهش تعداد تراکنشهای روی زنجیره و در نتیجه کاهش کارمزدها میشود
نتیجهگیری جامع
اتمیک سواپهای BTC-XMR نشاندهنده آیندهای است که در آن میتوان بدون نیاز به هیچ واسطهای ارزهای دیجیتال را با یکدیگر تبادل کرد. این پروتکل ترکیبکننده امنیت بیتکوین با حریم خصوصی مونرو است - دو ویژگی که مکمل هم هستند.
اگرچه این روش در حال حاضر به دانش فنی قابل توجهی نیاز دارد و سرعت آن کمتر از صرافیهای متمرکز است، اما برای کاربرانی که حریم خصوصی و استقلال مالی برایشان در اولویت است، بدون شک بهترین گزینه موجود است. با پیشرفت فناوری و رابطهای کاربری بهتر، انتظار میرود این روش در آینده به گزینه اصلی کاربران XMR تبدیل شود.
برای کاربرانی که در حال حاضر به دنبال راه سادهتری برای تبادل XMR هستند، MoneroSwapper یک گزینه عالی بدون نیاز به دانش فنی است که سرعت و سهولت را با سطح مناسبی از حریم خصوصی ترکیب میکند.
🌍 خواندن به زبان