Data Protection with Ethereum Blockchain

Total Page:16

File Type:pdf, Size:1020Kb

Data Protection with Ethereum Blockchain 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................................
Recommended publications
  • Implementation of Smart Contracts for Blockchain Based Iot Applications
    Implementation of smart contracts for blockchain based IoT applications Georgios Papadodimas, Georgios Palaiokrasas, Antoniοs Litke, Theodora Varvarigou Electrical and Computer Engineering Department National Technical University of Athens Athens, Greece [email protected], [email protected], [email protected], [email protected] Abstract—An increasing number of people, organizations [11], funding mechanisms [12] and many more. A milestone and corporations are expressing their interest in the for the course of blockchain technology was the development decentralization technology of the blockchain. The creation of of Ethereum project, offering new solutions by enabling smart the blockchain marks the time when we start building contracts’ implementation and execution. The Ethereum distributed peer-to-peer networks consisting of non-trusting blockchain is a Turing complete platform for executing smart members that interact with each other without a trusted contracts [13], [14], and not just a ledger serving financial intermediary but in a verifiable manner. In this paper, we transactions. It is a suite of tools and protocols for the creation propose a decentralized application (DApp) based on and operation of Decentralized Applications (DApps), blockchain technology for sharing Internet of Things (IoT) “applications that run exactly as programmed without any sensors’ data, and demonstrate various challenges addressed possibility of downtime, censorship, fraud or third-party during the development process. This application combines blockchain technology with IoT and operates through smart interference”. It also supports a contract-oriented, high-level, contracts that are executed on the Ethereum blockchain. More Turing-complete programming language [15], allowing specifically the application is a platform for sharing (buying and anyone to write smart contracts and create DApps.
    [Show full text]
  • Versus Decentralized Prediction Markets for Financial Assets
    Wolfgang Pacher Centralized- versus Decentralized Prediction Markets for Financial Assets Are blockchain-based prediction market applications simply the better solution to forecasting financial assets? MASTER THESIS submitted in fulfilment of the requirements for the degree of Master of Science Programme: Master's programme Applied Business Administration Branch of study: General Management Alpen-Adria-Universität Klagenfurt Evaluator Assoc.Prof.Mag.Dr. Alexander Brauneis Alpen-Adria-Universität Klagenfurt Institut für Finanzmanagement Klagenfurt, May 2019 Affidavit I hereby declare in lieu of an oath that - the submitted academic paper is entirely my own work and that no auxiliary materials have been used other than those indicated, - I have fully disclosed all assistance received from third parties during the process of writing the thesis, including any significant advice from supervisors, - any contents taken from the works of third parties or my own works that have been included either literally or in spirit have been appropriately marked and the respective source of the information has been clearly identified with precise bibliographical references (e.g. in footnotes), - to date, I have not submitted this paper to an examining authority either in Austria or abroad and that - when passing on copies of the academic thesis (e.g. in bound, printed or digital form), I will ensure that each copy is fully consistent with the submitted digital version. I understand that the digital version of the academic thesis submitted will be used for the purpose of conducting a plagiarism assessment. I am aware that a declaration contrary to the facts will have legal consequences. Wolfgang Pacher m.p.
    [Show full text]
  • Metamask Pre-Assignment
    MMS 562F: Tech Driven Transformation MetaMask Pre-Assignment Campbell R. Harvey Duke University and NBER February 2021 Setup • Metamask is a cryptocurrency wallet that is used to interface with the Ethereum-based Apps • We will be setting up this Wallet on your mobile device (iOS or Android only) – If you are unable to use a mobile device, the end of this deck has a web browser tutorial (Page 19) – If you already have MetaMask on your browser, the end of this deck has a tutorial to link your Web Account to the Mobile App (Page 25) Campbell R. Harvey 2021 2 Setup • Download the Metamask app from the App Store or Google Play Store • Click Get Started • Click Create a new wallet • Create a new account by typing in a password of your choosing and pressing “Create” • Go through the prompts to secure your wallet • Store Secret Backup Phrase in a secure location, ideally paper or a password manager – not on your phone or computer. • Type in secret backup phrase Campbell R. Harvey 2021 3 1 Using MetaMask 1. Network • This determines which Ethereum Network you are using. Click on this to see all network options in a 2 dropdown. For this class we will only discuss or use the Main Ethereum Network and the Ropsten Test Network. 3 Campbell R. Harvey 2021 4 1 Using MetaMask 1. Network • The Ethereum Mainnet is where live ether (ETH) with real value exists and is 2 used for payment and applications. I will refer to this as the “main network” or the “mainnet” 3 Campbell R.
    [Show full text]
  • Decentralized Reputation Model and Trust Framework Blockchain and Smart Contracts
    IT 18 062 Examensarbete 30 hp December 2018 Decentralized Reputation Model and Trust Framework Blockchain and Smart contracts Sujata Tamang Institutionen för informationsteknologi Department of Information Technology Abstract Decentralized Reputation Model and Trust Framework: Blockchain and Smart contracts Sujata Tamang Teknisk- naturvetenskaplig fakultet UTH-enheten Blockchain technology is being researched in diverse domains for its ability to provide distributed, decentralized and time-stamped Besöksadress: transactions. It is attributed to by its fault-tolerant and zero- Ångströmlaboratoriet Lägerhyddsvägen 1 downtime characteristics with methods to ensure records of immutable Hus 4, Plan 0 data such that its modification is computationally infeasible. Trust frameworks and reputation models of an online interaction system are Postadress: responsible for providing enough information (e.g., in the form of Box 536 751 21 Uppsala trust score) to infer the trustworthiness of interacting entities. The risk of failure or probability of success when interacting with an Telefon: entity relies on the information provided by the reputation system. 018 – 471 30 03 Thus, it is crucial to have an accurate, reliable and immutable trust Telefax: score assigned by the reputation system. The centralized nature of 018 – 471 30 00 current trust systems, however, leaves the valuable information as such prone to both external and internal attacks. This master's thesis Hemsida: project, therefore, studies the use of blockchain technology as an http://www.teknat.uu.se/student infrastructure for an online interaction system that can guarantee a reliable and immutable trust score. It proposes a system of smart contracts that specify the logic for interactions and models trust among pseudonymous identities of the system.
    [Show full text]
  • Makoto Yano Chris Dai Kenichi Masuda Yoshio Kishimoto Editors
    Economics, Law, and Institutions in Asia Pacific Makoto Yano Chris Dai Kenichi Masuda Yoshio Kishimoto Editors Blockchain and Crypto Currency Building a High Quality Marketplace for Crypto Data Economics, Law, and Institutions in Asia Pacific Series Editor Makoto Yano, Research Institute of Economy, Trade and Industry (RIETI), Tokyo, Japan The Asia Pacific region is expected to steadily enhance its economic and political presence in the world during the twenty-first century. At the same time, many serious economic and political issues remain unresolved in the region. To further academic enquiry and enhance readers’ understanding about this vibrant region, the present series, Economics, Law, and Institutions in Asia Pacific, aims to present cutting-edge research on the Asia Pacific region and its relationship with the rest of the world. For countries in this region to achieve robust economic growth, it is of foremost importance that they improve the quality of their markets, as history shows that healthy economic growth cannot be achieved without high-quality markets. High-quality markets can be established and maintained only under a well-designed set of rules and laws, without which competition will not flourish. Based on these principles, this series places a special focus on economic, business, legal, and institutional issues geared towards the healthy development of Asia Pacific markets. The series considers book proposals for scientific research, either theoretical or empirical, that is related to the theme of improving market quality and has policy implications for the Asia Pacific region. The types of books that will be considered for publication include research monographs as well as relevant proceedings.
    [Show full text]
  • $5.75 $727,91Mm $664,28Mm $7.50 +31.16% +
    ETC INSIGHTS JULY 2020 07 MARKET JULY 01 JULY 31 $5.75 $7.50 +31.16% PRICE PRICE $727,91MM $876,75MM +148,835MM VOLUME (1D) VOLUME (1D) $664,28MM $857,30MM +193,020MM MARKET CAP MARKET CAP TECHNOLOGY UPDATES Core Geth seeing more adoption Core-geth is seeing the largest growing node adoption. Ethereum Classic no longer has LTS support for OpenEthereum or Multi-geth. Therefore, Ethereum Classic nodes must transition to Core-geth or Besu. 2nd most popular client, likely to reach most popular as Ethereum Classic no longer has LTS support for OpenEth & Multi-geth DEVELOPMENT Signatory and affiliated tools are nearing more maturity Growing collaboration with MetaMask regarding OpenRPC SigTools nearly Alpha Learn More ROADMAP CHANGES Tooling team is gathering requirements for a wallet project which may impact roadmap NEW TOOLS & FEATURES Signatory Core Learn More COMMUNITY ACCELERATOR NEWS & COHORT MEMBER UPDATES ETC Labs Announces Cohort III, Blockchain for Impact Startups Learn More EVENTS Blockchain course Angel Investing Learn More Learn More Ask Me Anything (AMA) Learn More SFBW’s Unitize 2020 Virtual Conference Watch the Presentation MOIP Episode feat. ETC Labs CEO Terry Culver Watch the Episode UNIVERSITIES INTEGRATIONS PARTNERSHIPS NEWS & EXISTING PARTNER UPDATES SWARM Alpha Event Learn More Launch Connect with Bloq, a developer suite platform for ETC and multi-chain support Learn More ETC Labs partners with World Wildlife Foundation Learn More WORKS IN PROGRESS ETC to build a stablecoin with top stablecoin project Diversifying support with more decentralized storage projects Leading AML project to support Accelerator startups and ETC SPOTLIGHT COHORT III Png.me Prescypto Open Relay Learn More Learn More Learn More IN THE NEWS RECENT MEDIA COVERAGE Ethereum Classic Labs Presents its Third Cohort and its Startups Learn More ETC Labs Launches Cohort III To Support Blockchain-Powered Impact Startups Learn More Ethereum Classic (ETC) Going Hot about How to Run a Swarm Node Learn More MoIP Interview with Terry Culver CEO ETC Labs Learn More ETC INSIGHTS JULY 2020.
    [Show full text]
  • Next Steps in the Evolution of Decentralized Oracle Networks
    Chainlink 2.0: Next Steps in the Evolution of Decentralized Oracle Networks Lorenz Breidenbach1 Christian Cachin2 Benedict Chan1 Alex Coventry1 Steve Ellis1 Ari Juels3 Farinaz Koushanfar4 Andrew Miller5 Brendan Magauran1 Daniel Moroz6 Sergey Nazarov1 Alexandru Topliceanu1 Florian Tram`er7 Fan Zhang8 15 April 2021 v1.0 1Chainlink Labs 2The author is a faculty member at University of Bern. He co-authored this work in his separate capacity as an advisor to Chainlink Labs. 3The author is a faculty member at Cornell Tech. He co-authored this work in his separate capacity as Chief Scientist at Chainlink Labs. 4The author is a faculty member at University of California, San Diego. She co-authored this work in her separate capacity as an advisor to Chainlink Labs. 5The author is a faculty member at University of Illinois Urbana-Champaign. He co-authored this work in his separate capacity as an advisor on Chainlink. 6The author is a PhD candidate at Harvard University. He co-authored this work while on leave from Harvard, in his capacity as a researcher at Chainlink Labs. 7The author is a PhD candidate at Stanford University. He co-authored this work in his separate capacity as an advisor to Chainlink Labs. 8The author will be joining the faculty of Duke University in fall 2021. He co-authored this work in his current capacity as a researcher at Chainlink Labs. 1 Abstract In this whitepaper, we articulate a vision for the evolution of Chainlink be- yond its initial conception in the original Chainlink whitepaper. We foresee an increasingly expansive role for oracle networks, one in which they comple- ment and enhance existing and new blockchains by providing fast, reliable, and confidentiality-preserving universal connectivity and off-chain computation for smart contracts.
    [Show full text]
  • Altcoins, Ethereum Projects, and More – Bonus Content
    Altcoins, Ethereum projects, and More – Bonus Content Welcome to the bonus online content for Mastering Blockchain – Third Edition! This content complements the main text, with the intention to enhance the reader learning experience. The material covered here has not been included in the core book for reasons of brevity and scope, but it contains valuable information, and has thus been included here for reference and further learning. We'll list and briefly describe the topics covered in these pages here, as an idea of what will be covered in this package. The topics are best read in conjunction with the chapters specified here, but can also be accessed as a reference guide for various topics at any point! • Bitcoin forks: It is recommended that this topic is read after Chapter 7, Bitcoin Network and Payments. It covers alternative Bitcoin projects such as Bitcoin Cash and Bitcoin Unlimited. • Alternative coins: This is intended to be read in conjunction with Chapter 9, Alternative Coins. This topic covers some important cryptocurrency projects such as Zcash and Primecoin. We cover in detail, among other things, how various clients can be installed, and how mining can be performed. • Ethereum networks, trading and investment: It's recommended to read this material with Chapter 11, Ethereum 101. This topic briefly introduces the different types of Ethereum networks and some technical details. Also, we introduce some basics regarding the trading and investment of ether, the Ethereum cryptocurrency. • Ethereum EVM opcodes: This topic should be read in conjunction with Chapter 12, Further Ethereum. Here, we list all EVM opcodes, with descriptions and some technical details, such as their opcode representation and gas consumption.
    [Show full text]
  • Digipound: a Proof-Of-Concept Stablecoin Audited in Real Time
    DEPARTMENT OF COMPUTING BENG,JOINT MATHEMATICS AND COMPUTER SCIENCE C301J - FINAL YEAR INDIVIDUAL PROJECT Digipound: A Proof-of-Concept Stablecoin Audited in Real Time Supervisor: Author: Prof. William Knottenbelt Shravan Nageswaran sn2316 CID: 01193565 Second Marker: Prof. Kin Leung June 19, 2019 Abstract The twenty-first century calls for an innovative form of money. Cryptocurrencies traded on blockchains offer a glimpse into the future of currency, but their immense volatility makes them a risky choice to invest in both the short and long terms. A cryptocurrency with a defined value can address these concerns. Stablecoins, such as Tether, are cryptocurrencies whose values are tied to other assets - namely, fiat currencies such as the US Dollar. Yet, without a regularly-updating auditing system in place to track both the amount of Tether issued and the amount of US Dollars held in the Tether reserve account, the value of Tether, and other stablecoins, can be compromised. Attacks on its smart contract can go unnoticed, and if discovered that it truly does not have a one-to-one backing by the US Dollar, the Tether coin and its three billion dollar market cap can crash just as easily as Bitcoin did in 2018. This project started out by investigating several types of stablecoins and other assets to determine that there is a need for a stablecoin with a regularly-updating audit. Its main outcome was a model of a functional stablecoin, complete with the ability to issue, trade, and redeem this digital coin, with an audit updating in real time. First, a standard smart contract for an ERC-20 token, Digipound, was written and deployed to a test Ethereum blockchain.
    [Show full text]
  • Icsc 2018 Workshop
    iCSC 2018 Workshop Title: Computing for Decentralized Systems. Domain: Distributed Systems, Decentralization, Consensus, Byzantine Fault Tolerance, Blockchain, Smart Contracts. Speaker: Alejandro Avilés (@OmeGak) Date: 08/03/2018 License: Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) Capture The Flag The workshop will be done around Ethernaut, a capture-the-flag game by Zeppelin Solutions. It teaches, or gives leads, to the basics of Solidity, web3, and smart contracts in Ethereum. The ethernaut is a Web3/Solidity based wargame inspired on overthewire.org and the El Eternauta comic, played in the Ethereum Virtual Machine. Each level is a smart contract that needs to be 'hacked' in order to advance. Set up Before we take off, let's set up everything we will need to go through the CTF. Software requirements: Google Chrome or Firefox Metamask extension Metamask configuration: Select Ropsten test network . Create a wallet. Collecting funds: Go to https://faucet.metamask.io/ Request a bunch of Ether What's going on? The Metamask extension enables the browser to interact with Ethereum networks by speaking to trusted Ethereum nodes hosted by Metamask. This capture the flag challenge will require us to send transactions that will call functions in smart contracts. Both getting transactions included in blocks and running smart contract code costs fee (called gas in Ethereum), and so we need to get some Ether first. We don't want to spend real money in this capture the flag challenge, so we are doing everything in one of the test networks, named Ropsten. It's common to have faucets, contracts that send Ether for free, in test networks so that people can easily get some funds to play with and test stuff.
    [Show full text]
  • Ethereum DAPP Development
    Ethereum DAPP development With Javascript (2020) Andrea Lisi, [email protected] Decentralized Applications Thanks to web3 library it is possible to write a Decentralized Application (DApp), i.e. an application whose main logic is not executed by a single server but by a decentralized network like Ethereum ● The Backend are the smart contracts ● The Frontend is any software application with Web3 ● In a realistic scenario, rely the entire backend code on the smart contracts is unfeasible ○ Smart contracts should code only the logic to decentralize 2 Decentralized Applications The most popular Ethereum DApp: Cryptokitties ● Buy, sell and trade unique digital cats ● It became so popular that on December 2017 the Ethereum network suffered a slowdown 3 Part 4 Web DApp A simple web application with help of Metamask Tools: Metamask Metamask is an Ethereum wallet implemented as a browser extension ● Specifically, it is a Hierarchical Deterministic (HD) wallet ● https://metamask.io/ It is possible to create accounts for different target networks: Ethereum main network or test networks like Ropsten and Rinkeby ● It is also possible to import Ganache accounts if we test the DApp with a local blockchain 5 Walkthrough ● Setup the environment ○ Create a server for the DApp ■ Configure it ○ Link the smart contract libraries ■ Web3 and truffle-contract ● Develop the core of the DApp ● Run the DApp ○ Connect it to the local network 6 Create HTML project In the Truffle root directory create a src/ folder inside the Truffle folder, and create js/, css/ and index.html in src/ ● src/ ○ js/, css/, index.html The web page needs to get the contract json files from the build/ folder To do this, we need a running local server, serving the DApp.
    [Show full text]
  • Steps for You to Buy SPURT Crypto
    Steps for you to buy SPURT Crypto SPURT Crypto is a utility coin. To make use of the possibilities of SPURT one must therefore first become a member of Sound Prosperity: Below is the link where you can register for free: http://soundprosperity.org/SP­Membership This Step must be done to be able to buy SPURT Crypto. Follow instructions and make sure to have your sponsor name and spurt account number available. Open a Metamask Account • The next step is to open an Ethereum cryptocurrency account with METAMASK (SPURT is an ERC20 token on the Ethereum Blockchain, which is NOT the same as BITCOIN!) You can NOT use any BITCOIN account you already have.) • Because you cannot request a new password from Metamask or any other information on your account, you need to make sure that you SAVE ALL INFORMATION ON A DOCUMENT YOU OPEN NOW, SO THAT YOU CAN JUST COPY AND PASTE EACH TIME YOU GET INFORMATION ON YOUR ACCOUNT WHILE SETTING UP THE ACCOUNT! Click on the Apps Icon in the top left corner in your Chrome Browser, or any other browser. Click on Web Store Type Metamask in the Chrome Web Store search box. Click Metamask Add To Chrome Click on Add Extension Click on the Metamask Icon (Fox) it is now in the top right corner of your Chrome Browser Click Try it Now. You will be able to switch to the old version if you choose to later. Welcome to Metamask Click Continue. Create a password and keep it safe, inside and OUT of your computer! Once you have entered your strong password, click on Create.
    [Show full text]