Descrição:

Com a popularização dos aparelhos móveis, existe hoje um mercado bilionário relativo aos aplicativos de jogos, apresentando receita global de US$ 25 bilhões em 2014, e que em 2015 deve atingir a marca de US$ 30.3 bilhões, superando pela primeira vez o mercado de jogos de console, que deve atingir US$ 26.4 bilhões. Dentre os jogos dessa nova plataforma, encontram-se virtualizações para mobile de jogos que já existiam, dentre as quais encontram-se os jogos de cartas colecionáveis (em inglês, Trading Card Games ou TCGs). O primeiro e mais bem sucedido deles é o Magic: The Gathering, surgido em 1993.

Os TCGs se diferenciam dos jogos de cartas convencionais porque o conjunto de cartas existentes no jogo é enorme, e portanto o jogador não pode adquirir todas as cartas de uma vez. Em vez disso, ele deve começar adquirindo baralhos básicos, e depois incrementar sua coleção através de novos pacotes de cartas, ou mesmo através de compra ou troca de cartas individuais. Essas cartas normalmente possuem efeitos e características diversas. Com isso, tem-se um tipo de jogo que possui cartas colecionáveis, produzidas em massa para viabilizar as coleções e trocas, e que possuam regras para que sejam utilizáveis em um jogo de estratégia.

A implementação de aplicativos de jogos do gênero TCG, por não exigir que os jogadores armazenem e sincronizem grandes quantidades de informação, apresenta grande potencial para explorar as possibilidades da arquitetura baseada em tecnologia par-a-par (peer-to-peer ou P2P), em que cada usuário ao mesmo tempo é consumidor e provedor de recursos, em contraste com a arquitetura cliente-servidor, em que há um servidor no papel de terceira parte confiável (TTP, em inglês) que intermedia as interações entre os jogadores.

O uso da arquitetura P2P é motivado principalmente pelos menores custos de implantação e maior escalabilidade em relação à arquitetura cliente-servidor. Por outro lado, a descentralização do controle do jogo faz com que a abordagem P2P apresente maiores desafios relativos a detecção e prevenção de trapaças, que é uma questão de crescente importância, a medida que os jogos vão se tornando mais populares e complexos, e fundamental para assegurar que jogadores honestos continuem interessados em jogar.

O objetivo deste projeto é a implementação da prova de conceito do protocolo SecureTCG, que visa, através principalmente do uso de funções de resumo criptográfico (hash), garantir que determinadas trapaças que violam regras comuns à maior parte dos TCGs sejam prevenidas ou ao menos detectadas num ambiente P2P. Em resumo, o SecureTCG permite que os jogadores participantes de uma partida de um TCG previnam ou detectem trapaças imediatamente quando elas ocorrem e sem a intervenção de terceiros.

O protocolo SecureTCG é baseado na associação de um hash único por carta envolvida no jogo e no sequenciamento de cadeias de hash refletindo as ocorrências incrementais do jogo, e procura, resumidamente: garantir que a ordem das cartas no deck de todos os jogadores seja aleatória; garantir que as cartas do deck não possam ser manipuladas após o início de uma partida; garantir a confidencialidade das cartas até o momento em que elas possam ser reveladas; permitir que os jogadores verifiquem que as cartas de seus oponentes foram obtidas de forma legítima; minimizar os efeitos de conluio entre jogadores mal intencionados.

A prova de conceito consiste no desenvolvimento de uma aplicação composta por: um módulo de inicialização, responsável pela negociação e estabelecimento de conexão entre jogadores; um jogo exemplo, definido por um conjunto de regras simplificado e seguindo a dinâmica típica de partidas dos TCGs, capaz de simular as trapaças que se pretende detectar; um módulo com as implementações dos mecanismos de prevenção e detecção de trapaças especificados pelo protocolo SecureTCG.

Participantes:

Gabriel Schechter Saldanha Marinho

Luís Gustavo Gonçalves Galvão de Castro

Rodrigo Riskalla Leal

Orientador:

Prof. Dr. Marcos Antonio Simplicio Junior