bitfish leaps into Cosmos with Game of Stakes

bitfish
bitfishlabs
8 min readNov 29, 2018

--

We’re dedicated to supporting and securing blockchains that use collateral to incentivize good behavior. Interoperability-focused blockchain project Cosmos Network is one of the most exciting proof of stake-driven platforms under active development, and is about to launch a first-of-a-kind testnet with financials incentives behind it that’s meant to push the Cosmos Network to its limits. When it launches we’ll get to observe how collusion and deception interact with the Cosmos Network’s incentive layer.

The Cosmos Network “Game of Stakes” is an experiment that will simulate the Cosmos mainnet and stress test its features in an adversarial context in which validators will go head-to-head in race to exploit the system and earn more rewards than anyone else. bitfish is happy to play in the Game of Stakes and support the development of the Cosmos network ecosystem.

What is the Game of Stakes?

The Game of Stakes is a participatory testnet program designed to observe the impact of collusion, deception, and bad actors within Cosmos’s incentives layer that supports its Tendermint Byzantine fault tolerant consensus algorithm. Cosmos is an interoperability-focused blockchain network — it focuses on creating a system of interconnected blockchain networks that can seamlessly communicate with and transfer value between each other.

Put simply, the Game of Stakes will see a “testnet” of the Cosmos protocol go live. Players of the Game of Stakes will attempt to subvert the protocol in a simulation of the Cosmos mainnet environment and stress test its features. The Cosmos development team takes a very serious stance on the development process of the Cosmos network, and is operating the Game of Stakes in order to identify potential flaws in the Cosmos incentive model.

In the Game of Stakes, players will attempt to cheat as much as they can in order to capture as much stake as possible. The Game of Stakes emulates a Cosmos mainnet environment in which participants with the most stake have more weight behind them.

What is a Cosmos Validator Node, and Why Would You Want to Operate One?

The Cosmos network relies on a Byzantine fault tolerance proof of stake consensus model. In this model, users “stake,” or lock up Atoms — the native token of the Cosmos network — to elect validators, who are responsible for committing new blocks. Atoms can be staked individually by validator candidates, or delegated to them by non-validator users, called delegators. Validators are selected based on their total stake, which is the total of both their individually staked tokens and the total amount of stake that is delegated to them.

The Cosmos Hub is the core of the Cosmos network, and is the nexus through which much of the value on the Cosmos network will flow. At launch, the Cosmos Hub will have just 100 validators. Over time, this number will increase to 300 validators. Competition for the first 100 validators spots is fierce. The top 100 validator candidates with the most “stake” will be selected as Cosmos validators.

The Cosmos network will connect a large number of blockchain networks to one another and facilitate the exchange of tokens between these blockchains. Validators are very important in this process — they make sure that tokens can’t be spent on an origin chain once they’ve been sent to a destination chain, and ensure double spending doesn’t happen.

The Cosmos network is anticipated to grow rapidly. Validators and the delegators that support them will earn rewards in the form of Atoms as block provisions and tokens as transaction fees. Initially, validators will be paid in Atoms but as the Cosmos network grows any token in the Cosmos ecosystem will be valid as fee tender. Overall, operating as a validator in the Cosmos network is likely to be a highly profitable position.

The Cosmos development team anticipates that the attractive incentives offered to validators will tempt network participants to attempt to subvert the Cosmos governance structure. The Game of Stakes provides participants with economic incentives to attempt these attacks before the launch of the mainnet, thus allowing the Cosmos team to identify and rectify any flaws in a testnet environment.

Why the Game of Stakes Exists

Blockchain networks allow us to transfer value in an entirely new way. The core axiom of technology that drives blockchain networks is decentralization — rather than rely on centralized third parties, blockchain systems rely on vast networks of individual actors to operate. Making sure that these individual actors are contributing in a desirable way is essential to the design of any blockchain network.

Cryptoeconomics is a portmanteau of cryptography and economics, and is concerned with the examination and design of incentives used to establish robust, secure systems. A robust decentralized ledger network needs to make sure that the actors working within it are incentivized to do so in a manner that has a positive impact on the network as a whole, while at the same time ensuring that bad actors are disincentivized.

Blockchain networks typically use economic incentives to ensure positive network participation. The Bitcoin network, for example, economically incentivizes participants through proof of work. Participants that contribute to the Bitcoin network must invest significant economic resources in order to help with the process of recording Bitcoin transactions — bad actors attempting to defraud the Bitcoin network will lose their investment. This cryptoeconomic design is the core of the Bitcoin protocol.

