🇮🇹Cos'è la DeFi nativa (Native DeFi)?
La maggior parte degli attuali progetti DeFi gira su blockchain come Ethereum, Binance Smart Chain - un fork di Ethereum -, Tron o altri. Condividono tutte la stessa architettura, dove le dApp girano su macchine virtuali su una blockchain. A differenza delle blockchain native, le blockchain Turing complete offrono maggiore flessibilità agli sviluppatori perché il codice di programmazione gira direttamente sulla macchina virtuale e quindi sulla blockchain. Mentre questo paradigma di design può sembrare utile per una varietà di applicazioni diverse, è invece estremamente rischioso per applicazioni finanziarie decentralizzate.
Nel seguente articolo delineeremo le differenze, così come i vantaggi e gli svantaggi delle blockchain che non usano una macchina virtuale e dove il codice di programmazione viene eseguito direttamente sulla blockchain nativa. Di conseguenza, presenteremo prima un confronto tra questi due concetti prima di concentrarci su come funziona una macchina virtuale e i suoi elementi costitutivi integrali. Confronteremo poi le blockchain in cui le transazioni vengono eseguite con l'aiuto di una macchina virtuale con quelle blockchain in cui le transazioni vengono eseguite nativamente, prima di concludere con un riassunto.
Panoramica di DeFi nativa vs. DeFi usando una macchina virtuale
Dato che Native DeFi è ancora un concetto abbastanza nuovo per la comunità DeFi, la Tabella 1 fornisce una panoramica delle principali differenze tra questi due concetti concorrenti.
Cos'è una macchina virtuale (virtuel machine)?
Attualmente ci sono innumerevoli dApps che girano sulla blockchain di Ethereum - una blockchain Turing completa che equivale ad un computer globale peer-to-peer general-purpose su cui si può programmare ed eseguire quasi tutto ciò che si può immaginare. Chiunque abbia mai provato a sviluppare un smart contract sulla blockchain di Ethereum dovrebbe avere già familiarità con il termine "EVM" - un acronimo per Ethereum Virtual Machine.
Una macchina virtuale crea essenzialmente uno strato di astrazione tra l'esecuzione del codice da una parte e la macchina in esecuzione stessa dall'altra. L'EVM permette quindi l'esecuzione di codice di programmazione in un ecosistema senza fiducia dove il risultato dell'esecuzione è garantito e completamente deterministico. Ogni volta che le istruzioni sono implementate in EVM, un sistema tiene traccia del costo di esecuzione e assegna un prezzo associato a queste istruzioni.
Dato che chiunque può programmare le dApp su Ethereum, queste tariffe sono importanti in quanto agiscono come una sorta di "cartellino del prezzo" per l'interazione della dApp con la macchina virtuale. Di conseguenza, ogni utente deve pagare un po' di Ether sotto forma di tariffe (gas) per ogni interazione su Ethereum. Questo meccanismo garantisce che un "validatore" riceva l'importo prepagato anche se l'esecuzione fallisce. D'altra parte, un'esecuzione non può durare più a lungo di quanto l'importo prepagato permetterebbe, prevenendo la possibilità di un ciclo infinito.
Ma questa architettura non garantisce transazioni veloci ed economiche. Non è un segreto che Ethereum soffre di commissioni di transazione astronomicamente alte, il che lo rende incapace di gestire il significativo carico di nuovi utenti. La maggior parte dei progetti DeFi è attualmente associata a Ethereum, che nella sua forma attuale può essere paragonato alle arterie calcificate e costrette nel corpo umano. Mentre poteva avere senso qualche anno fa, la rete Ethereum ora è diventata un vero e proprio collo di bottiglia. Perciò bisogna lavorare a nuove soluzioni per risolvere questo problema intrinseco, tra gli altri - soprattutto attraverso transazioni scalabili, sicure ed efficienti in termini di costi che si svolgono direttamente al livello di consenso della blockchain.
Quando si tratta di sicurezza, diversi stakeholder DeFi hanno preferenze e approcci diversi. Mentre gli sviluppatori guardano la questione da un punto di vista puramente tecnico e si assicurano che il codice di programmazione venga eseguito correttamente e funzioni senza problemi, gli utenti si preoccupano solo di far funzionare i progetti DeFi a loro favore prevenendo hack e attacchi maligni.
È in quel punto di conflitto che entra in gioco DeFiChain. A differenza di EVM o di blockchain simili che usano una macchina virtuale, DeFiChain si concentra sui suoi utenti e sui loro bisogni fornendo una piattaforma DeFi sicura e profondamente radicata nella blockchain nativa.
Differenza nel meccanismo di consenso tra DeFiChain e Ethereum
Per comprendere meglio i vantaggi in termini di sicurezza di DeFiChain rispetto alle dApps Layer 2, vogliamo spiegare di seguito come viene eseguito il codice di programmazione sulle rispettive piattaforme e dove potrebbero verificarsi potenziali problemi e vulnerabilità.
DeFi su Ethereum
Il flusso di lavoro - dalla scrittura del codice all'esecuzione - è completamente diverso su Ethereum che su DeFiChain. Su Ethereum, la maggior parte dei smart contract sono scritti in un linguaggio di programmazione di alto livello chiamato Solidity. Questo codice viene poi compilato tramite un compilatore solc. Una volta che un contratto Solidity viene compilato usando solc, il codice macchina risultante deve essere eseguito attraverso l'EVM prima di essere finalmente convalidato dal consenso della blockchain (vedi Figura 1).
Tuttavia, possono verificarsi problemi durante il processo di compilazione. Questi vanno da errori umani ed errori di programmazione in ogni singola fase del processo di creazione e applicazione dei contratti intelligenti a gravi errori di compilazione o trasposizione del compilatore stesso. Uno dei problemi maggiori qui è che, nel caso peggiore, il compilatore può anche generare codice macchina arbitrario che apre vettori di attacco imprevisti ad attori malintenzionati.
Un altro problema che anche i team esperti affrontano riguarda l'uso corretto del codice Solidity, che colpisce soprattutto i programmatori nuovi e inesperti. Forse la scoperta più sorprendente, però, è che nemmeno gli audit aiutano contro queste vulnerabilità. Di conseguenza, un audit multimilionario non offre alcuna garanzia che un progetto sia sicuro o che possa prevenire gli hack.
DeFi su DeFiChain
Con Native DeFi, invece, il consenso avviene direttamente sul livello nativo della blockchain - quindi non è necessario alcun livello applicativo aggiuntivo. Lo strato principale della blockchain di DeFiChain è sufficiente per validare le transazioni, il che la rende molto più sicura delle blockchain con macchine virtuali. La maggior parte delle vulnerabilità menzionate in precedenza delle blockchain Turing complete, rispettivamente basate su macchine virtuali, possono essere completamente ignorate per DeFiChain (come mostrato nella Figura 2). La cosa più importante è che il consenso avviene direttamente sulla blockchain DeFiChain.
A differenza dei DEX concorrenti come Uniswap o 1inch, DeFiChain interagisce con l'utente tramite un'app intuitiva. Questo approccio garantisce la massima decentralizzazione possibile e contemporaneamente riduce una possibile superficie di attacco per gli hacker. Gli attacchi DNS, come quelli visti recentemente con CREAM Finance e Pancake Swap, appartengono ormai al passato. Il motivo cruciale è che DeFiChain DEX è direttamente incorporato nell'app e funziona completamente peer-to-peer attraverso migliaia di computer, rendendo impossibile un attacco isolato al sito.
Esempio
Per avere un'idea migliore della costruzione del consenso e dei passi necessari per farlo, è utile guardare come si aggiunge liquidità su Uniswap (Ethereum) e, in confronto, su DeFiChain. A tal fine, diamo un'occhiata alla seguente transazione effettuata sulla blockchain di Ethereum: https://etherscan.io/vmtrace?txhash=0xb51f3aedd963065f0b3c8cf2473a6fe929ba6803a9d87b55c36159f4e7f58abd.
La Figura 3 mostra tutti i singoli passi che devono essere eseguiti dai minatori per convalidare le transazioni. Si può notare che sono necessari più di tremila passi diversi per aggiungere liquidità ad un pool di liquidità. Ciò che colpisce qui è che ogni singolo passo rappresenta una potenziale superficie di attacco per gli hacker. È anche importante tenere presente che l'EVM segue esattamente il codice di programmazione, o in altre parole, l'EVM segue esattamente ciò che gli viene detto di fare. Nell'esempio di cui sopra, questo ordine consiste in tremila passi, dove il risultato finale non è conosciuto né controllato per la validità.
La stessa transazione su DeFiChain è diametralmente opposta (come si può vedere nella Figura 4). L'hash della transazione corrispondente su DeFiChain è: a767e065e2234615c465414bf76129335e9b4083711f56f83e256e91c943f0e3.
Aggiungere liquidità a DeFiChain richiede solo poche righe di codice. La Figura 4 mostra che DFI (parametro risultato 0) e la quantità corrispondente di BTC (parametro risultato 2) vengono aggiunti al pool di liquidità DFI-BTC. Come risultato immediato, il token di liquidità viene trasferito all'indirizzo indicato sotto "shareaddress". Queste poche righe di codice sono sufficienti per aggiungere liquidità ad un pool su DeFiChain - quindi non sono necessarie 3.700 istruzioni individuali per eseguire un compito relativamente semplice come quello sopra. Inoltre, riducendo il numero di passi di esecuzione, la potenziale superficie di attacco per gli hack si riduce notevolmente.
Riassunto
Native DeFi è un concetto nuovo e a lungo atteso nell'area DeFi per allineare finalmente gli interessi di programmatori e sviluppatori con quelli della comunità. La massima non è più "ci interessa solo il nostro codice", ma per la prima volta si adotta una visione orientata al cliente e alla sicurezza.
Soprattutto alla luce dei continui exploit e "rug pulls" - anche per progetti che sono già stati controllati - i problemi di sicurezza dei progetti Layer 2 su blockchain come Ethereum rimangono un problema che semplicemente non può essere trascurato.
Alcune aziende di sicurezza stanno già predicendo che il 2021 sarà l'anno peggiore per le violazioni di dati DeFi e gli hack. Quindi è solo comprensibile e una questione di tempo prima che più utenti prendano gusto a progetti DeFi nativi come DeFiChain. Il motivo è molto semplice: da un lato, sempre meno utenti vogliono esporsi a potenziali vulnerabilità e rischi di sicurezza, ma allo stesso tempo desiderano sempre di più una maggiore decentralizzazione.
Per rimanere aggiornato sulle ultime informazioni e novità, ci segua su Twitter (https://twitter.com/defichain) o si unisca al nostro gruppo Telegram (https://t.me/defiblockchain) (https://t.me/defiblockchain_IT).