Programming Distributed Systems

Similar documents
Company Overview. September MICROVISION, INC. ALL RIGHTS RESERVED.

Subchains: A Technique to Scale Bitcoin and Improve the User Experience

Colorful dapp Store Decentralized Applications for the People. Version 0.73 May 21, 2018 Color Platform Team

Making the Internet More Free and Accessible For Authors and Readers

Colorful dapp Store Decentralized Applications for the People. Version 0.78 July 16, 2018 Color Platform Team

MOVIELIME.COM. Reinvent the Movie Experience

Unlinkable Outsourced Channel Monitoring

Achieving Faster Time to Tapeout with In-Design, Signoff-Quality Metal Fill

STAPS THE STAPS PLATFORM - A BLOCKCHAIN PLATFORM FOR CONVERTING STEPS INTO CRYPTOCURRENCY. White Paper. Release 1.0

Digital Money Bits (DMB):Adding Reliability to the Cross-Border Remittance Industry

How to Predict the Output of a Hardware Random Number Generator

David Chaum s Voter Verification using Encrypted Paper Receipts

Department of Computer Science, Cornell University. fkatej, hopkik, Contact Info: Abstract:

The BIGGEST. The 2 nd Saudi International Exhibition & Conference for Internet of Things February 2019

...The Internet of Things

Self Restoring Logic (SRL) Cell Targets Space Application Designs

CPS311 Lecture: Sequential Circuits

The Art of Low-Cost IoT Solutions

ITU-T Y Specific requirements and capabilities of the Internet of things for big data

F5 Network Security for IoT

10GBASE-R Test Patterns

Scan. This is a sample of the first 15 pages of the Scan chapter.

THINKING ABOUT IP MIGRATION?

TURNING DIGITAL. The Future Can't Wait. Annual Report XVI Edition

INTRODUCTION OF INTERNET OF THING TECHNOLOGY BASED ON PROTOTYPE

Internet of Things: Cross-cutting Integration Platforms Across Sectors

SWITCHED INFINITY: SUPPORTING AN INFINITE HD LINEUP WITH SDV

Datasheet. Dual-Band airmax ac Radio with Dedicated Wi-Fi Management. Model: B-DB-AC. airmax ac Technology for 300+ Mbps Throughput at 5 GHz

Using Scan Side Channel to Detect IP Theft

IoT Strategy Roadmap

CRYPTOGRAPHY. Sharafat Ibn Mollah Mosharraf TOUCH-N-PASS EXAM CRAM GUIDE SERIES. Special Edition for CSEDU. Students CSE, DU )

ITU-T Y Functional framework and capabilities of the Internet of things

EECS 578 SVA mini-project Assigned: 10/08/15 Due: 10/27/15

Cascadable 4-Bit Comparator

EE141-Fall 2010 Digital Integrated Circuits. Announcements. Homework #8 due next Tuesday. Project Phase 3 plan due this Sat.

Using Embedded Dynamic Random Access Memory to Reduce Energy Consumption of Magnetic Recording Read Channel

New Technologies: 4G/LTE, IOTs & OTTS WORKSHOP

Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory. National Central University

Signal Persistence Checking of Asynchronous System Implementation using SPIN

2. Designation of the Applicant in the Cable Network: Managing Director Managing Partner Sole Proprietor Karta 3. Name of the Cable Network:

Drivechain Overview and Misconceptions. Paul Sztorc TAB Conf Atlanta, GA Jan 27, 2018 v1.0 Feb 4 th, 2018 v2.0

Joint Optimization of Source-Channel Video Coding Using the H.264/AVC encoder and FEC Codes. Digital Signal and Image Processing Lab

Faster randomized consensus with an oblivious adversary

Efficient, trusted, valued

Interview with Panos Panay For podcast release August 1, 2016

Hardware Implementation of Viterbi Decoder for Wireless Applications

AI & BOSCH. Dr. Pavlin Dobrev Research and Development Manager, Bosch Software Innovations EOOD

Good afternoon! My name is Swetha Mettala Gilla you can call me Swetha.

THE MAJORITY of the time spent by automatic test

