Professor Sebastian Faust, esperto in processi di crittografia. Credito:Katrin Binner
Le blockchain promettono applicazioni Internet aperte su larga scala che sono organizzate in modo decentralizzato, ma questo ha il prezzo di prestazioni lente per ogni transazione elaborata dal sistema. I ricercatori di crittografia che lavorano con il professor Sebastian Faust hanno raggiunto una consapevolezza globale con il loro approccio per facilitare le transazioni in tempo reale utilizzando blockchain come Ethereum.
Il pagamento con carta di credito è un processo rapido:il trasferimento di denaro viene completato solo pochi secondi dopo che il cliente inserisce una carta in un lettore o inserisce i propri dati online. Questo processo consente a un'azienda organizzata a livello centrale come Visa di gestire oltre 50, 000 transazioni al secondo nelle ore di punta. Utilizzando una criptovaluta come Bitcoin, dove le transazioni vengono elaborate localmente tramite una blockchain, è possibile elaborare un massimo di sette transazioni al secondo, una differenza enorme che ostacola notevolmente l'applicabilità della tecnologia. Persino peggio, possono anche essere necessari diversi minuti per elaborare una singola transazione. Questi inconvenienti non si applicano solo a Bitcoin. Anche le applicazioni più complesse elaborate utilizzando contratti intelligenti su Ethereum sono costose e lente.
Eppure la blockchain è progettata proprio per questi casi. Qualsiasi utente può caricare e distribuire qualcosa tramite una blockchain, e chiunque può diventarne parte. è decentralizzato, neutrale ed efficace, la perfetta combinazione di intermediario e giudice, ma è anche lenta. Interagire con esso in modo economico e in tempo reale:questa è la visione di Sebastian Faust, Professore di Crittografia Applicata, e la sua squadra. La sfida è che l'aumento delle prestazioni non deve andare a scapito della sicurezza. La ricerca fa parte del Centro di Ricerca Collaborativa CROSSING, che è sostenuto dalla Fondazione tedesca per la ricerca.
Una blockchain è una catena di blocchi che contiene lo stato del sistema decentralizzato. Nel caso di una valuta come Bitcoin, sarebbero operazioni di pagamento:chi paga chi quanto. Ogni blocco contiene anche un cosiddetto hash di tutti i dati nel blocco, una sorta di impronta digitale dei dati. Se uno qualsiasi dei dati viene modificato, questo cambia il valore hash. Per di più, ogni blocco contiene un hash crittografico del blocco precedente. Ciò si traduce in una catena collegata. Un nuovo blocco Bitcoin viene creato da un partecipante alla rete, noto come miner, in media ogni dieci minuti. Questo blocco viene quindi verificato da tutti gli altri partecipanti e accettato come nuovo blocco nella catena se tutte le transazioni ei calcoli sono corretti. Questo rende il blocco parte della blockchain, in base al quale tutti i minatori tentano di trovare il blocco successivo. Se il blocco non è corretto viene ignorato. Una transazione in un blocco è accettata solo se è stata pubblicata nella blockchain e idealmente confermata da più blocchi, di solito sei. Ciò impedisce a un utente malintenzionato di pubblicare transazioni o blocchi errati. Sebbene questo processo offra forti garanzie di sicurezza, uno dei suoi principali difetti è che gli utenti potrebbero dover attendere fino a 60 minuti per la conferma di nuove transazioni.
Transazioni più complesse che utilizzano contratti intelligenti
I contratti intelligenti consentono ai partecipanti di effettuare transazioni molto più complesse dei semplici pagamenti. Queste regole complesse possono essere scritte in un linguaggio di programmazione, dove vengono poi effettuati i pagamenti in funzione dell'esecuzione del codice. "Questi sono contratti che vengono elaborati dalla blockchain, " spiega Sebastian Faust. "Smart significa che i contratti contengono condizioni logiche. Se, ad esempio, qualcuno vuole vendere un file online, quindi lo smart contract contiene la condizione che il denaro non verrà pagato fino a quando non sarà stato consegnato il file corretto." Questo accade automaticamente, che è sicuro per entrambe le parti. Il denaro rimane nella blockchain fino all'invio del file, ma il venditore non può spenderli altrove.
Un altro esempio di contratti intelligenti sono le applicazioni per la comunicazione tra veicoli autonomi. Alcuni camion sono in grado di guidare autonomamente sulle strade. Però, sono costosi perché richiedono una grande quantità di tecnologia dei sensori. Un camion semi-autonomo non può guidare da solo, ma potrebbe essere co-controllato da uno autonomo. Perché questo funzioni, il conducente del camion semi-autonomo dovrebbe stipulare un contratto con quello autonomo. L'autista potrebbe dormire durante questo periodo senza dover fare una pausa per farlo specificamente. Uno smart contract potrebbe fare tutto questo se non ci fosse il problema che la blockchain è attualmente troppo lenta per transazioni veloci su strada.
"La nostra idea non è quella di spostare tutto sulla blockchain, " dice Faust. Ciò significa che i contratti vengono prima eseguiti direttamente tra le parti coinvolte e solo in caso di controversia le parti utilizzano il costoso meccanismo blockchain." "È un po' come essere in tribunale, " dice Faust. "Poiché i processi in tribunale sono lenti e costosi, le parti si recano lì solo se non sono in grado di mettersi d'accordo tra loro." Il vantaggio di questo approccio è la scalabilità. Poiché le controversie sono un'eccezione nella normale vita quotidiana, migliaia di contratti potrebbero essere eseguiti in tempo reale, riducendo così significativamente il carico sulla blockchain.
I programmi per computer complessi possono anche contenere problemi di sicurezza irreversibili. "I contratti intelligenti sono spesso implementati in modo errato, il che rende difficile garantire che funzioneranno correttamente una volta integrati in un sistema più grande, " afferma Sebastian Faust. Un esempio lampante è il caso del contratto intelligente "The DAO". In "The DAO" un hacker è riuscito a utilizzare un errore di programmazione per rubare una criptovaluta del valore di 50 milioni di dollari. Uno degli obiettivi principali del la ricerca in corso presso la TU Darmstadt mira a migliorare l'efficienza dei sistemi blockchain offrendo allo stesso tempo forti garanzie di sicurezza.
Lo sviluppo dei protocolli crittografici per questi processi è un'impresa complessa. I ricercatori devono definire i protocolli gestiti dalle diverse parti nonché i contratti intelligenti sottostanti. Una sfida particolare è ridurre al minimo l'interazione con la blockchain, mentre allo stesso tempo deve essere garantita la sicurezza del protocollo. Utilizzando modelli formali della crittografia, i ricercatori hanno confermato la sicurezza dei protocolli. I prossimi passi sono ora di rilasciare il sistema Perun come software open source, e integrare sistemi blockchain diversi da Ethereum.
Il sistema è chiamato Perun, dal dio slavo del tuono e della luce. E hanno avuto un impatto:i risultati hanno ricevuto ampia attenzione, sia dalla comunità della sicurezza accademica che da aziende come Bosch e la Fondazione Ethereum, la cui blockchain supporta i contratti intelligenti.