Cosmos Token Model

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

1 Cosmos Multi-Token Proof of Stake Token Model

2 Sankalp Aggarwal
3 Tendermint, Berkeley, CA, USA
4 http://www.sunnya97.com
5 [email protected]

6 Abstract
7 This paper presents a novel token model for Proof of Stake based blockchains being pioneered by
8 the Cosmos Hub. We argue that general purpose currencies should not be used as staking tokens,
9 but rather we should use tokens whose primary utility is to be used for staking. We also present
10 mechanisms for allowing the blockchain’s transactions fees to be paid in a multitude of fee tokens,
11 which will improve the user experience of using the blockchain.

12 2012 ACM Subject Classification Theory of computation-Algorithmic mechanism design; Law,


13 social and behavioral sciences-Economics

14 Keywords and phrases Proof of Stake, Staking Tokens, Cosmos, Tendermint

15 Digital Object Identifier 10.4230/LIPIcs..2019.

16 1 Introduction

17 Proof of Stake refers to the concept of using ownership of tokens in a blockchain as a sybil
18 resistance mechanism for determining participation in its consensus protocol. The Cosmos
19 Hub is a Proof of Stake based blockchain that uses Tendermint consensus and serves as a
20 backbone to the Cosmos ecosystem. The Cosmos Hub provides a number of innovations to the
21 field of Proof of Stake and cryptoeconomic design, including features such as skin-in-the-game
22 delegation, instant redelegation, delegation commitments, and efficient automatic reward
23 distribution. [1] This paper, however, will focus particularly on the Cosmos Hub’s token
24 model for Proof of Stake systems, which differs from most existing Proof of Stake proposals.
25 While this model being presented was designed for the Cosmos Hub, it is meant to serve
26 as an example for other Proof of Stake blockchains, both inside and outside of the Cosmos
27 ecosystem to emulate.

28 Tendermint Consensus

29 The Cosmos Hub uses Tendermint as its consensus algorithm.[12] Tendermint is a byzantine
30 fault tolerant consensus algorithm developed by Jae Kwon in 2014 to address the speed,
31 scalability, and environmental concerns of Proof of Work. [10] The economics of Cosmos Proof
32 of Stake are designed with a classical BFT algorithm (such as Tendermint) in mind due to its
33 design of involving all validators in the production of each block, a substantial difference from
34 Nakamoto consensus. [16] Unlike PBFT, from which it is heavily inspired, Tendermint also
35 has the ability to seemlessly change the leader on a per-block basis. This means validators in
36 Tendermint take turns producing blocks in a weighted round robin fashion. Furthermore,
37 its strict accountability for byzantine faults allows us to punish misbehaving validators and
38 provide economic security for the network. The safety and liveness guarantees of Tendermint
39 hold under that assumption that less than 1/3 of voting power is byzantine. Description of
40 Tendermint consensus algorithm and the proof of its correctness can be found in [4].
41 The Cosmos Hub uses Tendermint in its public Proof of Stake context. This works in the
42 following method as described by the original Tendermint whitepaper [10]:
© Sankalp Aggarwal;
licensed under Creative Commons License CC-BY
Tokenomics, International Conference on Blockchain Economics, Security and Protocols.
Leibniz International Proceedings in Informatics
Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl Publishing, Germany
XX:2 Cosmos Hub Token Model

43 “Validators are users with accounts that have coins locked in a bond deposit by posting
44 a bond transaction. We say that a validator has voting power equal to the amount of
45 the bonded coins.”

46 In such a system, the validator set is open and permissionless, which means that anyone
47 who owns some of the staking token in the system can bond their coins and become a validator.
48 In the Cosmos Hub, this staking token is known as an Atom. The limited resource of Atoms
49 acts as a sybil prevention mechanism. A single actor cannot create multiple validator nodes
50 in order to increase their voting power, as their voting power is determined by their total
51 number of atoms owned, not the number of validator nodes they control. Because all that
52 determines a validator’s voting power is their bonded stake and not reputation or real world
53 identity, validators can choose to be either anonymous or public.
54 One of the key innovations of the Tendermint whitepaper was the idea of using validator
55 “security deposits” which can be seized and burned by the protocol in a process known as
56 "slashing" if a validator is caught creating attributable byzantine faults that harm to the
57 well-functioning of the system, thus solving the Nothing-at-Stake problem suffered by first
58 generation Proof of Stake blockchains like NXT and BitShares 1.0 [2] [14]. These security
59 deposits are locked in a bonded account and when a staker wishes to unbond their staked
60 tokens, they are still bonded for the period of an “unbonding period”. During this unbonding
61 period, the validator doesn’t have any voting power, but proof of malicious activity from
62 past byzantine faults can still be submitted, and the validator can still be slashed.
63 The details of the slashing conditions which lay out the possible byzantine faults and
64 their respective punishments are out of scope of this paper.

