Cos'è una blockchain stateless e cos'è Purplecoin/XPU
Nella precedente tecnologia blockchain, i nodi avrebbero dovuto archiviare tutta la cronologia delle transazioni per convalidare nuove transazioni. In una blockchain stateless non è necessario.
Ogni intestazione di blocco contiene un accumulatore crittografico che rappresenta lo stato. Un buon esempio di accumulatore crittografico sono i merkle tree. Ci permettono di dire se un elemento si trova in un insieme specifico senza conoscere l'insieme stesso.
Allo stesso modo, possiamo sfruttare gli accumulatori crittografici per convalidare lo stato di una blockchain. Un merkle tree è un accumulatore statico (gli elementi dell'insieme non possono cambiare). Utilizziamo un accumulatore crittografico dinamico, in cui gli elementi possono essere inseriti o eliminati. Più specificamente, utilizziamo l'accumulatore dinamico RSA, inventato da IBM, per rappresentare lo stato. Questo è un campo di ~32 byte nell'intestazione del blocco.
Pertanto, i nodi completi non sono più tenuti a memorizzare lo stato per convalidare le transazioni in entrata. Ognuno è invece responsabile della memorizzazione del proprio stato.
Convalida senza stato
In che modo una blockchain stateless convalida blocchi/transazioni? Dobbiamo prima capire la definizione di blockchain stateless. Per dirla semplicemente, una blockchain senza stato convalida un nuovo blocco e le sue transazioni, senza alcuna informazione diversa dall'intestazione del blocco precedente .
Tutte le informazioni necessarie per eseguire il consenso vengono inviate via cavo insieme alle nuove transazioni in un blocco. In una blockchain senza stato, in teoria, tutte le altre intestazioni di blocco oltre all'ultima possono essere eliminate e la convalida del blocco può essere eseguita in modo identico a un nodo completo. In pratica, memorizziamo le ultime 50 intestazioni per gestire potenziali fork. Dopo 50 conferme, un blocco è considerato definitivo.
Ciò è in netto contrasto con tutti gli altri protocolli blockchain, che richiedono la convalida di tutte le transazioni dalla genesi o da un checkpoint e memorizzano un database di transazioni che cresce nel tempo.
Mentre le intestazioni possono essere sfoltite, il set UTXO (registro delle transazioni) nel caso di Bitcoin che al momento della scrittura è 3gb, non può essere sfoltito altrimenti interromperebbe la convalida. È lo stesso caso con il trie di stato di Ethereum, che è di circa 130gb. Nel nostro caso, un nodo dovrebbe memorizzare 20mbdelle intestazioni per convalidare nuovi blocchi.
Ciò significa che la sincronizzazione iniziale è più o meno istantanea . Quando si utilizza un bridge, anche ulteriori sincronizzazioni sono istantanee.
Come funziona la spesa delle risorse in Purplecoin/XPU
In Bitcoin, dobbiamo mantenere le nostre chiavi private al sicuro e le nostre risorse si trovano sulla catena. In Purplecoin, l'utente è responsabile della sicurezza delle chiavi private e delle risorse.
Come funziona in pratica? Le risorse non possono essere spese senza chiavi private ma possono essere archiviate in più luoghi per sicurezza.
Bridge nodes e il set UTXO frammentato
La regola empirica è che in Purplecoin, ognuno è in ultima analisi responsabile della memorizzazione del proprio set UTXO . Questo può essere fatto nei seguenti modi:
- Esecuzione di un ponte personale. L'avvertenza è che un bridge personale dovrebbe essere sempre online per aggiornare il set dei testimoni.
- Affidarsi a un ponte pubblico. Un bridge pubblico potrebbe ad esempio gestire l'intero set UTXO di un singolo asset purché non sia troppo grande. Oppure una risorsa può essere suddivisa tra diversi ponti pubblici. L'avvertenza è che questo dipende dalla buona volontà degli altri poiché la gestione di un ponte può diventare costosa.
- Utilizzando un bridge privato. Un bridge privato è un'attività che si offre di gestire l'insieme di clienti privati UTXO in cambio di una commissione. Ad esempio, in futuro le banche potrebbero offrire tali servizi. Un bridge privato può archiviare solo il set UTXO di un client, parte delle sue chiavi in una configurazione multi-sig o gestire interamente le sue chiavi private.
Alice memorizza 10 XPU sul suo computer locale e sul cloud. Se la sua copia locale viene persa, può scaricarla nuovamente dal cloud. Se il cloud si spegne o perde le risorse, ha la sua copia locale.
Lo stato viene immagazzinato fuori catena e il decentramento a livello statale si ottiene "non tenendo le uova nello stesso paniere".
Nodi ultra leggeri
In questo modo possiamo eseguire nodi ultraleggeri che possono essere eseguiti anche su un portafoglio hardware . Una volta che il portafoglio ha la connettività Internet, può scaricare le risorse da qualche parte e spenderle utilizzando le chiavi memorizzate sul dispositivo.
Non tenere le uova nello stesso paniere
In definitiva, spetta all'utente scegliere come gestire il proprio set UTXO, nello stesso modo in cui spetta a lui scegliere come gestire le proprie chiavi private. Sebbene ciò sia scomodo rispetto a Bitcoin, in quanto aggiunge un altro tipo di dati che l'utente deve gestire oltre alle chiavi private/pubbliche, è l'avvertenza della scalabilità.
Un altro modo per spiegarlo è che in Purplecoin, il set UTXO è archiviato off-chain mentre l'unica cosa che viene tenuta on-chain è l'accumulatore crittografico del set UTXO .
Gli utenti devono conservare il proprio set UTXO in più posizioni per evitare perdite.
Saperne di più
- Sito web —https://purplecoin.io/
- Libro bianco —https://github.com/purpleprotocol/purplecoin_whitepaper/blob/main/whitepaper.pdf
- LEGGIMI —https://github.com/purpleprotocol/purplecoin/blob/main/README.md
- Informazioni sulla folla —https://github.com/purpleprotocol/purplecoin/blob/main/doc/crowdsale.md
- Tabella di marcia tecnica https://github.com/purpleprotocol/purplecoin-core/blob/main/ROADMAP.md
- Codice sorgente —https://github.com/purpleprotocol/purplecoin-core
- Github —https://github.com/purpleprotocol
- Reddit— _https://www.reddit.com/r/purplecoin
- Cinguettio —https://twitter.com/purplecoin_io
- Discordia —https://discord.gg/5ZVZnKd
- Telegramma —https://t.me/purplecoin_io
- ANNA —https://bitcointalk.org/index.php?topic=5417004.0

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































