Many Chains, Many Tokens, One Ecosystem

tendermint 2,022 views 140 slides Feb 21, 2019
Slide 1
Slide 1 of 140
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85
Slide 86
86
Slide 87
87
Slide 88
88
Slide 89
89
Slide 90
90
Slide 91
91
Slide 92
92
Slide 93
93
Slide 94
94
Slide 95
95
Slide 96
96
Slide 97
97
Slide 98
98
Slide 99
99
Slide 100
100
Slide 101
101
Slide 102
102
Slide 103
103
Slide 104
104
Slide 105
105
Slide 106
106
Slide 107
107
Slide 108
108
Slide 109
109
Slide 110
110
Slide 111
111
Slide 112
112
Slide 113
113
Slide 114
114
Slide 115
115
Slide 116
116
Slide 117
117
Slide 118
118
Slide 119
119
Slide 120
120
Slide 121
121
Slide 122
122
Slide 123
123
Slide 124
124
Slide 125
125
Slide 126
126
Slide 127
127
Slide 128
128
Slide 129
129
Slide 130
130
Slide 131
131
Slide 132
132
Slide 133
133
Slide 134
134
Slide 135
135
Slide 136
136
Slide 137
137
Slide 138
138
Slide 139
139
Slide 140
140

About This Presentation

Sunny Aggarwal, presents Cosmos: An Internet of Blockchains at a Blockchain at Berkeley workshop on February 19th, 2019. View event details: https://cosmos.network/events/bab-one


Slide Content

Many Chains, Many Tokens, One Ecosystem Sunny Aggarwal , Cosmos Research Scientist February 2019 | Berkeley, CA

Many Chains, Many Tokens, One Ecosystem Sunny Aggarwal , Cosmos Core Developer February 2019 | Berkeley, CA Evolution of Human Coordination

1. Villages and Kingdoms

2. Empires

3. Nation/City States

Many Chains, Many Tokens, One Ecosystem Sunny Aggarwal , Cosmos Core Developer February 2019 | Berkeley, CA Economic Integration without Political

Free Trade Zones

Containerization

Institutions

Internet

Generation 1

Generation 2

Generation 3

Generation 1 Generation 2 ✓ Sovereignty ✓ Efficient state machines ✓ Customizability ✓ Interoperability of Dapps ✓ Easier to develop ✓ “1 click” deploy

Generation 1 ✓ Sovereignty ✓ Efficient state machines ✓ Customizability ✓ Interoperability of Dapps ✓ Easier to develop ✓ “1 click” deploy Generation 2 Generation 3

✓ Ability to connect multiple separate networks of servers into a single network of networks. ✓ Ability to scale in terms of throughput and geography ✓ Ability to tolerate and recover from failures ARPANET ABRIL 1971 Goals for the Internet

✓ Ability to connect multiple separate networks of servers blockchains into a single network of networks blockchains. ✓ Ability to scale in terms of throughput and geography ✓ Ability to tolerate and recover from failures Goals for the Internet of blockchains

Generation 1 ✓ Sovereignty ✓ Efficient state machines ✓ Customizability ✓ Interoperability of Dapps ✓ Easier to develop ✓ “1 click” deploy Generation 2 Generation 3 ✓ Scalability ✓ Fault Tolerance

Proof of Work

Generation 1 ✓ Sovereignty ✓ Efficient state machines ✓ Customizability ✓ Interoperability of Dapps ✓ Easier to develop ✓ “1 click” deploy Generation 2 Generation 3 ✓ Scalability ✓ Fault Tolerance ✓ Sustainable

Generation 1 ✓ Sovereignty ✓ Efficient state machines ✓ Customizability ✓ Interoperability of Dapps ✓ Easier to develop ✓ “1 click” deploy Generation 2 Generation 3 ✓ Scalability ✓ Fault Tolerance ✓ Sustainable ? Privacy

✓ Sovereignty ✓ Efficient state machine ✓ Customizability ✓ Interoperability ✓ Easier to develop ✓ “1 click” deploy ✓ Scalability ✓ Fault Tolerance ✓ Sustainable Generation 3

Many Chains, Many Tokens, One Ecosystem Sunny Aggarwal , Cosmos Core Developer February 2019 | Berkeley, CA The Tools

Tendermint Cosmos SDK IBC Proof of Stake Ethermint Monetary Experiments Cosmos Hub Sample Zones Low Level Libs Alternative Frameworks Voyager

Tendermint

Tendermint BFT Consensus 1) Propose

Tendermint BFT Consensus Polka 2) Pre-vote 1) Propose

Tendermint BFT Consensus Commit Polka 2) Pre-vote 1) Propose 3) Pre-commit

1) Propose 3) Pre-commit

Tendermint BFT Simplified and improved PBFT Provable liveness in partially synchronous network Safety threshold: ⅓ of validators’ power 1-block finality Consistency-prioritizing Rotating proposer Tendermint 2.0 in progress

Tendermint BFT

