shanghai highlights @ sydethereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · web...

51
Devcon2 Debrief Shanghai Highlights @ SydEthereum Luke Anderson Adrian Manning Paul Hauner {luke|age|paul}@sigmaprime.io 29 th September 2016 SydEthereum Meetup

Upload: others

Post on 06-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Devcon2 DebriefShanghai Highlights @ SydEthereum

Luke AndersonAdrian ManningPaul Hauner{luke|age|paul}@sigmaprime.io

29th September 2016

SydEthereum Meetup

Page 2: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Overview

1. Overview1.1 Attendees

1.2 Thoughts & Impressions

2. Web32.1 App Architecture

2.2 SWARM

2.3 Whisper

2.4 Ethereum

2.5 Examples

3. State Channels3.1 Raiden

3.2 Swarm

4. Regulatory Considerations5. Zcash5.1 Overview

5.2 ZeroCoin

5.3 Equihash

5.4 Project Alchemy

6. Interesting Developments6.1 Ethereum Name Service

6.2 Light Client

6.3 Mist

6.4 Faster EVM

Page 3: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Overview

Page 4: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Attendees

The Ethereum Foundation group photo on the last day.

# Vitalik Buterin# Péter Szilágyi# Zooko Wilcox# Martin Becze

Notable absences:# Gavin Wood

Page 5: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Thoughts & Impressions

Conference Content

# Everything is still early-stage◦ Key products are still being developed◦ The core Ethereum blockchain is maturing

Infant →Toddler◦ Tools for development are only just starting to get serious.

# It’s much more than a blockchain◦ A replacement for the WWW

# A passionate and growing community

Page 6: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Conference Itself

# Too many talks◦ Lots of companies showing off their ideas.◦ Really interesting and ground-breaking talks were cut short.

# Terrible event technology◦ Audience waiting for slides to appear◦ Microphone feedback a common occurence

# Excellent venue◦ Fancy Facilities◦ Good food, cantered lunches

Page 7: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Web3

Page 8: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Web 1.0 →Web 2.0 →Web 3.0

The concept of Web3 is a new way to access services on the internet.

Web 1.0Servers were created and maintained by those who wanted to serve thecontent. If your website became popular, it either crashed or you spentsignificant $$ ensuring your content stays up.

Web 2.0Advertisers pay content producer’s hosting, at the cost of independantcreative control. The more popular your site, the more interestadvertisers have to control your content. Centralised servers are a centralpoint of failure.

Web 3.0The internet is P2P (peer to peer) and distributed amongst the people’sdevices. Censorship becomes impractical. Each peer either hosts theservices they require, or pays peers for assistance.

Page 9: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Web3 Application Architecture

Page 10: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

SWARM: Distributed Data Storage

Similar to IPFS, allows distributed storage of object collections.Incorporates:

# Content-addressable storage# Storage incentive system (using ETH)# Scales according to demand

URL Schemebzz://<hash>/imgs/example.png

Where <hash> is the root hash of the object collection.

Page 11: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Whisper: Communication protocol

A direct communication protocol for DApps.

github.com/ethereum/wiki/wiki/Whisper

Was not discussed much at Devcon2.A future initiative.

Page 12: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Ethereum: State & Identity

Maintains persistent state in the Ethereum ecosystem.

Users select Ethereum identity when interacting with the ecosystem.

ETH currency provides incentive structure.

Page 13: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Example: Distributed Photo Album

# Web-app & Photo data hosted in SWARM# Root hash of a collection stored in Blockchain# Apply long-term incentives to prevent SWARM garbage collection# High performance irrespective of popularity

What about calculation of thumbnails or blurred backgrounds?Delegated Computation:

Input: data + specification + proofOutput: result + proof

Page 14: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

State Channels

Page 15: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Why State Channels?

# Ultimately Ethereum could be used to replace existing webinfrastructure (i.e Web 3.0)

# Require fast access to data and a means of quickly paying for it# Ethereum is currently too slow and too expensive

Page 16: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Why State Channels?

# Ultimately Ethereum could be used to replace existing webinfrastructure (i.e Web 3.0)

# Require fast access to data and a means of quickly paying for it# Ethereum is currently too slow and too expensive

Page 17: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Why State Channels?

# Ultimately Ethereum could be used to replace existing webinfrastructure (i.e Web 3.0)

# Require fast access to data and a means of quickly paying for it# Ethereum is currently too slow and too expensive

Page 18: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Introducing State Channels

What if we could do arbitrary transactions, off the block chain in aP2P trust-less manner?

# Create a simple smart contractwhich acts like a judge

# Two parties interact throughthe transaction of promises(off-chain)

# A promise is an agreement for atransaction with an expiry time

# Each promise is signed by eachparty

# After arbitrary manytransactions a party can sendthe final state to the judge tobe recorded in the blockchainand end the channel

