The Hash Rush ‘Rush Network’
The Hash Rush Dev Blog is back, giving you insights into how we are developing the game. In our last dev blog, we looked into the game development side exploring how planets are generated in Hash Rush. For this edition of the dev blog, we are going to look at how the game handles cryptocurrency (Rush Coin and potentially Tokenized assets) based transactions.
To handle the cryptocurrency based transactions in Hash Rush, we teamed up with VZ Chains to develop a custom network called the 'Rush Network'.
VZ Chains are a blockchain development company that is passionate about the values that blockchain stands for; transparency, decentralisation and true privacy. While working with them, they have proven to be experts in the domain, and have the passion, drive and imagination to envision new and innovative solutions.
So without further ado, let’s get straight into it!
What is the Rush Network and why we need it
To understand why we need the Rush Network, we have to look at the use cases of Blockchain in Hash Rush and identify the problems that may come with it, all while considering our theme as an online RTS game.
Starting with our use case. Hash Rush will primarily use Blockchain for in-game asset trading. At this stage, this means that we are looking at using Rush Coin (RC) as our in-game currency. This currency will then be used by our players to purchase items from our item shop and also from other players. In the future, we may also consider allowing players to tokenise their in-game items, so some consideration to that should also be given.
By identifying the use case(s), we now have to consider the problems that using Blockchain may give us. In our case, using Rush Coin as a currency will present us with three major issues that need to be tackled.
- Transactions sent over Blockchain are slow.
- Transactions can be expensive, and the price can rapidly change depending on the network load.
- For the casual gamer, understanding how to work with Blockchain technology may be too complicated.
These three points pose significant problems for Hash Rush as they do not exist in typical online games, and so should not exist in Hash Rush. This means that our solution has to speed up the transactions so that they are near-instant, remove the transaction fee (no matter how small it may be), and as far as possible remove the technical knowledge required from the player.
This is where the Rush Network comes into play, as it solves these problems. Furthermore, it is flexible enough to be adapted to use with tokenised items, should we add that feature to the game.
Understanding the Rush Network
When looking at the Rush Network, the first thing that needs to be understood is that Hash Rush and the Rush Network will only manage a single cryptocurrency wallet and not a unique wallet per registered account.
The Rush Network then manages this wallet, alongside a traditional Oracle database that handles the in-game transactions and Rush Coin balance for the players. We'll now explain how this works with the help of the image below.
Adding Rush Coin to an Account
Let's start by explaining the process of adding Rush Coin to a players account.
When a player first registers an account with Hash Rush they will need to provide us with their private Ethereum wallet address (public key); this address is then permanently linked to their game account. From that moment on, the Rush Network will continuously be looking for Rush Coin transactions that originate from that wallet address. If a transaction is received, the Rush Network will update the balance of the player that has the Ethereum wallet address connected to their account.
Looking at our image, topping up Rush Coin will involve:
Step 1 Sending Rush Coin from your Ethereum wallet to the Hash Rush Main wallet.
Step 2 The Rush Network detects the transaction (after the Blockchain has verified it) and notifies the Oracle database that Rush Coin has been received.
Step 3 Based on the address that sent the Rush Coin, the Rush Network will know which player should have the Rush Coin made available to them; it will search for it and update the player's balance.
If a transaction is made from a wallet that is not connected to any account in Hash Rush, the Rush Network will decline the transaction, and it will bounce back to the original sender.
Spending Rush Coin in Hash Rush
The next part of the Rush Network to understand is how players can spend their Rush Coin. After a player tops up their Rush Coin, until a purchase has been completed they no longer interact with the Blockchain, but instead the Oracle network. This means that all purchases and transactions can be completed instantly, with no transaction fee's and do not require any cryptocurrency knowledge from the player. This is essentially how a typical online game handles the in-game currencies.
However, as we are making use of Blockchain, we can add some further steps (2 and 4 in our image) that create an open and transparent environment. Once the transaction has been handled by the Oracle database, the Rush Network then temporarily holds the information and will write it in batches to the Hash Rush sidechain. This means that all purchases and trades carried out in Hash Rush will be discoverable to anyone that wishes to check them out by using our Blockchain explorer. Ultimately this means that we are taking the best aspects of a centralised system and merging it with the best elements of a decentralised system.
The Rush Coin sidechain
At this point, we need to take a moment to explain what the Rush Coin sidechain is and how it works, as it is an integral part of the Rush Network. Looking in our diagram, this covers step 4 and step 5.
The Rush Network decentralised sidechain is a high performance, EVM compatible sidechain. The structure of the Rush network sidechain consists of two levels of Sharded POS (proof of stake) Blockchains.
The first level of the Rush Network sidechain is the parent chain that delivers data to each of the individual chains below it (childchains). On this level, the assets are held in different smart contracts representing the balance of each marketplace. In this case, a marketplace represents the project where the Rush Coin will be used. In the Rush Network, Hash Rush is a marketplace. The integrity of the parent chain is enforced by the RC token.
The second level of the Rush Network consists of the childchains. Each marketplace that uses the Rush Network is assigned its own childchain that is then used to manage the assets of it's assigned marketplace. For example, as Hash Rush is a marketplace in the Rush Network, it will have its own childchain that manages its assets.
Rush Coin trading can take place within a single marketplace, for example, all RC trading within Hash Rush, or they can take place over multiple marketplaces. Trades that take place within a single marketplace only impacts the balance of its own chain, whereas trades that occur over multiple marketplaces impact the balances on both the individual marketplaces and the parent chain.
Finally, we have the Rush Network Ethereum smart contract which serves as the conduit between the Ethereum Blockchain and the Rush Network, and holds all of the Ethereum assets that have been traded on the network, regardless of the source marketplace. When a user deposits Rush Coin to a particular marketplace from the Ethereum Blockchain (e.g. private wallets) they have to send the Rush Coin to the Rush Network smart contract with the appropriate flag that indicates the marketplace that they are sending to. The funds are then locked in the smart contract, while new mirrored assets are created on the Rush Network parent chain. These funds are then reflected in the user's marketplace balance on the parent chain, and also propagate down into the marketplace childchain for trading.
So, what does this tell us about the Rush Network? Other than it being an incredible piece of Blockchain technology that allows us to bring Rush Coin and in-game digital assets to Hash Rush, it is also flexible enough to allow other projects and games, not just Hash Rush-related to be built into the Rush Coin ecosystem. If you are interested in the Rush Network and using it with your project, then we recommend you to get in touch with VZ Chains directly.
Who knows, in the future, Rush Coin may be the number one gaming cryptocurrency for Blockchain based games, the infrastructure is certainly there!
Closing Thoughts
We hope that you’ve enjoyed learning about how the Rush Network works, if you have any questions, feel free to get in touch with us either by leaving a comment in the comments below, contacting us over Discord or sending us an e-mail.
Finally, we encourage you to check out the VZ Chains website for more information on the services they provide, from Smart Contract development, to Blockchain transitions to ICO marketing, launching and legal consulting.
Interesting. This looks like a project which will not only help Hah Rush but the whole ETH blockchain!
That's what we're hoping for, a positive development that everyone interested in using the ETH Blockchain can make use of.
I already signed for alpha.Hash Rush is gonna rock!No doubt it! Love u Ernack!
That's great to read, under a month until the Hash Rush alpha is out there!
Is there a particular feature that you are really looking forward to?
Glad I signed up for alpha, this is looking great.
Great to read.
We look forward to hearing what you think of the game!
Really looking forward to getting my hands on the Alpha build. Think Hash Rush could be the start of a whole new world of gaming. Just thinking of the possibilities that tokenized assets and in-game currency could allow is really exciting and could truly bridge the gap between the virtual and RL worlds.
Major props on leading the way to everyone working on Hash Rush.
Thank you very much for that, it does feel good to be on the front lines for new game development.
Congratulations! This post has been upvoted from the communal account, @minnowsupport, by badastroza from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.
If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.