🇮🇹 DeFiChain: Interchain Exchange & Atomic Swaps

Mar 2, 2021

Una delle novità più attese dai nostri utenti è l'introduzione dell'Interchain Exchange (ICX) e degli Atomic Swaps, che permettono scambi di token decentralizzati dall'ecosistema DeFiChain nell'ecosistema Bitcoin.

Nel seguente articolo, ti daremo una panoramica degli obiettivi di progettazione e delle limitazioni dietro questi concetti, i pilastri crittografici dietro di essi e come funzionano su DeFiChain.

Obiettivi e limiti del design

Quando si tratta di implementare e gestire un ICX e gli atomic swap su DeFiChain, l'obiettivo di progettazione più importante è quello di consentire e garantire un trasferimento continuo e affidabile tra DST (DeFiChain Standard Token) e BTC sulla Blockchain di Bitcoin per i nostri utenti. L'attenzione qui si concentra sui seguenti tre principi di progettazione, esattamente nell'ordine elencato qui sotto:

  • Sicurezza
  • Facilità d'uso
  • Semplicità

In primo luogo, DeFiChain non scende a compromessi sulla sicurezza e non permetterà a una parte di perdere i propri token mentre l'altra gli riceve. In definitiva, lo scambio di token deve essere "atomico", il che significa che entrambe le parti devono ricevere esattamente ciò che hanno originariamente concordato. Se questo non è il caso, allora nessuna delle due parti può ricevere nulla.

In secondo luogo, quando si tratta di usabilità, DeFiChain ha un asso nella manica rispetto ai suoi concorrenti. Questo perché il focus è su un'interfaccia facile da usare che permette ad ogni utente di eseguire intuitivamente gli scambi (swap) con pochi click.

L'ultima componente integrale è la semplicità. L'intero processo è progettato per essere automatico e "naturale". Così, tutti ottengono ciò che è stato originariamente concordato. Il fattore più importante qui è che una volta che lo scambio è messo in moto, l'utente non deve pensare al processo sottostante - è sufficiente avere l'intenzione di scambiare e di conseguenza il risultato viene "naturalmente" e automaticamente.

Fondamenti crittografici

Prima di entrare nel contenuto principale di questo articolo, vorremmo presentare le basi crittografiche per capire meglio come funziona un ICX e gli Atomic swap. Per fare questo, vorremmo dare un'occhiata più da vicino ai seguenti tre principi chive della cryptografia:

  • Hash e funzione hash
  • Hash-Time-Lock Contract
  • Wallet SPV

Hash e funzione Hash

Nella crittografia, la parola "hash" si riferisce a quell'output che viene prodotto da una funzione hash dopo che i dati vengono inviati attraverso di essa. Per capire meglio cos'è un hash, dobbiamo prima guardare il concetto di funzione hash. Le funzioni di hash sono algoritmi matematici che convertono un valore di input di qualsiasi dimensione in un output (o hash) di dimensione fissa.

Diverse criptovalute usano diverse funzioni di hash. Bitcoin, per esempio, utilizza la funzione hash SHA256, che converte i dati di qualsiasi dimensione in un output esadecimale di dimensione fissa (hash). Va notato qui che questo valore di hash in uscita è sempre lo stesso per lo stesso input. Di conseguenza, non importa chi "hashera" l'input o quanto spesso questo venga fatto - l'output non cambia. D'altra parte, qualsiasi piccolo cambiamento nei dati di input farà sì che la funzione hash produca un output (hash) completamente diverso.

Hash-Time-Lock Contract

Il termine hash-time-lock contract (HTLC) si riferisce a una caratteristica usata in alcuni smart contract che permette di cambiare un canale di pagamento. L'aggiunta della funzione HTLC permette l'implementazione di transazioni time-locked tra due utenti. In pratica, il destinatario di una transazione HTLC ha un lasso di tempo predeterminato ed ex ante specificato in cui deve accettare il pagamento inviando un segreto all'hash - che è essenzialmente solo una prova crittografica.

I due componenti più importanti di HTLC sono l'hashlock e il timelock. Un hashlock si riferisce a una funzione che limita la spesa dei fondi bloccati fino a quando non viene fornita una prova crittografica. D'altra parte, un timelock limita la spesa dei fondi fino ad un certo livello di blocco nel futuro.

Se il timelock non viene attivato, allora i fondi vengono trasferiti di nuovo al mittente originale. Entrambe le parti sono in realtà garantite dal rimborso del denaro se i requisiti non sono soddisfatti.

Wallet SPV

