Con atomic swap si intende una tecnologia basata su smart contract che consente lo scambio di una criptovaluta con un’altra senza utilizzare intermediari centralizzati, come gli exchange.
Gli atomic swap possono avvenire direttamente tra blockchain di diverse criptovalute, oppure possono essere condotti off-chain, fuori dalla blockchain principale. Sono venuti alla ribalta per la prima volta nel settembre 2017, quando è stato condotto uno atomic swap tra Decred e Litecoin.
Da allora, altri soggetti hanno consentito ai loro utenti di utilizzare la stessa tecnologia: fra questi Lightning Labs (una startup che utilizza Bitcoin Lightning Network per le transazioni) e anche criptovalute ed exchange decentralizzati (come 0x e Altcoin.io).
A cosa serve atomic swap?
Il processo di scambio di criptovalute richiede tempo ed piuttosto complesso. Ciò è dovuto a diverse ragioni.
Non tutti gli exchange supportano tutte le monete. Pertanto, un trader che desidera scambiare la sua moneta con un’altra che non è supportata sull’exchange corrente potrebbe dover migrare l’account o effettuare diverse conversioni tra monete intermedie per raggiungere il suo obiettivo. Esiste anche un rischio di controparte, se il trader desiderasse scambiare le sue monete con un altro trader.
Gli atomic swap risolvono questo problema attraverso l’uso di Hash Timelock Contracts (HTLC). Come dice il nome, HTLC è uno smart contract vincolato a tempo tra le parti che prevede la generazione di una funzione hash crittografica, che può essere verificata tra di loro.
Gli atomic swap richiedono che entrambe le parti confermino la ricezione dei fondi entro un periodo di tempo specificato utilizzando una funzione di hash crittografico. Se una delle parti coinvolte non conferma la transazione entro i termini, l’intera transazione viene annullata e i fondi non vengono scambiati. Quest’ultima azione aiuta a rimuovere il rischio di controparte. Facciamo ora un esempio.

Supponiamo che Alice sia interessata a scambiare un BTC in BCH equivalenti con Bob; invia quindi la sua transazione alla blockchain di bitcoin. Durante questo processo, Alice genera un numero per una funzione hash crittografica per crittografare la transazione. Bob ripete lo stesso processo inviando allo stesso modo la sua transazione alla blockchain di bicoin cash.
Sia Alice che Bob sbloccano i rispettivi fondi utilizzando i rispettivi numeri. Devono farlo entro un periodo di tempo specificato, altrimenti il trasferimento non avrà luogo. Gli atomic swap possono essere utilizzati anche in combinazione con lightning network per condurre scambi off-chain.