65 Role in the Cosmos Ecosystem

66 The Cosmos Ecosystem is a partially-ordered network of blockchains called zones that run
67 concurrently and interoperate using light client-style proofs to create a multi-blockchain
68 ecosystem. It is termed an Internet of Blockchains as much like the traditional Internet
69 which connects otherwise isolated networks, Cosmos connects otherwise isolated blockchain
70 networks. These multiple blockchains can communicate using a protocol called Inter Block-
71 chain Communication (IBC), which can be thought of as the TCP/IP of Cosmos. [8] IBC
72 enables zones to create two-pegs between them and transfer coins between them, essentially
73 making them sidechains of each other. Using IBC, you could move a native token of Zone A
74 onto Zone B for use within the state machine of Zone B. Much like how Internet Service
75 Providers (ISPs) help route IP packets, Hubs are special blockchains that help zones route
76 IBC packets. [12]
77 The Cosmos Hub is one such hub to which zones can connect to and is secured by an open
78 and globally decentralized set of validators. Along with just providing routing for packets,
79 the Cosmos Hub also preserves the global invariance of the total amount of each token across
80 the zones, preventing zones from double spending other zones. [12]
81 Many ISPs, along with providing Internet connectivity, also offer a variety of additional
82 services such as web hosting. Similarly, the Cosmos Hub also provides hosted consensus.
83 While zones can connect to the Cosmos Hub with their own independent validator sets, zones
84 also have the opportunity to be validated by the Cosmos Hub validators and benefit from
85 the shared security of all the chains operated by the Cosmos Hub validators. [11]
86 Because the Cosmos Hub is responsible for the operation and consensus of many chains,
87 the security and cryptoeconomic design of the Hub is of paramount importance.
S. Aggarwal XX:3

88 2 Token Economics and Incentives


89 Let us examine some of the fundamental economics and incentives of blockchain systems. To
90 do so, let us first define the two primary classes of actors in a blockchain network, the keepers
91 and the users. The term keepers refers to a class of actors that act as the operators and
92 maintainers of a blockchain network. In the context of blockchain consensus, keepers refers
93 to miners in a Proof of Work setting and stakers in a Proof of Stake setting [21]. The users of
94 a blockchain network are the people who are deriving some utility from the network. In any
95 public blockchain, the keepers of the chain are essentially offering the service of providing
96 BFT compute to the users of the blockchain, and in order for them to do this, they need to
97 be incentivized.
98 In order to explore incentivization, let us first set up some basic premises of the concept
99 of value. Blockchain ecosystem tokens can be considered a type of commodity. To borrow
100 from Marxian economic terminology, commodities have two identified types of value: use
101 value and exchange value [15]. Use value is defined as the “want satisfying power” of a
102 commodity. It is based on the utility of the commodity. Meanwhile, the exchange value of
103 a commodity is defined as “the amount of goods and services which we may obtain in the
104 market in exchange for a particular thing” [15]. We may commonly think of this as the price
105 of the commodity.
106 We can define the economic security of a blockchain consensus system as the amount
107 of money needed to be spent in order to attack the system, which is proportional to the
108 exchange value of the commodity needed to be consumed in order to pull off the attack.
109 In Proof of Work, the commodity needed to be spent is electricity, and thus the economic
110 security is the number of joules needed to attack times the exchange value (price) of joules.
111 Similarly, in Proof of Stake, the economic security is based on the number of staking tokens
112 needed to have more than 33% of stake times the exchange value of the staking token.
113 For many different reasons, the exchange value of a commodity might be greater than
114 the use value of the commodity. Trying to reason about and predict the exchange value of
115 Atoms is very difficult, especially due to the lack of market data before the public launch of
116 the Cosmos Hub. However, in theory, the exchange value should be effectively lower bounded
117 by the use value of the commodity. Thus, we can use this lower bound in order to reason
118 about the economic properties of our system.
119 In most Proof of Work blockchains, the miners are paid by the users through transaction
120 fees and sometimes block rewards which need to be paid in some token that has exchange
121 value. In these Proof of Work blockchains, there is usually a native token whose primary
122 purpose is to pay transaction fees in the network. In some cases, this same token also
123 has some other desired utility as well. For example, in Bitcoin, the token is used to pay
124 transaction fees but also acts as a generic monetary currency. But at the very minimum, the
125 use value of the token is its utility in affording you to use the blockchain due to its necessity
126 in paying transaction fees. Because this token has a use value, this gives it a lower bounded
127 exchange value, thus allowing it be used to compensate miners for their role in providing
128 consensus.

129 3 Staking Tokens


130 Single Token Model
131 The naive approach to creating a Proof of Stake blockchain is to try and extend this single
132 token model and use it for both fees and staking. Because the single token already has

To k e n o m i c s
XX:4 Cosmos Hub Token Model

