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

3
FG

Flavio Gasparini

MS

Matteo Savina

FD

Francesco Di Felice

Hackathon

IXH25 Italian XRPL Hackathon

Duration

Nov 6, 3:00 PM - Nov 8, 2:00 PM UTC

View Hackathon Details