Gli swap atomici sono un meccanismo per consentire il vero scambio P2P di criptovalute direttamente tramite la blockchain. Come funzionano gli scambi atomici e qual è il futuro di questa tecnologia?

Gli swap atomici sono contratti automatici per lo scambio di risorse crittografiche tra blockchain. Il meccanismo del contratto intelligente elimina completamente la necessità di organizzazioni terze centralizzate (borse o scambiatori) quando si effettuano transazioni e li libera dal rischio di controparte. Questo è uno dei pochi metodi veramente decentralizzati per condurre transazioni di scambio di criptovalute.

Come funzionano gli scambi atomici

“Atomico” (indivisibile) è un termine per processi che vengono eseguiti interamente o non eseguiti affatto. In altre parole, uno scambio atomico ha caratteristiche che garantiscono che entrambe le parti della transazione soddisfino tutte le condizioni predefinite per completare lo scambio. Il rispetto delle condizioni è garantito da smart contract. Se una delle parti fallisce o si verificano problemi tecnici, l'intera operazione viene completamente annullata.

Gli swap atomici utilizzano contratti a tempo bloccati con hash (HTLC). Questi contratti utilizzano un meccanismo per creare e confrontare le impronte digitali dei dati: una funzione hash. Inoltre, il contratto fissa un limite di tempo: le transazioni vengono annullate se almeno una delle parti non soddisfa i termini della transazione entro un periodo predeterminato.

Ad esempio, due parti potrebbero concordare di fissare un limite temporale di due ore per uno scambio atomico. In questo scenario, il contratto restituirà le monete depositate ai proprietari originali quando saranno trascorse due ore e non tutte le condizioni della transazione saranno state soddisfatte. Il contratto intelligente HTLC richiede due chiavi crittografiche:

  • Chiave hashlock. Questa chiave garantisce che la transazione verrà completata solo quando entrambe le parti forniranno la prova crittografica di aver rispettato i termini della transazione.

  • Chiave della serratura a tempo. Si tratta di un meccanismo di sicurezza che aiuta i partecipanti alla transazione a fissare una scadenza per il completamento di uno scambio atomico. Il meccanismo garantisce che le monete depositate vengano restituite ai partecipanti alla transazione se lo swap non viene completato per un motivo o per l’altro entro la scadenza.

Come vengono eseguiti gli scambi atomici

Supponiamo che l'utente A e l'utente B accettino di effettuare uno scambio atomico per BTC ed ETH. L'utente B vuole scambiare il suo 1 BTC con i 15 ETH dell'utente A.

Innanzitutto, l'utente B deve creare un indirizzo contrattuale al quale invierà 1 BTC. Dopo aver completato la transazione, il contratto genera automaticamente una chiave speciale a cui solo l'utente B ha accesso. Questa chiave sblocca il denaro che l'utente ha inviato al contratto intelligente.

Il contratto utilizza questa chiave per creare una rappresentazione con hash o una forma crittografata della chiave. L'utente B invia quindi un hash della chiave all'utente A. Pertanto, l'utente A ha accesso solo alla forma hash del passcode utilizzato per bloccare 1 BTC dell'utente B. Questo hash serve come prova che l'utente B ha bloccato il denaro nel contratto , ma l'utente A non può ancora accedervi o rimuoverli dal contratto.

Dopo aver ricevuto la chiave hash, l'utente A la utilizza per creare il proprio indirizzo contrattuale su cui depositare i suoi 15 ETH. Una volta che entrambe le parti hanno bloccato i propri soldi nello smart contract, l'Utente B può richiedere 15 ETH perché ha accesso alla password, che rivela la chiave utilizzata dall'Utente A per bloccare le monete nello smart contract.

Durante il processo di sblocco dell'indirizzo contrattuale dell'Utente A, l'Utente B rivela la sua password alla seconda parte della transazione. L'utente A lo utilizza per ricevere 1 BTC e completare la transazione. In sostanza, l’intero processo di scambio atomico si riduce alla capacità di entrambe le parti di fornire prova crittografica delle proprie azioni.

