Simple Science

Scienza all'avanguardia spiegata semplicemente

# Informatica# Crittografia e sicurezza

Contratti Pigri: Ridurre le Spese di Gas nella Blockchain

I contratti pigri abbassano i costi del gas garantendo una gestione equa dei contratti smart.

― 6 leggere min


I Contratti PigriI Contratti PigriTagliano le Spese di Gasequi.riducono i costi e garantiscono affariI contratti intelligenti efficienti
Indice

I Contratti Intelligenti sono programmi che girano sulla blockchain. Aiutano a gestire e trasferire asset digitali come le criptovalute in modo automatico. Chiunque può interagire con un contratto intelligente facendo una transazione che chiama le sue funzioni. La rete blockchain si assicura che ogni transazione venga elaborata e registrata, e ogni nodo tiene traccia dello stato del contratto e dei soldi coinvolti.

Un concetto importante nella blockchain è il gas. Il gas è una tariffa che gli utenti pagano per completare transazioni o eseguire funzioni in un contratto. Ogni operazione ha un costo in gas, che aiuta a prevenire che la rete venga sopraffatta da calcoli complicati. Se un utente prova a fare un'azione che richiede più gas di quanto ne abbia pagato, la transazione fallisce.

Sfide attuali con le tariffe del gas

Le tariffe del gas su piattaforme di contratti intelligenti come Ethereum possono essere molto alte. Ad esempio, nel 2022, gli utenti hanno pagato somme esorbitanti in tariffe di gas, portando a limiti su cosa possono fare gli sviluppatori con i loro contratti. Molti contratti si limitano a funzioni semplici perché quelle più complesse possono essere troppo costose da eseguire.

Contratti pigri: una soluzione

Per affrontare le alte tariffe del gas, sono stati proposti i "contratti pigri". Questi contratti fanno la maggior parte dei loro calcoli Off-chain (fuori dalla blockchain) per ridurre i costi del gas, mantenendo comunque abbastanza informazioni on-chain per garantire che tutti possano concordare sullo stato del contratto. Se due parti in un contratto non sono d'accordo, il sistema può eseguire i calcoli necessari on-chain per risolvere il problema.

Quando tutto va per il verso giusto e entrambe le parti agiscono onestamente, il contratto non ha bisogno di eseguire calcoli on-chain, portando a costi complessivi più bassi.

Come funzionano i contratti pigri

Calcoli Off-Chain

Nei contratti pigri, l'idea principale è far fare agli utenti la maggior parte dei calcoli sui propri computer invece che sulla blockchain. Questo metodo permette di evitare i costi elevati del gas associati ai calcoli on-chain. Le informazioni essenziali, come il codice del contratto e un elenco di chiamate di funzione, sono mantenute on-chain.

Il contratto deve essere eseguito on-chain solo se c'è disaccordo. In questo caso, la procedura assicura che la parte disonesta venga penalizzata coprendo i costi del gas per l'esecuzione necessaria on-chain.

Incentivi per il comportamento onesto

Il design dei contratti pigri assicura che ci siano forti incentivi per gli utenti a comportarsi in modo onesto. Se qualcuno cerca di imbrogliare, finisce per pagare il gas necessario a identificare il suo comportamento disonesto. Questa impostazione significa che le persone razionali vorranno essere oneste perché la disonestà costerebbe loro dei soldi.

Caratteristiche principali dei contratti pigri

Design del protocollo

I contratti pigri possono essere pensati come involucri attorno ai contratti intelligenti tradizionali. Quando uno sviluppatore vuole usare i contratti pigri, presenta un contratto intelligente normale e un processo automatico genera un nuovo contratto pigro con funzionalità simili ma ottimizzato per un uso inferiore del gas.

Utilizzando i contratti pigri, gli utenti partecipano facendo depositi, che fungono da una sorta di assicurazione contro il comportamento disonesto. Il deposito viene mantenuto nel contratto fino a quando non escono, fungendo da garanzia che copriranno le spese del gas quando necessario.

Sistema bancario virtuale

I contratti pigri introducono anche un sistema bancario in cui gli utenti gestiscono i propri saldi con il contratto. Questo saldo interno consente agli utenti di depositare e prelevare fondi senza bisogno di una costante verifica on-chain. Solo le transazioni effettuate per cambiare i saldi vengono registrate on-chain, riducendo significativamente i costi del gas.

Richieste di chiamata di funzione

Per chiamare funzioni in un contratto pigro, gli utenti fanno richieste che vengono registrate invece di essere eseguite immediatamente. In questo modo, tutte le chiamate di funzione vengono elaborate off-chain, riducendo la necessità di operazioni on-chain costose.

Quando gli utenti vogliono prelevare fondi, devono aspettare un periodo di tempo specificato, consentendo ad altre parti di contestare la transazione se sospettano disonestà. Se nessuno contesta il prelievo, viene elaborato senza problemi.

Supporto per le sfide

In caso di dispute, i contratti pigri hanno un meccanismo di sfida. Se una parte sospetta che un'altra stia cercando di prelevare più di quanto le spetti, può contestare la richiesta. Questa sfida avvierà una valutazione on-chain di tutte le transazioni e saldi pertinenti.