The Game of Stakes is an exercise in cryptoeconomic design and is intended to allow the Cosmos team to test the ability of players to manipulate the incentive structure of the Cosmos network. Many blockchain networks operate testnets prior to the launch of a mainnet, but the Game of Stakes will be the first testnet to simulate a live adversarial “peer to peer” environment that provides real cryptoeconomic incentives for attackers.

The Game of Stakes provides the Cosmos team with the ability to observe authentic attempts to subvert the architecture of the Cosmos network, identifying potential flaws in governance structure and cryptoeconomic design prior to the launch of the mainnet.

Why Participate in the Game of Stakes?

Players participating in the Game of Stakes will be competing for a total prize pool of 300,000 Atoms, with roughly 50% of the prize pool reserved for the top 10 performers. The rest of the prize pool will be distributed across all other players.

The Game of Stakes encourages network participants to develop attacks and deploy them on the Game of Stakes testnet instead of the Cosmos mainnet. Players may predict that the payoff for developing an attack may be greater if the bug is not reported during testnet, choosing instead to execute it on the mainnet — it’s possible that bad actors may choose to forego bug bounties during the development stage in order to profit from an attack on the real Cosmos network later.

The attacks that are permissible within the Game of Stakes, however, are far less likely to be effective on mainnet. Cartel formation and vote withholding attacks are clearly attributable and would very likely result in the bad actor losing a significant amount of stake or being eliminated from the voting pool. Moreover, the Game of Stakes will result in the development of comprehensive observability tooling that will assist in the detection of cartel formation or other attacks should they manifest on the Cosmos mainnet.

The Game of Stakes offers a clearer payoff path for the development of attacks against the Cosmos network than waiting for the mainnet launch.

How the Game of Stake Works

The Game of Stakes follows a fairly straightforward emulation of the consensus model used within the Cosmos network. Validators are chosen to propose blocks on a random basis with a weighted probability that depends on the total amount of stake a validator possesses. Stakes can be forfeited, or slashed, as a punitive measure for bad actions such as going offline, proposing invalid blocks, or double signing. Getting slashed reduces the voting power of a player, and decreases the likelihood that they will be selected as the next block proposer.

Players of the Game of Stakes are actively encouraged by the Cosmos team to attempt to cheat the system — the Game of Stakes can be considered to be a testnet in which everybody participating tries very hard to break it. Cosmos advocates for a wide variety of dirty tricks — players are encouraged to modify their software and collude with other players in order to interfere with the ability of other players to participate in consensus.

Other examples of adversarial behavior that is permissible within the Game of Stakes is the practice of searching for badly-configured validator setups in order to exploit them and prevent other players from accumulating stake. It’s also acceptable within the rules of the Game of Stakes to target other player’s nodes with false or deceptive traffic. Victory, according to the Cosmos team, can be achieved through clever technical, social, and economic maneuvering.

The Game of Stakes is specifically focused on “interesting attacks,” and incorporates a variety of rules and restrictions. Notably, the Game of Stakes bans network-level attacks, placing them under the scope of the bug bounty instead.

The Cosmos team have also prohibited the use of social engineering attacks against other validators — so activities such as phishing, attempting to capture the cloud account credentials of other validators, distributing malware, or physical security attacks on data centers are all banned in the Game of Stakes.

The ultimate goal of the Game of Stakes is to capture stake. Each validator participating in the Game of Stakes will receive a predetermined amount of stake to begin with. Players are able to increase the amount of stake they possess by remaining online, delegating, producing blocks, and by completing other challenges that will be announced by the Cosmos team during the Game of Stakes. The player with the most stake will win first prize, with other players rewarded in proportion to their ranking at the end of the game.

What to Expect from the Game of Stakes

The most effective strategies in the Game of Stakes are likely to be mechanisms that involve the formation of cartels, or vote withholding attacks performed in combination with strategies designed to deny participation to any validators not linked to the attacking cartel.

Vote withholding attacks are likely to be the most common strategy we’ll see in the Game of Stakes. The Cosmos consensus algorithm can be split into three separate components; Propose, Prevote, and Precommit. New blocks are proposed by the proposing validator and communicated to other validators. Two phases of voting then occur — pre-voting, and pre-committing. This stage, which precedes the locking mechanism component, is where vote withholding attacks are likely to occur.

Honest network participants will normally provide pre-votes and pre-commits on valid proposals. A cartel operating in the Game of States will only provide pre-votes and pre-commits on proposals submitted by members of the same cartel.

Given the competitive nature of the Game of Stakes, bitfish cannot reveal any details on the strategy that will be implemented by the bitfish team.

--

--

bitfish
bitfishlabs

Paving the way to a more decentralized world with information, collateralization and co-ownership.