Boost a collateralised loan with a non-collateralised loan.
The aim of the project is to provide a loan to party A through a cosigner B - party A is not supposed to put up any collateral and it is expected that party B can vouch for party A offline. Out of the entire loan, party B is expected to put up 50% of the loan, and the other 50% is expected to be sourced from a pool of stakers. The stakers are relying on party B's credit history and past transactions. Party B will be compensated for the 50% that they put forward as a loan, and for their reputation that they provided for the other 50% sourced from the pool. The stakers will be compensated for the uncollateralised loan that they provide.
NB! this project wasn't finished.
The project uses 2 external technologies - AAVE and Chainlink.
AAVE is used to provide the credit delegation mechanism that party B uses to provide the 50% of the loan. However, I had trouble getting credit delegation working so this part wasn't implemented properly.
The hardest part was coming up with a mechanism that will deter party B to play the system. My initial thoughts were to limit the loan sizes to be small enough that the extra effort to play with the system were self-defeating (but I never got around to expanding on this).
So for now, the co-signer's reputation is made up of 3 components - their current balance (in DAI), how many successful co-signments they've done in the past, and how many general transactions they've done in the past. The balance and number of successful co-signments can be fetched through the smart contract. But for the transaction history I had to use a centralised service and import the value onto the blackchain using Chainlink.