district0x / district-proposals

Proposals for new districts to be built by the district0x Team.
https://vote.district0x.io/
212 stars 36 forks source link

DP#26: Factori - An Invoice Factoring Marketplace #26

Open spm32 opened 7 years ago

spm32 commented 7 years ago

Purpose

Factori would provide an easy way for freelancers and DAOs (e.g. using Aragon) to finance their ongoing operations by factoring invoices created through Ethlance based on the invoice amount, their reputation, and the reputation of the invoicee within the district0x network.

Factori could be generalized to facilitate other types of secured lending off of blockchain assets including the factoring of registered ENS domains.

Description

Getting A Loan

There are four main steps to any Factori loan:

1) Loan request. Freelancers can post bids specifying the loan term, amount, collateral (initially an Ethlance invoice contract), and desired interest rate.

2) Price discovery. Funders choose offers to fund or present counter-offers. For example, a freelancer may be asking for a loan that amounts to 100% of the invoice value but the lender is only comfortable lending up to 70% of the invoice value.

3) Loan origination. Once both parties are comfortable with the terms, the borrower transfers the collateral to a smart contract and signs the smart contract. Once the collateral is received lender sends the specified funds thereby originating the loan.

4) Loan repayment. Since the loan is collateralized there are two possible ways the loan could be closed out. Either 1) the freelancer is able to repay the loan and does so by sending the amount due (principal + interest) to the smart contract or 2) the borrower is not able to repay the loan and collateral value is transferred to the lender. In the case of an Ethlance invoice the recipient for the invoice could be changed to the funder.

Factori Reputation

As borrowers and funders execute transactions in the Factori and other districts they gain reputation. This reputation can be used by funders to assess risk and should over time make it cheaper for freelancers that use the platform in good faith to post less collateral and pay less interest. This could eventually be formalized into a more robust credit scoring system based around a participant's reputation in the District0x ecosystem, which would be especially useful for unsecured lending districts.

Functional Requirements

Factori would leverage the District0x infrastructure that has been built for Ethlance to:

Other Considerations

Reducing Currency Risk Through Stable Tokens

As with other districts on the District0x platform the loan contract should support holding any ERC20 token including stable tokens like Maker's SAI/DAI stable token. The ability to use stable tokens should in theory increase use of the platform by reducing loan currency risk.

Implementing Additional Credit Criteria with Aragon, XBRL, and Oracles

Aragon's accounting functionality could be leveraged to provide a more precise credit risk assessment using a DAO's financial history along side their Factori reputation. The simplest insolvency predictor still used by business lenders today is the Altman Z-score, but plenty of other more robust scoring methods exist (for example, using random forests and other tree based models). For organizations with existing traditional financial statements XBRL data could be imported using an oracle to achieve complete financial transparency.

@andxor

lkngtn commented 7 years ago

I wonder if some of the work being done at dharma.io would be useful for this district concept.

spm32 commented 7 years ago

@lkngtn Definitely, I think leveraging some of the loan contracts Nadav is writing is a great idea.

HofmannZ commented 7 years ago

The whole idea of banks, before it became profitable. Definitely, keep my eye on this one, would love to help.

tfg615 commented 7 years ago

This looks to be a great start to something big. Upvote!

spm32 commented 7 years ago

@HofmannZ Exactly. Definitely open to getting some help on this, I'll keep you in the loop!

@tfg615 Thanks!

AngeloAdam commented 7 years ago

please send me a direct message on district slack regarding your proposal. @angelo

Bradymck commented 4 years ago

Hey @ceresstation

I'm not sure if you're aware but we recently launched a new bounty to migrate your proposals to the actual District Registry: https://registry.district0x.io/

We're replacing the old voting app with the registry. Let me know if you need help but I would love to see you migrate this over so you can claim your DNT.

It does take a 10,000 DNT submit to submit your proposal but this gives you an extra 2000 you can stake in the registry beyond the deposit amount.

Hit me up on Telegram or Discord if you need help or have questions.

Telegram: https://t.me/district0x/75217 Discord: https://discord.gg/P9RQejv

PS, please excuse the canned response. I am encouraging everyone here to start migrating so they can claim their 12000 DNT.