EE141-Fall 2010 Digital Integrated Circuits. Announcements. Synchronous Timing. Latch Parameters. Class Material. Homework #8 due next Tuesday

StreamSpace White Paper

Canova Tech. IEEE 802.3cg Collision Detection Reliability in 10BASE-T1S March 6 th, 2019 PIERGIORGIO BERUTO ANTONIO ORZELLI

On the Characterization of Distributed Virtual Environment Systems

DC Ultra. Concurrent Timing, Area, Power and Test Optimization. Overview

(c) in any decision to purchase any STB, you have not relied on any statement set out in this Whitepaper;

For personal use only

QCN Transience and Equilibrium: Response and Stability. Abdul Kabbani, Rong Pan, Balaji Prabhakar and Mick Seaman

Logic Analyzer Triggering Techniques to Capture Elusive Problems

UNIVERSAL SPATIAL UP-SCALER WITH NONLINEAR EDGE ENHANCEMENT

Network and IT Infrastructure Services for the IoT Store

Vtronix Incorporated. Simon Fraser University Burnaby, BC V5A 1S6 April 19, 1999

Design of Fault Coverage Test Pattern Generator Using LFSR

T : Internet Technologies for Mobile Computing

Cryptagram. Photo Privacy for Online Social Media Matt Tierney, Ian Spiro Christoph Bregler, Lakshmi Subramanian

MACQUARIE CONFERENCE Wednesday 2 May, 2018

IoT Software Platforms

Sequences and Cryptography

FILM ON DIGITAL VIDEO

MAESTRO. Revolutionizing the Digital Music World. A Blockchain-Based Music Streaming Platform for Artists and Listeners

Performance Driven Reliable Link Design for Network on Chips

Human Body Blockage - Guidelines for TGad MAC development

Life Sciences sales and marketing

R H I N O S Railway High Integrity Navigation Overlay System. RHINOS On Board Subsystem Reference Architecture

100Gb/s Single-lane SERDES Discussion. Phil Sun, Credo Semiconductor IEEE New Ethernet Applications Ad Hoc May 24, 2017

Notes Generator Verification SDT Project

COMMISSION OF THE EUROPEAN COMMUNITIES COMMISSION STAFF WORKING DOCUMENT. accompanying the. Proposal for a COUNCIL DIRECTIVE

DM Scheduling Architecture

ITU-T Y.4552/Y.2078 (02/2016) Application support models of the Internet of things

Milestone Solution Partner IT Infrastructure Components Certification Report

MicroCap.com (Est: 1998)

The. Roadmap ENABLING CHANGE

This is a repository copy of Virtualization Framework for Energy Efficient IoT Networks.

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

Enabling home networking for digital entertainment TM. IEEE Presentation. March 2005

Pallas Coin. A Token built for the future of Apps

Biometric Voting system

IMPLEMENTATION OF X-FACTOR CIRCUITRY IN DECOMPRESSOR ARCHITECTURE

17 October About H.265/HEVC. Things you should know about the new encoding.

Introduction to Internet of Things Prof. Sudip Misra Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur

Modeling Digital Systems with Verilog

CLEVER LIGHTING An Emerging New Market

LFSR Counter Implementation in CMOS VLSI

How to Manage Video Frame- Processing Time Deviations in ASIC and SOC Video Processors

Video-on-Demand. Nick Caggiano Walter Phillips

Efficient Reconciliation and Flow Control for Anti-Entropy Protocols

Improved Coercion-Resistant Electronic Elections through Deniable Re-Voting

Secure Remote Sensing and Communication using Digital PUFs

Before the FEDERAL COMMUNICATIONS COMMISSION Washington, DC 20554

The IoT and the Technical Information Challenge. Stuart Mendelsohn

The history of Axis. Entreprenuerial background. The way to define our first product. Before Axis. Our first product

Transcription:

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 1/ 65 Programming Distributed Systems 13 Blockchains Christian Weilbach & Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Summer Term 2018

Introduction Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 2/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 3/ 65 About me functional programmer in Clojure/Script P2P enthusiast replikativ.io working on datopia, datalog based blockchain machine learning PhD