133 some minimum exchange value enforced by its use value, it provides economic security to
134 the Proof of Stake by making sure there is real economic value at stake. This is done by
135 many Proof of Stake systems. For example, when switching to Casper, Ethereum plans to
136 use its existing fee token, Ether, as its staking token. [17] While there is some merit to the
137 conceptual simplicity of this model, it does lead to potential risks and issues.
138 In the single token model, the single token has utility beyond mere staking, thus there
139 will be a reasonably liquid amount of tokens that are not staked. The more utility that the
140 token has beyond staking, the more liquidity of that token is required for those purposes,
141 meaning a larger percentage of the tokens will not be staked. This weakens the security of
142 the system as it makes it easier to stealthily obtain enough tokens required to attack the
143 system.
144 For example, in a Proof of Work network, because electricity and computational power
145 have so many alternate utilities other than mining, the vast majority of these resources are
146 not used for mining and thus are "unaccounted for". For a Proof of Work blockchain using an
147 ASIC-resistant hashing, it would be possible for a large government to suddenly shift a lot of
148 its electric and computational resources to mining to attack the system. However, because
149 SHA-256 ASICs have little utility beyond Bitcoin mining (which is largely dominated by
150 ASICs), it is reasonable to assume that close to all existing SHA-256 ASICs are already
151 currently mining, and thus it is highly unlikely that any entity could suddenly start mining
152 and have over 50% of the hashrate, which is needed to take over the system [19]. Any attempt
153 to try to mass produce or buy up a majority of ASICs would take time and would also likely
154 send detectable signals into ASIC markets, allowing governance mechanisms to be able to
155 preemptively respond i.e. changing the hash function.
156 Let us imagine a hypothetical situation in which a large token holder (in industry terms,
157 a whale) owns 5% of the total supply of Ether in the Serenity Ethereum blockchain with
158 Casper. This whale could single handedly pull off a 33% attack if less than 15% of all Ether
159 was staked. But because Ether has so much utility outside of staking [17], it will likely be
160 very difficult to get 15% of Ether to be staked, causing an economic security risk.

161 Staking Only Tokens


162 So instead, the Cosmos Hub uses a multi-token model in which the Atom, is used primarily
163 only for staking, and is not intended to be used to pay fees or used as a currency. Essentially
164 the optimal utility of the token should be to stake it. But if this token no longer has use
165 value derived from its function as a fee token, where does it get enough exchange value to
166 give economic security to the system?
167 The utility of the Atom is that it is necessary for staking and thus gives you the ability
168 to earn the transaction fees and the block rewards of chains validated by the Cosmos Hub
169 validators, which includes the Cosmos Hub itself as well as any hosted chains. Atoms can
170 basically be seen thus as somewhat analogous to ASICs in Proof of Work; it is a piece of
171 virtualized hardware (economic capital) that you need to obtain in order to participate as
172 a keeper in the network. Because partaking as a keeper in consensus allows you to earn
173 transaction fees (paid in a token that has economic value as described above), the value of
174 the staking token thus becomes the expected profit to be earned from the transaction fees
175 and block rewards in the network, which are paid in a fee token. This can be observed as
176 price fluctuations of SHA-256 ASICs are correlated with the expected earnings from mining
177 Bitcoin. [20]
178 If you have a certain percentage of the staked Atoms, you have the ability to earn that
179 percentage of the transaction fees and block rewards. There are two ways you can earn
S. Aggarwal XX:5

180 more value. First, an increase in the value or amount of transaction fees going through the
181 network means a larger pool of fee rewards for all validators, thus increasing the value of the
182 transaction fees that are allocated to you. Second, you can increase your percentage share
183 of the staked Atoms, thus affording you a larger percentage share of the transaction fees
184 and block rewards. This can be done through buying more Atoms and staking them or by
185 decreasing the share of other validators by getting them slashed.
186 In the Cosmos Hub, there are block provisions given in Atoms. These are technically
187 analogous to block rewards but serve a different purpose. They are there in order to incentivize
188 Atom holders to stake. Because Atoms are given as block provisions to stakers, there is
189 a continuous inflation rate of Atoms. Atoms holders who do not stake are thus punished
190 through inflation as their percentage share of the total Atom supply decreases as they do
191 not receive any of the newly minted Atoms. This creates a significant incentive for Atom
192 holders to stake their Atoms as there is a continuous transfer of wealth from non-stakers to
193 stakers. The inflation of Atoms is denominated as a percentage of the total supply, and thus
194 the block provisions per block increases as the total supply of Atoms increases. We use the
195 term provisions rather than rewards because the function of the provisions is primarily to
196 punish non-stakers, not to reward stakers. The inflation rate targeting mechanism is based
197 on the percentage of staked Atoms. As the percentage of Atoms that are staked decreases,
198 the inflation rate increases, thus further incentivizing Atom holders to bond their stake.
199 Note that this effect could have been achieved with demurrage, in which Atoms that are
200 not staked begin to "decay" away (get burned). However, demurrage is more difficult to
201 implement technically and would likely have a non-negligible negative impact around user
202 experience, especially in the context of interchain transfers. For this reason, we choose the
203 route of using inflation rather than demurrage.
204 Because of inflation going to only stakers and the lack of alternate designed utility for the
205 Atom, it is reasonable to expect a large percentage of the total Atom supply will be staked.
206 This makes it far harder for the situation described at the beginning of this section to occur
207 in which a large whale stakes and gets over 33% of the bonded tokens. If anyone tries to buy
208 the amount of Atoms required to get 33% of the stake on the open market, the market for
209 Atoms would get progressively more illiquid causing the price of each successive Atom more
210 expensive, greatly increasing the cost required to make an attack feasible.