SPV sta per Simplified Payment Verification ed è un cosiddetto nodo Bitcoin leggero (light Bitcoin node) che funziona accanto al nodo DeFiChain. Attualmente è usato per la convalida dell'ancora, permettendo così al nodo di verificare l'ancora sulla blockchain di Bitcoin in modo trustless. In poche parole, è l'equivalente dell'utilizzo di un nodo completo senza dover scendere a compromessi in termini di sicurezza.

Ancora più importante, però, dato che DeFiChain condivide la stessa radice di Bitcoin, la chiave privata estesa usata su DeFiChain può essere la stessa chiave usata su Bitcoin. Perciò, è possibile usare la stessa frase seed di DeFiChain per sbloccare i Bitcoin sul tuo portafoglio DeFiChain. In definitiva, anche se il portafoglio SPV è progettato per essere "leggero" e trustless, non è meno insicuro per l'utente finale che eseguire un nodo completo.

Atomic Swaps

Gli atomic swap sono contratti intelligenti (smart contracts) che permettono lo scambio senza fiducia e decentralizzato di criptovalute tra due diverse blockchain senza fare affidamento su alcun intermediario.

Gli utenti di DeFiChain sono quindi in grado di scambiare Bitcoin sulla blockchain DeFiChain sotto forma di DBTC (DeFi Asset Token sostenuto da Bitcoin) con Bitcoin sulla blockchain Bitcoin. Tutto questo avviene senza dover fare affidamento su nessun intermediario o istituzione centralizzata. Invece, gli utenti saranno in grado di trasferire intuitivamente le monete da e verso la blockchain di Bitcoin - direttamente all'interno dell'applicazione DeFiChain. Questo apre la possibilità per tutti gli asset su DeFiChain di essere facilmente spostati da e verso la blockchain DeFiChain e la blockchain Bitcoin con alta liquidità.

Ecco un rapido esempio di come funzionano gli atomic swap su DeFiChain.

Diciamo che Alice e Bob vogliono eseguire uno Atomic Swap per 1 BTC. Alice poi invia il suo 1 BTC a Bob tramite HTLC, non dicendo a Bob il segreto per sbloccarlo - almeno non ancora. Ma allo stesso tempo, Bob ha la garanzia che se conoscesse il segreto, potrebbe sbloccarlo. D'altra parte, Alice ha una garanzia di rimborso nel caso in cui Bob non mantenga la sua parte dell'accordo.

Nel passo successivo, Bob invia il pagamento ad Alice utilizzando lo stesso hash utilizzato da Alice. Alice riscatta il pagamento di Bob rivelando ora il segreto. Il segreto deve essere reso pubblico in modo che anche Bob possa richiedere il suo pagamento utilizzando lo stesso segreto. Dal momento che entrambe le parti hanno ricevuto esattamente ciò che hanno concordato ex ante, senza che nessuno tradisca l'altro, Alice e Bob hanno così eseguito e completato con successo il loro primo accordo di scambio atomico.

Interchain Exchange

L'Interchain Exchange (ICX) è un termine introdotto da DeFiChain per descrivere il proprio scambio di ordini all'avanguardia e trustless sulla blockchain DeFiChain. Si differenzia dallo scambio decentralizzato (DEX) - con cui la maggior parte di voi ha già familiarità - in quanto gli utenti possono ora muoversi dentro e fuori l'ecosistema DeFiChain. Puoi pensare a questo approssimativamente come "on ramping" o entrare nell'ecosistema DeFiChain vs. "off ramping" o uscire dall'ecosistema DeFiChain nell'ecosistema Bitcoin.

A differenza della liquidità di DEX, che ha una funzione automatica di market maker incorporata, ICX è progettato come altri scambi tradizionali. Le attività sono quindi caratterizzate da un prezzo di domanda e un prezzo di offerta e di conseguenza vengono scambiate in questo modo. Come suggerisce il nome, ICX è uno scambio di beni situati su due diverse blockchain. Nel nostro caso, è il token DFI sulla blockchain DeFiChain e BTC sulla blockchain Bitcoin.

A causa della sua architettura blockchain non-Turing complete, ICX è ora implementata come una 'Base Blockchain Consensus' piuttosto che una dApp. Questo significa che ogni singola transazione viene inviata e convalidata da tutti i nodi, e questo è anche il motivo per cui l'applicazione a volte può impiegare un po' più di tempo per sincronizzarsi.