Page 19: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Introducing State Channels

What if we could do arbitrary transactions, off the block chain in aP2P trust-less manner?

# Create a simple smart contractwhich acts like a judge

# Two parties interact throughthe transaction of promises(off-chain)

# A promise is an agreement for atransaction with an expiry time

# Each promise is signed by eachparty

# After arbitrary manytransactions a party can sendthe final state to the judge tobe recorded in the blockchainand end the channel

Page 20: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Introducing State Channels

What if we could do arbitrary transactions, off the block chain in aP2P trust-less manner?

# Create a simple smart contractwhich acts like a judge

# Two parties interact throughthe transaction of promises(off-chain)

# A promise is an agreement for atransaction with an expiry time

# Each promise is signed by eachparty

# After arbitrary manytransactions a party can sendthe final state to the judge tobe recorded in the blockchainand end the channel

Page 21: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Introducing State Channels

What if we could do arbitrary transactions, off the block chain in aP2P trust-less manner?

# Create a simple smart contractwhich acts like a judge

# Two parties interact throughthe transaction of promises(off-chain)

# A promise is an agreement for atransaction with an expiry time

# Each promise is signed by eachparty

# After arbitrary manytransactions a party can sendthe final state to the judge tobe recorded in the blockchainand end the channel

Page 22: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Introducing State Channels

What if we could do arbitrary transactions, off the block chain in aP2P trust-less manner?

# Create a simple smart contractwhich acts like a judge

# Two parties interact throughthe transaction of promises(off-chain)

# A promise is an agreement for atransaction with an expiry time

# Each promise is signed by eachparty

# After arbitrary manytransactions a party can sendthe final state to the judge tobe recorded in the blockchainand end the channel

Page 23: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Introducing State Channels

What if we could do arbitrary transactions, off the block chain in aP2P trust-less manner?

# Create a simple smart contractwhich acts like a judge

# Two parties interact throughthe transaction of promises(off-chain)

# A promise is an agreement for atransaction with an expiry time

# Each promise is signed by eachparty

# After arbitrary manytransactions a party can sendthe final state to the judge tobe recorded in the blockchainand end the channel

Page 24: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Introducing State Channels

# Transactions can happen real-time# Very little or no transaction fees# Game-theoretic motivations can be

introduced by the judge to prevent anyblock-chain transactions (besides theinitial and final state transactions)

# Scalable to build a network of statechannels

Page 25: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Introducing State Channels

# Transactions can happen real-time# Very little or no transaction fees# Game-theoretic motivations can be

introduced by the judge to prevent anyblock-chain transactions (besides theinitial and final state transactions)

# Scalable to build a network of statechannels

Page 26: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Introducing State Channels

# Transactions can happen real-time# Very little or no transaction fees# Game-theoretic motivations can be

introduced by the judge to prevent anyblock-chain transactions (besides theinitial and final state transactions)

# Scalable to build a network of statechannels

Page 27: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Introducing State Channels

# Transactions can happen real-time# Very little or no transaction fees# Game-theoretic motivations can be

introduced by the judge to prevent anyblock-chain transactions (besides theinitial and final state transactions)

# Scalable to build a network of statechannels

Page 28: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

State-Channel Network

Page 29: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Cool State Channel Applications

# Raiden - Ethereum’s Version of Bitcoin’s Lightning. - High-speedoff-chain asset transfershttp://raiden.network

# SWARM - Distributed storage platform and content distributionhttp://swarm-gateways.net

Page 30: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Cool State Channel Applications

# Raiden - Ethereum’s Version of Bitcoin’s Lightning. - High-speedoff-chain asset transfershttp://raiden.network

# SWARM - Distributed storage platform and content distributionhttp://swarm-gateways.net

Page 31: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Raiden

Page 32: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Swarm

Page 33: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Regulatory Considera-tions

Page 34: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Coin Center

Coin CenterPeter Van Valkenburgh

A Washington, D.C. based non-profitresearch and advocacy center focused onthe public policy issues facingcryptocurrency and decentralised computingtechnologies like Bitcoin and Ethereum.

Aims to be equivalent to the EFF in theearly days of the internet.

Has full-time lawyers on staff and a websitefull of interesting reading.

http://coincenter.org

Page 35: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

US Securities and Exchange Commission

The US SEC are heavy-duty regulators whodo not tolerate those who do notunderstand the law.

They will push for extradition if youbreak thier laws.

Having a single US customer/token holdermakes you subject to thier regulations.

Severe penalties can await anyone who isdeemed a promoter of an unregisteredsecurity.

Page 36: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

They’re Watching...

The SEC are already investigating PayCoin and were payingattention to The DAO.

Page 37: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

The SEC will let you be...

All sorts of things can be considered securities.

Your thing doesn’t have to be.

