540 likes | 546 Views
The evolving Ethereum ecosystem. L1 and L2 improvements to scalability and privacy and other trends. 10 th July 2019. Roberto Infante. London Ethereum Meetup Manning discount code: mtpeldn19 https://www.manning.com/books/building-ethereum-dapps (valid also for any Manning book).
E N D
The evolving Ethereum ecosystem L1 and L2 improvements to scalability and privacy and other trends 10th July 2019 Roberto Infante
London Ethereum Meetup Manning discount code: mtpeldn19 https://www.manning.com/books/building-ethereum-dapps (valid also for any Manning book) My book: Building Ethereum Dapps
The evolving Ethereum ecosystem • Review current ETH 1.0’s ecosystem • What’s wrong with ETH 1.0? • L1 and L2 solutions to ETH 1.0’s issues • Main ecosystem’s trends
The evolving Ethereum ecosystem • Review current ETH 1.0’s ecosystem • What’s wrong with ETH 1.0? • L1 and L2 solutions to ETH 1.0’s issues • Main ecosystem’s trends
Current Ethereum 1.0 ecosystem you might know • Ethereum Level 1 (the core protocol, clients) • Smart contract EVM languages: Solidity • Smart contract Libraries: openzeppelin • Web3 libraries: web3.js • Dev tools: truffle • Security tooling • Additional P2P networks (content, messaging) • Oracles: Provable Things (formerly Oraclize) • ENS • Major Dapps: Decentralized Finance (DeFi) • Other major Dapps: Aragon, Augur
Current Ethereum 1.0 ecosystemEthereum Level 1 (the core protocol, clients) • Clients: • geth (Go, 50%) • parity (Rust, 40%) • pantheon (java) + Nethermind (.NET) + pyethreum (good for prototyping new implementations, like Casper FFG) • Managed clients: • Infura: main player (almost only one until 2018) • Dappnode, VIP mode, Denode: cheaper infra for personal / Dev use
Current Ethereum 1.0 ecosystemCore Dev tools • Smart contract EVM languages: Solidity, Vyper • Smart contract libraries (mainly Solidity): • openZeppelin • Web3 libraries: • JavaScript: Web3.js and ethers.js • Java: web3.j
Current Ethereum 1.0 ecosystemAdditional Dev tools • General Dev tools • Remix, Truffle, Embark, EtherLime • Security tooling: • Trail of bits (static analysers, fuzzing tools, etc) • Securify: automated SC scanner • MythX (formerly Mythril): security analysis
Current Ethereum 1.0 ecosystemAdditional P2P networks • Decentralized content networks: • IPFS • Swarm (Ethereum friendly) • Decentralized messaging • Whisper (Ethereum friendly)
Current Ethereum 1.0 ecosystemOracles frameworks • Provable Things (formerly Oraclize): centralized oracle framework
Current Ethereum 1.0 ecosystemMajor Dapps: Decentralized Finance (DeFi) • Maker DAO [Maker: MKR, https://makerdao.com/en/]: • Protocol initially for creating DAO, but later focused on facilitating decentralized coins, especially stable coins, decentralized lending • Example of stable coin:Dai [Dai: DAI] • Other stable coins on Ethereum: TrueUSD, Paxos, Gemini Dollar, USD coin sUSD => total market cap: $750M, daily trading $200M • Move from ICO to STO and emphasis on regulated Security tokens • 0X protocol [0x: ZRX, https://0x.org/] • Framework for building easily decentralized exchanges (DEX) for ERC20 and ERC721 assets on Ethereum blockchain • Allows aggregating coin and token liquidity • Allows swapping ERC20 and ERC721 (non fungible) in a single atomic operation • Trading directly from wallet (keep custody, don’t pay fees): Radar relay https://radarrelay.com/, Paradex: https://paradex.io/: • Hydro protocol [Hydro: HYDRO, Hydro Protocol: HOT, https://hydroprotocol.io/] • Framework for building easily decentralized exchanges (DEX)
Current Ethereum 1.0 ecosystemOther major Dapps • Aragon [Aragon: ANT] • Decentralized Autonomous Organization DAO frameworks • Augur [Augur: REP] • Prediction market
The evolving Ethereum ecosystem • Review current ETH 1.0’s ecosystem • What’s wrong with ETH 1.0? • L1 and L2 solutions to ETH 1.0’s issues • Main ecosystem’s trends
What’s wrong with Ethereum 1.0The outstanding issues after Constantinople fork • Various improvements to L1 technology (core Ethereum protocol) however… • Still a big elephant in the room: Ethereum still seen as not fit for purpose for commercial applications • Cannot match expected scalability (of competing traditional centralised systems) • Does not provide privacy
What’s wrong with Ethereum 1.0Capacity utilization: near saturation since Oct 2017
What’s wrong with Ethereum 1.0Near saturation… with less than 1M Tx per day!
What’s wrong with Ethereum 1.0More on utilisation • More used Dapps: • Dai stable coin by MakerDAO: $100M per day • Augur: Decentralized pred mkt: $3M high • Gaming (gods unchained) and betting (funfair) • Total users 15,000 per day (non ETH Tx) • Conclusion on capacity utilisation Vs user utilisation • near max capacity but not a massive utilisation => scalability concerns • Proven with crypto kitties that brought ETH network into meltdown (only briefly successful Dapp)
The evolving Ethereum ecosystem • Review current ETH 1.0’s ecosystem • What’s wrong with ETH 1.0? • L1 and L2 solutions to ETH 1.0’s issues • Main ecosystem’s trends
Ecosystem solutions to address scalability and privacy Overview • L2 solutions: technologies built on the top of the Ethereum that address scalability without compromising security • L1 solutions: improvements to the core Ethereum protocol => Ethereum 2.0 (SERENITY)
Ecosystem solutions to address scalability and privacy L2 solutions • Payment and state channels: smart contract that freezes some blockchain state and releases it later after internal modifications have taken place • Sidechains: secondary blockchain linked to main chain, where some assets might be locked • Plasma: sidechain with extra guarantee: you can withdraw assets from main chain, even under compromised sidechain operator
Ecosystem solutions to address scalability and privacy State channels (idea to speed up bitcoin in 2015) • First implementation of the concept: Bitcoin Lightning network • How does a state channel work? • 1) Part of the blockchain state is locked in a multisignature contract among known participants • 2) Participants perform signed transactions among themselves, which update their local state => transaction and state are not pushed on blockchain • 3) Finally, when one or more participants want to leave, the participant submit the final state on the blockchain through a netting transaction
Ecosystem solutions to address scalability and privacy State channels (idea to speed up bitcoin in 2015) • The second step above is the most important: an unlimited number of signed transactions takes place off-chain in the state channel => no mining required => much higher performance and negligible (or zero) cost • The state channel can be left permanently open: closed only to pay up someone who wants to leave • State channels are designed so that no participant can alter state improperly (or steal tokens, for example); practically same guarantee of on-chain transactions • Main benefits: high-performance (no mining) + privacy
Ecosystem solutions to address scalability and privacy Major state-channel Ethereum projects • Raiden Network [Raiden Network Token, https://raiden.network/ ] • ERC20 payment channel infrastructure • Equivalent to Bitcoin Lightning Network, with bidirectional payment channels and multi-hop payments • Micro raiden [https://raiden.network/micro.html] • Cut-down version of Raiden network, for micro payments • Use cases: IOT, ads serving: lots of unidirectional micropayments at ZERO COST • Supported tokens ERC20, ERC233 (only allows transfers to contracts that support them) • SpankChain (SpankChain: SPANK):Anonymous payment (adult Dapps) • Connext (No coin): micropayment channel framework • FunFair (FunFair: FUN): gaming and casino infrastructure • Counterfactual (No coin): framework for building side channels based apps
Ecosystem solutions to address scalability and privacy Side chains (idea to scale bitcoin in 2014) • Started with bitcoin sidechains, which appeared in 2014 to improve scalability • Main idea: participants interact in child blockchain • Child blockchain works like the parent one (generally PoS), but it is smaller and localized so faster (still miners or validators needed, and still 51% attack issues) • Ethereum blockchain is used as an arbitration layer: in case of malicious parties the sidechain can be reverted on to the main blockchain
Ecosystem solutions to address scalability and privacy Plasma side-chains • Plasma: Ethereum sidechain design, with stronger guarantee than Bitcoin sidechain: you can withdraw assets from main chain, even under compromised sidechain operator • Plasma Minimal Viable Plasma (MVP, Vitalik Jan 2018): basic principles for Tx • Plasma MoreViable Plasma: lower number of steps to perform Tx • Plasma cash (Vitalik & Karl, mar 2018): simplified implementation requiring non-fungible tokens (non splittable, or replaceable) • Plasma debit: plasma cash for micropayments (possible to split tokens) • Plasma bridge: shared plasma chain between two L1 blockchains to facilitate atomic swaps (see atomic swaps later) • Full EVM plasma is complex (not done yet)
Ecosystem solutions to address scalability and privacy Major Plasma Implementations • The Loom network [Loom Network: LOOM, Https://Loomx.io] • Framework for building plasma cash sidechains (DAppChain), with a focus on online gaming (example: cryptozombie) • Also implemented Plasma bridge: a bridge for Ethereum for comm with side chains but also interchain communication with other blockchains such as Cosmos, EOS, tron • Ambition: be universal layer 2 for high performance apps • Different consensus optimised for scalability: Delegated proof of stake DPoS • ERC-721 (non fungible tokens (NFT)), but also ERC20 and ERC223 soon, secured by plasma on Ethereum • PlasmaPay [https://lab.plasmapay.com/] • Payment platform built on Plasma • Omisego [OmiseGO: OMG, https://blockonomi.com/what-is-omisego/] • Platform for payments, first Plasma implementation on Ethereum • Based on PoS
Ecosystem solutions to address scalability and privacy Roadmap to Ethereum 2.0: Serenity • Previous 1.0 releases • Olympic (launch in May 2015) • Frontier (July 2015) • Homestead (Mar 2016) • Byzantium (Metropolis # 1 - Oct 2017) • Constantinople (Metropolis # 2 - Feb 2019) • Next 1.0 releases • Istanbul (Metropolis #3 - Oct 2019) • ProgPoW => improve ethashPoWalgo to reduce domination of ASIC miners vs GPU miners
Ecosystem solutions to address scalability and privacy Roadmap to Ethereum 2.0: Serenity • Objectives of Ethereum 2.0 • Move from Proof of Work (PoW) to Proof of Stake (PoS) consensus algo • Faster, more energy efficiency (and ethical) and decentralized • Improved EVM: eWASM • EVM built on standard web assembly (WASM) technology • Sharding • Higher transactions per second • Near instant finality • Improved side-chain (L2) support • Better permissioning, privacy, governance suited to users
Ecosystem solutions to address scalability and privacy Serenity estimated releases • Phase 0: Beacon Chain (2019) • Introduction of PoS blockchain (beacon chain) alongside current PoW one • Foundations to manage PoS protocol • Ensure settlement TXs through PoS • Phase 1: Shard Chains (2020) • Introduction of sharding • Interoperation of sharding with beacon (PoS) chain • Phase 2: eWASM (2021) • Faster code execution • More secure networking (protocol standardization) • Possibility of developing in other standard languages • Phase 3: further improvements (2022) • Adaptation based on technology evolution from previous phases
Ecosystem solutions to address scalability and privacy Proof of Stake • Initially alpha Casper FFG (Casper FFG paper + Pyethreum implementation + FFG testnet) • Subsequently: Casper + sharding together • Beacon chain has 3 main responsibilities: • Managing PoS mechanism (validators vs mining) • Processing crosslinks (state of shard chains, introduced later) • Direct consensus and finality (settle TXs and reward/penalize validators)
Ecosystem solutions to address scalability and privacy Shard chains • Blockchain seen as a DB: With sharding, the DB a table is not stored in one single server • A shard is a partition of the DB present on a single server • The DB is the union of all the shards • Many document or KVP databases like Couchbase or Mongo support sharding to improve performance • Benefits: • Improved performance and scalability (parallel processing on different nodes) • further decentralization
The evolving Ethereum ecosystem • Review current ETH 1.0’s ecosystem • What’s wrong with ETH 1.0? • L1 and L2 solutions to ETH 1.0’s issues • Main ecosystem’s trends
Main trends in the Ethereum ecosystem • Security Tokens (main driver, since mid-2018) • Decentralized oracles (ChainLink) • X-chain D-exchanges: Atomic Cross Chain Swaps (ACCS) • Other X-chain interoperability protocols
Main trends in the Ethereum ecosystemSecurity Tokens • Security Tokens are regulated, contrary to unregulated Utility Tokens • Security token represent an asset, not utility • tokens no longer issued in ICOs but STOs • Financial institutions are looking at them seriously: cost reduction opportunity • Competing Security Token standards, mainly derived from ERC20: • https://thesecuritytokenstandard.org/ - ERC1400 (restricted), ERC1410 (restricted, partially fungible) • https://erc1404.org/ - ERC1404 (restrict ownership to single individuals, prevent trading in wrong jurisdiction, ability to revoke token) • Harbor R-token • Polymath S-20 • Securitize DS-20
Main trends in the Ethereum ecosystemSecurity Tokens • Other token flavours: • ERC223 (it prevents to accidentally send token to contracts not designed to accept them: Https://GitHub.com/Ethereum/EIPs/issues/223; solve an issue on ERC20 tokens: when these are sent to contract address that is not meant to handle those tokens: they are stuck forever in that contract; it has affected: QTUM, EOS, GNT, Tronix, OMG; Aldo allows to use transfer() for tokens) • ERC721 (non-fungible - unique token) • ERC884 (share of Delaware corporation)
Main trends in the Ethereum ecosystemSecurity Tokens • The players: • ST issuance: Polymath, Harbor, Republic, Coinless, start engine • Various KYC providers (or in-house) • Liquidity: Regulated and compliant ST Exchange => T0, Coinbase • Trust and regulatory Custodian services: Prime trust, Knox wallet by TokenSoft, BitGo trust • Transfer agent: KoreConX, V stock Transfer • Clearing and Settlement: BitGo • Broker dealer: Tokensoft global markets
Main trends in the Ethereum ecosystemDecentralized Oracles • ChainLink is a decentralized oracle framework, different from centralized oracles such as Provable Things • From a high-level point of view the flow is similar to centralized oracles
Main trends in the Ethereum ecosystemDecentralized Oracles • The ideal security view of an oracle • Why oracle security is hard to achieve: • No perfect trustworthy source (due to genuine mistakes or malicious design) • Due to this, oracle might reply inaccurate data (mistake or malicious): loss of integrity
Main trends in the Ethereum ecosystemDecentralized Oracles • ChainLink solution (simplified view)
Main trends in the Ethereum ecosystemDecentralized Oracles • ChainLink is a decentralized oracle framework, different from centralized oracles such as Provable Things • From a high-level point of view the flow is similar
Main trends in the Ethereum ecosystemX-chain D-exchanges: Atomic Cross Chain Swaps (ACCS) • I want to sell BTC and buy ETH • Normally I would go to a centralized exchange: Coinbase, Kraken, Binance, etc • I simultaneously sell Bitcoin and buy ETH from the centralized exchange • The centralized exchange gets the required ETH volume from sellers of ETH
Main trends in the Ethereum ecosystemX-chain D-exchanges: Atomic Cross Chain Swaps (ACCS) • Problem with centralized exchanges • Private key hack vulnerability: latest Bitrue $4M hack (Singapore exchange) • Mismanagement: Mt Gox (Japanese), Quadriga CX (Canadian) • Fluctuations in demand: micro crashes due to missing volume (demand) • Government regulation (KYC, custody, tax authorities)
Main trends in the Ethereum ecosystemX-chain D-exchanges: Atomic Cross Chain Swaps (ACCS) • Atomic Cross Chain Swap: solution to centralized exchange limitation • An atomic transaction is one where both parties either receive what they are owed, or none does it • Peer to peer exchange of crypto between two people (not through exchange) • No problems of missing volume (demand) • No problems of private key hacking (users always in control of keys)
Main trends in the Ethereum ecosystemX-chain D-exchanges: Atomic Cross Chain Swaps (ACCS) • How old is this technique? • First ACCS on 20 September 2017: Decred <> Litecoin (see tweet) • Where does an Atomic swap happen? • Can be performed cross - blockchain => cross-chain trading • A user holds BTC on the Bitcoin blockchain • A user holds ETH on the Ethereum blockchain • Can be performed on off-chain channels (side-chain or state-channels)
Main trends in the Ethereum ecosystemX-chain D-exchanges: Atomic Cross Chain Swaps (ACCS) • How do Atomic Swaps work? • They are based on kind of sophisticated double commit reveal-scheme • If a party changes their mind, they can withdraw and no party will get the other party’s coins • Technically this is implemented with Hashed TimeLock Contracts (HTLC) => same technique used in Bitcoin Lightning network and Ethereum payment channels (i.e. : Raiden network) • Hashed TimeLock Contracts (HTLC) • Opening up of channel for transfers before pre-agreed deadline • A party can refuse payment acceptance and return the funds to payer • The multi-signature forces both parties to co-operate to complete the swap successfully
Main trends in the Ethereum ecosystemX-chain D-exchanges: Atomic Cross Chain Swaps (ACCS) • On-Chain vs Off-chain atomic swap • On chain atomic swap is performed on either coin’s blockchain; both coin: • Must support HTLC standard • Must have the same hashing algorithm • Off-chain atomic swaps are performed on Level2, outside blockchain, for example on Bitcoin Lightning network or Ethereum Raiden network
Main trends in the Ethereum ecosystemX-chain D-exchanges: Atomic Cross Chain Swaps (ACCS) • Advantages of atomic swaps • Improve interoperability across blockchain • Lay foundation to trustless and fee-less DEX • Avoid issues of CEX: hacking, malicious owners, high fees • No need of exchange coins like BTC or ETH => directly LTC -> EOS • Limitations • Requirement of HTLC tech, of same hash algo => not all coins support it • Speed is not available yet on on-chain swaps, only off-chain • No clear wallet standard yet => atomic swaps unsupported by major wallets