CryptoCars
Racing game on blockchain with encrypted virtual cars. Uses multiparty and homomorphic functional encryption to compute g^(sum(xizi)) securely without knowing z. Safe under DLA, verifiable through BLS
Demo Video
Project Information
At a Glance
Racing game on blockchain with encrypted virtual cars. Uses multiparty and homomorphic functional encryption to compute g^(sum(xizi)) securely without knowing z. Safe under DLA, verifiable through BLS
Description
Our implementation is based on a multi-party scheme derived from a functional encryption framework that we developed. This design ensures that servers can act dishonestly only if they collude and exchange their secret values. By increasing the number of independent servers, the system becomes even more resilient to collusion. When servers operate independently, the scheme remains secure under the Discrete Logarithm Assumption. Moreover, by integrating homomorphic encryption, we can modify ciphertext values directly without decrypting them. The validation process has been adapted from the BLS scheme, enabling the network to verify the speed values computed by the servers. With this implementation, the game creator can define the game’s core function in the form g^sum(xizi) mod p, allowing different functional behaviors and settings to be applied flexibly across game instances.
Technical Details
This project designs a secure, decentralized system to create, train, and race encrypted virtual cars on a blockchain.Each car is represented by encrypted data, and its speed is computed cryptographically so results are verifiable without revealing secrets.Three servers cooperate: the Principal Server (with secrets S and k), the Generator Server (which creates random car data), and the Speed Server (with secret y).Using multi-party functional encryption for inner products, the system evaluates g^sum(xizi) with z = k*y, enabling encrypted speed computation. Cars are trained homomorphically by multiplying encrypted data with g^(delta).The blockchain manages races: every 10 minutes a race starts, users pay tokens to enter or train, and winners earn rewards.Verification uses BLS pairings to prove correctness publicly under the Discrete Logarithm Assumption.A Python demo simulates the system, showing how F1-AI securely computes and verifies car speeds.To have more information,check README.
Team
3Flavio Gasparini
Matteo Savina
Francesco Di Felice