Este artigo destaca questões relacionadas à relevância da troca atômica de diferentes moedas entre si, sem a participação de intermediários. Tentamos descrever os recursos dessa troca e os requisitos para moedas digitais para suportar essa funcionalidade. Além disso, examinamos as questões urgentes de projetar e iniciar trocas descentralizadas com base na troca atômica, bem como as desvantagens e riscos de seu uso.
Por definição, o proprietário da criptomoeda trabalha com suas moedas sem a participação de terceiros confiáveis, ou seja, sem confiança. É natural que os usuários queiram trocar essas moedas de acordo com o mesmo princípio. As trocas centralizadas existentes não podem atender a esses requisitos. Isso é evidenciado pelas inúmeras restrições por parte das próprias trocas e pelos frequentes casos de arrombamentos.
Como é a troca em um site centralizado? Alice está registrada na bolsa e faz um pedido para a compra de um certo número de moedas de uma determinada criptomoeda. Bob, que já está registrado nesta bolsa, vê o pedido e, se estiver satisfeito com o preço, concorda com ele. Os saldos das contas nessa troca com Bob e Alice estão mudando. Depois disso, eles podem retirar esse dinheiro para suas carteiras.
Nessa situação, Alice e Bob confiam na troca. Mais precisamente, eles confiam nos donos da bolsa que não aceitarão o dinheiro e não desaparecerão com eles. De certo modo, os usuários devem confiar nos engenheiros que projetaram e desenvolveram a troca e em outros profissionais que fornecem proteção confiável contra hackers e golpistas.
Requisitos de ideia e moeda
A idéia de troca atômica foi proposta como alternativa. A troca atômica é uma troca que é inextricavelmente executada ou que não é executada. Essa abordagem permite que você faça uma troca, mesmo que os usuários não confiem um no outro. Além disso, o participante não perderá moedas, mesmo que o oponente intencionalmente queira enganá-lo.
A troca atômica é uma idéia com grande potencial e pode ser implementada de maneiras diferentes e para moedas digitais completamente diferentes. Portanto, neste artigo, nos restringimos às especificidades da operação de troca atômica especificamente para criptomoedas como Bitcoin e Ether.
Para que uma moeda digital suporte com êxito a troca atômica, ela deve atender a alguns requisitos fundamentais.
O principal é a capacidade de criar um contrato inteligente com a possibilidade de um atraso de tempo. Além disso, para concluir uma transação entre dois sistemas contábeis diferentes, é necessário que ambos possam usar a mesma função hash criptográfica ao definir as condições para gastar moedas (por exemplo, SHA-256). É necessário que o contrato seja executado corretamente quando o usuário fornecer o resultado da execução da função hash. Além disso, para a implementação bem-sucedida da troca atômica, é necessário um canal de comunicação, pois os usuários precisam discutir fora das cadeias as condições de troca.
Princípio de funcionamento
A troca atômica usa os chamados bloqueios de tempo limitado (HTLC). De fato, esses são contratos que são suportados pelo próprio sistema de contabilidade de moeda digital. Um par de contratos especiais garante que, se as moedas da mesma moeda mudarem de propriedade, as moedas da segunda moeda também. E se uma das partes nos contratos não confirmar a transferência no prazo, as moedas serão devolvidas aos proprietários originais. Assim, as moedas de ambas as moedas são bloqueadas até que todas as condições sejam cumpridas e confirmadas. A troca de moedas será atômica ou será completamente rejeitada.

Considere esse processo em um diagrama mais detalhado. Imagine duas moedas digitais para as quais a tecnologia blockchain é usada: α e β. Existem dois participantes: Alice (A) e Bob (B). Primeiro, Alice cria um novo endereço na blockchain da moeda α e o passa para Bob. Bob também cria um novo endereço, mas no blockchain da moeda β, e o passa para Alice.

