Smart Contract asincroni: un cambio di paradigma |Parte2|

Gli Smart Contract sono una parte essenziale dell’ecosistema crypto. Ma questi smart contract asincroni cosa sono? Ecco la guida completa.

Nel PRIMO ARTICOLO abbiamo iniziato a parlare degli smart contract asincroni. Continuiamo ora il nostro discorso.

smart contract asincroni
Adobe Stock

Il mondo sta diventando asincrono

L’evoluzione dai sistemi sincroni a quelli asincroni può essere vista in quasi ogni aspetto dell’informatica. La maggior parte dei sistemi inizia nei primi anni come strettamente sincrona perché questo modello è molto più facile da implementare e comprendere. Ad un certo punto, la scalabilità trionfa sulla semplicità e i sistemi si evolvono per diventare asincroni per poter crescere.

La maggior parte dei sistemi operativi, ad esempio, sono nati come sistemi sincroni in grado di gestire solo una singola attività alla volta. Potresti ricordare nomi storici come MS-DOS, originariamente progettato per eseguire un singolo programma. Naturalmente, questo aveva senso in quel momento. L’interfaccia era basata su una riga di comando, in cui l’utente digitava un nuovo comando solo dopo aver completato quello precedente.

L’evoluzione tecnologica: un esempio

Questo modo seriale e sincrono di fare le cose non era più rilevante quando furono rilasciati nuovi sistemi operativi grafici, come MS Windows. All’improvviso, gli utenti volevano fare più cose contemporaneamente. Quindi l’operatività ha dovuto evolversi e diventare asincrona. Oggi, ogni sistema operativo moderno, sia per desktop con Mac, Linux e Windows o dispositivi mobili con iOS e Android, è completamente asincrono per supportare il multitasking in modo efficiente.

Un altro buon esempio sono i database. I programmatori hanno progettato la prima generazione di database partendo dal presupposto che i dati fossero abbastanza piccoli da stare in un unico posto. Questo ha aperto la strada a linguaggi di query come SQL, che sono estremamente potenti e flessibili.

Tuttavia, questi linguaggi prosperano solo presupponendo che tutti i dati siano prontamente disponibili e vengano elaborati in modo sincrono in modo che il sistema rimanga coerente. Poiché i set di dati sono inevitabilmente cresciuti e non potevano più stare in un unico posto, abbiamo assistito a uno spostamento del settore verso i big data e NoSQL. Oggi, le moderne architetture di database sono distribuite con una forte enfasi sulle azioni asincrone. Pertanto, l’elaborazione può avvenire in parallelo su diversi shard non correlati.

Evoluzione verso blockchain e smart contract asincroni

Nei prossimi anni, prevediamo di vedere la blockchain passare all’adozione di massa. Il numero di utenti blockchain aumenterà da diversi milioni a miliardi. E il numero di transazioni crescerà da diverse dozzine di transazioni al secondo (l’odierna Ethereum) a milioni al secondo. In base a questi requisiti, il tradizionale paradigma sincrono non reggerà più.

I database tradizionali hanno faticato a memorizzare ogni post di Facebook, tweet e chat sui social media e l’industria ha dovuto spostarsi verso i big data. Allo stesso modo, le blockchain devono passare a un paradigma diverso.

L’Open Network (TON) è un esempio di blockchain di nuova generazione. È tra le prime blockchain a supportare completamente i contratti intelligenti asincroni. Su TON, quando lo smart contract A interagisce con lo smart contract B, invia un messaggio asincrono. Questo messaggio viene elaborato in una transazione separata, consentendo la completa parallelizzazione dei calcoli. Questa architettura è stata ispirata da un sistema diverso che oggi elabora milioni di transazioni al secondo per quasi un miliardo di utenti: l’instant messenger di Telegram.

Questo modello, implementato dalla TON Virtual Machine (TVM), rende i contratti intelligenti TVM incompatibili con i contratti intelligenti EVM esistenti. È stato quindi creato un nuovo linguaggio di programmazione, FunC, per sostituire Solidity di Ethereum, consentendo agli sviluppatori di sfruttare efficacemente questo nuovo paradigma.

Ripensare gli smart contract

Questo cambio di paradigma richiede agli sviluppatori di contratti intelligenti di riadattare il modo in cui pensano. La progettazione di sistemi distribuiti per contratti intelligenti è simile al passaggio dei data scientist durante la transizione da database SQL concentrati ad architetture di big data distribuite. Questo è molto più di una semplice API diversa; io È un nuovo modo di pensare.

Come al solito, i vantaggi dello scaling non sono privi di costi. La scrittura di smart contract asincroni comporta una nuova serie di sfide per gli sviluppatori. Tornando di nuovo al nostro esempio di fornitore di liquidità, le tre fasi dell’operazione verranno elaborate come tre transazioni separate. Questi non torneranno più automaticamente quando una delle azioni fallisce. Lo sviluppatore di contratti intelligenti secondo il nuovo paradigma ha una responsabilità aggiuntiva. Devono eseguire manualmente il rollback delle azioni quando le operazioni falliscono a metà prima che l’intero flusso venga completato.

Il passaggio a sistemi asincroni nella blockchain è inevitabile. Non saremo in grado di scalare al prossimo miliardo di utenti su sistemi sincroni come EVM. Gli sviluppatori di contratti intelligenti alla fine dovranno cambiare; in caso contrario, la blockchain rimarrà un parco giochi per pochi eletti, come lo è oggi.

Il passaggio a smart contract asincroni è imminente

L’EVM ha svolto un ruolo significativo nello sviluppo di contratti intelligenti su blockchain moderne. Ha permesso la creazione di app completamente affidabili, come i protocolli DeFi. Tuttavia, la rigida natura sincrona dei contratti intelligenti sull’EVM è diventata un collo di bottiglia per la scalabilità della rete.

Man mano che vengono introdotte nuove blockchain, è importante mettere in discussione i paradigmi di base su cui si basava l’EVM. Introducendo contratti intelligenti asincroni, possiamo migliorare notevolmente la scalabilità della rete e aprire nuove possibilità per le applicazioni decentralizzate.

Impostazioni privacy