VG Block — Game Licensing And Ownership Transfer Using Blockchain

Tarang
4 min readDec 16, 2022

--

Introduction and Objectives:

In the modern era, video games are digitally available, and people prefer buying them online as it is convenient. The trend of physically walking into game stores to purchase a video game is slowly retiring. However, the digital distribution of video games brings as many pros as cons. At present, video game licensing and ownership is complex. Sometimes video games get removed from digital storefronts altogether. The players can lose access to certain games that they already own. The reasons can range from the delisting of games, closing digital storefronts, and shuttered online servers to as severe as developers going bankrupt.

We aim to develop a system that secures license ownership and ownership transfer using blockchain. We use the blockchain in the backend to provide safety and authenticity to the system. Every transaction of digitally purchasing a game comes with a license key. The system stores the license key in the blockchain, which the user uses to transfer ownership legally. Another advantage of using blockchain is the authentication provided by developers/distributors when the user downloads the game after completing the transaction. The stored license key helps the user and developers to keep track of bought and sold games.

The goal of our system is to provide safety and security. The publishers have access to an environment where they can sell games and verify ownership without relying on distributors. It is beneficial for publishers as it increases profit margins. The distributors can manage ownership transfer and track illegal license key exchanges. The users can keep track of all their licenses in one place. Furthermore, the system safeguards users against distributor closure or server hacks that may nullify their purchase.

Technical Solution:

Our proposed system will comprise three types of users — a user who buys games online. The user will then receive a unique license key for those games which now becomes his identification and authentication for those games. Another type of user would be one who wants to download the games he owns from the portal. Once he is able to authenticate his ownership with his unique key, he can then download the games. The third types of user are those who want to transfer ownership to other users. Once they are able to authenticate their ownership they will have the option to transfer. Their system will also have a game developer and a game distributor. The role of the developer would be to design an algorithm to generate unique licenses for the games and storing these generated licenses into an Ethereum blockchain. The Ethereum blockchain ledger will keep track of all the transactions.

The solution we propose can be divided into the below components -

Ethereum Blockchain

We have implemented the blockchain as an Ethereum Blockchain. One of the significant reasons for choosing an Ethereum blockchain for implementation is the security and transparency of the transactions. We are using Ganache for local Personal Blockchain for this project.

Smart Contracts

We aim to leverage the Ethereum Virtual Machine and Solidity scripting language for smart contracts to build our application using the Ethereum Blockchain. We are using Truffle to construct smart contracts in Solidity. The system uses MetaMask for communication between the blockchain and the front-end user portal.

Front-End: Backbone.js

A portal for user interaction is an essential part of the VG Block. We are using Backbone.js for building the UI and node.js for server-side communications with the Ethereum blockchain.

User Portal

The user portal is a UI for the users to view their ownership in one place. The User Portal will list all licenses associated with a user on the blockchain. The user portal will also have a module where users can request ownership transfers.

Developer/Distributor Portal

The Distributor or Developer portal is a UI used to emulate game-buying portals like steam. The user can buy games from here. The portal assigns a license key to the user and requests that it gets stored on the blockchain. This portal allows users to download games after authenticating ownership from the blockchain.

The technical challenges can be summarized as follows -

  1. One of the challenges we had to deal with was debugging smart contracts. Tracking failed transactions can be a bit tedious.
  2. Encrypting communication between the user portal and Ethereum Blockchain.

Demo:

References:

  1. ”Can you ever really own a video game?” https://www.digitaltrends.com/gaming/game-ownership-digital-media-players-weigh-in/
  2. Software licensing — https://www.apriorit.com/qa-blog/570-application-licensing-eos
  3. Blockchain resources — https://ethereum.org/en/developers/docs/intro-to-ethereum/
  4. Backbone.js — https://backbonejs.org/
  5. Designing UI for ownership and user portal -https://github.com/Almarex-Web-Dev/my-gaming-website

--

--