Building a privacy preserving social reputation and trust rating system using NFC and Private-set Intersection on an MPC network
Reputation and trust is a vital component of social and professional interactions, but in today’s interconnected world, establishing a reliable reputation can be a significant challenge, especially when engaging with unfamiliar individuals. Whether attending networking events, conducting transactions in peer-to-peer marketplaces, or participating in hackathons such as ETHGlobal, assessing someone’s reputation often relies on subjective judgment or incomplete information. Existing solutions either depend on publicly visible metrics like social media connections or require sharing sensitive personal data, which can lead to privacy breaches and misuse. This lack of a reliable, secure, and objective reputation assessment mechanism creates barriers to effective interactions and collaborations. The Social Reputation and Trust System solves this problem by providing a privacy-preserving, decentralized platform to calculate reputation scores based on mutual connections. Leveraging NFC technology, Private Set Intersection (PSI), and Nillion’s Multi-Party Computation (MPC) network, this system offers a secure and transparent way to evaluate reputation. Beyond events like ETHGlobal Hackathons, the system can also be applied in peer-to-peer marketplaces, where buyers and sellers evaluate reputation scores before engaging in transactions, reducing the risk of fraud. Co-working spaces can use this system to help members identify potential collaborators based on shared professional networks, fostering meaningful partnerships and collaborations. The system also benefits communities by encouraging authentic connections and discouraging dishonest behavior. In conclusion, the Social Reputation System offers solution that addresses the need for secure, objective, and privacy-first reputation assessments in today’s interconnected world. By combining advanced cryptographic techniques, decentralized computing, and NFC technology, the system empowers users to make informed decisions and build reliable reputations in various social and professional contexts.
The Social Reputation System is designed to evaluate and establish trust between individuals by leveraging NFC technology, Private Set Intersection (PSI) using Nillion’s decentralized network and blind computation. Below is a breakdown of how the system works, from the initial NFC interaction to the calculation of the trust score.
Step 1: The NFC Interaction The process begins when one user taps their NFC-enabled device against another user’s device or wristband. This NFC interaction retrieves the name and the avatar link.
Step 2: Key Pair Generation and Storage on Nillion Once the name and avatar URL are retrieved, a new cryptographic key pair is generated. This key pair is used to securely store the user’s connection list on Nillion’s decentralized storage network. The connection list represents the user’s social or professional network, such as friends, colleagues, or collaborators. Each user’s connection list is securely stored in Nillion’s storage, and a unique storage_id is generated for this data.
Step 3: Private Set Intersection (PSI) Using Nillion When two users wish to evaluate their social reputation relative to one another, the system uses their respective storage_ids. The data is retrieved from the IDs and are sent to the Nillion network, where a Private Set Intersection (PSI) computation is performed. Nillion’s Nada (a Domain-Specific Language for the Nillion network) abstracts the complexities of the PSI protocol. As a developer, only the logic needs to be defined. Nillion handles: • Fetching the connection lists associated with the storage_ids. • Computing the intersection of these lists in a privacy-preserving manner. This ensures The PSI protocol outputs the number of mutual connections (intersection size) between the two users, without revealing the actual details of their networks.
Step 4: Trust Score Calculation The trust score is calculated based on the size of the intersection relative to the total number of connections of the tapped user. More the mutual connections, more is the trust and reputation
Step 5(Final): Secure and Transparent Results Once the trust score is computed, it is displayed to the initiating user in a simple and transparent format. The system does not reveal the connection lists, ensuring that sensitive data remains private.
We tested the PSI Nada code by deploying on the testnet using kepler wallet(Wallet Address: nillion1cvfup87t5c7nlwf8rfs0cat5z2rs34dc0wumqs). The program is stored in the programId: 615UmdBm3vxJF9k44bF97Va1Eg8JjyNeRJ1pxr1qY5NivmFZAWN4zrbUVfMnXny5MA4dmPb6cYrPRAiW6AzaPPSx/main