Gli obiettivi principali affrontati da ICX sono quelli di abbinare gli ordini di acquisto e di vendita (matchmaking) e di facilitare la scoperta dei prezzi. Dopo aver abbinato acquirenti e venditori, ICX facilita la creazione di un cosiddetto contratto di swap interchain (SC) tra le due parti.

Un altro aspetto importante per capire il matchmaking nel miglior modo possibile è conoscere i seguenti partecipanti al mercato. Da una parte abbiamo compratori e venditori, dall'altra parte abbiamo chi crea e chi prende. Nel contesto degli Atomic swap e dell'ICX, acquirenti e venditori sono semplicemente utenti che vogliono comprare e vendere (ad esempio Bitcoin). Un maker, d'altra parte, è qualcuno che invia un ordine bid o ask ad un order book, mentre un taker prende un ordine dal order book. Il seguente esempio illustrerà questo: Se qualcuno vuole vendere Bitcoin sul mercato, è un Maker, ma se vede un ordine sul order book che vuole "comprare", è un Taker.

Scenari

Nell'esempio seguente, spieghiamo il processo con cui Alice vuole lasciare l'ecosistema DeFiChain come 'Maker' piazzando un ordine su ICX. In altre parole, Alice vuole vendere il suo DST (DeFiChain Standard Token) per BTC sulla blockchain di Bitcoin. Bob, invece, è il 'prenditore' e vuole entrare nell'ecosistema DeFiChain comprando DST con BTC. Nota che un DST può essere qualsiasi token sulla blockchain DeFiChain, non solo DFI.

L'intero processo di scambio delle monete può essere diviso in sei fasi (Figura 1):

Figura 1: Processo Coin-Swap

1.) Creazione dell'ordine

In primo luogo, Alice, come Maker, deve completare i seguenti cinque input, permettendo così di vendere, per esempio, i suoi 10 Tesla DST per BTC (Tesla è solo un esempio di un futuro DST):

a.) In vendita: 10 TSLA DST
b.) Prezzo unitario: 0,02 (BTC - $800 ciascuno per BTC a 40k)
c.) Data di scadenza: 2880 blocchi
d.) OptionFeePerUnit: 8 DFI
e.) Indirizzo BTC

La prima variabile di input che Alice deve designare è il prezzo unitario al quale vuole vendere le sue azioni Tesla (Tesla/BTC) - nel nostro esempio questo è 0,02 (US$800 / US$40.000). Per proteggersi da eccessive fluttuazioni di prezzo e dalla possibilità che il mercato si rivolti contro di lei, Alice deve anche specificare una data di scadenza per il suo swap. Nella fase successiva, Alice imposta una tassa di opzione per impedire a qualsiasi parte (maker o taker) di entrare in un'operazione e poi uscire senza essere penalizzata. Pensalo come una tassa di garanzia - il prezzo che Bob deve pagare (inizialmente) per entrare nel commercio. Una volta che lo scambio va a buon fine, tuttavia, Bob ottiene indietro la commissione dell'opzione. Ultimo ma non meno importante, Alice deve annunciare il suo indirizzo BTC dove vuole ricevere i suoi BTC. Nota che non è stato ancora chiuso nulla - Alice ha fatto solo la creazione dell'ordine in questo passo.

Figura 2: maschera d'ingresso per la creazione dell'ordine DST-BTC
Figura 3: ordini aperti (esempio)

2.) Offerta di accettazione

Ora potrebbe essere necessario un po' di tempo per trovare un acquirente per alcune o tutte le Tesla DST di Alice. Ora supponiamo che Bob voglia comprare solo 2,5 TSLA DST. Poi farebbe un'offerta di accettazione per indicare che vuole davvero comprare i DST da Alice. Fa questo insieme a fornire un indirizzo di ricezione per farsi "consegnare" i Tesla DST. Infine, Bob deve anche pagare la tassa di opzione di 8 * 2,5 = 20 DFI insieme al suo prezzo di offerta per indicare che è onesto e vuole chiudere l'affare.

3.) Accettazione dell'offerta

Alice ora accetta l'offerta e genera un segreto 'S' e contemporaneamente calcola l'hash di questo segreto con H = Hash (S). Nel passo successivo, Alice trasferisce 2,5 TSLA DST dal suo ordine di vendita originale a un contratto di swap interchain (SC). I DST sono tenuti lì per le prossime 3 ore. Questa SC è simile ad un HTLC per come funziona, ma l'asset è un token piuttosto che una moneta. Bob ora ha 3 ore per adempiere alla sua parte dell'accordo. Se non lo fa, perde la sua quota di opzione bloccata e l'intero accordo cade a pezzi.

