Data Protection with Ethereum Blockchain
Total Page:16
File Type:pdf, Size:1020Kb
Data Protection with Ethereum Blockchain DUARTE PAULO GONÇALVES CABRAL TELES Outubro de 2018 Data Protection with Ethereum Blockchain Duarte Teles Dissertation to obtain the Master’s Degree in Informatics Engineering, specialization in Computer Systems Supervisor: Isabel de Fátima Silva Azevedo Porto, 14th October, 2018 iii Dedicatory To my family and friends, whom without their support this document would have not been possible. v Abstract Blockchain technology has been one of the most promising technologies of the past decade, with Ethereum and Bitcoin being the two most popular Blockchains today. Both do not provide data protection and privacy by default. The former allows for Decentralized Appli- cations (DApps) to be built, with zero chance of downtime or censorship and is the main focus of this dissertation. The European Union approved a law in 2016, the General Data Protection Regulation (GDPR), with severe penalties being enforced since May 25th, 2018. It is considered a massive step toward protecting user data. Not only does it affect companies with offices in the EU, but also organizations throughout the world that have users from EU territories. Further, it stipulates key obligations for organizations handling user data, in addition to introducing new rights to individuals, such as the right to erasure. This represents a major challenge towards achieving GDPR compliance in DApps, as Blockchains such as Ethereum, are immutable by design. This dissertation’s work attempts to comply with the GDPR and its conflicting right to era- sure, by developing an Ethereum proof-of-concept DApp: DFiles, which also aims to provide some form of data privacy and protection. It also allows its users to upload encrypted files in addition to their download and decryption. It was developed using an Agile methodology in an iterative approach with mainly decentralized technologies, such as the Interplanetary File System (IPFS) and Ethereum smart contracts, with a centralized component for user authentication, while adhering to Blockchain Software Engineering. Due to the GDPR’s complexity, some parts were selected, namely the rights to erasure, data portability, access and rectification. DFiles GDPR compliance was then evaluated with a statistical analysis on user encrypted and unencrypted uploaded files in the DApp, with its elapsed upload times and Ethereum transaction costs measured for files separated into four categories: small (1KB-1MB), medium (1MB-20MB), large (20MB-200MB) and extra-large (200MB-2GB). However, due to hardware limitations, this statistical analysis could only be performed for files up to 14.2MB. It concluded that transaction costs for unencrypted files are slightly higher, although this increase is not significant. As for elapsed upload times, it found that the elapsed upload time in encrypted files was overall significantly higher. Data from files larger than 14.2MB was still recorded which determined that the last two elapsed upload times for unencrypted files up to 800MB, are less than the last two upload elapsed times for encrypted ones up to 14.2MB. In conclusion, encrypting files to comply with the General Data Protection Regulation’s right to erasure is a valuable option only for small to medium files up to 14.2MB. From there, vi without considering hardware encryption limitations, upload times tend to grow exponentially. Ethereum and the IPFS must advance to allow better privacy techniques. Recently, there have been major new improvements to Ethereum and its smart contracts; the world of DApp development is always changing at a fast rate. In the future, Ethereum might evolve to a newer version which may bring new and enhanced privacy controls which may allow its complete GDPR compliance. Keywords: Ethereum Blockchain, General European Data Protection Regulation, smart contracts, data privacy and protection, decentralized applications, Blockchain software en- gineering, Interplanetary File System vii Resumo A tecnologia de Blockchain tem sido uma das mais promisoras da última década, com Ethereum e Bitcoin como as duas Blockchains mais conhecidas atualmente, em que ambas têm o problema de não fornecer, por defeito, a proteção de dados e a sua consequente pri- vacidade. O Ethereum, o principal foco desta dissertação, permite desenvolver Aplicações Descentralizadas (DApps) com a impossibilidade de estarem offline ou serem alvos de cen- sura. A União Europeia (EU) aprovou o Regulamento Geral sobre a Proteção de Dados (RGPD) em 2016, com penalizações apenas a serem aplicadas no dia 25 de Maio de 2018. Este regulamento é considerado um passo gigante para proteger a informação e os dados dos utilizadores, visto que este não afeta apenas organizações com escritórios na EU, mas tam- bém empresas no mundo todo que tenham clientes em territórios da União Europeia. Além disto, o regulamento estipula novas obrigações para organizações que manuseiam dados dos seus utilizadores, além de introduzir novos direitos para os mesmos, como o direito de apagamento dos dados. Este direito representa um desafio enorme para conseguir cumprir estritamente com o RGPD nas DApps, visto que as Blockchains como o Ethereum são, no seu design, imutáveis. O trabalho desenvolvido nesta dissertação tenta cumprir com o RGPD e o seu direito problemático ao apagamento dos, ao desenvolver uma prova de conceito, uma DApp em Ethereum: DFiles, em que esta visa fornecer alguma maneira de proteger os dados dos seus utilizadores e também a sua privacidade. Além disto, também permite que os seus utilizadores submetam ficheiros encriptados além de os conseguirem desencriptar quando o seu download é efetuado. Foi também desenvolvida com uma metodologia Agile, com uma abordagem por iterações usando na maioria tecnologias descentralizadas, como por exem- plo o Interplanetary File System (IPFS) e os contratos inteligentes do Ethereum, contando também com uma componente centralizada para efeitos de autenticação de utilizadores, ao mesmo tempo que adere à Engenharia de Desenvolvimento de Software para Blockchain (BOSE). Devido à complexidade do RGPD, apenas alguns dos seus aspetos foram sele- cionados para a sua implementação no DFiles como os direitos de apagamento dos dados, portabilidade, acesso e retificação. O cumprimento do RGPD na DFiles DApp foi avaliado com recurso a uma análise estatís- tica nos ficheiros encriptados e não encriptados submetidos pelos seus utilizadores, em que foram medidos o tempo gasto no seu upload e o custo total de transação em Ethereum, em ficheiros de quatro categorias diferentes: pequenos (1KB-1MB), médios (1MB-20MB), grandes (20MB-200MB) e muito grandes (200MB-2GB). No entanto, por limitações de hardware, esta análise estatística apenas foi feita para ficheiros até 14.2MB de tamanho. Pode ser concluído que os custos de transação para ficheiros não encriptados são ligeiramente viii superiores, apesar deste aumento não ser significativo. Além disto, esta análise também con- cluiu que o tempo gasto nos ficheiros encriptados é substancialmente maior. Os dados dos ficheiros com tamanho superior a 14.2MB foram também registados. Ao compararmos os últimos dois registos dos ficheiros desencriptados, até 800MB de tamanho, concluímos que o seu tempo gasto é inferior aos útlimos dois registos para ficheiros encriptados até 14.2MB de tamanho. Finalmente, pode-se concluir que encriptar ficheiros para cumprir com o direito ao apaga- mento de dados do RGPD é uma possível abordagem apenas para ficheiros pequenos e médios até 14.2MB de tamanho. A partir desta fase, e sem considerar limitações de hard- ware, os tempos gastos para upload de ficheiros encriptados tendem a aumentar exponen- cialmente. Assim sendo, o Ethereum e o IPFS têm obrigatoriamente que melhorar a sua tecnologia num futuro próximo para permitir novas e melhores técnicas de privacidade dos dados. Recentemente, têm existido melhoramentos significativos no Ethereum e os seus contratos inteligentes que fazem com que o mundo do desenvolvimento de DApps se faça a um ritmo muito elevado. No futuro, o Ethereum poderá evoluir numa nova versão que poderá também trazer novos melhoramentos e controlos de privacidade que poderão permitir o cumprimento na totalidade do RGPD. ix Acknowledgement I would like to thank everyone that supported me throughout this amazing yet challenging year. First of all, without my family’s support, this work would have not been possible. Secondly, a special appreciation goes to my supervisor, Isabel Azevedo, for her relentless support and dedication in ensuring I produced my best work this past year. She also guided me through every step of the way in learning Ethereum and its smart contracts. Without this outstanding support, suffice to say this work would have not been possible at all. I would also to extend my gratitude to my dearest friends that provided an invaluable emo- tional support for me to never give up and continue pushing myself to be better, everyday. They are my brothers and sisters with whom I rely on my most difficult moments. A special thank you also goes to my friend, Vitor Hugo Anjos, who guided me when I was learning the difficult, yet awesome ReactJS frontend technology. He helped me solve many bugs in the code, in addition to instructing me how to best develop my frontend code throughout this work. Finally, a word of appreciation to all the rock and roll bands out there, which provided me with beautiful music to never give up and always give my best. One such bands is AC/DC, which without this particular band, this work would have not been possible. In rock we trust, work or bust! xi Contents List of Figures xv List of Tables xvii List of Source Code xix Glossary xxi List of Acronyms xxiii 1 Introduction1 1.1 Context....................................1 1.2 Problem Overview...............................2 1.3 Main Objectives and Goals..........................2 1.4 Methodology.................................3 1.5 Introductory Concepts............................3 1.6 Document Structure.............................8 2 State of the Art 11 2.1 Blockchains and Cryptocurrencies...................... 11 2.2 Tools and Technologies............................ 15 3 Value Analysis and Cryptoeconomics 23 3.1 Value Analysis................................