Cheating Prevention in Peer-to-Peer-based Massively Multiuser Virtual Environments
Massively multiuser virtual environments (MMVEs) have become an increasingly popular Internet application in recent years. Until now, they are all based on client/server technology. Due to its inherent lack of scalability, realizing MMVEs based on peer-to-peer technology has received a lot of interest. From the perspective of the operator, using peer-to-peer technology raises additional challenges: the lack of trust in peers and their unreliability. The simulation of the virtual environment is governed by certain rules specified by the operator. These rules state what actions can be taken by users in the virtual environment and how the state of the environment changes based on these actions. Since MMVEs are very often competitive environments, some people will cheat and try to break the rules to get an unfair advantage over others. Using a central server performing the simulation of the virtual environment, the operator can ensure only allowed actions can be performed and the state of the environment evolves according to the rules. In a peer-to-peer setting, the operator has no control over the peers so they might not behave as implemented by the operator. Furthermore, a central server is inherently more reliable than a peer which could fail at any time so data might be lost. This thesis presents the design of a storage performing a distributed simulation of a virtual environment. It uses a deterministic event-based simulation to calculate the state of the virtual environment only based on the actions of its users. There are multiple replicated simulations using a voting mechanism to overcome the influence of malicious peers trying to tamper with the state of the environment as long as the number of malicious peers does not reach a critical threshold. Replication of data also ensures data is not lost when peers fail. The storage is based on a peer-to-peer overlay allowing peers to exchange messages to store and retrieve data. It creates a Delaunay graph structure matching the way the data in the virtual environment is distributed among the peers. A self-stabilizing algorithm keeps the structure intact as peers join and leave the network. Additional routing tables allow peers to retrieve stored replicas independently on short, disjoint paths reducing the influence of malicious peers on the retrieval of data. A redundant filling algorithm prevents malicious peers from tampering with these routing tables to get more messages routed their way.