zkLedger è una tecnologia che dimostra che è possibile migliorare la sicurezza, la velocità, la privacy e il decentramento, utilizzando la crittografia e altre tecnologie associate alla catena di blocchi.
Lalla privacy in blockchain È sempre un campo in costante ricerca, e un chiaro esempio è zkLedger, una tecnologia che mira a sfruttare il meglio del mondo del Test ZKP o Zero Knowledge, per costruire piattaforme blockchain incentrate su sicurezza e privacy.
Ma cosa differenzia zkLedger dal resto della tecnologia blockchain che già esiste? Quali sono i suoi vantaggi? Come funziona?
zkLedger, una blockchain ad alta velocità, privacy e sicurezza
Lo sviluppo di zkLedger è iniziato con a carta presentato all'evento 15 ° simposio USENIX sulla progettazione e implementazione di sistemi in rete (NSDI 2018) di Neha Narula (MIT Media Lab), Willy Vasquez (Università del Texas) e Madars Virza (MIT Media Lab). Durante l'evento, Narula ha descritto zkLedger come segue:
zkLedger, è il primo sistema progettato per proteggere la privacy dei partecipanti al libro mastro e fornire un audit veloce e dimostrabilmente corretto in ogni circostanza, appositamente progettato per aziende, banche ed enti finanziari.
L'idea in questo senso è chiara: creare una ssistema che può essere facilmente controllato, senza compromettere la privacy in qualsiasi momento delle persone che usano quel sistema.
Per raggiungere questo obiettivo, zkLedger si affida al proprio sistema di controllo su uno schema di crittografia che utilizza prove di tipo a conoscenza zero non interattive Schnorr. Questa è un'alternativa al noto ZK-SNARK y ZK-STARK. La differenza principale è che gli ZKP del tipo Schnorr, non richiedono una configurazione affidabile e si basano solo su presupposti crittografici ampiamente utilizzati. Inoltre, questi presupposti crittografici sono più facili da programmare e quindi più facili da eseguire il debug e implementare.
L'integrità è la chiave di zkLedger
D'altra parte, zkLedger fornisce un sistema di integrità, la cui base è che il file libro mastro, o libro mastro, non può nascondere le operazioni al revisore, e i partecipanti possono utilizzare meccanismi per produrre e verificare rapidamente le transazioni. Questa caratteristica offre due vantaggi:
- La verificabilità della rete lo garantisce tutto nel libro mastro è visibile al revisore (o chiunque abbia questo ruolo all'interno del sistema), lasciando agli altri l'accesso necessario per verificare che una transazione sia stata eseguita e niente di più. In altre parole, informazioni come il "grafico o link delle transazioni", gli importi, gli indirizzi o qualsiasi dato che metta a rischio la privacy delle parti, sono disponibili "apertamente" al pubblico.
- Offerte a velocità di elaborazione molto elevataPoiché i test di Schnorr sono più brevi, sono più facili da generare ed elaborare. Inoltre, l'uso del caching rende veloce il sistema di transazioni e auditing. Un buon esempio di ciò è che un processo di controllo su uno zkLedger può richiedere circa 10 millisecondi per verificare 100 transazioni.
Audit, il punto di forza di zkLedger
Quanto sopra è migliorato per il fatto che; zkLedger ha dalle sue basi e codifica una serie di funzionalità progettate per facilitare gli audit. Ad esempio, zkLedger dispone di funzionalità di controllo native, che consentono di ottenere facilmente somme, medie mobili, varianze, deviazione standard e rapporti.
In questo modo, un revisore può utilizzare queste primitive per misurare la leva finanziaria, liquidità delle attività, esposizioni al rischio di controparte e concentrazione del mercato, per il sistema nel suo insieme o per i singoli partecipanti.
Come si può vedere, questo tipo di tecnologia è particolarmente utile per le aziende, le banche e i servizi finanziari che vogliono e richiedono questo livello di auditing per ottemperare ai requisiti normativi, ma allo stesso tempo necessitano della flessibilità e della potenza della blockchain .per le tue operazioni.
Caratteristiche principali di zkLedger
Tra le caratteristiche principali di zkLedger possiamo citare quanto segue:
È una blockchain con ampie funzionalità di privacy e auditing
zkLedger mira a Mantieni un alto livello di privacy e controllo sui tuoi sistemi. Per raggiungere entrambi gli obiettivi, zkLedger basa la sua operazione crittografica su un nuovo tipo di prove ZKP di tipo Schnorr, per essere più precisi, sulle General Schnorr Proofs e su un sistema di impegni Pedersen.
Gli impegni di Pedersen consentono a zkLedger mantenere la privacy del sistema e allo stesso tempo accettare il funzionamento di un sistema di controllo. Questo è possibile perché i commit di Pedersen consentono a zkLedger, creare strutture a livello di consenso della rete, che il revisore può quindi verificare e svolgere il proprio lavoro. Il revisore in ogni caso sarai in grado di accedere solo alle informazioni di cui hai bisogno, e che è all'interno del sistema di consenso della rete, negando l'accesso privilegiato a qualsiasi informazione non consentita. In un certo senso, lo schema Pedersen fornisce solo informazioni operative al revisore.
Le informazioni offerte dallo schema Pedersen sono comunque protette da una ZKP di tipo Schnorr (Schnorr General Tests). Pertanto, le informazioni offerte sono solo un risultato crittografico che l'auditor può verificare sulla rete, senza avere effettivamente accesso ai dati reali delle nostre operazioni.
Una blockchain ad alta efficienza
L'uso di impegni Pedersen e ZKP del tipo Schnorr rende anche zkLedger a rete costruita per essere altamente efficiente. Schnorr è una tecnologia progettata con il principio di essere veloce da generare e verificare che occupi pochissimo spazio di archiviazione. In questo caso, l'utilizzo di Schnorr in zkLedger garantisce che i nodi non debbano essere estremamente potenti per svolgere il proprio lavoro. Inoltre, i requisiti di archiviazione sono drasticamente ridotti.
La verifica del consenso di zkLedger implementa un sistema di ruolo piuttosto interessante che offre transazioni molto veloci. Primo, i partecipanti non devono interagire per costruire prove della transazioneInvece, lo spender può creare la transazione da solo. A questo punto, se un attore malintenzionato tenta di codificare valori errati nei commit di altri attori, fallirà in quanto solo le parti che hanno le informazioni relative alla spesa (lo spender che ha costruito la transazione, il collezionista che sa quanto devono pagare) possono rispondere con certezza al test crittografico e al successivo audit della rete.
Questo sistema è noto come zkLedger token auditing e test di coerenza e può essere verificato pubblicamente, migliorando la sicurezza nei pagamenti e, allo stesso tempo, rendendoli molto veloci. Inoltre, per evitare la generazione di monete che non esistono, zkLedger include una serie di regole di consenso che evitano questo comportamento (nello stesso stile di quanto avviene in Monero (XMR)) creando una serie di range check che evitano questo attacco.
Balance Test, l'algoritmo di consenso di zkLedger
Una delle caratteristiche principali di zkLedger è il suo algoritmo di consenso noto come Prova di equilibrio (PoBal) o test di equilibrio. La prova di equilibrio mira a due cose:
- Quello zkLedger è un rete ad alta velocità.
- Che è impossibile nascondere i saldi o informazioni sull'account.
In questo modo, Proof of Balance soddisfa entrambe le esigenze utilizzando una serie di test crittografici progettati per questo scopo. Prima di tutto, una transazione in zkLedger è una voce per ogni "banca", quella voce ha una serie di impegni crittografici univoci che la legano in modo inequivocabile a detta transazione. Obiettivo di questo primo sistema è garantire che:
- Una transazione di trasferimento non può creare o distruggere beni.
- La “banca spesa” deve dare il consenso Per trasferimento.
In questa situazione, zkLedger ha creato una serie di test crittografici per garantire che lo spender possa gestire questi fondi e utilizzarli liberamente e in autonomia. Il primo di questi test è Proof of Balances che consente di sapere che lo spender ha realmente beni in suo possesso per l'operazione.
Allora Viene effettuato un secondo test per verificare che la "banca" abbia effettivamente gli asset da trasferire. Questo è possibile grazie all'Asset Test, l'idea di questo test è dimostrare che l'utente ha realmente i beni all'interno della banca di spesa per effettuare l'operazione.
Differenza con altri modelli
In una normale blockchain (come in Bitcoin (BTC)) questo è possibile tramite UTXO e l'albero delle transazioni creato dalle transazioni precedenti fino a raggiungere il coinbase.
Tuttavia, zkLedger non segue questo sistema, infatti, zkLedger non rende mai pubblico l'albero delle transazioni, quindi la Proof of Assets ha il compito di verificare crittograficamente che l'utente abbia asset e che tale transazione possa essere effettuata senza problemi di doppia spesa o generazione di monete inesistenti.
Infine, il Prova di coerenza garantisce che le banche non possano aggiungere alla contabilità generale dati che impediscano a un'altra banca di aprire i propri impegni al revisore. In questo modo il sistema è protetto in modo che tutti possano parteciparvi a parità di condizioni.
Velocità di transazione
Prova di equilibrio (PoBal) è il chiave per l'alta velocità di funzionamento di zkLedger. Nei test di laboratorio, zkLedger è stato in grado di superare altre popolari tecnologie blockchain. In una rete di 12 server Xeon (4 Core) e 24 GB di RAM, zkLedger è stato in grado di:
- Controlla 100mila transazioni in 6 millisecondi, in modalità online.
- Controlla 100mila transazioni in 3500 millisecondi, in modalità offline.
- Crea un input (transazione) in 8 millisecondi. Questo tradotto in secondi è 125 transazioni al secondo, ma la configurazione scala in modalità lineare. Inoltre, il sistema è parallelizzabile aumentare la capacità di elaborazione man mano che la rete aumenta di dimensioni.
Questo pone zkLedger, al livello delle reti private ad alta velocità come nel caso di HyperLedger, con l'avvertenza che il tuo sistema è più aperta e pubblica per la verifica delle informazioni.
Casi d'uso di ZkLedger
Come accennato all'inizio, il caso d'uso principale di zkLedger è incentrato sull'opportunità di offrire infrastrutture blockchain a banche, aziende e altri enti finanziari. L'utilità della tecnologia in questo ambiente è indiscutibile ed è qui che le sue capacità di controllo, velocità e proprietà di privacy sono più sorprendenti.
Un buon caso d'uso per la tecnologia sarebbe creare un file CBDC o valuta digitale della banca centrale, dove i principi di privacy che il denaro e questi sistemi devono avere in ogni momento sono veramente rispettati.
Un altro ambiente che può beneficiare di questo sistema è quello delle compagnie assicurative. In questi casi, zkLedger può farlo garantire l'adeguatezza delle informazioni condivise tra le compagnie di assicurazione, banche e altri soggetti, il tutto mantenendo la verificabilità del sistema in tutti i sensi, senza dover rivelare informazioni sensibili tra gli attori coinvolti, compresi i clienti e le condizioni in cui sono state attivate le loro clausole assicurative.
Corso Ethereum 101
Livello medioIn questo corso Ethereum 101 approfondirai la tua conoscenza delle criptovalute entrando nell'ecosistema di Ethereum e conoscendo tutto sulle sue caratteristiche, evoluzione e strumenti.