MoneroSwapper MoneroSwapper
Guias

Tutorial Atomic Swap XMR para BTC com COMIT 2026

MoneroSwapper · · 10 min read · 1 views

Tutorial Completo: Atomic Swap XMR para BTC com COMIT Network

Os atomic swaps representam o pináculo da troca descentralizada de criptomoedas: dois participantes trocam ativos de blockchains diferentes diretamente, sem qualquer intermediário, custodiante ou exchange centralizada. Se a troca não acontecer integralmente, ambas as partes recuperam seus fundos automaticamente — daí o nome "atômico" (tudo ou nada).

Para o par XMR↔BTC, o projeto que tornou isso possível na prática é o COMIT Network. Neste tutorial técnico detalhado você vai aprender a instalar, configurar e executar um atomic swap XMR→BTC do zero, com todos os comandos e explicações necessárias.

Se você prefere uma opção mais simples, veja as melhores exchanges XMR→BTC sem KYC ou o guia completo de conversão XMR→BTC.

O Que São Atomic Swaps e Por Que XMR↔BTC É Tecnicamente Desafiador

Em trocas convencionais entre blockchains diferentes, um intermediário (exchange) age como custodiante temporário: recebe os fundos de uma parte, verifica, e libera para a outra. O problema é que isso exige confiança — a exchange pode falhar, ser hackeada, congelar fundos ou ser regulada.

Os atomic swaps eliminam esse intermediário usando contratos criptográficos que garantem: ou ambas as partes recebem o que combinaram, ou ambas recuperam seus fundos originais. Não há estado intermediário onde uma parte perde e a outra ganha.

Para BTC↔ETH, atomic swaps são mais fáceis porque ambos suportam scripts. O maior desafio técnico do par XMR↔BTC é que o Monero intencionalmente não suporta scripts ou contratos inteligentes — sua simplicidade de protocolo é uma característica de segurança. Os HTLCs (Hash Time-Locked Contracts) usados em atomic swaps convencionais não funcionam diretamente no Monero.

A solução desenvolvida pelo COMIT Network usa assinaturas adaptadoras (adaptor signatures) combinadas com propriedades criptográficas específicas da curva Ed25519 usada pelo Monero. O protocolo foi descrito formalmente em um paper acadêmico de 2020 (Thyagarajan et al.) e implementado na prática pelo COMIT.

Como Funciona o Protocolo COMIT XMR↔BTC

O protocolo funciona em etapas coordenadas entre Alice (tem XMR, quer BTC) e Bob (tem BTC, quer XMR). Aqui está uma descrição simplificada:

  1. Geração de chaves compartilhadas: Alice e Bob geram juntos uma chave de gasto Monero usando um protocolo de Diffie-Hellman adaptado. Nenhum dos dois tem a chave completa individualmente.
  2. Bob bloqueia BTC: Bob cria uma transação Bitcoin usando um HTLC com dois caminhos: (a) Alice pode resgatar os BTC revelando um segredo criptográfico específico, ou (b) Bob pode recuperar após timeout.
  3. Alice confirma o HTLC Bitcoin: Alice verifica que o contrato Bitcoin está correto e que pode resgatar o BTC com o segredo que ela conhece.
  4. Alice transfere XMR: Alice envia o XMR para o endereço Monero conjunto gerado na etapa 1. Nesse momento, os XMR estão "bloqueados" — ninguém pode gastá-los sozinho.
  5. Bob resgata o XMR: Bob usa a assinatura adaptadora para revelar sua parte do segredo e gastar os XMR para um endereço próprio. Ao fazer isso, ele automaticamente revela na blockchain Bitcoin o segredo que permite Alice desbloquear o BTC.
  6. Alice resgata o BTC: Alice usa o segredo revelado pelo resgate do XMR por Bob para resgatar os BTC do HTLC para seu endereço.

Se Bob não resgatar o XMR dentro do timeout (geralmente 12–24 horas), Alice pode recuperar os XMR. Se Alice não enviou o XMR, o BTC de Bob é devolvido automaticamente. A ordem das operações garante que nunca há situação onde uma parte perde e a outra não.

Pré-Requisitos Técnicos

Antes de começar, certifique-se de ter:

  • Sistema operacional: Linux (Ubuntu 20.04+ ou Debian 11+, recomendado) ou macOS. Windows tem suporte experimental via WSL2.
  • Acesso à rede Bitcoin: Um servidor Electrum acessível (público ou próprio) ou Bitcoin Core sincronizado em modo pruned.
  • Acesso à rede Monero: O daemon monerod sincronizado localmente (ideal) ou um nó remoto confiável (verifique a reputação).
  • Fundos suficientes: O valor que deseja trocar + pelo menos 0,01 XMR extra para taxas de rede Monero + 0,0001 BTC extra para taxas Bitcoin.
  • Conexão estável: O processo não pode ser interrompido em determinadas fases. Evite usar conexões instáveis para swaps de valores significativos.

