Nel novembre 2021, Liquid ha aggiunto un nuovo upgrade per lo scripting, con 31 opcode aggiuntivi finalizzati a semplificare e migliorare i covenant: introspezione delle transazioni, aritmetica a 64 bit e molto altro. Con questi opcode, Liquid può utilizzare smart contract avanzati in grado di offrire prodotti finanziari ai trader interessati a ridurre i requisiti di fiducia normalmente presenti nel mondo della finanza.
Due esempi di tali prodotti finanziari sono i limit order non custodial con partial fills e i contratti di opzione completamente collateralizzati. Blockstream ha ideato e implementato gli smart contract per dimostrare questi use case, illustrando come Liquid possa essere utilizzato come financial layer di Bitcoin.
Limit Order
I limit order consentono ad acquirenti o venditori (denominati maker) di un asset di stabilire un prezzo a cui sarebbero disposti ad acquistare o vendere tale asset sul mercato. Sarà poi il trader a decidere se accettare tale offerta ed effettuare il trade. Questo viene generalmente effettuato su exchange custodial, in cui un exchange deposita in garanzia fondi di entrambe le parti, successivamente utilizzando un sistema di settlement interno per allocare tali fondi a ciascuna parte. Questo sistema si basa su un sistema di fiducia data a terzi tramite fondi, i quali potrebbero andare perduti a causa di violazione del sistema o insider theft. Quest’ultimo si verifica nel caso in cui la terza parte coinvolta scompare o fa perdere le proprie tracce portando con sé i fondi.
In passato è stato possibile effettuare questo tipo di trade su Liquid, sebbene con forti limiti come ad esempio il bisogno per le chiavi di entrambe le parti di dover sempre essere online o il fatto di dover evadere/effettuare il trade per intero. Ad esempio, qualora un maker desiderasse vendere 5 L-BTC a 20.000 USDt ciascuno, e un acquirente desiderasse acquistare solo 2 L-BTC a tale prezzo, non esisteva una via facile per effettuare il trade senza che il maker intervenisse modificando l’ordine per andare incontro alle esigenze dell’acquirente. Ciò richiede un intervento manuale o l’utilizzo di chiavi online, il che aumenta la complessità e pone un rischio in termini di sicurezza.
Gli introspection opcode di Liquid possono invece essere utilizzati per ideare/costruire covenant, un tipo di smart contract che garantisce che un output possa essere speso solo se la transazione in cui è coinvolto soddisfi determinati requisiti. Con i covenant, il maker può assicurare 5 L-BTC all’interno di un covenant che consente a tutti di rimuovere/prelevare una qualsiasi quantità di L-BTC a condizione che corrispondano al venditore 20.000 USDt per L-BTC rimosso/prelevato. Il covenant consente inoltre al venditore di acquisire il collateral rimanente per cancellare l’ordine. Il finanziamento del covenant limit order non necessita di essere pubblicato sulla blockchain finché qualcuno non sia interessato a effettuare il trade, il che consente un risparmio in termini di spazio sulla blockchain e potenziali fee.
Contratti di opzione
Uno use case più avanzato è un contratto di opzione call, ossia un’opzione collateralizzata da un asset di base/alla base/sottostante. In questo scenario, l’option writer vende il diritto (ma non l’obbligo) di acquistare un asset a un prezzo prestabilito fino a un certo momento nel futuro (ossia fino alla data di scadenza). Una volta superata tale data, qualora tale diritto non fosse stato esercitato, il concessore può rivendicare il collateral. I contratti di opzione possono essere utilizzati per trarre ricavi da un asset qualora il detentore fosse disposto a vendere a prezzi più elevati in futuro, o, in alternativa, come modo per il beneficiario di un’opzione di essere esposto a un asset mettendo a rischio una minima quantità di fondi.
I contratti di opzione vengono solitamente resi disponibili tramite terzi che depositano in garanzia fondi o effettuando trading con controparti fidate, sulle quali devono fare affidamento per estinguere le obbligazioni. Affidandosi a terzi di fiducia, per gli utenti sorge il rischio di perdita o congelamento dei fondi, sia esso dovuto a guasti tecnici, interventi normativi o furto. Una volta data la propria fiducia alla controparte vi è il rischio che quest’ultima non sia in grado di adempiere ai propri obblighi. La maggior parte del mercato TradFi si basa su questo modello. Ciò significa che la fiducia venga riposta solo in un gruppo di grandi aziende ben connesse e che debba essere fornita un’assicurazione per garantire che queste siano in grado di adempiere ai propri obblighi. Questi problemi non sussistono con l’utilizzo degli smart contract, in quanto non richiedono l’intervento di intermediari.
Costruzione/Creazione delle Covenant option
Esistono due posizioni fondamentali nei contratti di opzione: quella del concessore, che concede l’opzione di acquistare il proprio collateral, e del beneficiario, a cui viene garantita l’opzione di acquistare l’asset in futuro. Queste posizioni possono essere scambiate/diventare oggetto di trade. Nell’implementazione in Liquid, queste due posizioni sono rappresentate da due tipi distinti di token: i Grantor Token i gli Option Token.
I contratti di opzione contengono i seguenti termini:
- Collaterale – asset venduto da un maker. [1]
- Settlement asset – asset che deve essere retribuito dall’acquirente al maker.
- Strike price – la quota del settlement asset da essere corrisposta per una contract size del collateral
- Contract size – una quota minima del collateral da essere trasferita, corrispondente a un multiplo intero di tale valore.
- Data di inizio esercizio – data in cui un’opzione può essere esercitata.
- Data di scadenza esercizio – data in cui il concessore può reclamare il proprio collateral.
Ciclo di vita delle opzioni
Definizioni
L'ideatore delle opzioni definisce i parametri sopra specificati per consentire di generare Option e Grantor Token. Inizialmente non vengono generati né Option né Grantor Token, così come non viene bloccato alcun collateral. Liquid consente di creare tali token tramite reissuance token, un asset speciale che può essere utilizzato in una transazione per creare un asset associato. Il processo di definizione risulta in due di questi token, chiamati Option Token Generator e Grantor Token Generator. Questi token vengono messi all’interno di un covenant che limita la loro capacità di essere generati a meno che un collateral non venga depositato in un covenant separato, chiamato collateral covenant.
Finanziamenti
Gli utenti possono finanziare un contratto di opzione depositando il collateral in un collateral covenant. Un utente che deposita un collateral in un collateral covenant può generare un paio di Option e Grantor Token per ciascuna cifra di contract size di collateral depositato. Ad esempio, se la contract size è pari a 1M sats di L-BTC, e se un utente deposita 100M sats di L-BTC, l’utente sarebbe in grado di generare 100 di ciascun token. L’utente a quel punto sarà libero di vendere la posizione opposta che desidera assumere (o entrambi i token se ha intenzione to market make).
Cancellazione
Qualora un utente desiderasse cancellare la propria posizione all’interno di un contratto di opzione, potrà bruciare un paio di ciascun Option e Grantor Token per recuperare una quota di contract size di collateral. Gli utenti potrebbero ricorrere a questa soluzione quando, qualora volessero assicurare/custodire un guadagno o una perdita, non trovassero una controparte per effettuare un trade al di fuori della propria posizione.
Scadenza
In caso di scadenza del contratto, il detentore di Grantor Token potrà bruciare i propri token e richiedere il relativo collateral. Il collateral covenant garantisce che la transazione possa essere unicamente completata successivamente alla data di scadenza. Per ciascun token bruciato, l’utente potrà richiedere una quota contract size del collateral dal collateral covenant.
Esercizio
Qualora il detentore di un Option Token desiderasse esercitare la propria opzione, potrebbe bruciare il token corrispondendo al contempo lo strike price del settlement asset a un settlement covenant. Così facendo, potrebbe richiedere una quota de.. contract size del collateral. Questo covenant esiste per consentire ai detentori di Grantor Token di richiedere il pagamento effettuato dal beneficiario.
Richiesta di settlement
Il detentore di un Grantor Token potrà richiedere la cifra del settlement asset corrisposto dall’utente che ha esercitato l’opzione. Ciò viene fatto bruciando qualsiasi cifra dei Grantor Token e richiedendo una giusta quantità di fondi dal settlement covenant.
Consulta il white paper sulle opzioni
Per maggiori informazioni sui dettagli di queste costruzioni, consulta il nuovo white paper "Non-Custodial Options using Elements" scritto da Sanket Kanjalkar, Andrew Poelstra e il sottoscritto. Per ulteriori approfondimenti, unisciti alla Liquid community su Telegram e dai spazio a ogni tua domanda.
Nelle prossime settimane lanceremo un’importante implementazione di queste costruzioni che ti consentiranno di creare i tuoi contratti di opzioni utilizzando Liquid. Potrai trovare ispirazione per creare altri interessanti use case su Liquid.
[1]Per una call option L-BTC, L-BTC è il collateral asset; per un L-BTC put lo è L-USD. Sebbene questi asset abbiano diverse finalità di mercato, da un punto di vista tecnico sono essenzialmente identici.