Peer to Peer authoritative multiplayer game architecture

Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge

Games! Fun! Multi-player games usually adopt a centralized architecture where the servers are authoritative. However, the promise of the sharing economy, a socio-economic ecosystem built around the sharing of human and physical resources is also applicable in multi-player games. User bandwidth and computing power may be thought of as an underused resource. While playing a game at home, CPUs and bandwidth are not utilized completely, except for some extremely resource-hungry games. Sharing bandwidth with others does not impose additional costs, as most Internet Service Providers (ISPs) offer unlimited data plans to domestic users. By making use of these resources, it is possible to develop multi-player games and charge players only for game content. Thus making games more appealing to the customers by lowering the overall price. This goal may be achieved using the P2P model. P2P is a decentralized communication model, where each participating node has the same rights (there are no "special" nodes). The term peer-to-peer (P2P) refers to direct communication between parties with equal rights. Some people incorrectly assume that fulfilling this criterion is enough for any system to be called P2P. What really brings together systems called P2P are the goals they aim to achieve and benefits associated with them. One of the goals is shifting the balance of computation from central servers to regular, personal computers. Another goal is to use otherwise unused distributed resources such as computing power, storage, network bandwidth. Common benefits include scalability and eliminating the need for expensive infrastructure such as servers and specialized networks. https://link.springer.com/article/10.1007/s12083-019-00725-3.

P2P multi player games suffer from trust and safety issues due to the absence of an authoritative server. In the past few years, decentralized systems have been the focus of many researchers due to the hype caused by crypto-currencies. Crypto-currencies were able to create an inherently trusted P2P network by solving double spending. Recent advances in verifiable delay functions and other vote based consensus algorithms could potentially be exploited to solve the trust issues in P2P multi-player game architectures by using public key encryption and attestation nodes that verify the validity of all parties.

The goal of this projects is to develop a SIMPLE turn based 2-player game that runs on a decentralized P2P network of players. Matchmaking and persistent storage outside of the scope of this project. Requesting a game is done by computing a verifiable delay function(VDF) using the same seed. The VDF proof is used to derive decentralized randomness (entropy pool). The randomness is used to assign a quorum of validators to which games are assigned. For simplicity sake, a validator can simultaneously also be a player. Moves between two players are signed with their private key, and verified by the assigned validators. Player A cannot forge moves of player B without having the private key, and vice versa. An invalid signature or an invalid move is detected by the validator, and the game is voided. https://allquantor.at/blockchainbib/pdf/boneh2018verifiable.pdf

This project involved quite a lot of subjects and is very research oriented. A lot of research is already done but is missing implementation to confirm the feasibility.