Instalação do Cliente swap-cli

  1. Baixe o binário pré-compilado do GitHub:
    SWAP_VERSION=$(curl -s https://api.github.com/repos/comit-network/xmr-btc-swap/releases/latest | grep tag_name | cut -d'"' -f4)
    wget "https://github.com/comit-network/xmr-btc-swap/releases/download/${SWAP_VERSION}/swap_${SWAP_VERSION}_Linux_x86_64.tar.gz"
    tar xzf swap_*.tar.gz
    chmod +x swap
    sudo mv swap /usr/local/bin/
  2. Verifique a instalação:
    swap --version
    # Deve mostrar: swap x.xx.x
  3. Verifique a assinatura GPG (recomendado para segurança):
    wget "https://github.com/comit-network/xmr-btc-swap/releases/download/${SWAP_VERSION}/swap_${SWAP_VERSION}_Linux_x86_64.tar.gz.asc"
    gpg --verify swap_*.tar.gz.asc swap_*.tar.gz

Configuração do Ambiente

  1. Configure o servidor Electrum Bitcoin (opção mais simples):
    swap --electrum-rpc tcp://electrum.blockstream.info:50001 list-sellers
    Para mainnet com SSL:
    swap --electrum-rpc ssl://electrum.blockstream.info:50002 list-sellers
  2. Configure o nó Monero:
    # Nó local (recomendado):
    swap --monero-daemon-address http://127.0.0.1:18081 list-sellers
    
    # Nó remoto público (menor privacidade):
    swap --monero-daemon-address http://node.moneroworld.com:18089 list-sellers
  3. Crie o diretório de dados:
    mkdir -p ~/.local/share/xmr-btc-swap/mainnet/

Encontrando Makers (Provedores de Liquidez)

Para realizar o swap, você (taker/comprador de XMR) precisa de um maker (vendedor de XMR, comprador de BTC) disposto a ser contraparte. O COMIT usa uma rede P2P baseada em libp2p com rendezvous points para descoberta.

  1. Liste os makers disponíveis na rede:
    swap --electrum-rpc ssl://electrum.blockstream.info:50002      --monero-daemon-address http://127.0.0.1:18081      list-sellers      --rendezvous-point /dnsaddr/rendezvous.coblox.tech/p2p/QmPd98wigRET5e1pFobJi5a4XdTVMCDWEn79ojHtBLsRGm
    A saída mostrará os makers disponíveis com seus endereços libp2p, taxa de câmbio oferecida e limites mínimo/máximo.
  2. Escolha um maker e inicie o swap (você quer comprar XMR com BTC):
    swap --electrum-rpc ssl://electrum.blockstream.info:50002      --monero-daemon-address http://127.0.0.1:18081      buy-xmr      --receive-address SEU_ENDEREÇO_MONERO      --change-address SEU_ENDEREÇO_BTC_TROCO      --seller /ip4/MAKER_IP/tcp/9939/p2p/MAKER_PEER_ID

Executando o Swap: Passo a Passo Detalhado

  1. Inicie o comando buy-xmr com seus parâmetros. O cliente negociará os termos com o maker e exibirá: o endereço Bitcoin para depósito, o valor exato em BTC a enviar, e a quantidade de XMR que você receberá.
  2. Revise os termos cuidadosamente antes de enviar qualquer fundo. Confirme: taxa de câmbio, valor de BTC necessário, XMR que receberá, timeout.
  3. Envie BTC para o endereço gerado da sua carteira Bitcoin. O cliente aguardará a confirmação. Envie exatamente o valor indicado — valores diferentes podem causar falha.
  4. Aguarde a confirmação Bitcoin (1 confirmação, ~10 minutos em média). O cliente exibirá o progresso em tempo real.
  5. O protocolo executa automaticamente as etapas criptográficas. Você verá o estado mudar: Bitcoin locked → Xmr lock tx published → Xmr lock confirmed → Btc redeemed → Done.
  6. O XMR aparece na sua carteira Monero em ~30–60 minutos do início. Como as transações Monero precisam de 10 confirmações para estarem disponíveis (~20 min adicionais após a transação on-chain), pode levar até 80 minutos no total.

Monitorando e Recuperando Swaps em Andamento

Se sua conexão cair ou você precisar reiniciar o computador durante um swap, não entre em pânico. O cliente mantém todo o estado necessário para retomar:

# Ver todos os swaps e seus estados:
swap history

# Retomar um swap específico:
swap resume --swap-id ID_DO_SEU_SWAP      --electrum-rpc ssl://electrum.blockstream.info:50002      --monero-daemon-address http://127.0.0.1:18081

# Cancelar e solicitar reembolso (apenas se ainda possível):
swap cancel --swap-id ID_DO_SEU_SWAP

# Verificar se reembolso está disponível:
swap refund --swap-id ID_DO_SEU_SWAP

Executando Como Maker (Provendo Liquidez)

Se você quiser ser o maker — oferecer BTC em troca de XMR — pode ganhar a margem de spread e contribuir para a liquidez da rede:

swap --electrum-rpc ssl://electrum.blockstream.info:50002      --monero-daemon-address http://127.0.0.1:18081      start-daemon      --min-buy-btc 0.001      --max-buy-btc 0.1      --ask-spread 0.02

Como maker, você precisará manter BTC disponível para o escrow e um nó sempre online para responder aos takers.

Considerações de Segurança e Boas Práticas

  • Use sempre a versão mais recente: Vulnerabilidades são corrigidas regularmente. Execute swap --version e compare com o último release no GitHub.
  • Nunca interrompa nas fases críticas: Especialmente entre a confirmação do lock Bitcoin e o resgate do XMR. Use tmux ou screen para sessões persistentes.
  • Backup do diretório de dados: ~/.local/share/xmr-btc-swap/ contém as chaves e estado de swaps em andamento. Faça backup antes de qualquer swap.
  • Teste com valores pequenos primeiro: Faça um swap de 0,05 XMR antes de volumes maiores para verificar que seu ambiente está configurado corretamente.
  • Use Tor para maior privacidade: Execute torsocks swap ... para rotear o tráfego P2P através do Tor.

Atomic Swap vs. Exchange Instantânea: Comparação

CritérioAtomic Swap (COMIT)Exchange Instantânea
DescentralizaçãoTotal — sem servidor centralCentralizada (empresa controla)
Custódia dos fundosNunca — você controla sempreTemporária durante o swap
KYCImpossível por designNão (nas sem KYC)
Velocidade30–90 minutos20–45 minutos
Taxa efetivaApenas taxas de rede (~0,2%)1–2% + taxas de rede
DificuldadeAlta — linha de comandoBaixa — interface web
PrivacidadeMáxima — sem logs possíveisAlta mas depende da plataforma
Risco técnicoBaixo se protocolo corretoRisco de contraparte da exchange

Perguntas Frequentes

Preciso de nó Bitcoin completo ou Electrum serve?
Electrum público funciona e é suficiente para a maioria dos usuários. Para máxima privacidade e segurança, um nó próprio (Bitcoin Core ou Electrum Personal Server) é o ideal, pois servidores Electrum públicos podem ver seus endereços.

Os atomic swaps funcionam na mainnet do Monero?
Sim. O COMIT swap está operacional na mainnet desde 2021 e vem sendo melhorado continuamente. Use com cuidado e valores que você aceita correr risco técnico.

Qual é o timeout padrão do swap?
O timeout é negociado entre maker e taker, tipicamente entre 12 e 36 horas. Se expirar sem que o swap complete, ambas as partes recuperam seus fundos automaticamente.

Posso fazer XMR→BTC (ao invés de BTC→XMR)?
Na terminologia do COMIT, buy-xmr significa "pagar com BTC para receber XMR". Para o caminho inverso (pagar com XMR, receber BTC), você age como maker oferecendo XMR, ou usa o modo sell-xmr se o software disponibilizar essa interface diretamente.

O processo é completamente sem risco?
O protocolo criptográfico elimina o risco de contraparte (uma parte não pode roubar da outra). Mas existem riscos técnicos: bugs de software, falhas de hardware durante fases críticas, problema com o nó blockchain. Use versões estáveis, faça backups e não arrisque mais do que aceita perder.

Prefere começar com algo mais simples? Acesse nossa plataforma de swap sem KYC. Para comparar a cotação antes de decidir o método, use nossa calculadora XMR/BTC ao vivo. Detalhes sobre taxas: FAQ de taxas e limites XMR→BTC.

Compartilhe este artigo

Artigos Relacionados

Exchange de Monero Anônima

Sem KYC • Sem Cadastro • Troca Instantânea

Trocar Agora