GroveDB Sum Trees

in LeoFinanceyesterday


✍️ Traduzione by Dash Italia — Fonte originale
Una delle caratteristiche innovative della Dash Platform che noi di Dash Core Group siamo entusiasti di presentare è una caratteristica di GroveDB chiamata sum tree. I sum tree di GroveDB sono alberi AVL Merkle i cui nodi radice contengono la somma di tutti i valori interi nell’albero. Ogni volta che un valore viene aggiunto, rimosso o aggiornato in un sum tree, ogni nodo padre e quindi il “valore somma” della radice viene aggiornato. I sum tree sono uno strumento molto potente per recuperare in modo affidabile ed efficiente la somma di un set o intervallo di valori, poiché altrimenti ci vorrebbe una quantità relativamente grande, spesso enorme, di risorse di elaborazione per ottenerla. A loro volta, i controlli di sicurezza vitali vengono resi altamente efficienti e semplici e si apre un’intera nuova arena di casi d’uso per le dApp.

Architettura
I sum tree hanno un’architettura semplice. Oltre agli hash dei normali nodi di Merkle tree, ogni nodo in un sum tree contiene un “valore somma” e un “elemento somma” facoltativo. Un elemento somma è una coppia chiave-valore in cui il valore è un intero con segno. Può rappresentare qualsiasi cosa abbia un valore intero, come il saldo a credito di un’identità o il numero di biglietti invenduti rimanenti per un concerto. Un valore di somma è il valore dell’elemento di somma di un nodo più i valori di somma dei suoi nodi figlio.

Come illustrato nel diagramma sopra, gli elementi somma dei nodi foglia dell’albero somma sono uguali ai loro valori somma. Non c’è nulla da sommare. Salendo di livello, ogni nodo padre ha il proprio elemento somma (che è facoltativo, come verrà spiegato in seguito) e un valore somma, che è la somma dei valori somma dei nodi figlio più il proprio elemento somma. Questa struttura si ripete dalle foglie fino al nodo radice dell’albero, dove è contenuto l’intero valore somma dell’albero.

Nota che tutti i nodi dell’albero somma contengono valori somma ma non hanno bisogno di contenere un elemento somma. In altre parole, puoi comunque contenere qualsiasi tipo di elemento nell’albero, come una coppia chiave-valore con un valore stringa, un sottoalbero non somma o persino un valore intero che non è un elemento somma. Questi elementi non influenzeranno il valore somma dell’albero. Sei quindi in grado di raccogliere somme nello stesso albero che usi per dimostrare l’esistenza di elementi non somma con le dimostrazioni di Merkle.

Applicazione
Il caso d’uso generale per gli alberi di somma è recuperare in modo affidabile ed efficiente la somma di un set o intervallo di valori. Gli sviluppatori possono implementare alberi di somma nei loro progetti creati su Dash Platform o qualsiasi altra piattaforma che implementi GroveDB. Questa sezione illustrerà alcuni casi d’uso di esempio.

Il motore di Dash Platform stesso utilizza alberi di somma per archiviare i saldi di tutte le identità e i pool di distribuzione delle ricompense e li controlla costantemente per assicurarsi che non siano presenti bug inflazionistici o di altro tipo. Questa è in realtà un’enorme innovazione per le blockchain, poiché i bug inflazionistici sono stati piuttosto comuni e distruttivi per le blockchain in passato. Questi controlli forniscono un forte livello di sicurezza contro di essi. Dash Platform esegue questi controlli dell’albero di somma su ogni blocco inviato al consenso e quelli che non superano vengono impediti di entrare nello stato.

Per illustrare gli enormi guadagni di efficienza che consentono gli alberi somma, supponiamo di avere un albero che contiene il numero di ristoranti che accettano Dash in ogni città di uno stato degli Stati Uniti. La radice dell’albero sarebbe il numero totale di ristoranti che accettano Dash nello stato. Se sei un vero fanatico di Dash, potresti confrontare il valore della somma radice dell’albero di quello stato con quelli di tutti gli altri stati per aiutarti a determinare in quale stato vivere. Supponiamo che ogni città degli Stati Uniti abbia almeno un ristorante che accetta Dash. Con gli alberi somma, per ottenere queste informazioni, dovresti solo interrogare il nodo radice dell’albero di ogni stato (50 stati), verificare le prove e confrontare i valori. Con gli alberi Merkle normali, dovresti interrogare ogni città in ogni stato (oltre 100.000 città), verificare le prove per ogni città, sommare i valori per ogni stato e quindi confrontare.

I risparmi di efficienza nell’esempio sopra sono nell’ordine di 2.000 volte. Altre due applicazioni reali in cui gli alberi somma sarebbero utili sono:

  • Prova di solvibilità: un argomento che è stato ampiamente discusso di nuovo ultimamente con il recente crollo di FTX. Un exchange potrebbe archiviare i saldi dei propri utenti in un albero somma insieme ai loro nomi utente hash. Agli utenti potrebbero essere fornite delle prove di somma Merkle che mostrano che i loro saldi sono correttamente inclusi come parte del totale. Per dimostrare che detengono almeno abbastanza asset per coprire il valore radice dell’albero somma, l’exchange potrebbe quindi fare qualcosa come inviare periodicamente un importo specificato a un indirizzo specificato a un orario specificato. Mentre l’attuale sistema di prova in GroveDB presenterebbe alcune perdite di privacy con questa progettazione, la futura aggiunta di costruzioni di prova a conoscenza zero più avanzate renderà questa un’applicazione molto potente.
  • Token personalizzati: Dash Platform consente agli sviluppatori di creare facilmente token personalizzati per i loro contratti dati con i saldi degli indirizzi archiviati automaticamente in un albero somma. Ogni nodo dell’albero somma contiene il saldo di un indirizzo come elemento di somma e il nodo radice può essere utilizzato per verificare la presenza di bug. Non solo aggiunge un ulteriore livello di sicurezza al contratto token, ma è anche un metodo molto efficiente per tenere traccia dei saldi degli indirizzi rispetto ai metodi attuali.

Guardando al futuro
Gli alberi di somma aprono le porte a un’arena completamente nuova di misure di sicurezza e casi d’uso di cui i sistemi trustless e le dApp possono trarre vantaggio. Sono solo un altro esempio delle innovazioni che GroveDB sta portando nel campo dei database blockchain e noi di DCG siamo entusiasti di mostrare l’efficienza e la sicurezza che Dash Platform sarà in grado di fornire utilizzando strumenti come questo. Per le versioni future, stiamo studiando l’integrazione di alberi Verkle e costruzioni di prova a conoscenza zero, che hanno il potenziale per rendere le applicazioni di alberi di somma ancora più potenti e versatili. Per maggiori dettagli sugli alberi di somma, resta sintonizzato per una proposta di miglioramento di Dash in arrivo a breve, scritta dal nostro CTO Samuel Westrich e dallo sviluppatore GroveDB Wisdom Ogwu.

Autore: Paul DeLucia — Ricercatore e Programmatore Rust

🌐 V️isita il nostro Sito Web 🌐

Posted Using InLeo Alpha