shanghai highlights @ sydethereumfiles.meetup.com/15817402/sydethereum_devcon_debrief.pdf · web...
TRANSCRIPT
Devcon2 DebriefShanghai Highlights @ SydEthereum
Luke AndersonAdrian ManningPaul Hauner{luke|age|paul}@sigmaprime.io
29th September 2016
SydEthereum Meetup
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
Overview
Attendees
The Ethereum Foundation group photo on the last day.
# Vitalik Buterin# Péter Szilágyi# Zooko Wilcox# Martin Becze
Notable absences:# Gavin Wood
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
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
Web3
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.
Web3 Application Architecture
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.
Whisper: Communication protocol
A direct communication protocol for DApps.
github.com/ethereum/wiki/wiki/Whisper
Was not discussed much at Devcon2.A future initiative.
Ethereum: State & Identity
Maintains persistent state in the Ethereum ecosystem.
Users select Ethereum identity when interacting with the ecosystem.
ETH currency provides incentive structure.
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
State Channels
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
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
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
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
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
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
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
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
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
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
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
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
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
State-Channel Network
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
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
Raiden
Swarm
Regulatory Considera-tions
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
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.
They’re Watching...
The SEC are already investigating PayCoin and were payingattention to The DAO.
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.
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.
Resources
# Coin Center: Could your decentralized token project run afoul ofsecurities laws?
# Coin Center: Framework for Securities Regulation ofCryptocurrencies
# The Howey Test - used by the US supreme court for determiningwhether certain transactions qualify as investment contracts.
Disclaimer
We are not lawyers.Nothing in this presentation constitutes legal advice.
Zcash
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
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
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.
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
Interesting Developments
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.
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.
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’
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
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.