Sovereignty Efficient state machine Customizability Interoperability Easier to develop “1 click” deploy ✓ Scalability ✓ Fault Tolerance Sustainable Tendermint BFT

Formal specification with proofs of safety and liveness: https:// arxiv.org /abs/1807.04938 Tendermint Diagram: http:// bit.ly /2Nfl9Vb Casper vs Tendermint: https:// bit.ly /2Iu4Uno Tendermint BFT Learn More!

Tendermint Core First production grade BFT consensus engine Written in Go Handles all p2p and consensus logic Can handles 100s of validators at sub-5 second block times

Maximum throughput ( tps ) Bitcoin 3,2 Ethereum 15 Ethermint 200 Tendermint ~14.000* Visa 56.000 * Depends on the number of validators and block size Throughput

Scalability Vertical scalability : How much tps can a single blockchain archive. Has a cap Horizontal scalability : Several separate and specialized chains that interact efficiently through a network Vertical Horizontal

Blockchain Stack Consensus Layer Application Layer Networking Layer Application Layer Networking Layer Consensus Layer ABCI Tendermint Core Application Layer

SECURITY & NETWORKING PLATFORMS APPLICATION PLATFORMS SOCKET PROTOCOLS CGI ABCI Tendermint Your State Machine Tendermint Core

Networking Layer Consensus Layer ABCI Networking Layer Consensus Layer ABCI Chainmint Ethermint EVM

Sovereignty Maintain sovereignty of each zone according to their values and interests Each zone has its own validator set Higher security than pure economic incentives alone There is a continuum between private and public Sovereignty

✓ Sovereignty Efficient state machine ✓ Customizability Interoperability Easier to develop ✓ “1 click” deploy ✓ Scalability Fault Tolerance Sustainable Tendermint Core

Tendermint Core Docs: https:// tendermint.com /docs/ Performance Testing Results: https:// bit.ly /2NKCW9n Ethan Buchman’s Masters Thesis: https:// bit.ly /2S9PyoF Tendermint Core Learn More!

Bonded Proof of Stake

Why Proof of Stake?

Proof of Stake Basics Use bonded tokens as resource limiter for determining voting power Eliminates wasteful energy consumption of Proof of Work Public permissionless system Solve nothing at stake problem through slashing and unbonding periods

Delegation Allow any token holder to be a staker by delegating to a validator Skin in the game Automatic reward distribution Solve stickiness issues through features such as instant redelegation and validator commitments

Multi Token Model Specialized staking token for security Similar to ASIC security Allow fees to be paid in any token to massively improve user experience

✓ Sovereignty Efficient state machine Customizability Interoperability Easier to develop “1 click” deploy Scalability Fault Tolerance ✓ Sustainable Proof of Stake

Cosmos Proof of Stake Deep Dive: https:// youtu.be /XxZ04w2x4nk Multi Token Model Paper: http:// bit.ly /2V6YZXI Efficient Token Distribution Paper: http:// bit.ly /2SReAhO Proof of Stake Learn More!

Cosmos SDK

Sovereignty Smart contracting systems should be used for contacting, not Dapps Most production Dapps don’t need a turing complete VM Application Specific Blockchains

Sovereignty Reduces attack surface Efficiency gains due to lower computational overhead Fine tune to optimize for your application Application Specific Blockchains

Sovereignty ✓ Efficient state machine ✓ Customizability Interoperability ✓ Easier to develop “1 click” deploy ✓ Scalability Fault Tolerance Sustainable Cosmos SDK

Cosmos SDK Tutorial: https:// cosmos.network /docs/tutorial/ Cosmos SDK Repo: https:// github.com /cosmos/cosmos- sdk The Case for Application Specific Blockchains: http:// bit.ly /2SMiCI7 Cosmos SDK Learn More!

Low Level Libs

Sovereignty Improvement to Protobuf standard Naturally support interfaces instead of OneOf Deterministic Generate proto files from Go code Amino

Sovereignty Self-balancing AVL tree All values are stored at leaves Immutable with snapshots and caching All operations log(N) No hashing keys required IAVL+

Sovereignty Cryptography library with built-in Amino support Abstracted multisignature pubkeys BGLS Aggregate Signature implementations BGLS verifier in EVM Crypto

Sovereignty Efficient state machine Customizability Interoperability ✓ Easier to develop “1 click” deploy ✓ Scalability Fault Tolerance Sustainable Low Level Libs

Go-Amino Repo: https:// github.com / tendermint /go-amino IAVL+ Repo: https:// github.com / tendermint / iavl BGLS Repo: https:// github.com /Project- Arda / bgls Low Level Libs Learn More!

Alternative Frameworks

Fork of the Cosmos SDK maintained by IOV Simpler version of the SDK with more limited features Second Go Framework IOV Weave

Potential Future Frameworks Chainmint Ethermint

Sovereignty ✓ Efficient state machine ✓ Customizability Interoperability ✓ Easier to develop “1 click” deploy Scalability Fault Tolerance Sustainable Alternative Frameworks

