memoscan
← all memos

Memo 0x968492e5…b7e759 on Ethereum

GMj {4en}-;-TextOnly-;--;-Ethereum Test Transaction 2019. Trying to store Thesi's Abstract. Spesso sorge la necessità di memorizzare in modo permanente documenti di vario tipo, atti, copie di documenti fondamentali, semplici note personali, idee ecc. Gli attuali sistemi di memorizzazione sono basati su database tradizionali, ottimi per tutte le applicazioni che utilizziamo quotidianamente, sia a livello personale che professionale. Tali sistemi risiedono su server residenti in farm o datacenter sparsi per il mondo e gestiti da diverse compagnie. Quando utilizziamo un database, possiamo configurare diversi livelli di accesso per proteggere i dati e sempre su diversi livelli possiamo effettuare dei backup per tenerli al sicuro. Tuttavia, per la natura stessa dei database, essi possono andare incontro a perdita di dati (anche se è una eventualità molto remota al giorno d’oggi) e soprattutto sono editabili. Soffermiamoci su quest’ultimo punto. L’editabilità è una caratteristica fondamentale per l’inserimento dei dati, ma va contro il principio di immutabilità dei dati, che un’applicazione come quella oggetto di questa tesi necessita. A questo scopo si introduce la tecnologia Blockchain, che nella maggior parte delle sue implementazioni, risulta essere scrivibile una sola volta e non più editabile. Questo permette di inserire i dati e di avere la garanzia che non sarà più possibile modificarli. I dati verranno registrati in una transazione, che avrà anche associato un timestamp che può fungere da certificazione per la data di memorizzazione del dato. Altra caratteristica fondamentale è la sicurezza intrinseca che questo sistema offre contro la perdita di dati: le Blockchain si basano su reti peer-to-peer tra più nodi sparsi per il globo che conservano una copia integrale di tutte le transazioni avvenute fin dalla creazione della Blockchain. Ciò assicura che anche in caso di fault di uno o più nodi, le informazioni rimarranno sempre memorizzate su altri nodi e saranno quindi sicure e disponibili. Per la realizzazione di questo progetto sfrutteremo le blockchain Ethereum e quelle Ethereum-like, ossia blockchain derivate dal codice sorgente di Ethereum e che quindi supportano le medesime funzionalità e il linguaggio di programmazione Solidity. L’applicazione sarà composta da due entità principali: 1. Uno smart contract che verrà eseguito sulla blockchain di destinazione selezionata; 2. Un front-end realizzato su un sito web che si interfaccerà con la blockchain di destinazione per la scrittura e lettura dei dati. Il front-end può essere realizzato con diverse tecnologie e per diverse piattaforme; si è preferito l’approccio web per semplicità di fruizione. L’applicazione verrà testata integralmente in testnet, poiché il costo per l’esecuzione in mainnet potrebbe risultare elevato per un approccio di tipo accademico come è questo. La testnet di Ethereum, al contrario, è ad uso gratuito e consente di testare gli smart contract in modo completo, prima di effettuare il deploy sulla net principale.