ENEA, l’agenzia nazionale per le nuove tecnologie, l’energia e lo sviluppo economico sostenibile, ha collaborato con BIS HUB per la realizzazione di un Proof of Concept di un sistema per l’assegnazione certificata e verificabile di token su blockchain come ricompensa per il virtuosismo energetico degli utenti.
Il sistema che è stato realizzato, in controtendenza rispetto alle soluzioni più tradizionali, vuole offrire all’utente estrema trasparenza sul processo di assegnazione delle ricompense senza però danneggiare la sua privacy, mantenendo quindi privati i dati di consumo. L’approccio più diffuso in questi casi è la gestione centralizzata delle rewards, che non offre alcuna garanzia e si presta facilmente a manipolazioni; lo scopo principale di questo dimostratore è proprio superare questo limite, proteggendo nel contempo le informazioni personali degli utenti. In particolare, il PoC si pone l’obiettivo di soddisfare i seguenti requisiti:
- consentire a utenti o auditors esterni di verificare la correttezza del calcolo
- preservare la privacy degli utenti tutelando i dati di consumo
- ottimizzare i costi della soluzione
Dal momento che le ricompense sono indistinguibili tra loro e possono essere definite fungibili, si è scelto di rappresentarle attraverso dei classici token ERC-20.
Il calcolo delle rewards da assegnare agli utenti viene effettuato su base giornaliera: per ognuna delle 96 rilevazioni quartorarie aggregate relative a una specifica data l’algoritmo verifica se il consumo supera una certa soglia SC prefissata, e in caso affermativo l’utente riceve delle penalità che vengono poi scalate dal numero massimo di token ottenibili per la giornata (MT).
L’utilizzo delle cosiddette Zero-Knowledge Proof, definite come protocolli crittografici utilizzati da un soggetto per dimostrare ad un altro soggetto che un’affermazione è vera, senza rivelare nient’altro oltre alla veridicità della stessa, permette di superare le problematiche tipiche dei sistemi tradizionali. Le ZKPs vengono generate attraverso dei circuiti matematici che producono una risposta a fronte dei dati che ricevono in ingresso; la particolarità è che è possibile specificare quali input debbano risultare derivabili dalla prova, e quali invece no. In questo caso, ENEA produce una ZKP a fronte di ogni conteggio effettuato che dimostra:
- che i dati di consumo non sono stati manipolati al fine di influenzare il risultato del calcolo
- che il calcolo è stato effettuato secondo il procedimento corretto
La prova contiene in chiaro solamente un commitment sui dati di consumo, non i dati da cui è stato ricavato. ENEA in fase di minting delle ricompense presenta questa prova allo smart contract ERC-20 il quale la verifica contestualmente (attraverso un secondo smart contract) e in caso di esito positivo assegna i token all’utente. La prova viene salvata sul contratto, e può essere verificata da chiunque anche a posteriori.
Ma in che modo questa ZKP è in grado di offrire le garanzie elencate in precedenza?
Per quanto riguarda (1) si assume che un soggetto terzo, imparziale e non corruttibile, pubblichi un commitment sui dati di consumo in seguito alla rilevazione degli stessi. In particolare, esso si configura come il Merkle root dell’albero costruito utilizzando come foglie i consumi quartorari aggregati dell’utente nella giornata considerata. In questo modo è possibile confrontare il root presente nella ZKP generata da ENEA con il commitment pubblicato in precedenza e verificare quindi l’integrità delle informazioni utilizzate nel calcolo.
Il problema (2) invece è facilmente risolvibile rendendo pubblico il circuito utilizzato per generare le ZKPs, che certifica il procedimento seguito per calcolare le reward da assegnare all’utente.
Grazie all’utilizzo di tecnologie innovative quali blockchain e Zero-Knowledge Proof e alle loro proprietà intrinseche è stato quindi possibile realizzare un sistema di ricompense che supera uno dei problemi storicamente presenti in questo genere di applicazioni, ossia la difficoltà di conciliare due proprietà apparentemente opposte: la trasparenza dei processi e la tutela della privacy degli utenti.