Lotion JS Repo: https:// github.com / nomic-io /lotion Weave Repo: https:// github.com / iov -one/weave Alternative Frameworks Learn More!

Ethermint

EVM client built using the Cosmos SDK Will be fully Web3 compatible Can deploy existing Ethereum dapps / smart contracts Can add your own precompiles Working with TurboGeth team to build and optimize Ethermint 2.0

Sovereignty ✓ Efficient state machine ✓ Customizability Interoperability Easier to develop ✓ “1 click” deploy Scalability Fault Tolerance Sustainable Ethermint

Ethermint DevCon Presentation: https:// youtu.be /VCLbS1Oks8A Ethermint Repo: https:// github.com /cosmos/ ethermint Ethermint Learn More!

Inter Blockchain Communication

Sovereignty Application-based sharding is logical as it minimizes bottleneck You only have to be a full node for applications you care about Horizontal Scalability

Sovereignty Equivalent to Application Layer in Internet stack Different types of packet structures/handling protocols Token Transfers Non Fungible Assets Data Agoric ERTP Packet Types

An Asset Transfer User Story

Practical use cases in (a fully formed) Cosmos Network. You can take your $BTC from the #Bitcoin blockchain and move it to a casino zone to play some poker. ✨Wow!✨ You won some money! 🤑 Since you don't want your friends to witness your gambling habits🤐 you move your BTC...

...to a zero knowledge zone with similar semantics as # Zcash , sending your "hard" earned BTC back to yourself over a zero-knowledge tx . 🍬Sweet! Now you have some extra 💰 to take your friend up on a bet. You bet your friend that your # cryptokitty won't give birth to...

...an orange kitten 🐈 within 6 months. Since this is a long time scale and $BTC is still volatile, you decide against using it as the payout vehicle. You instead choose to use a stablecoin like $DAI to do the job. So you send your BTC out of the ZK zone to a @0xProject zone...

...where you use the DEX to trade your 💱BTC for DAI. 📨"You've got DAI." Time to place the bet 🎲 You want it to be trustlessly arbitrated 🔐 meaning no middleman allowed! 🙅 For your one-time bet, you opt for opening up a # smartcontract because it doesn't make sense...

...to spin up a #blockchain (i.e. zone) for one bet. So you send your DAI over to an @ ethermint zone from the 0x zone to put the bet in the smart contract that your friend already wrote. The smart contract locks 🔒 up both your $DAI, set to expire in 6 months if!!!

your kitty doesn't birth an orange cryptokitten , in which case, your friend gets the $DAI. If your kitty does indeed conceive an orange 🐈 within that timeframe, you send your 🐈 from the cryptokitty zone to the smart contract and receive your payout💰 GAME ON ♠️♥️♣️♦️

Sovereignty Efficient state machine Customizability ✓ Interoperability Easier to develop “1 click” deploy ✓ Scalability Fault Tolerance Sustainable IBC

ZK Summit IBC Presentation: https:// youtu.be /cjfYThAk06w EdCon IBC Presentation: https:// youtu.be /enPetIum0d0 IBC Webinar: https:// youtu.be /m_b_Noe70Vc IBC Learn More!

IBC Spec: https:// github.com /cosmos/cosmos- sdk /tree/develop/docs/spec/ ibc Peg Zones: http:// bit.ly /2V41p9D IBC Learn More!

Cosmos Hub

Sovereignty Hubs can be thought of as ISPs in the Internet of Blockchains Minimizes the number of IBC connections to N rather than N 2 Act as a secure medium to prevent chains from double spending each other Hubs

@cosmos

Sovereignty Governance Name Service Peg Zones Leased Security Additional Services

+2/3 validators have signed secp256k1 signature Mint ERC20 Photons waits for 100 blocks Logs events

Sovereignty Efficient state machine Customizability ✓ Interoperability Easier to develop ✓ “1 click” deploy Scalability Fault Tolerance Sustainable Cosmos Hub

CESC Interchain Scaling Presentation: https:// youtu.be /D4Q-gA_kPrU PolkaDot vs Cosmos: https:// forum.cosmos.network /t/ polkadot -vs-cosmos/1397 Cosmos Intro: https:// cosmos.network /intro Cosmos Hub Learn More!

Voyager

Sovereignty Efficient state machine Customizability ✓ Interoperability Easier to develop “1 click” deploy Scalability Fault Tolerance Sustainable Voyager

Voyager Repo: https:// github.com /cosmos/voyager Voyager Live Unstable Demo: https://voyager- staging.interblock.io / Voyager Learn More!

Sample Zones

Monetary Experimentation

Hard Spoons Monetary Policy UBI Experimentation Local Currencies Crypto Fiat Stablecoins

✓ Sovereignty ✓ Efficient state machine ✓ Customizability ✓ Interoperability ✓ Easier to develop ✓ “1 click” deploy ✓ Scalability ✓ Fault Tolerance ✓ Sustainable Generation 3

@cosmos @sunnya97