Blockchain? Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 4/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 5/ 65 What is a blockchain? It is a chain of blocks :P Actually just the transaction log What is the point actually???

The Bitcoin blockchain: the world s worst database 1 Would you use a database with these features? Uses approximately the same amount of electricity as could power an average American household for a day per transaction Supports 3 transactions / second across a global network with millions of CPUs/purpose-built ASICs Takes over 10 minutes to commit a transaction Doesn t acknowledge accepted writes [..] Can only be used as a transaction ledger denominated in a single currency, or to store/timestamp a maximum of 80 bytes per transaction But it s decentralized! (is it?) 1 Kalra et al. ZEUS: Analyzing Safety of Smart Contracts Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 6/ 65

Political motivation Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 7/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 8/ 65 Satoshi Nakamoto mysterious inventor of Bitcoin this is not Satoshi Nakamoto:

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 9/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 10/ 65 Anarchocapitalism Strong form of free market ideology It is directed against (central) banks and states Market and money are holy (following Friedrich Hayek, Ayn Rand) affiliated to libertarian ideology prominent in Silicon Valley but: can also be read as reaction to monopolisation and privatisation

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 11/ 65 Platform economy Examples: Facebook, Uber, Google, Amazon, AirBnB,... Strategy: 1) get users on your platform and grow as fast as possible with vencture capital (VC) money 2) encourage network effects through open strategy and free products 3) privatize platform and own data profit

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 12/ 65 post-68 Internet vision Platform economy focuses on individualism of consumer turned into vague, Orwellian Startup terminology: disruption, democratization, participation, openness, progress, community but: today it is threatening surveillance capitalism Amazon Teams Up With Law Enforcement to Deploy Dangerous New Face Recognition Technology Google Is Quietly Providing AI Technology for Drone Strike Targeting Project We work for Google. Our employer shouldn t be in the business of war

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 13/ 65 What now? P2P systems & free/open source movement cypherpunks: cryptography, e.g. PGP political ideologies against centralization: left anti-state, right anti-state examples: BitTorrent, Bitcoin, Wikis, git Idea: software emancipates from hardware Problem: no economic system Answer: ICO-mania as response to VC funding??

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 14/ 65 Bitcoin political argument as code game theory as programmable economics technical design not from angle of DB architect distributed system as answer to centralization of power culture clash: think big megalomania vs. conservative DB architects

What is a blockchain technically? Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 15/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 16/ 65 Blockchain as DB strongly-consistent database: total order of events (like atomic broadcast) scalability any strongly consistent DB Problem is permissionless environment: adversarial needs to be decentral/neutral w.r.t. to peers running the network cannot be privatized historical outline

Byzantine generals Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 17/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 18/ 65 Byzantine Fault Tolerance Paxos, Raft, etc. are supposed to run in trusted environment adversarial environment: fake messages, drop messages, delay messages threshold of honest peers (generals), e.g. > 2/3

Bitcoin Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 19/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 20/ 65 Design objectives economics: game theoretic equilibrium state: no censorship or seizing of money money: no inflation through central banks politics: decentralized network

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 21/ 65 Nakamoto consensus[2] Byzantine fault-tolerance (fake message, dropped messages, delayed messages) Technology existed 10-15 years before Bitcoin Recombination is novel Interesting usage of cryptography

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 22/ 65 HashCash (1997) Problem: spam flooding protection Idea: To post on message board you have to do tiny amount of crypto work, but spammers have to pay proportional price use property of cryptographic hash functions like SHA-256

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 23/ 65 On cryptographic hash functions Hash function H takes arbitrary string as input and produces fixed-size output (here: 256 bit) Properties: 1) Efficient to compute 2) Practically collision-free 3) Given H(x), it is infeasible to find x 4) Puzzle-friendly: For every possible output value y, it is infeasible to find x such that H(k x) = y if k is chosen from a distribution where every value is chosen with negligible probability ( No strategy is much better than trying random values of x)

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 24/ 65 How can cryptographic hashing be useful If we know H(x) == H(y), then it is safe to assume that x == y Use hash as a message digest (much smaller than message) Can commit to a message, but only reveal it later Set up search puzzle : Given k and a target set Y, find a solution x such that H(k x) Y

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 25/ 65 On hash pointers A hash pointer is a pointer to some information plus the cryptographic hash of the information. Purpose: Access to the information Verification that information hasn t changed Build temper-evident data structures!

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 26/ 65 Blockchain: A temper-evident log What happens if somebody tries to modify the data in one block?

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 27/ 65 Blockchain as DB strongly-consistent database: total order of events (like atomic broadcast) scalability any strongly consistent DB problem is permissionless environment: adversarial needs to be decentral/neutral w.r.t. to peers running the network cannot be privatised historical outline