Your language has a significant effect on whether or not you fall underUS securities regulation.

Page 38: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Avoid the Traps

Security

# Language: Initial Coin Offering# Language: Profit Sharing

Not a Security

# Token was purchased for use-value rather than profit expectation.e.g. Ether can be used on the EVM therefore Ether is not a security.

# Token was purchased after the application is already up and running.e.g. Not a presale.

# Token’s value is dependant on the purchasers own efforts orthe efforts of others.i.e. if there’s a large community bringing value (e.g. digging upgold) it’s less likely to be considered a security.

Page 40: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Disclaimer

We are not lawyers.Nothing in this presentation constitutes legal advice.

Page 41: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Zcash

Page 42: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Zcash

Zcash is a privacy-preserving cryptocurrency whose genesis block is onemonth away.

Zcash is based on the Bitcoin code base and shares a number ofsimilarities.

Defining Features:# Selective Privacy on Transactions

◦ Using zk-SNARK techniques# New Proof-of-Work technique◦ Equihash# 2.5 minute block time# ‘Founders Reward’◦ Alternative to ICO◦ 10% of all currency goes to founders◦ 20% of block reward for first N blocks

Page 43: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

ZeroCoin

Zerocoin2013

A proposed protocolextention to Bitcoin,which would providebuilt-in privacy preserv-ing techniques.

IEEE Paper:‘Zerocoin: AnonymousDistributed E-Cashfrom Bitcoin’

Zerocash2014

An improvement tothe Zerocoin protocol,that introduced zk-SNARKs1as a techniqueto preserve privacy.

IEEE Paper:‘Zerocash: Decentral-ized Anonymous Pay-ments from Bitcoin’

Zcash2016

A stand-alone cryp-tocurrency implementa-tion that incorporatesthe Zerocash protocol.Based on Bitcoincodebase, but separatechain.

z.cash

1zero-knowledge Succinct Non-interactive Arguments of Knowledge

Page 44: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Equihash

Zcash uses Equihash proof-of-work algorithm.

Equihash:

# Is memory hardened◦ Requires a considerable amount of memory to compute

# Asymmetric in memory◦ PoW verification requires a constant very small amount of memory◦ PoW generation requires an enormous amount of memory

# Implements a concept called the generalised birthday problem.# Was intended to prevent significant GPU or ASIC advantages.

Page 45: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Zcash & Ethereum

Three options:

1. Add zk-SNARKs to Ethereum2. Add smart contracts to Zcash3. Project Alchemy: (←most likely)

◦ Verify Zcash PoW in Solidity◦ Smart contracts can fulfill orders◦ Possibility of decentralised ETH to Zcash exchange◦ Smart contracts could send/receive value privately

Page 46: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Interesting Developments

Page 47: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Ethereum Name Service (ENS)

Name services:

DNS: The Internet# Domain name to IP address

1. Domain Registrar →NameServer2. NameServer →IP Address

ENS: Ethereum Ecosystem# ‘.eth’ Registrar →Resolver# Resolver →Anything# Resolvers:

◦ Written by anyone◦ Contract interface:

has(): Can you resolve name?addr(): Please resolve name.

setAddr(): Set resolution for name.

Page 48: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

ENS: Governance

Who owns what name?# First come first served?# Central authority?

Answer: Not sure. Plan:

1. Deploy an interim resolver◦ Launch: November 2016◦ Only ‘.eth’ names◦ Only ≥ 7 chars.

2. Accept permanant registrar applications: November 20173.

Page 49: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Ethereum Light Client

The light client enables interaction with the Ethereum network, withouthaving a full blockchain.

# Now in public betagithub.com/zsfelfoldi/go-ethereum/wiki/Light-Client-Public-Test

# Runs on Raspberry Pi# Encourage new peer discovery algorithm

◦ RLPx v5◦ Advertise capabilities via ‘topics’

Page 50: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Future of Mist

Browser for Ethereum network.

# Downloads interface (HTML + CSS) from SWARM# Provides interaction to Dapp# Various Etheruem back-ends (e.g. geth, parity, etc)# Identity managed locally

◦ Old web: Identity on servers◦ New web: Identity on device

# Not as locked into providers(e.g. Reputation on AirBnB)

Future:# ERC67: URI Scheme – ethereum://address&function# Build new web like roads:

Roads: Anyone can use and repairRails: Only for use and maintainance by owner

Page 51: Shanghai Highlights @ SydEthereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · Web 1.0 →Web 2.0 →Web 3.0 The concept of Web3 is a new way to access services on the

Faster EVM

The EVM (Ethereum Virtual Machine) is the software piece whichactually executes smart contracts.

EIP43 proposes upgrading the EVM to use a subset of Webassembly(wasm).

This means a faster and lighter EVM, which means less work for minerstherefore a lower possible gas price.