Se una parte ha agito disonestamente, dovrà pagare il gas consumato per risolvere il problema. Questo assicura che tutti siano motivati a giocare pulito.

Risultati sperimentali

Testare i contratti pigri dimostra significativi risparmi sulle tariffe del gas. Infatti, un'analisi ha mostrato che quando i contratti pigri sono stati applicati a un gran numero di transazioni sulla blockchain di Ethereum, l'uso totale del gas è diminuito di oltre il 55%. Questa riduzione dei costi si traduce in centinaia di milioni di dollari risparmiati annualmente per gli utenti.

Conclusione

I contratti pigri presentano una soluzione promettente ai costi elevati associati alle tariffe del gas nei contratti intelligenti. Consentono l'esecuzione off-chain mantenendo un metodo equo per risolvere le dispute. Incoraggiando l'onestà e offrendo un modo più efficiente di gestire i contratti intelligenti, i contratti pigri possono aiutare gli sviluppatori a creare applicazioni più sofisticate senza l'onere di costi proibitivi.

Man mano che la tecnologia continua a svilupparsi, i contratti pigri potrebbero offrire ancora più opportunità per una maggiore funzionalità e costi ridotti nello spazio blockchain. L'approccio potrebbe anche essere adattato per funzionare su varie blockchain programmabili, offrendo un ampio potenziale per future applicazioni.

Esplorare Direzioni Future

Sebbene i risultati iniziali dei contratti pigri siano promettenti, ci sono sempre opportunità di miglioramento e ulteriori esplorazioni.

Involucri multi-contratti

Sviluppi futuri potrebbero includere involucri in grado di gestire più contratti contemporaneamente. Questa funzionalità permetterebbe agli utenti di gestire diversi contratti all'interno di un unico contratto pigro senza doversi preoccupare delle loro interazioni. Anche se questo potrebbe presentare più complessità, abiliterebbe anche più funzionalità.

Partecipazione attiva

L'efficacia dei contratti pigri dipende dalla partecipazione degli utenti. Ogni parte dovrà monitorare attivamente la blockchain, aumentando la possibilità che alcune parti non si impegnino adeguatamente. Le future iterazioni del protocollo potrebbero esplorare modi per incentivare ulteriormente questo impegno.

Affrontare i ritardi

Sebbene i contratti pigri offrano vantaggi unici, i potenziali ritardi causati da sfide potrebbero influenzare l'esperienza degli utenti. Trovare soluzioni per semplificare il processo potrebbe migliorare l'usabilità dei contratti pigri, rendendoli ancora più allettanti per gli utenti.

Conclusione Rivisitata

In sintesi, i contratti pigri rappresentano un passo significativo verso il miglioramento dell'efficienza e dell'affordabilità dell'esecuzione dei contratti intelligenti. Sfruttano i concetti di calcolo off-chain e strutture di incentivazione per creare un sistema in cui gli utenti possono operare in modo più libero senza costi eccessivi.

Con l'evoluzione della tecnologia blockchain, ulteriori ricerche e sviluppo saranno essenziali per realizzare appieno il potenziale dei contratti pigri e soluzioni correlate, aprendo la strada a un'economia digitale più efficiente.

Fonte originale

Titolo: Lazy Contracts: Alleviating High Gas Costs by Secure and Trustless Off-chain Execution of Smart Contracts

Estratto: Smart contracts are programs that are executed on the blockchain and can hold, manage and transfer assets in the form of cryptocurrencies. The contract's execution is then performed on-chain and is subject to consensus, i.e. every node on the blockchain network has to run the function calls and keep track of their side-effects. In most programmable blockchains, such as Ethereum, the notion of gas is introduced to prevent DoS attacks by malicious parties who might try to slow down the network by performing heavy computations. A fixed cost to each atomic operation, and the initiator of a function call pays the total gas cost as a transaction fee. This helps prevent DoS attacks, but the resulting fees are extremely high. For example, in 2022, on Ethereum alone, there has been a total gas usage of 1.77 Million ETH ~ 4.3 Billion USD. This thesis proposes "lazy contracts" as a solution to alleviate these costs. Our solution moves most of the computation off-chain, ensuring that each function call incurs only a tiny amount of gas usage, while preserving enough data on-chain to guarantee an implicit consensus about the state of the contract variables and ownership of funds. A complete on-chain execution of the functions will only be triggered in case two parties to the contract are in disagreement about the current state, which in turn can only happen if at least one party is dishonest. In such cases, our protocol can identify the dishonest party and penalize them by having them pay for the entire gas usage. Hence, no rational party has an incentive to act dishonestly. Finally, we perform extensive experiments over 160,735 real-world Solidity contracts that were involved in 9,055,492 transactions in January 2022--January 2023 on Ethereum and show that our approach reduces the overall gas usage by 55.4%, which amounts to an astounding saving of 109.9 Million USD in gas fees.

Autori: Soroush Farokhnia

Ultimo aggiornamento: 2023-09-20 00:00:00

Lingua: English

URL di origine: https://arxiv.org/abs/2309.11317

Fonte PDF: https://arxiv.org/pdf/2309.11317

Licenza: https://creativecommons.org/licenses/by/4.0/

Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.

Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.

Articoli simili