211 4 Fee Tokens


212 Transaction Fees
213 In a blockchain, transaction fees serve two primary purposes: spam-prevention and a payment
214 to keepers for their work in operating the blockchain. Blocks need to have some sort of scarce
215 resource that limits the amount of work need to validate a block. A validator’s mempool
216 is the set of all valid transactions they have seen so far that haven’t been inserted into a
217 block yet. If a validator tried to put the entire pending mempool into the next block, a
218 user could spam the mempool with many transactions causing the block to take too long to
219 validate. In Bitcoin, this scarce resource is the block size and in Ethereum it is the gas limit.
220 Because there is limited space in a block for a limited number of transactions, in order to
221 determine which transactions from the mempool get added into a block, each transaction
222 is accompanied by some sort of transaction fee that gets paid to keepers of the blockchain.
223 The proposer of a block then uses these transaction fees to order the transactions by fee,
224 thereby maximizing their earnings from proposing that block as the transactions with the
225 highest fees get added to the block before the limit is reached. Different transaction use

To k e n o m i c s
XX:6 Cosmos Hub Token Model

226 differing amounts of resources, so instead of ordering by absolute amount of transaction


227 fee of a transaction, we instead order by transaction fee per resource i.e. BTC per byte in
228 Bitcoin or “gas price” (ETH per gas) in Ethereum.
229 The Cosmos Hub, having a limited number of types of transaction, will not use gas
230 counting per opcode like most turing-complete blockchains, but rather assigns each transaction
231 type a gas cost based on its estimated computational, storage, and network bandwidth costs.
232 For example, because an IBC transaction is more computationally complex than a token
233 transfer within Cosmos, the gas cost for an IBC Tx will be greater than that for a SendTx.
234 A chain can also implement a MinimumGasCost, the minimum resource cost that a
235 transaction needs to declare in order to get included into a block. For example, currently
236 Bitcoin transactions are required to pay a minimum of 1 satoshi per byte. This can be
237 used for spam prevention in the case that a blockchain’s blocks are not full. Furthermore,
238 modifiable minimum fees can be used for more complex fee models than first price auctions,
239 such as the Fixed Price Sale mechanism proposed by Vitalik Buterin. [5]

240 Many Fee Tokens


241 Another novel feature of the Cosmos Hub is that unlike most other public blockchain
242 platforms, transaction fees can be paid in any whitelisted fee token. Most other platforms
243 only allow fees to be paid in a single token, such as ETH in Ethereum, BTC in Bitcoin, and
244 GAS in Neo. In line with the “multi-token multi-chain ecosystem” mindset of Cosmos, the
245 Cosmos Hub, instead of forcing users to use a specific token in order to pay transaction fees
246 in the system, allows users to select from a number of possible tokens. We will discuss how
247 this works and then the benefits of such a system.
248 Let’s delve into how to make this multi-fee token model work and allow for validators
249 to be able to compare transaction fees paid in differing tokens/currencies in order to do
250 transaction ordering. In the Hub, there exists a whitelist of tokens that are allowed to
251 be used to pay fees in. The validators of the Cosmos Hub can add and remove tokens to
252 the whitelist through on-chain governance, a mechanism for staked Atomholders to vote
253 on changes to certain parameters within the protocol (such as the set of tokens in the fee
254 token whitelist). The reason for needing to go through governance to add new tokens to the
255 whitelist is that in the Cosmos Hub fees from every block are shared amongst validators,
256 and thus it is necessary that there is consensus amongst the validators as to which tokens
257 they are willing to accept as a group. As more chains and tokens join the Cosmos ecosystem,
258 it can be expected that more of these tokens will become whitelisted fee tokens.

259 Transaction Ordering