Alice inicia uma transação com um contrato inteligente, no qual bloqueia suas moedas, que deseja trocar com Bob. Bob verifica esse contrato inteligente (realiza uma auditoria manual ou automatizada), cria seu contrato inteligente com base no contrato de Alice e o passa para ela. Por sua vez, Alice verifica o contrato inteligente de Bob na blockchain β e, se tudo estiver correto, publica seu valor secreto de hash na blockchain β durante o desbloqueio de moedas que foram bloqueadas por Bob. Com esse valor de hash, Bob pode desbloquear moedas que Alice bloqueou na α blockchain. Assim, é feita uma troca. Até a primeira publicação do valor do hash, todos os participantes permanecem com suas moedas e depois que os participantes ficam livres para acessar as moedas do oponente. É por isso que a troca pode ser considerada sem confiança.
Hora da confirmação
Para fazer uma troca confiável de troca atômica, você precisa de apenas 4 transações, 2 em cada blockchain, bem como comunicação fora da cadeia entre entidades para transmitir o texto do contrato inteligente. Portanto, o tempo para fazer uma troca usando a troca atômica pode levar de 1 hora ao tempo especificado no contrato inteligente dos sujeitos em um atraso de tempo.
Moedas que suportam troca atômica
As moedas que atualmente suportam troca atômica incluem:
- Bitcoin e seus garfos: Litecoin, Monacoin, Zcoin, Viacoin, etc.
- Ethereum e projetos similares cujos contratos inteligentes são escritos em linguagens de programação e executados em máquinas virtuais.
Vale ressaltar que ainda não existe um padrão único para a troca atômica. Todo mundo que atualmente usa troca atômica usa criptografia e contratos inteligentes sem um único padrão.
Trocas descentralizadas
Com base na troca atômica, você pode criar trocas descentralizadas que permitirão trabalhar com vários sistemas de contabilidade, com seu próprio blockchain para cada um. Porém, ao projetar essas trocas descentralizadas, lembre-se de que qualquer pessoa deve poder deixar sua oferta de compra ou venda. Portanto, você deve primeiro ter um protocolo que permita criar uma carteira de pedidos de forma descentralizada.
Quanto às garantias de atendimento de pedidos, existem recursos aqui. No caso de trocas centralizadas, todo o saldo está na troca. Portanto, apesar do usuário poder cancelar seu pedido a qualquer momento, até o momento do cancelamento, a troca executará esse pedido em qualquer caso. Para trocas descentralizadas, são necessárias multas por descumprimento de obrigações. Até agora, essa abordagem para resolver esse problema é a melhor dentre as disponíveis na época de 2018.
Desvantagens
Nas trocas descentralizadas ainda não é possível implementar os chamados pools escuros - uma carteira de pedidos especial na qual ninguém vê pedidos. Essa abordagem é usada em trocas centralizadas para ocultar ofertas de troca de grandes quantidades, pois elas podem manipular o mercado. Para implementar pools escuros em uma troca descentralizada, você deve usar criptografia sofisticada.
Além disso, as transações com moedas fiduciárias ainda não estão disponíveis em trocas descentralizadas. As moedas da Fiat não possuem um sistema contábil em que um contrato inteligente possa ser prescrito. Portanto, não é possível realizar trocas atômicas entre moedas fiduciárias e digitais.
Problema de venda de pânico
Com o uso massivo de troca atômica, há um problema difícil de resolver. Suponha que exista um sistema contábil no qual uma taxa de processamento de transações muito alta seja cobrada e que as próprias transações sejam confirmadas por um período muito longo. Os usuários começam a vender essa moeda, porque ela tem baixa largura de banda, e criam pedidos em uma troca descentralizada, mas esses pedidos, quando executados, criam contratos inteligentes no mesmo blockchain da moeda que eles estão tentando vender. Assim, a rede é carregada ainda mais, as transações pendentes formam uma fila ainda maior e os usuários desejam ainda mais vender essa moeda, fazendo mais pedidos e aumentando a fila de transações.

Como analogia, pode-se citar um exemplo da física nuclear. Na decadência de um núcleo do isótopo do urânio 235, emite geralmente de 1 a 8 nêutrons livres. Cada nêutron formado durante o decaimento pode causar o decaimento do núcleo de urânio vizinho, esse fenômeno é chamado de reação em cadeia da fissão do núcleo. Na verdade, esse é o princípio da explosão da bomba atômica. Além disso, o problema de extinção de explosões nucleares ainda não foi resolvido adequadamente. É claro que o problema da venda de pânico em trocas descentralizadas com base na troca atômica não é tão significativo em comparação com o problema das bombas atômicas, mas essa analogia reflete muito claramente a essência da disseminação do processo de pânico no mercado, semelhante a uma avalanche.
Riscos do uso da troca atômica
Devido à falta de terceiros, há riscos no uso de troca atômica. Se o usuário não auditar o contrato que o oponente lhe enviou, há uma chance de que o oponente possa roubar o dinheiro do primeiro usuário. Além disso, se após a execução do contrato inteligente o primeiro usuário receber o dinheiro e o oponente não executar o script de resgate a tempo, o oponente poderá perder seu dinheiro.
Conclusões
Avaliando o trabalho da troca atômica, podemos concluir que a idéia é promissora para a criação de tecnologia para a troca de ativos digitais de forma confiável. É necessário mais tempo e experiência prática antes que a oportunidade surja para declarar inequivocamente exatamente como a troca atômica deve ser implementada. No entanto, hoje existem trocas descentralizadas que usam troca atômica: BarterDEX na plataforma Komodo, Altcoin, bem como no projeto 0x. O fato de haver uma demanda por essa tecnologia de troca indica as necessidades da economia digital moderna.