CréditDécentrale introduces a decentralized credit score system using zkSNARKs, Decentralized Computation and Storage. It offers personalized and private credit scores, enabling efficient lending without overcollateralization thus enhancing transparency and trust.
Decentralized System for Custom Credit Scores
CréditDécentrale
Our project aims to address the existing issues in the current DeFi ecosystem by introducing a fresh breath of air in the decentralized credit system. The prevalent problem with traditional lending protocols is the heavy reliance on overcollateralization of assets, leading to inefficiencies and limited access to credit for borrowers. To overcome these challenges, we have designed a decentralized credit scoring system that leverages several technologies such as Bacalhau's Decentralized Computation , Filecoin’s Decentralized Storage as well as zkSNARKs for the private and secure score verification process.
The core functionality of our system revolves around the generation of a unique credit score for each user. This credit score serves as a measure of creditworthiness within the decentralized ecosystem just as in traditional finance. By utilizing zkSNARKs proofs, we ensure that the verification process is private, secure, and tamper-proof, preserving users' privacy and financial information.
The primary objective of the credit score is to enable lending protocols to offer better-personalized loans to users. Instead of requiring excessive collateralization, the credit score allows lenders to assess borrowers' creditworthiness accurately and offer loans that align with their financial standing and risk profile. This approach promotes financial inclusion and unlocks more opportunities for borrowers in the market.
One of the key benefits for users is the ability to share their credit score without disclosing all of their assets. This feature allows users to explore loan offers from various lenders without revealing sensitive information, ensuring greater privacy and control over their financial data.
When users decide to take out a loan, they can generate credit score cards bound to their wallet address in a decentralized manner. These credit score cards act as immutable records, providing lenders with reliable and tamper-proof information about the user's creditworthiness. This process creates a transparent and trustworthy environment, fostering better relationships between borrowers and lenders.
Our decentralized credit scoring system represents a step forward in the evolution of the financial landscape, offering more accessible and personalized credit options to users while preserving the security and privacy of their sensitive financial data. With our solution, we aim to foster a more inclusive and robust financial ecosystem for everyone.
Technologies Used:
Decentralized Computation + Storage: We have developed a smart contract within the Filecoin virtual machine, which implements the Lilypad interface. This allows us to trigger Bacalhau jobs and retrieve the results through the underlying smart contract. The process is the following:
First a user calls the "getMyScore” function, this triggers our program which fetches the user's underlying address. This address is then used in the Bacalhau start command. This triggers the Bacalhau job to be initiated using a custom Docker image tailored specifically for our credit score calculations.
Once the Bacalhau job is completed, the smart contract invokes the Lilypad "fulfilled" function from within our contract. As a result, we receive the CID (Content Identifier), which represents the IPFS address of the job containing the credit report and its results.
To ensure a seamless user experience, we establish a mapping between the CIDs and the user's addresses. This way, our users can call the "getMyCid" function at any time to view the IPFS address of their credit score result and retrieve their score with ease.
The second part of our system is based on the score calculation. The credit score calculation process begins with the activation of a program after the bacalhau image boots up. This program takes the user's address as input and initiates connections to both the Polygon and Ethereum networks. Through these connections, it retrieves information about the user's current and past asset allocations, including borrowings, lendings, and possessions, with a specific focus on the DAI cryptocurrency. The system is designed to be flexible, allowing for easy extension to other cryptocurrencies in the future.
To ensure accurate score calculations, the process also interfaces with oracles from Chainlink and 1inch. These oracles provide real-time price data for DAI, which is an essential factor leveraged in the score calculation function. By incorporating all these data points, the credit score calculation process can assesses the user's financial standing and risk profile.
The third important part of our system is the private verification of the credit score by the lender, for this we used a customized smart contract implementing the @semaphore library which enables us to enable through leveraging zkSNARKs to enable the lender to privately verify the credit score of the to-be-borrower.
We used Push Protocol, WordCoin, MetaMask and smart contract. First step was getting address from MetaMask and then we send a push notification that includes otp code to web app and wallet. Then user enters the otp code. If it is correct, after that user has to pass WordCoin authentication. In that way we sure that the user is a human and unique. When user pass verification in mobile app of WordCoin, a response is returned to web app and web app verifies this response with WordCoin api via sending a request to WordCoin. There is a nullifier in the response of WordCoin. Our smart contract stores this value of user in a mapping, key is the wordcoin nullifier and value is the address of the user. After all successful steps user can use the application.