Over the past week we have implemented a number of quick and short-term measures to help address the huge growth that Splinterlands has recently experienced, but while those measures might allow us to support our current level of growth, they won't be even close to sufficient if we grow 10x or more from here (which is very much our goal).
With that in mind, we have also recently worked to come up with a longer term solution that we expect will let us scale to many, many times our current size while also helping to address a number of issues that have come up in the past.
Ultimately, a long-term solution to being able to scale up to really eye-popping numbers requires a lot more than just provisioning more and bigger servers (which we have done considerably over the past week). It means being smarter and more efficient about how we utilize the Hive blockchain.
After a significant amount of review about how the entire Splinterlands system works, we have determined that there are a number of game operations that can (and should) be moved off of the blockchain while still allowing us to maintain a fully transparent, publicly verifiable, and provably fair system that our players expect.
As a result, we are planning to move all battle-related operations off of the blockchain. This will include the following operations:
Players will still create and sign those transactions in the game client using the private keys for their Hive blockchain accounts, but instead of publishing them to the Hive blockchain they will be sent directly to Splinterlands game servers.
The fact that the transactions will still need to be signed by players' Hive blockchain keys means that the transactions are still fully verifiable (meaning Splinterlands cannot "fake" or alter a transaction or any data it contains) and the results of the battles will still be provably fair.
Splinterlands will then publish the results of each battle back to the Hive blockchain in order to ensure that the full state of the game is still maintained on the blockchain in a publicly verifiable way.
It is important to note that all other operations in the game will still be required to be published to the Hive blockchain as normal in order to be considered valid, and the battle-related operations are still able to be submitted via the Hive blockchain as well as via the API. This means that existing automated scripts and bots should not need to be updated as a result of this change.
Additionally, we do not expect this change to have any effect on third party tools and services which rely on the Splinterlands APIs.
The primary benefit of this change is that it should allow for the game to easily scale to many, many times its current size without constantly running into the issues we have experienced over the past couple of weeks.
In addition to the scaling benefit, it will also alleviate the majority of the "node" issues that players regularly experience whenever a Hive blockchain node that they are connected to has an issue (whether that be a node run by Splinterlands or other third-parties). These issues regularly cause players to "flee" battles which has been a constant problem and source of frustration for many players.
It should also help to resolve any resource credits issues that players experienced due to the relatively high volume of on-chain transactions that have been required to play the game.
Finally, it will make it much easier to achieve our longer-term goal of allowing anyone to run their own Splinterlands "node" and independently calculate and verify the state of the game at any point in time on reasonable hardware and costs.
We don't yet know the exact timing for this update to be released but we are working on getting it ready and tested as soon as possible. We are hoping to be able to get it live as soon as next week and we will give as much advance notice as possible before the update. The update will likely also require some downtime for the application which will be announced as far in advance as possible.
We understand that some players may not be happy about this change and the fact that not every single thing that happens in the game will be published on the Hive blockchain, but it is important to realize that putting everything on the blockchain just for the sake of being able to say that everything is on the blockchain is both unnecessary and extremely inefficient and will significantly hold back the growth of the game in the future.
After reviewing many different options, the Splinterlands team is convinced that this is the right way to scale up the product without having to compromise the transparency and verifiability that is key to a blockchain-based application.
We look forward to getting this put in place as quickly as possible so that our players can have a quicker, smoother, and less buggy gameplay experience and we can move on to implementing all of the awesome new features we have planned for the coming months!
Stay tuned for more updates from the Splinterlands!
NOTE: All rewards from this post will be burned.