Bitcoin Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 28/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 29/ 65 Design objectives economics: game theoretic equilibrium state: no censorship or seizing of money money: no inflation through central banks politics: decentralized network

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 30/ 65 Nakamoto consensus[2] Byzantine fault-tolerance (fake message, dropped messages, delayed messages) technology existed 10-15 years before Bitcoin recombination is novel smart usage of cryptography

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 31/ 65 HashCash (1997) spam protection post on message board + tiny amount of crypto work

Mining a block: Proof of Work Difficulty target: hash must be smaller than this value (leading zero bits, definesy ) H(b x) Y, b block bits, x chosen nonce quadrillions of hash operations per second today: mining pools with ASIC hardware Source: https://www.buybitcoinworldwide.com/mining/hardware/ Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 32/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 33/ 65 Bitcoin s block chain started with genesis block by Satoshi Nakamoto on Jan 3, 2009 blocks can join and leave at will replay operations to obtain actual state most difficult ( longest) chain wins race between miners gossiping P2P network milliseconds matter

Block structure Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 34/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 35/ 65 Consensus specification Rules: implementation is specification (including bugs) C++ codebase + dependencies (Ughh) immutability or code as law

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 36/ 65 Trust model checked before a block is accepted 30-40 rules for transaction Importantly: 0 sum changes, positive balance 30-40 rules for each block rules are specified in C++

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 37/ 65 Pseudo-algorithm 1) Take chain with most work behind it 2) Take received transactions and build a block 3) Try to brute-force a H(b x) Y with current difficulty level 4) Either find a block first and propagate it as quickly as possible or receive a new block: Repeat with 1.

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 38/ 65 Transaction-based ledger authorize txn by signing with owner s key simplification here: only one txn/block validation check with hash pointers

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 39/ 65 Miners against users? Idea: incur cost vs. expected reward fixed amount of block reward: currently 12.5 Bitcoin Assumption at least 50% of nodes are honest. corresponds to voting/betting on winning chain Cheating: create invalid blocks or delay network but: does not pay to cheat

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 40/ 65 How high is the probability of a fork of length N? p N, where p is the probability that both partitions mine a new block in each step at approximately the same time. astronomically small for larger N.

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 41/ 65 (Imaginary) Example of fork Example: Germany blue Japan red partition in network happens next block either is created in blue or red or in blue orphan the block red wins: Take transactions from orphaned block, replay blue txs other chain never happened

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 42/ 65 Convergence Probabilistic convergence A fork of size 1 happens daily A fork of size 2 weekly... A fork of size 6 practically never happens...

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 43/ 65 Problems currently consumes electricity like 2 Denmarks (!!!) high latency: 10 60 minutes (6 blocks confirmation) low throughput (< 10 tx/sec) eventually consistent (always reversible)

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 44/ 65 Bitcoin bugs April 2013: 7 blocks fork cause: switch to LevelDB block with 1200 transactions crashed BerkelyDB (max. 1024 txs) (bug)

Ethereum Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 45/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 46/ 65 Ethereum generalization of ledger currency: Ether attempt to make blockchain programmable: world computer driving force behind ICO boom through ERC20 tokens