260 In order to allow for validators to choose what order to run transactions, we need a mechanism
261 to compare the value of the transaction fees being paid in different tokens. To do this, we
262 need to know the relative values of each fee token. For the following example, assume we
263 had a perfect oracle that informed us that the relative value of BTC is 5000 and ETH is 0.2
264 (note that these values are unitless).
265 Let us walk through an example of deciding the order of two transactions. Let’s say we
266 have two SendTx of equal gas cost and the tx fees on them are 0.5 BTC and 13000 ETH
267 respectively. The first one’s transaction fee is worth 2500 (5000 × 0.5) while the second one’s
268 is worth 2600 (0.2 × 13000). Thus the second transaction will have priority to go into the
269 block over the first one.
270 So if given the relative values of each fee token, it is trivial to order them by fee. However,
S. Aggarwal XX:7

271 how would we get these values without the use of centralized oracle? One potential option is
272 to pull prices from an on-chain decentralized exchange, even one on a different chain by using
273 IBC. However, while this may be a possible strategy in the future, currently DEXs suffer
274 from a lack of liquidity allowing malicious attackers to cheaply game orderbooks causing
275 reported prices to not match the prices on off-chain exchanges (likely closer to the true price
276 of the asset). [18]
277 Thus we propose 2 possible mechanisms for determining the relative token valuations.

278 Option 1 – Localized Validator Config

279 Option 1 is that we completely forgo trying to come to consensus on the relative values, but
280 rather let each block’s proposer use their localized view of how much they value each token
281 to order transactions when it’s their turn to propose. Each validator node has a personal
282 config file which lists their personal weighting of how much they value each token. These
283 weights are what the validator will use to determine transaction ordering when it is their
284 turn to be a proposer.
285 Let’s imagine a config file for the Hub in which two tokens, Dogecoin (DOGE) and
286 Photons (PHO), are whitelisted as fee tokens.
DOGE: 1
287
PHO: 1
288 Each validator can manually adjust these values to their liking (these values were just
289 chosen randomly as an example):
DOGE: 5
290
PHO: 3
291 As more tokens get whitelisted, they get added to the config file as such:
DOGE: 5
PHO: 3
292 BTC: 0
ETH: 0
DAI: 0
293 Then each validator can also adjust these new values as well:
DOGE: 5
PHO: 3
294 BTC: 5000
ETH: 0.2
DAI: 1
295 As these numbers are simply ratios, these values can be normalized to any value. However,
296 a common choice might be to normalize them to the the dollar value of the token.
297 Having such a config file allows validators to run a separate process like a cron job
298 that live updates the configuration file based on live market data pulled from their favorite
299 exchange’s API (or combining the data of multiple!). If the exchange API is unreachable,
300 the validator can set the config to fallback to the last available values, pull data from an
301 on-chain exchange, or even resort to a backup default config (such as one in which Atoms
302 have a weight of 1 and everything else has a weight of 0).
303 Note that a validator can also choose to set a MinimumGasCost in the config file, and
304 choose to drop transactions from the mempool that do not meet their MinimumGasCost.

To k e n o m i c s
XX:8 Cosmos Hub Token Model

305 Option 2 – In Consensus Weighted Median


306 The second option is to employ a mechanism that still allows validators to come to consensus
307 on the relative values of the tokens. Like in option 1, each validator continues to maintain
308 a local view of their valuation of each token. However, instead of using their local view to
309 order transaction, only when they are a proposer, they instead submit their "votes" for the
310 value of each token on-chain as a transaction.
311 Let’s say for example, there are 4 validators, {A, B, C, D, E}, with powers {0.1, 0.1, 0.2,
312 0.3, 0.3} respectively.
313 They submit the following votes for their personal views of each token:

314 A: DOGE = 100, PHO = 0.4


315 B: DOGE = 90, PHO = 0.45
316 C: DOGE = 102, PHO = 0.39
317 D: DOGE = 101, PHO = 0.41
318 E: DOGE = 100000, PHO = 0

319 In the chain, we store each of the values in an ordered list, along with their validator that
320 placed that vote.

321 DOGE: [90B , 100A , 101D , 102C , 100000E ]


322 PHO: [0E , 0.39C , 0.4A , 0.41D , 0.45B ]

323 Then, when a validator wishes to propose a block, they take the weighted median
324 (weighted by stake) of the votes for each fee token, to get the in-consensus value of each
325 token.

