The rapid expansion of blockchain technology has sparked interest across various industries, including gaming. Blockchain networks, with their decentralized nature, have led to innovative applications such as decentralized finance (DeFi) and non-fungible tokens (NFTs). However, there are still significant challenges when it comes to creating complex, decentralized applications, especially in industries that require a high volume of data processing and real-time interaction, such as gaming.
Our study focuses on addressing these challenges by designing and testing a decentralized server architecture that integrates blockchain technology. We aim to understand the potential of current decentralized apps (dApps) by ensuring high-performance data communication and storage, specifically using a video game as our use case. By utilizing multiple blockchain networks such as EOS, TELOS, WAX, and BlockBase, we hope to create a scalable, secure, and decentralized solution that can eventually be adopted by broader industries.
Blockchain technology is increasingly becoming a mainstream solution in both the tech and business sectors. It began with the advent of smart contracts introduced by Ethereum, which enabled more complex operations on decentralized networks. Decentralized applications (dApps) first gained traction in financial services, with DeFi offering solutions such as lending platforms, insurance, and investment services. However, other sectors like gaming are still in the early stages of adoption.
One of the core challenges of current dApps, particularly in gaming, is the inability to handle complex tasks within the constraints of a smart contract. Games that have been built on blockchain, such as CryptoKitties or AlienWorlds, mostly offer simple interactions like minting or trading NFTs. While these games have gained popularity, their complexity is far from what users expect from modern video games, mainly due to the limitations of blockchain networks in handling high volumes of data and real-time interactions.
The current state of blockchain gaming primarily involves simple, web-based applications with basic interactivity, where NFTs often serve as a mechanism for monetization. However, the promise of truly decentralized gaming—where the entire game logic and data processing occur across distributed networks—has yet to be realized.
Our study relies on a combination of blockchain technologies and architectures designed to handle decentralized application requirements. Here is a breakdown of the primary tools and frameworks used:
- BlockBase: A blockchain designed specifically for storing large datasets securely and efficiently. BlockBase allows decentralized applications to access structured data stored on blockchain networks, essential for storing game states and user data in our case.
- EOS: Initially chosen for its ability to support complex dApps, EOS enables smart contracts with high throughput, making it an ideal candidate for handling blockchain interactions at scale.
- TELOS: A derivative of EOS, chosen for its decentralization focus. TELOS was integrated to handle user authentication and certain game logic, helping to avoid centralization risks seen in other networks.
- WAX (Worldwide Asset eXchange): A blockchain platform optimized for NFTs, WAX was utilized to handle the creation, storage, and trading of in-game assets. Its support for mutable NFTs makes it an excellent choice for our gaming use case, where dynamic in-game assets evolve over time.
- IPFS (InterPlanetary File System): For media storage, IPFS was used to manage decentralized storage of large assets such as game maps, character models, and other media files that cannot be efficiently handled directly on a blockchain.
- Unity: As the game engine, Unity was used to develop the game’s client side, providing real-time rendering and interaction for the user. Unity also integrated with the blockchain backend to ensure real-time interactions with the decentralized server.
This combination of technologies allowed us to build an architecture where decentralized operations, data storage, and player interactions occur across multiple blockchain networks. It opens new possibilities for the development of complex decentralized applications.
Study Details
The primary goal of this study was to design and implement a decentralized server architecture capable of handling complex operations across multiple blockchain networks. The objective was to overcome the limitations currently associated with decentralized applications (dApps), especially those used in gaming, where real-time interactions and high-volume data management are critical. We approached the problem by focusing on two main aspects: architecture design and blockchain integration.
Architecture Design
The architecture was designed to decouple the data transformation, logic execution, and communication components to reduce complexity and improve performance. Unlike typical centralized applications where a single server handles all tasks, our architecture used a decentralized server that communicated with several blockchain networks. This ensured that different types of data (such as game states, in-game assets, and user authentication) were handled by the most appropriate blockchain network.We implemented a layered structure:
- Data Access Layer: Communicated with blockchain networks to read and write data, including interacting with BlockBase for large dataset storage.
- Logic Layer: Responsible for executing game logic that could not be processed efficiently by smart contracts.
- Presentation Layer: Managed the communication between the Unity game client and the decentralized server, ensuring real-time updates and interactions.
Blockchain Integration
We integrated four key blockchain technologies—EOS, TELOS, WAX, and IPFS:
- EOS and TELOS were primarily used for handling game logic and authentication, ensuring that the system could securely verify player identities and interact with smart contracts.
- WAX was used for managing in-game NFTs, enabling players to create, buy, and trade assets such as items or characters. This was especially useful as it supported mutable NFTs, allowing for dynamic asset changes based on player actions.
- IPFS was used to store large media files, such as maps or 3D models, outside the blockchain but accessible via a decentralized storage network.
We chose a video game as our use case to validate the architecture under complex and real-time conditions. The game was built using Unity and integrated with the decentralized server. It featured multiple components that would typically challenge blockchain performance:
- Complex map navigation and real-time pathfinding.
- In-game assets such as characters and items represented as NFTs.
- Persistent game states stored across multiple blockchain networks.
To test the architecture’s scalability and performance, we conducted a series of stress tests. We simulated hundreds of concurrent users interacting with the game, each making multiple transactions that involved both data read/write operations to BlockBase and interactions with NFTs on WAX. We also tested the architecture's resilience by simulating network failures to ensure data integrity and availability were maintained.
The study yielded promising results, demonstrating that a decentralized server architecture can overcome many of the limitations currently faced by dApps in the gaming industry. Key findings include:
- Improved Performance: By offloading complex game logic to the decentralized server, we significantly reduced the load on the blockchain networks. The architecture allowed for faster transaction times and more efficient data processing, especially for real-time actions like player movement and item transactions. BlockBase proved to be an effective solution for handling large datasets, while WAX provided a seamless NFT experience.
- Scalability: The layered design of the architecture allowed us to scale the game with more users and data without a significant drop in performance. We observed that when 100 players were concurrently interacting with the game, the architecture processed these interactions with approximately 80% fewer blockchain requests, thanks to efficient caching mechanisms.
- Flexibility: The use of multiple blockchain networks (EOS, TELOS, WAX, and IPFS) showed that it’s possible to assign specific tasks to the most appropriate blockchain solution. This flexibility ensures that each component of the game (e.g., player data, in-game assets, game states) is handled in the most efficient and secure manner.
- NFT Integration: The integration of WAX for managing in-game NFTs was a success. The NFTs dynamically updated based on player actions, showing that the system could support mutable NFTs that evolved with the game. Additionally, the trading and minting of NFTs were seamless, proving the potential of decentralized ownership in gaming.
- Decentralized Media Storage: IPFS played a key role in storing large media files, such as 3D game assets and maps. The decentralized storage system proved effective in ensuring these files were accessible globally without central storage dependencies. However, we did identify some latency in retrieving large assets, which could be mitigated by integrating caching strategies.
Moving forward, we see potential for expanding this architecture into other sectors, further refining the integration of blockchain technologies to support more complex and data-intensive applications.