programmable privacy matchmaking dapp
Eros is a decentralized, privacy-preserving dating application built on the Fhenix protocol built for ETHonline 2024. It leverages fully homomorphic encryption (FHE) to ensure user data privacy while enabling secure matchmaking.
To use please make sure you are on Fhenix testnet and have some testnet ETH in your wallet.
- Encrypted profile creation
- A matchmaking smart contract, matching users based on encrypted preferences.
- Secure preference sharing
- Anonymous until matched: Users remain anonymous until they choose to reveal themselves
- Stay anonymous until matched, or forever if you choose
- Secure sharing of likes, dislikes, interests and hobbies.
- bringing people togehter who have similar interests and may never have known it.
- React.js
- Ethers.js
- Fhenix FHE
- Solidity
- Clone the repository
- Install dependencies:
npm install
- Start the development server:
npm start
Users can create encrypted profiles with their age, gender, location, and any other information they want to share about themselves. The smart contract performs matchmaking on this encrypted data, revealing matches only when both parties express interest.
The smart contract performs matchmaking on the encrypted data without decrypting it, ensuring user privacy throughout the process.
Users can securely share their likes and dislikes without revealing this information to unmatched users or the platform itself.
- User profiles are encrypted and stored on-chain
- Matchmaking occurs using homomorphic operations
- Only matched users can decrypt each other's information
- All user data is encrypted using Fully Homomorphic Encryption (FHE)
- Matchmaking occurs on encrypted data, ensuring privacy throughout the process
- Users have full control over their data
- The decentralized nature of the platform prevents centralized data breaches
- Implement a chat feature with XMTP
- Implement Kinto wallet for some degree of safety
- Add more detailed preference matching once I figure out how to make it less gas intensive
- add 'poke feature