326 DOGE: W eightedM edian([(90, 0.1), (100, 0.1), (101, 0.3), (102, 0.2), (100000, 0.3)]) = 101.5
327 PHO: W eightedM edian([(0, 0.3), (0.39, 0.2), (0.4, 0.1), (0.41, 0.3), (0.45, 0.1)] = 0.395

328 At any point, any validator can send a transaction to update their vote. For example,
329 let’s say validator E, updates his vote:
330 E: DOGE = 99, PHO = 0.43

331 The new ordered lists, thus become:

332 DOGE: [90B , 99E , 100A , 101D , 102C ]


333 PHO: [0.39C , 0.4A , 0.41D , 0.43E , 0.45B ]

334 and the new median values become:

335 DOGE: W eightedM edian([(90, 0.1), (99, 0.3), (100, 0.1), (101, 0.3), (102, 0.2)]) = 100.5
336 PHO: W eightedM edian([(0.39, 0.2), (0.4, 0.1), (0.41, 0.3), (0.43, 0.3), (0.45, 0.1)] = 0.41

337 The medians would likewise be recalculated upon changing of a validators stake/voting
338 power.
339 The purpose of using weighted median, rather than a metric such as weighted average,
340 is it is not affected by outliers. Assuming that < 1/3 of the stake is voting in a byzantine
341 manner, the median value will always be between the values sent by correct processes.
342 As updating a vote requires sending an on-chain transaction, it is likely not feasible for a
343 validator to send an update on an overly-frequent basis. One possible option is to send an
344 update, only when your perceived value of a token changes by more than a certain percent
345 from your last vote.
S. Aggarwal XX:9

346 It is also important to note that this mechanism does require validators to agree upon
347 a unit to normalize around, as if they were all normalizing their weights around different
348 values, this mechanism would not work. One suggested proposal is that validators treat the
349 ATOM token as a value of 1, and the relative value of the fee tokens are normalized around
350 that.
351 A similar weighted median mechanism can also be used to gain consensus on a global
352 MinimumGasCost.

353 Comparing the Two Mechanisms


354 These two mechanisms both achieve a similar end goal in that they allow validators to have
355 some knowledge of relative values of the different tokens without reliance on a centralized
356 oracle. However, each mechanism has it’s own sets of pros and cons. Here is a brief rundown
357 of some of the pros of each design:

358 Localized Validator Config:


359 Is far more simplistic and easier to understand / reason about.
360 Requires no additions to the blockchain state machine and reduces computational
361 overhead
362 Does not require validators to send on-chain txs which will also mean that the system
363 is more likely to be able to quickly react to changes in market prices.
364 Validators aren’t expected to track every token, they can choose to only track the
365 whitelisted tokens they care about, and put 0 for the rest in the config file.
366 In Consensus Weighted Median:
367 Provides a better UX, as there is a consistent global view for fee token values for
368 clients/users to refer to, to make informed decisions when attaching fees to their
369 transactions.
370 Tendermint provides a feature called CheckTx, which allows nodes in the network to
371 do some basic verification of transactions when they first recieve them before deciding
372 to propagate them or add them to their mempool. If MinimumGasCost was in global
373 consensus, all nodes can use this to decide to drop transactions that do not meet
374 in-consensus MinimumGasCost. This can be used to mitigate network and mempool
375 spam for non-consensus nodes.
376 In Nakamoto consensus chains, because all the transaction fees of a block go to the
377 block’s proposer, a proposer can frontrun (insert their own transactions in front of other
378 target transactions) for essentially no cost because they can attach a high transaction
379 fee which will be sent back to themselves. For this reason, most Nakamoto chains do
380 not even bother to enforce ordering of transactions by gas price.
381 However, in Cosmos’s Proof of Stake design, because fees are split amongst all validators,
382 any transaction fee that the proposer attaches to their transactions, will be partially
383 distributed to the other validators, not just going back to themselves. However, let’s
384 assume that there was whitelisted fee token, MEH, that does not see too much usage.
385 If there was no global ordering of relative values, a block proposer who wished to
386 frontrun, could do so for near 0 cost by attaching a fee of 1 MEH for their entire
387 transaction, but then claiming that their local value of MEH token was MAX_VALUE.
388 If there was global ordering of relative values, part of the consensus rules for block
389 proposals could be to make sure that all transactions in a block are actually ordered
390 by fee value. Because of this, an individual proposer cannot front run for near zero
391 cost as they would have to attach a non-negligible amount of fees to be able to put

To k e n o m i c s
XX:10 Cosmos Hub Token Model

392 their transaction at the front of the block, and their non-negligible fee will be split
393 amongst all the validators.

394 The Cosmos Hub will initially use mechanism 1, but will likely shift towards mechanism
395 2 upon development of the software and approval from governance. It is encouraged that
396 chains looking to use Multi-Fee Tokens use the mechanism that is best suited for their use
397 case.

398 Advantages of Multi Fee Tokens


399 Having many tokens usable as fee tokens heavily reduces the friction involved in using the
400 Cosmos Hub. Because the primary use of the Cosmos is for users to move their tokens
401 from one chain to another chain, users are likely to own the token that will be moved and
402 want to pay fees in that token. In a system with only a singular fee token, it creates a poor
403 user experience because now users would have to obtain the fee token just to make their
404 transactions. This will likely increase the usage of the hub, as the friction in using the hub is
405 greatly reduced. Regarding the complexity of choosing which token to pay with from the
406 tokens the user owns, this choice will likely be dealt with by wallet software so that the
407 average user does not have to think about it, much like how amount of fee to pay is already
408 done so.
409 Along with providing a better experience to users, this multiple fee token model also
410 provides a better experience for validators. Unlike other protocols that impose one token as
411 the first class token in the chain, the Cosmos Hub lets validators have a sovereign view on
412 what is valuable. The validator set of Atom holders will inevitably have multiple and diverse
413 preferences about what tokens they find valuable in the cryptocurrency ecosystem, and so
414 we can allow them to accept and be paid in a variety of these different tokens. It is more
415 work on the part of the validators to maintain a relative weighting of different tokens over
416 time, but it is to give them more freedom in how they want to be paid.

417 5 Related Work


418 The majority of Proof of Stake based blockchains/proposals such as Ethereum 2.0, Tezos,
419 and Cardano all use a single token model as discussed earlier [17] [9] [3]. However, a few
420 other Proof of Stake projects also seem to be experimenting with novel token models. Here,
421 we will explain some of these systems and how their differ from the model proposed by the
422 Cosmos Hub.

423 NEO
424 A common question received is how this staking token model differs than that employed by
425 the NEO blockchain. According to the NEO whitepaper [7]:

426 “NEO network has two tokens, NEO representing the right to manage NEO blockchain
427 and GAS representing the right to use the NEO Blockchain.”

428 At the surface, the NEO token seems similar to the Staking Only Token with GAS
429 serving as a separate Fee Token to pay fees in. However, upon further reading of the NEO
430 documentation, it becomes clear that the NEO model is very different.
431 Firstly, NEO is not actually required to be staked to become a validator. Rather it is
432 used as a mechanism to determine how many votes each NEO account gets. Each account
S. Aggarwal XX:11

433 can vote for as many validator candidates as they wish, and each validator candidate they
434 vote for recieves the number of votes equivalent to the amount of NEO in the voter’s account.
435 For example, if a voting account has 10 NEO, and votes for 4 validator candidates, each
436 candidate recieves 10 votes. According to the documentation, when declaring a validator
437 candidate, 1000 GAS will be charged to the candidate. This seems to be the only charge to
438 the candidate; at no point are any NEO tokens required to be staked. Therefore it does not
439 seem comparable to the staking token model proposed by the Cosmos Hub.
440 With regards to fee tokens, as mentioned earlier, the NEO blockchain only supports a
441 single Fee Token, GAS. Furthermore, the NEO blockchain uses a global MinimumGasCost for
442 transactions, however, there is no mechanism for validators to adjust this MinimumGasCost,
443 as this price is fixed at 1 GAS = 1 resource accounting unit (gas). A transaction that costs
444 5 gas, also costs 5 GAS tokens to be paid as its transaction fees. This means there is no
445 mechanism for transaction costs to adjust to changes in the market price of GAS. If the
446 market price for GAS was $0.01, a transaction that costs 100 GAS costs $1.00 in USD value.
447 However, if the market price of GAS increased to $1.00, that same transaction still has a
448 MinimumGasCost of 500 GAS but has a cost of $500.00 in USD terms. Without a mechanism
449 for validators to adjust the global MinimumGasCost, the volatility in USD value of GAS
450 token will cause massive user experience problems.
451 As can be seen, the NEO model differs significantly from the Cosmos Hub’s staking token
452 and multi-fee token model.

453 EOS

454 Another blockchain that seems to have a somewhat similar staking token model to the
455 Cosmos Hub model is EOS [13]. In EOS, each EOS token holder can stake their EOS tokens
456 in order to vote for block producers as well as receive resources such as CPU, NET, and
457 RAM, resource units that are used for making transactions on the blockchain.
458 However, like in NEO, the staking token EOS is not actually staked by the block producers,
459 and it is not slashable in the case of misbehavior. It is only used to distribute votes to "staked"
460 token holders. In EOS, the term staking does not necessarily imply being a validator or
461 contributing to consensus. Rather, staking your tokens means you’re putting your tokens in
462 a lockup period, during which they can be earning you either CPU, NET, or RAM resources
463 which can be used to pay for computational capacity, network capacity, and storage capacity
464 respectively. These resource units are not exactly tokens, as they are not transferable between
465 users. CPU and NET are only spendable by the original receiver of them, while RAM can be
466 bought and sold to other users, but only through the chains built-in Bancor-style marketplace.
467 [6]
468 These resources, went spend to make transactions, are not given to the block producers,
469 but are rather burned. But if validators are no longer being paid in transaction fees for the
470 contribution in maintaining the network, how are they being compensated? The premise of
471 the compensation of block producers is in that they are rewarded with block rewards in EOS
472 tokens, which have use value because of their necessity to earn resources which afford usage
473 of the EOS blockchain. Despite having more nuances and steps than the traditional single
474 token model, the EOS token seems to be more similar to a single token model that a staking
475 only token model.

To k e n o m i c s
XX:12 Cosmos Hub Token Model

476 6 Conclusion
477 The paper explains the token model of the Cosmos Hub, especially with regards to the
478 incentives and utilities of different tokens in the staking and fees mechanisms. The Atom
479 token acts as a pure staking token with high inflation and minimal utility outside of staking,
480 thus reducing liquidity of free Atoms on the open market and improving the security of
481 the staking system. We also present two designs for constructing a multi fee-token system,
482 which allows users to pay their transaction fees in a variety of whitelisted fee-tokens, which
483 will greatly improve user experience. As mentioned previously, while this token model was
484 originally designed for the Cosmos Hub, we believe that similar designs can be used in other
485 blockchain systems.

486 References
487 1 Sunny Aggarwal. Cosmos proof of stake. Crypto Economics Security Conference 2018,
488 2018. URL: https://github.com/cosmos/cosmos-academy/blob/master/presentations/
489 2018-10-10-cesc/cosmos-pos.pdf.
490 2 Et al. Whitepaper:nxt. 2013. URL: https://nxtwiki.org/wiki/Whitepaper:Nxt.
491 3 Lars Brünjes and Et al. Incentives and staking in cardano. 2018. URL: https://staking.
492 cardano.org/.
493 4 Ethan Buchman, Jae Kwon, and Zarko Milosevic. The latest gossip on BFT consensus. CoRR,
494 abs/1807.04938, 2018. URL: http://arxiv.org/abs/1807.04938, arXiv:1807.04938.
495 5 Vitalik Buterin. Evaluate alternative transaction fee market mechanisms. 8 2018. URL:
496 https://github.com/zcash/zcash/issues/3473.
497 6 EOSReal. Eos ram 101: Non-technical guidebook for beginners. 7 2018. URL: https://medium.
498 com/coinmonks/eos-ram-101-non-technical-guidebook-for-beginners-6f971322042e.
499 7 NEO Foundation. Neo whitepaper. URL: https://docs.neo.org/en-us/whitepaper.html.
500 8 Ethan Frey, Christopher Goes, and Others. The latest gossip on BFT consensus. 2018. URL:
501 https://cosmos.network/docs/spec/ibc/.
502 9 L.M Goodman. Tezos — a self-amending crypto-ledger white paper. 9 2014. URL: https:
503 //tezos.com/static/papers/white_paper.pdf.
504 10 Jae Kwon. Tendermint: Consensus without mining. 2014. URL: https://github.com/cosmos/
505 cosmos/blob/master/tendermint/main.pdf.
506 11 Jae Kwon and Sunny Aggarwal. Interchain scaling security models. Crypto Economics
507 Security Conference 2018, 2018. URL: https://github.com/cosmos/cosmos-academy/blob/
508 master/presentations/2018-10-10-cesc/interchain-scaling-models.pdf.
509 12 Jae Kwon and Ethan Buchman. Cosmos - a network of distributed ledgers. 2017. URL:
510 https://github.com/cosmos/cosmos/blob/master/WHITEPAPER.md.
511 13 Dan Larimer and Et al. Eos.io technical white paper v2. 3 2018. URL: https://github.com/
512 EOSIO/Documentation/blob/master/TechnicalWhitePaper.md.
513 14 Daniel Larimer, Charles Hoskinson, and Stan Larimer. Bitshares: A peertopeer polymorphic
514 digital asset exchange. 2013. URL: https://blog.bitmex.com/wp-content/uploads/2018/
515 06/173481633-BitShares-White-Paper.pdf.
516 15 Karl Marx. Das Kapital: A Critque of Political Economy. 1867.
517 16 Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system. 2008. URL: https:
518 //bitcoin.org/bitcoin.pdf.
519 17 Anthony Sassano. Why ether is valuable. 2019. URL: https://medium.com/ethhub/
520 why-ether-is-valuable-2b4e39e01eb3.
521 18 Sam Town. The final frontier of crypto decentralization: Dexs
522 and the liquidity problem. 2018. URL: https://cryptoslate.com/
523 the-final-frontier-of-crypto-decentralization-dexs-the-liquidity-problem/.
S. Aggarwal XX:13

524 19 David Vorick. Choosing asics for sia. 6 2017. URL: https://blog.sia.tech/
525 choosing-asics-for-sia-b318505b5b51.
526 20 Josiah Wilmoth. Bitcoin miners are selling old asics for scrap metal as
527 price decline hastens obsolescence. 11 2018. URL: https://www.ccn.com/
528 bitcoin-miners-are-selling-old-asics-for-scrap-metal-as-price-decline-hastens-obsolescence/.
529 21 Ryan Zurrer. Keepers—workers that maintain blockchain
530 networks. 2017. URL: https://medium.com/@rzurrer/
531 keepers-workers-that-maintain-blockchain-networks-a40182615b66.

To k e n o m i c s

You might also like