Smart Contracts are autonomous agents made to operate on a blockchain, which run deterministic blocks of code when being called by external users. They enable a range of advanced financial applications while removing the need for a centralized entity to verify and control actions being performed. In order to maintain deterministic execution patterns, smart contract platforms are designed to not interact directly with data sources external to the blockchain. As a result, to obtain external data, smart contracts rely on oracles, untrusted third parties that actively relay information to the blockchain. A second design limitation with smart contracts is their inability to perform memory intensive operations. They rely on offloading intensive work to external machines, and only notarizing important events by using the minimum amount of computational resources possible.\par This thesis aims to propose a mechanism to source data from sources external to the blockchain, and, using cryptographically secure methods to safely authenticate information, relay it to the blockchain while maintaining reliability coming from trusted publisher. Another key objective is to keep operational overhead to a low, staying in line with decentralized design philosophy. In this work we present a merkle tree-based solution as a means to authenticate large amounts of structured data by keeping computational costs low, and to utilize tree-like structures to produce expressively powerful proofs.\par As of writing, the Ethereum blockchain is the most active network in this space, processing more transactions every day than all other blockchains combined. We therefore decide to develop our solution on the Ethereum platform, using web pages published by major news sources to test our solution.

Gli smart contract sono agenti autonomi che operano su una blockchain, blocchi di codice deterministici che vengono eseguiti in risposta a richeste da parte di utenti. Consentono lo svilppo di una vasta gamma di applicazioni finanziarie avanzate, allo stesso tempo eliminando la necessità di un’entità centralizzata che verifica e controlla le azioni eseguite. Per mantenere garanzie di esecuzione deterministica, le piattaforme di smart contract sono progettate per non interagire direttamente con agenti esterni alla blockchain. Di con- seguenza, per ottenere dati esterni, gli smart contract fanno uso degli oracoli, agenti esterni di terze parti non fidate che attivamente trasmettono dati sulla blockchain. Una seconda limitazione delle piattaforme di smart contract deriva dalla loro inabilità nel compiere computazioni pesanti. Il paradigma di decen- tralizzazione incoraggia lo svolgimento di computazioni pesanti su macchine esterne, per poi autenticare e verificare sulla blockchain solamente gli eventi importanti utilizzando la quantità minima di risorse computazionali possibile. Questa testi propone un meccanismo per ottenere dati da fonti fidate esterne alla blockchain, e usando tecniche di crittografia per autenticare le informazioni, replicarle sulla blockchain mantenendo la affidabilità delle fonti originali. Un altro importante obiettivo consiste nel mantenere bassi gli over- head computazionali, rimanendo in riga con i paradigmi della computazione decentralizzata. In questo lavoro presentiamo una soluzione basta sui merkle tree per autenticare grandi quantità di informazioni mantenendo bassi i costi costi di computazione, allo stesso tempo usando le strutture ad albero per consentire dimostrazioni molto espressive. Al momento della scrittura, la blockchain di Ethereum ogni giorno elabora più transazioni di tutte le altre blockchain messe insieme. Di conseguenza abbiamo sviluppato la nostra soluzione per questa piattaforma, usando pagine web pubblicate da importanti fonti di notizie online per collaudare la nostra soluzione.

Tunneling trust into the blockchain : an efficiently verifiable merkle tree representation of structured data

CICERI, FILIPPO
2017/2018

Abstract

Smart Contracts are autonomous agents made to operate on a blockchain, which run deterministic blocks of code when being called by external users. They enable a range of advanced financial applications while removing the need for a centralized entity to verify and control actions being performed. In order to maintain deterministic execution patterns, smart contract platforms are designed to not interact directly with data sources external to the blockchain. As a result, to obtain external data, smart contracts rely on oracles, untrusted third parties that actively relay information to the blockchain. A second design limitation with smart contracts is their inability to perform memory intensive operations. They rely on offloading intensive work to external machines, and only notarizing important events by using the minimum amount of computational resources possible.\par This thesis aims to propose a mechanism to source data from sources external to the blockchain, and, using cryptographically secure methods to safely authenticate information, relay it to the blockchain while maintaining reliability coming from trusted publisher. Another key objective is to keep operational overhead to a low, staying in line with decentralized design philosophy. In this work we present a merkle tree-based solution as a means to authenticate large amounts of structured data by keeping computational costs low, and to utilize tree-like structures to produce expressively powerful proofs.\par As of writing, the Ethereum blockchain is the most active network in this space, processing more transactions every day than all other blockchains combined. We therefore decide to develop our solution on the Ethereum platform, using web pages published by major news sources to test our solution.
ING - Scuola di Ingegneria Industriale e dell'Informazione
19-apr-2018
2017/2018
Gli smart contract sono agenti autonomi che operano su una blockchain, blocchi di codice deterministici che vengono eseguiti in risposta a richeste da parte di utenti. Consentono lo svilppo di una vasta gamma di applicazioni finanziarie avanzate, allo stesso tempo eliminando la necessità di un’entità centralizzata che verifica e controlla le azioni eseguite. Per mantenere garanzie di esecuzione deterministica, le piattaforme di smart contract sono progettate per non interagire direttamente con agenti esterni alla blockchain. Di con- seguenza, per ottenere dati esterni, gli smart contract fanno uso degli oracoli, agenti esterni di terze parti non fidate che attivamente trasmettono dati sulla blockchain. Una seconda limitazione delle piattaforme di smart contract deriva dalla loro inabilità nel compiere computazioni pesanti. Il paradigma di decen- tralizzazione incoraggia lo svolgimento di computazioni pesanti su macchine esterne, per poi autenticare e verificare sulla blockchain solamente gli eventi importanti utilizzando la quantità minima di risorse computazionali possibile. Questa testi propone un meccanismo per ottenere dati da fonti fidate esterne alla blockchain, e usando tecniche di crittografia per autenticare le informazioni, replicarle sulla blockchain mantenendo la affidabilità delle fonti originali. Un altro importante obiettivo consiste nel mantenere bassi gli over- head computazionali, rimanendo in riga con i paradigmi della computazione decentralizzata. In questo lavoro presentiamo una soluzione basta sui merkle tree per autenticare grandi quantità di informazioni mantenendo bassi i costi costi di computazione, allo stesso tempo usando le strutture ad albero per consentire dimostrazioni molto espressive. Al momento della scrittura, la blockchain di Ethereum ogni giorno elabora più transazioni di tutte le altre blockchain messe insieme. Di conseguenza abbiamo sviluppato la nostra soluzione per questa piattaforma, usando pagine web pubblicate da importanti fonti di notizie online per collaudare la nostra soluzione.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
thesis.pdf

non accessibile

Descrizione: Thesis Text
Dimensione 901.83 kB
Formato Adobe PDF
901.83 kB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/140115