Figura 4: Panoramica degli ordini DST-BTC

4.) Processo di verifica del Taker
Bob ora vede che Alice ha accettato la sua offerta originale di accettazione. Ora verifica che l'importo (= 2,5), il token (= TSLA DST), il destinatario (= indirizzo dove Alice blocca i token) e il tempo di blocco / data di scadenza (= 3 ore) siano corretti. Anche se non c'è bisogno di un notaio o di un'istituzione centralizzata per giudicare la correttezza del contratto, Bob sta concedendo un po' di tempo per ottenere abbastanza conferme sulla blockchain per assicurare la definitività. Questo gli ha dato un alto grado di certezza che il contratto non sarà biforcato e, nel peggiore dei casi, cesserà di esistere. Ora Bob compie la sua parte dell'accordo e blocca 2,5 * 0,02 = 0,05 BTC in un HTLC, usando lo stesso hash "H" che Alice ha usato prima. La chiave qui è che il contratto di scambio interchain di Bob deve scadere prima di quello di Alice.

5.) Accettazione del Maker
Ora è il momento per Alice di confermare l'accuratezza dell'HTLC di Bob verificando l'importo, il tempo e il destinatario. Alice ora aspetta anche un numero sufficiente di conferme per assicurare la finzionalità. Nel passo finale e più importante, Alice reclama i Bitcoin di Bob rivelando il segreto "S" tale che H = Hash(S).

6.) Accettazione del Takers
Bob ora vede che Alice ha reclamato i suoi Bitcoin e ha anche rivelato il segreto 'S'. Bob ora rivendica i DST di TSLA usando la stessa 'S' segreta. Questo è il caso perché lo stesso hash è usato alla fine. Una volta che i DST di TSLA sono stati reclamati dal contratto di swap, Bob recupera anche la sua commissione di opzione.

Lo scambio di cui sopra è avvenuto in condizioni perfette. Ma cosa succede ora se uno dei partecipanti commette un fallo? Vediamo questo con i seguenti due esempi:

  • Supponiamo che Alice non accetti l'offerta di Bob per qualche ragione, allora l'offerta è di breve durata e Bob riceve indietro la sua quota di opzione. Alla fine, nessuno perde nulla tranne il suo tempo.
  • Ora supponiamo che Bob non adempia alla sua parte (BTC) dell'accordo, allora Alice riavrà i suoi TSLA DST dopo la scadenza della data di scadenza. Alice ha perso tempo prezioso per aver bloccato il suo TSLA e alla fine viene compensata con la tassa di opzione che Bob ora perde per il suo cattivo comportamento.

Tuttavia, l'aspetto più importante di un ICX ben funzionante è un order book sano e liquido. È importante che un trasferimento da DBTC a BTC, o viceversa, possa essere eseguito in modo tempestivo e senza perdita di tempo nella scoperta del prezzo. Pertanto, viene stipulato un DFIP in cui i titolari di masternode possono votare per incentivare entrambe le parti dello scambio. Questo per incentivare la creazione di ordini, ad esempio, per uno scambio 1:1 tra BTC DST e Bitcoin BTC. L'intero concetto è molto simile al liquidity mining, con la differenza che si svolge su ICX e non su DEX. Va anche notato che ICX non abbina automaticamente gli ordini; per fare ciò, ci deve essere un Taker e un Maker.

Riassunto

Il concetto di un ICX e degli atomic swap su DeFiChain funziona senza fare affidamento su una controparte, un fiduciario o un notaio (nodo). Di conseguenza, gli utenti di DeFiChain non devono fidarsi di nessuno - lo swap è al 100% trustless. Gli utenti possono aspettarsi un'esperienza utente molto semplice quando interagiscono con l'app ridisegnata. Tutti i concetti tecnici menzionati sopra saranno nascosti dietro un'interfaccia visivamente accattivante dove sarà estremamente facile eseguire qualsiasi scambio da DST a BTC. L'ICX sarà introdotto con il prossimo aggiornamento principale; il BTC SPV potrebbe anche essere introdotto prima.

Per rimanere aggiornato con le ultime informazioni, sentiti libero di seguirci su Twitter: https://twitter.com/defichain o di unirti al nostro gruppo Telegram in lingua inglese: https://t.me/defiblockchain e in lingua italiana: https://t.me/defiblockchain_IT

Il tuo DeFiChain Team

Tags

DeFiChain

Decentralized finance enabled on Bitcoin. A blockchain dedicated to fast, intelligent and transparent financial services, accessible by everyone.

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.