Succinct Atomic Swap (SAS), è un nuovo tipo di scambio atomico che semplifica questo tipo di operazione, offrendo possibilità di scambio molto più veloci, più economiche e più sicure senza intermediari. 

Lgli sviluppatori di tecnologia blockchain Sono sempre più concentrati sull'introduzione di nuove funzioni, in particolare quelle che consentono il funzionamento incrociato di più blockchain, e una di queste tecnologie è la Succinct Atomic Swap (SAS) o Succinct Atomic Swap.

The Succinct Atomic Swap o SAS, sono in realtà un'evoluzione del scambi atomici o scambi atomici che possiamo già vedere implementato in diversi blockchain. La differenza è che SAS cerca di rendere il modo in cui questa tecnologia funziona più semplice, più efficiente e più sicuro.

Succinct Atomic Swap (SAS), che migliora gli atomic swap

L'idea di Succinct Atomic Swap (SAS) ha origine nella mente di Ruben Somsen, che l'11 maggio 2020, ha scritto il seguente messaggio sulla lista di sviluppo di Bitcoin: SAS: Succinct Atomic Swap. In questo messaggio, Somsen ha descritto un'idea che ha reso possibile creare scambi atomici rapidamente, con meno complessità nel codice e negli script e con una bassa attività sulla blockchain. Il tutto sfruttando la flessibilità di ECDSA e guardando anche al futuro con l'uso di firme di Schnorr y indirizzi multi-firma (MultiSig).

L'idea di Somsen si è basata sul lavoro del team di Monero (XMR) y il loro scambio atomico tra Monero e Bitcoin. Inoltre, ho preso idee su ciò che è stato presentato dall'utente @TierNolan nel 2013 sul noto forum Bitcointalk. In tutti i casi, la proposta di Somsen semplifica enormemente il modo in cui possono essere effettuati gli atomic swap, riducendo allo stesso tempo il loro impatto sulla blockchain, senza sacrificarne la sicurezza e la privacy.

Nonostante l'idea geniale, questo tipo di protocollo non è ancora stato costruito, rimanendo in un modello sperimentale.

Come funziona il protocollo?

Ora, il funzionamento di questo protocollo dipende in primo luogo dalle tecnologie che abbiamo già a disposizione in Bitcoin. Stiamo parlando di criptovaluta ECDSA, o anche firme Schnorr, indirizzi con più firme e in aggiunta da codici operativi (OP_CODES) come CLTV, nLockTime y nSequence. In poche parole, nella sua forma più semplice, non è necessario aggiungere nulla di aggiuntivo al protocollo Bitcoin e ad altre criptovalute derivate da Bitcoin.

Avvio del processo

Il processo di esecuzione di una firma di accesso condiviso inizia quando due persone avviano lo scambio. In questo caso, ci riferiremo a quelle persone come Laura e Daniel. Laura ha 1 BTC che vuole scambiare nel suo equivalente con Daniel che ha Litecoin (LTC), e tutto questo senza passare per un file scambio centralizzato.

Quindi abbiamo Laura che prepara 1 BTC in una transazione che ha firmato con una firma congiunta utilizzando la sua firma e quella di Daniel. Questa prima transazione che non è stata ancora inviata arriverà sulla blockchain in uno stato di attesa. Ciò è possibile utilizzando OP_CODES come CLTV e nLockTime, che consentono di definire un timeout e altre condizioni necessarie per elaborare la transazione. In questo caso, la condizione per il rilascio di detta transazione è che Daniel sveli il suo segreto a Laura, cosa che a questo punto non è ancora avvenuta.

La programmazione con CLTV di questa transazione obbedisce anche ad un altro punto, ovvero che nel caso in cui le parti non completino lo scambio, detta transazione può essere inviata alla blockchain, e dopo un po 'Laura può sbloccarla senza problemi recuperando i fondi. Ciò è possibile perché CLTV può trasformare un indirizzo multisig in un unico indirizzo in determinate condizioni programmabili. Nello stesso momento in cui Laura recupera i suoi fondi, rivelerà un segreto a Daniel, che gli permetterà di recuperare i fondi che blocca nella sua transazione Litecoin.

Preparare la seconda transazione

Mentre la prima transazione non è stata ancora inviata, Laura e Daniel stanno preparando il resto delle condizioni per lo scambio. A questo punto, Laura e Daniel ora creano una nuova e una seconda transazione, ma vi mettono un blocco a livello di transazione (usando nSequence). Ciò impedirà che la transazione venga presa dai minatori fino allo scadere del tempo di blocco, questa volta deciso da Laura e Daniel, che hanno deciso di dargli un'ora di blocco.