I want you to write a program that has to run in a concurrent environment under Byzantine circumstances where any adversary can invoke your program with any arguments of their choosing. The environment in which your program executes (and hence any direct or indirect environmental dependencies) is also under adversary control. If you make a single exploitable mistake or oversight in the implementation, or even in the logical design of the program, then either you personally or perhaps the users of your program could lose a substantial amount of money. Where your program will run, there is no legal recourse if things go wrong. Oh, and once you release the first version of your program, you can never change it. It has be right first time. I don t think there are many experienced programmers that would fancy taking on this challenge. But call it writing a smart contract and programmers are lining up around the block to have a go! Most of them it seems, get it wrong. 2 Source: The morning paper, Zeus: Analyzing safety of smart contracts MARCH 8, 2018 2 Kalra et al. ZEUS: Analyzing Safety of Smart Contracts Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 47/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 48/ 65 Ledger Runtime transactions are interpreter state transitions Turing-complete, general purpose imperative environment replicate a deterministic state machine Programs: so called Smart Contracts deployed as immutable code Low-Level Lisp (LLL) Solidity

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 49/ 65 Example solidity pragma solidity ˆ0.4.0; contract C { function issix(uint8 num) returns (bool) { return num == 6; } }

Ethereum Virtual Machine (EVM) stack machine no IO! ephemeral on-chain memory 256 bit words 65 logically distinct instructions [3] 3 3 Implementation in Clojure Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 50/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 51/ 65 Gas model important innovation every instruction has a gas price (in Ether) proportional to memory access cost invoker of smart contract has to provide ether smart contracts can call each other What happens if gas runs out?

Problems still PoW (high energy cost) still high latency: 15 secs block time 4 still low throughput: ( 100 txs/sec) 4 https://ethstats.net/ Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 52/ 65

Tendermint Adapted from a traditional BFT style approach 5 immediate finality low latency ( 2 secs) Fork Accountability no mining verified through Jepsen 5 https://media.ccc.de/v/fwtys3 Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 53/ 65

Tendermint state machine Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 54/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 55/ 65 Proof of Stake (PoS) Desire: get rid of wasteful mining Idea: Replace PoW leader election by stake based voting. Votes are weighted by their stake or the money you have in your account. Hard Problem: What are economic incentives for convergence?

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 56/ 65 Delegated Proof of Stake Idea: elect validator nodes who run traditional BFT consensus small and known subnetwork Advantage: higher quality of service (QoS) is possible with known network topology Problem: easier to attack or less decentralized Bitshares, Steem.it, Lisk, EOS

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 57/ 65 Democracy Accounts vote for delegates Problem: cartels are forming Unfortunately voter s are often bribed Typically the system has a democratic constitution Is this (liquid) democracy?

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 58/ 65 Changes to the constitution Consensus protocol itself can be changed non-monotonically System Governance is institutionalized (EOS) but requires finality (atomic, synchronous swap)

Other properties Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 59/ 65

Anonymity is Bitcoin anonymous? Nope, rather the opposite 6 zero-knowledge proofs (zksnarks): ZCash 6 https://media.ccc.de/v/fwtys3 Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 60/ 65

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 61/ 65 Composition linearizable systems compose sidechains cloud databases state channels

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 62/ 65 Integration with CRDTs transactional context for CRDT-based P2P systems Conflict-Aware Replicated Data Types (CARD) [1]

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 63/ 65 Summary: Comparison System Consensus Finality Network Fork-Acc. Program. Bitcoin Nakamoto eventual open no no* Ethereum Nakamoto* eventual* open no yes Tendermint PoS-based immediate closed yes optional Avalanche PoS-based immediate open no optional

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 64/ 65 Outlook similar to Dotcom bubble majority of systems today will not survive but: Blockchains will not go away! possibility for decentralized funding (ICO,... ) possibility to build new forms of society with distributed database technology!

Christian Weilbach & Annette Bieniusa Programming Distributed Systems Summer Term 2018 65/ 65 Further reading I [1] Nicholas V. Lewchenko, Arjun Radhakrishna und Pavol Cerný. Conflict-Aware Replicated Data Types. In: CoRR abs/1802.08733 (2018). arxiv: 1802.08733. url: http://arxiv.org/abs/1802.08733. [2] Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system. 2009. url: http://bitcoin.org/bitcoin.pdf. [3] Dr. Gavin Wood. Ethereum Yellow Paper: a formal specification of Ethereum, a programmable blockchain. In: (2014). url: https://github.com/ethereum/yellowpaper.