Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ETC Summit 18

Talk about ETC Sidechains and ETCDEV Orbita

  • Login to see the comments

  • Be the first to like this

ETC Summit 18

  1. 1. 1 ETCDEV Sidechains Igor Artamonov ETCDEV ETC Summit 2018, Seoul, Korea
  2. 2. 2 Software engineer, distributed systems, data processing, security, Java Followed Ethereum Classic blockchain when Ethereum ETH made the fork in 2016, which violated base principles of public blockchain. Founder of ETCDEV, a leading Ethereum Classic development company with a strong focus on decentralized computing providing long term support for the ETC blockchain. Igor Artamonov
  3. 3. Why we need sidechains 3
  4. 4. 4 Mainnet is Slow
  5. 5. 5 Mainnet is Expensive
  6. 6. 6 Mainnet is Bottleneck • Top 5 DApps on ETH use more than 40% of the network • Currently CryptoKitties dapp uses almost 2% of the mainnet (CryptoKitties is not in the top 5) • We can have no more than 50 simultaneously used DApps on mainnet. • DApps can’t rely on it
  7. 7. 7 Scalability is Holy Grail Scalability is biggest problem of blockchain and every blockchain is researching now how to solve that.
  8. 8. 8 Scalability Solutions • Vertical Scale • Increase Throughput • Optimize Throughput • Horizontal Scale
  9. 9. 9
  10. 10. 10 Vertical Scale Increase Throughput
  11. 11. 11 Can’t increase block • Current Gas Limit (or «block size») is already big in Ethereum, it requires a powerful and expensive hardware to keep a full node • Most of the people don’t have powerful enough system (laptop/pc) to have full node and rely on centralised providers (MyEthereWallet, GasTracker, etc) • Increasing Gas Limit will lead to further consolidation and centralisation
  12. 12. 12
  13. 13. 13 Vertical Scale Optimize Throughput
  14. 14. 14
  15. 15. 15
  16. 16. 16
  17. 17. Vertical Scalability through centralisation doesn’t work for us. We want to keep mainnet secure and decentralized as much as possible 17
  18. 18. 18 Horizontal Scale
  19. 19. 19 Sidechains Sidechains, or Layer 2, is one of the solutions. Layer 1 at this case is a mainnet. It’s an old idea, discussed on Bitcoin forums, and resulted in many projects. Layer 1 and Layer 2, first is slow and expensive, second is fast and cheap, but can’t be secure w/o Layer 1. Sidechain is a way or processing set of transactions on a separate network, with very cheap execution, the use mainnet to finalise end result of it
  20. 20. 20 • Mainnet is a shared state between all Dapps • Shared state is a known problem for parallel computing, and there’re few basic rules. One of them is called Amdahl Law, and known since 60x • Sidechains is a solution that decreases amount of operations on that shared state (mainnet) Amdahl Law
  21. 21. 21 Costs and security • A sidechains are cheap because it’s not PoW • It can be based on a trusted and centralised chains, it is acceptable for short time execution of a series of transactions • Mainnet finalizes resulting state in a secure fashion
  22. 22. 22 Many existing projects • Lightning Network • Raiden • Plasma • Polkadot • Cosmos • Loom
  23. 23. It’s ok to have many solutions 23
  24. 24. ETCDEV approach 24
  25. 25. 25 Orbita
  26. 26. 26 Orbita components What is going to be provided
  27. 27. 27 Programming Interfaces • It’s not a new blockchain or change to a base layer • though it may require some improvements in p2p, signatures and other apis • It’s a list of standardised interfaces, APIs and ABIs to have a commons language for all Orbita participants • Same as ERC-20 is an interface to a token • 3rd party developers can have own implementations more suitable for their needs
  28. 28. 28 Documentation & Specification To make such interfaces usable you need to document them, make a clear specifications and development manual about how to use them to build own Dapp on Orbita
  29. 29. 29 Set of base tools • basic components and implementation • tools to launch a Dapp to Orbita • tools to connect to other orbitas and Dapps
  30. 30. 30 Key features
  31. 31. 31 Security • PoW is secure for mainnet • PoW is too expensive for orbitas • PoA/PoS works for an orbita • Cheap for execution • Can be secure enough when applies transaction finality from more secure parent chain
  32. 32. Separate orbita for every DApp 32
  33. 33. 33 Components • Checkpoints for security • Read Access between orbitas through oracles • Write Access between orbitas through atomic swaps
  34. 34. 34
  35. 35. 35 Checkpoints Checkpoint is how you get transaction state finalisation on an orbita. It’s a synchronisation point, a commit of a state to parent orbita which is used as a validation component of current orbita. Which means that if you want to revert a state in an orbita, you’ll need to revert state associated with checkpoint on both, parent and child. Underlying orbit inherits security from top orbita.
  36. 36. 36 Oracles For a read access across it’s planned to have oracles based proxy contracts, i.e. when an actual value of a contract execution can be requested on once chain, with a small bounty, and an automatic oracle with access to both orbitas, provides most actual value.
  37. 37. 37 Atomic Swaps For write access between orbitas it’s much more complicated (i.e. more expensive to execute). Orbita will rely on Atomic Swap as a general pattern for such kind of operations. There’re few experimental operations, such as PeaceRely bridge, and ETCDEV is planing to adopt such logic for cross-orbita write operations.
  38. 38. 38 Stack Integration Another critical part of the project is to make it all usable by end users, which means that all operations and dapp usage should be native for a user, and all wallets and other user facing tools seamlessly integrate orbita-based services.
  39. 39. 39 Other elements • Standartized naming and navigation between orbitas • Orbita service discovery • Different blockchain configuration for an orbita
  40. 40. Roadmap Orbita 40
  41. 41. 41 Current State • We got a prototype of Geth working with checkpoints on another network (Sidekick project on our github) • We have support of Clique based PoA networks in Geth, support Rinkeby
  42. 42. 42 Next steps to proof of concept • More user friendly way of running Geth with checkpoints • Cross Orbita swaps
  43. 43. 43 Next steps to proof of concept • More user friendly way of running Geth with checkpoints • Cross Orbita swaps
  44. 44. 44 Pilot Project with OpenStack • We consider OpenStack Passport project as a first public practical implementation • OpenStack is a free and open-source software platform for cloud computing • It supported and used by many organisations, such as Ubuntu, Oracle, EMC, VMWare, Red Hat, IBM, Huawei, Cisco, Rackspace, HP, SUSE and others • OpenStack is looking for a decentralized solution to user authentication, authorisation and resource sharing between different cloud providers
  45. 45. 45 Steps after • Oracles for reading cross-orbita • PoS orbita • Integration into Emerald • Snapshot sync for an orbita
  46. 46. Thank You 46
  47. 47. 47 ETCDEV Ethereum Classic Developers Igor Artamonov @splix