L'utente B ha dovuto prima crittografare la chiave e poi inviarla all'utente A. Poiché aveva la chiave originale, può rivendicare le risorse crittografiche che l'utente A ha bloccato nel contratto intelligente con la chiave crittografata. Tuttavia, come condizione per sbloccare le risorse crittografiche, l'Utente B deve fornire all'Utente A la chiave originale. L'utente A può quindi accedere alla chiave e utilizzarla per ricevere 1 BTC.

Perché sono necessari gli scambi atomici?

Lo scambio atomico è un meccanismo importante per l'interoperabilità della blockchain perché elimina la necessità di intermediari, come gli scambi di criptovaluta, quando si scambiano risorse crittografiche. Ciò consente ai trader di condurre transazioni cross-chain senza fare affidamento su infrastrutture di piattaforme di trading centralizzate.

Poiché non ci sono intermediari coinvolti negli scambi atomici, le transazioni sono veloci, più accessibili ed eliminano gli incidenti di sicurezza associati agli scambi basati sulla custodia. Gli utenti mantengono il controllo sulle proprie risorse crittografiche poiché tutte le transazioni vengono eseguite dai loro portafogli personali.

Inoltre, il trading cross-chain tramite atomic swap contribuisce alla creazione di un ecosistema di criptovalute interoperabile. Gli scambi atomici semplificano la conduzione di transazioni su più blockchain. Inoltre, gli atomic swap eliminano il rischio di controparte: la transazione viene completata completamente o non viene completata affatto.

Sviluppo di scambi atomici

Il meccanismo degli scambi atomici è stato descritto per la prima volta dallo sviluppatore Sergio Lerner nel 2012. La comunità era interessata all’idea, ma alcuni processi di scambio non sono stati concretizzati. Un anno dopo, Tier Nolan ha sviluppato una procedura più affidabile per eseguire gli scambi atomici. Ma è stato solo quattro anni dopo, quando il team Decred ha eseguito uno scambio atomico tra Decred e Litecoin, che il meccanismo è stato testato con successo per la prima volta su una vera blockchain. Pochi giorni dopo, il fondatore di Litecoin Charlie Lee ha twittato che il processo era stato replicato con successo per lo scambio di LTC e BTC.

Il progetto originale di uno scambio atomico richiedeva che entrambe le parti di una transazione scaricassero sul proprio dispositivo la versione completa dei blockchain delle criptovalute che intendevano scambiare. Un mese dopo che Decred e Litecoin hanno condotto i primi atomic swap, gli sviluppatori del progetto Komodo hanno introdotto una “versione lite” degli atomic swap, che richiede solo l’apertura di canali di pagamento speciali. Allo stesso tempo, i partecipanti alla transazione non hanno bisogno di scaricare blockchain di asset crittografici o attendere che i validatori confermino le transazioni.

Nel 2017, gli sviluppatori di Zcash hanno dimostrato una versione funzionante dello strumento XCAT (cross-chain atomic trades), che può essere utilizzato per scambiare BTC con ZEC e viceversa. Pochi mesi dopo, è stato effettuato il primo atomic swap tra Bitcoin Cash e Decred.

Nel 2019, la piattaforma Qtum ha lanciato gli atomic swap sulla rete principale Bitcoin e Blockstream ha lanciato gli atomic swap sulla sidechain Liquid. Ci sono stati anche tentativi di creare piattaforme di trading che supportino gli scambi atomici. Nel 2019 è stato lanciato l'exchange decentralizzato Sparkswap per Bitcoin con il supporto per Lightning e atomic swap. Tuttavia, un anno dopo, il sito chiuse a causa del numero limitato di utenti e della scarsa liquidità.

È possibile che lo sviluppo del settore DeFi, il percorso generale della comunità verso la decentralizzazione, nonché il supporto agli atomic swap da parte delle più grandi blockchain diano slancio allo sviluppo della tecnologia nei prossimi anni. Tuttavia, per ora, gli atomic swap rimangono una forma di transazione conveniente e sicura, ma rara, eliminando la necessità di controparti e consentendo agli utenti di mantenere il controllo delle proprie risorse crittografiche.