Il Metodo Ibrido di Ergo per il Conteggio dei Costi

Tempo di lettura stimato: 4 minuti

Introduzione

Verificare la validità dei contratti intelligenti su una blockchain Proof of Work (PoW) ha dei costi, sia in termini di tempo che di risorse. Se questi costi non sono controllati, può portare a una rete lenta o addirittura ad attacchi Denial of Service che impediscono l’utilizzo della rete. Pertanto, il controllo dei costi è fondamentale per una blockchain funzionante.

In genere, ci sono due modi generali per controllare i costi su una blockchain PoW:

  1. Ahead-Of-Time Costing (AOT Costing) – stima i costi prima dell’esecuzione dello script in modo che uno script troppo costoso non venga eseguito affatto
  2. Costi just-in-time (JIT Costing) – calcola i costi durante l’esecuzione effettiva di uno script

Ognuno di questi metodi ha vantaggi e svantaggi. L’imminente aggiornamento v.5.0 dei nodi di Ergo utilizza un approccio ibrido per migliorare il controllo dei costi.

Vantaggi e svantaggi del costo AOT

Attualmente, Ergo utilizza la determinazione dei costi AOT. Il lavoro viene svolto sulla blockchain di Ergo in blocchi. Ogni blocco richiede circa 2 minuti e include tutte le transazioni per quel periodo di tempo. Ai blocchi viene assegnato un budget e non possono superare tale budget.

Quando un minatore crea un blocco, il costo del blocco viene stimato in anticipo. Se il costo è inferiore al budget del blocco e la matematica / logica si somma, il blocco viene inviato alla blockchain.

Tuttavia, le stime hanno anche un costo. I costi AOT hanno senso quando tali costi sono inferiori rispetto all’esecuzione effettiva dello script. È meno costoso stimare quando si utilizzano semplici linguaggi di contratto intelligente.

L’utilizzo dei costi AOT ha un vantaggio principale. I limiti sono imposti dalla rete in blocchi piuttosto che dalla transazione. Poiché i costi di stima sono bassi, i minatori assorbono i costi di transazione per le transazioni che vengono rifiutate. Ogni transazione accettata richiede quindi una semplice commissione da aggiungere al blocco.

È importante notare che i costi AOT non sono privi di svantaggi. Le stime non sono costi effettivi e sono spesso inefficienti, il che spreca risorse di rete, riduce la capacità di ciascun blocco e, per estensione, la capacità della blockchain di scalare. Ciò è particolarmente vero in casi come Ergo, in cui la blockchain supporta l’uso di raccolte di input e output, variabili di estensione del contesto definite dall’utente e altre funzionalità sofisticate. Inoltre, la determinazione dei costi AOT non sfrutta l’efficienza dei linguaggi di smart contract di nuova generazione che sono meno costosi da eseguire che da stimare.

Ci sono altri svantaggi per i costi AOT, ma quanto sopra stabilisce la necessità di un modello migliore di controllo dei costi rispetto al solo costo AOT.

Il nuovo metodo ibrido di Ergo per il conteggio dei costi

La prossima versione v.5.0 del nodo Ergo utilizzerà un algoritmo di calcolo dei costi ibrido per contenere i costi e proteggere la rete da attacchi denial-of-service, spam e altri attacchi alle risorse di rete. Con questo nuovo approccio, ci sono due fasi per l’algoritmo di determinazione dei costi.

Nella prima fase, gli input delle transazioni passano attraverso un verificatore (un input dopo l’altro) e lo script di ogni input viene ridotto a una proposizione sigma – una sorta di condizione di spesa che può essere verificata crittograficamente. Il costo JIT viene applicato durante questa fase di riduzione.

Quando ogni input nella transazione ha una proposta sigma, il costo AOT (che è sia molto semplice che veloce) viene utilizzato per calcolare i costi di tutte le operazioni crittografiche nella transazione. Tutti i costi vengono quindi sommati per determinare il costo finale della transazione stessa. Una volta ottenuto il costo finale della transazione, viene aggiunto al costo del blocco, che deve rientrare nel budget del blocco prima di poter essere aggiunto ad esso.

Lo stesso processo viene ripetuto per ogni transazione nel blocco (in sequenza) e il costo totale del blocco viene accumulato. Prima di poter essere inviato alla blockchain, ogni blocco deve essere inferiore al costo consentito per blocco.

Con l’implementazione di questo nuovo metodo di determinazione dei costi in due parti, i costi possono essere stabiliti in modo più efficiente e accurato con meno spese rispetto all’utilizzo dei soli costi AOT. Di conseguenza, il rilascio del nodo Ergo v.5.0 dovrebbe aumentare efficacemente il numero di transazioni per blocco, migliorare le stime dei costi e migliorare le prestazioni della blockchain Ergo.

Fonte:

Il metodo ibrido di Ergo per il conteggio dei costi | Ergo (ergoplatform.org)

Articoli Correlati

Risposte