Questo blocco sulla transazione è un'assicurazione che impedisce a Laura di perdere i suoi soldi nel caso in cui Daniel abbia agito in modo disonesto. E, grazie al blocco e alle condizioni in cui è stata creata quella transazione, Laura può recuperare detta transazione senza problemi. Quindi, la scelta del blocco è OP_CODE nSequence, poiché consente un blocco relativo. Cioè, il blocco può essere attivato solo quando una transazione precedente e i suoi output associati (la prima transazione firmata da Laura e Daniel) sono già stati inclusi nella blockchain.

Invio di transazioni

Ora, la prossima cosa è iniziare a inviare le transazioni. Laura invia per prima la seconda transazione, che verrà bloccata a tempo indeterminato fino a quando la prima transazione non raggiunge la blockchain. Tuttavia, questo fatto di inviare la seconda transazione alla rete è indicativo per Daniel che Laura ha avviato il processo di scambio. Quindi la prossima cosa che fa Daniel è creare una transazione in Litecoin per lo scambio totale, e per quell'operazione usa le firme di Laura e della sua.

Questa transazione in Litecoin è vista da Laura che, in accordo con essa, procede ad inviare la prima transazione, che contiene 1 BTC per Daniel. Laura non potrà accedere ai fondi in Litecoin perché non conosce il segreto di Daniel necessario per sbloccare detta transazione. Quindi, una volta che Laura invia la prima transazione alla blockchain di Bitcoin, l'orologio del blocco inizia a ticchettare.

Ora, resta un altro punto, come è possibile che Laura e Daniel conoscano i segreti necessari per sbloccare le rispettive transazioni in Bitcoin e Litecoin? Bene, a questo punto entra in gioco qualcosa noto come adattatore di firma ECDSA. Questo adattatore consente a ECDSA in determinate condizioni di rivelare il segreto necessario in modo che Daniel e Laura possano sbloccare le loro transazioni. In questo modo, possono effettuare con successo lo scambio, qualcosa che spiegheremo di seguito.

Il momento dello scambio

Ora, non appena la prima transazione avviene sulla blockchain di Bitcoin, inizia il processo di scambio. La prima transazione è firmata in modo tale da essere valida solo se Daniel rivela il suo segreto. Cioè, se Daniel vuole il Bitcoin, questo sarà possibile solo se Daniel rivela il segreto durante l'interazione con detta transazione. Questo perché Laura firma detta transazione in modo tale che sarà valida solo in base a questo presupposto e la persona responsabile sarà l'adattatore della firma ECDSA. Lo stesso accade con la seconda transazione, quindi Daniel ha solo un'opzione rimasta, per interagire con quelle transazioni per richiedere i bitcoin che desidera.

Così, quando Daniel interagisce con la transazione per rivendicare il BTC, rivela il segreto a Laura. A questo punto, Laura conosce il segreto di Daniel e il suo, quindi può andare sulla blockchain di Litecoin e con entrambi i segreti in suo potere per sbloccare la transazione Litecoin che Daniel ha inviato in cambio del BTC. In questo modo, Laura e Daniel hanno eseguito con successo un Succinct Atomic Swap (SAS).

Se il processo viene completato correttamente, la seconda transazione non sarà valida. Ma se il processo non va a buon fine, la seconda transazione (bloccata con nSequence) fungerà da transazione di rimborso, consentendo a Laura di riavere il suo BTC senza problemi. Alla fine, nel migliore dei casi, un SAS può sempre essere effettuato in due semplici transazioni all'interno della blockchain.

Quanto sai, Cryptonuta?

È possibile implementare Succint Atomic Swap senza modificare il protocollo delle criptovalute?

Certo!

Uno dei vantaggi di questo tipo di scambio è che non è necessario che entrambe le criptovalute abbiano le stesse capacità di programmazione, infatti, lo stato attuale dello scripting Bitcoin è sufficiente per consentire scambi atomici succinti con qualsiasi altra criptovaluta, senza dover modificare niente il protocollo Bitcoin o le altre criptovalute.

Vantaggi e svantaggi di Succinct Atomic Swap (SAS)

Ora tra i vantaggi di questo modello possiamo evidenziare:

  1. Richiede solo due transazioni in catena per essere completato correttamente, invece di quattro. Nel peggiore dei casi, il modello richiede tre transazioni (per effettuare il rimborso) che è ancora più efficiente degli atomic swap esistenti.
  2. È possibile effettuare questo tipo di scambi senza script avanzati, è anche possibile farlo senza blocchi temporali in una delle catene.
    Può essere utilizzato per scambi di privacy efficienti.

D'altra parte, i suoi svantaggi sono:

  1. L'accesso al denaro dipende dal ricordare i segreti (complessità del backup).
  2. Devi essere online durante l'intero processo di scambio, altrimenti rischi di perdere denaro.
  3. Inoltre, è necessario costruire watchtower o watchtower blockchain che supportino il blocco del tempo. Ciò è necessario per una configurazione sicura a due transazioni, ma non necessario in uno scenario che utilizza tre transazioni o senza blocchi temporali.