Dharma- An open protocol for generic tokenized debt agreement

in #utopian-io5 years ago (edited)

ds43.png

Github repository - https://github.com/dharmaprotocol

Introduction

The financial crisis of 2008 was a big lesson especially for the financial institutions and the entire world know how the rating agencies manipulated & deliberately falsify the assessment risk of debt obligations and then it was repacked and sold all across. It was led to the catastrophic event of the financial crisis all across the globe. Then trillion dollar debt burden was bailed out through stimulus package and the common main borne that burden.

The cryptocurrency and blockchain invention was on that line, where the business does not need to rely on a third party, and with blockchain technology, people can communicate, interact with each other and even can send a transaction without a third party. So the vision of blockchain is decentralization. Dharma Protocol extends the vision in a way that it successfully eliminates the opportunity of murky money related debt instruments of mass pulverization and replaces it with a completely review capable trail from the debtor to creditor. It is less expensive, quicker and progressively proficient. Dharma Protocol plays a pivotal role in the organized finance industry.

Dharma Protocol

Dharma is a peer-to-peer lending marketplace that allows users to easily borrow and lend cryptocurrency across the globe, instantly and reasonably, the decentralized control of funds by the users remain intact all the time.

ds45.png

Dharma is a permissionless, generic protocol for issuing, underwriting, and administering debt agreements as tradeable cryptographic tokens. We are fresh out of YCombinator’s Summer batch and are committed to building universal, secure infrastructure for the blockchain-based credit markets of tomorrow.

Dharma supports fixed-duration, fixed-interest loans. At present, all the loans in Dharma have 90-day durations. The interest rate does not fluctuate over the course of the loan. Even if the borrowers repay their loan on Day 1 or Day 90, they will still pay that same interest rate. At present, Dharma supports borrowing and lending for ETH, DAI, USDC and it has plans to add more assets in future.

Getting started with Dharma Protocol

Go to https://www.dharma.io

Put your email and click on "Get Started".
ds31.png

Then put your first name, last name and password and again click on "Get Started".

ds32.png

Now you are logged in and you can see two options: Lend & Borrow. Click on any of them as per your plan to use Dharma. If you want to invest then click on "Lend" and if you want to take a loan click on "Borrow".

ds33.png

Borrow

If you click on Borrow, you can see now three assets and from that, you have to choose one. At the moment it supports ETH, DAI, USDC. The interest rate is showing on each of them. Click on the asset you desired for and then click on Continue.

ds34.png

In the next page, you have to confirm your loan details. So input the amount and the collateral required will be shown automatically. Then click on "Confirm your loan details".

ds36.png

Then enter your ETH address where you would like to receive the principal amount of loan.

ds37.png

Important Note-
  • Borrowers are required to put up collateral 1.5x the value of their loan. That means 150% of the amount you want to borrow. Do note that the threshold value is 125%. So if the value of their collateral falls below 125% of the principal, collateral will be liquidated. The borrower can top up the collateral at any point of time.

  • Borrowers can repay their loan at any point in the duration.

  • If a borrower doesn’t pay back their debt by the due date, then it will be considered as default and the next course of action will be the liquidation of collateral. Once a loan enters a state of default, it is usually liquidated within 15 minutes.

  • In case of liquidation, any remaining collateral after repaying the lender will be returned to the borrower.

Lend

If you click on Lend then it will take you to the page where the assets are displayed and you are required to select one of the assets to deposit. You can also see how much interest you can earn against each asset. Locked in period and lend limit are also shown. Select one of them and then click on "Continue".

ds38.png

Then enter the amount you would like to deposit.

ds39.png

Then you have to create your 4 digit pin and you can authenticate the transaction using this pin.

ds40.png

ds41.png

Then deposit the principal to the designated address showing in the page.

ds42.png

Important Note-
  • If you are a lender, then you can start earning interest as soon as it is matched.

  • The fund is locked once it is matched and can't be withdrawn, however, the lender can withdraw at any time prior to matching.

  • The 125% threshold mark always ensures that the lenders in Dharma don't suffer a loss.

Main components of Dharma Protocol

Term Contract

This is basically a smart contract coded in Etherum that fundamentally sets out the agreed upon terms between debtor and creditor. A term contract is always a better form of contract as compared to the traditional legal contract in a way that it is immutable, auditable, easy to understand by the machine in regard to the terms of payment. So it sets out the guidelines for debtor and creditor, however, it is determined and defined by both debtors and creditors.

The term contract of Dharma Protocol offers an infinite opporunity as it does not create any redundancy by explicitly defining any payment terms. That is why it becomes more useful and creates a great opportunity for investors. A wide array of debt terms can be accommodated through Dharma Protocol. The most interesting part of Dharma Protocol is that a term contract can be re-used again. In other words, a simple compounded interest repayment schedule can also be arranged between debtors and creditors.

Debt Kernel

It is a smart contract that administers the business logic associated with the minting of non-fungible debt tokens. It maps between the debt tokens and the associated term contracts, routs the repayments from debtors to creditors and routs the fees to the underwriters & relayers.

It oversees how the whole procedure from debt application to reimbursement should play out. The truly intriguing thing is that the debt kernel will issue a Non-Fungible Token (NFT) which implies that the token won't be detachable (Atomic). Even if there will be multiple similar application with exactly the same parameters, it can still easily distinguish them as each of them are assigned with a random value.

Repayment Router

It routes payments from the debtor to the owner of the debt token. It also acts as an oracle to the Term Contract associated with any given debt agreement. This implies the router will notify the term contract when any debt has been repaid off-chain. It can also determine the default status of the debt.

Working principle of Dharma Protocol

Dharma protocol has a set up of procedures which are precisely defined in the handling of issuance, funding, trading of debt between debtors and creditors via underwriters & relayers through a smart contract. So Dharma protocol not only keeps a track of the amount to be lent out but also it keeps a track of repayment terms, the associated risk involved in the agreement which is defined by the Underwriter, collateral and liquidation of collateral in case of default.

Underwriter

The underwriter assesses the risk of default for any given debtors who seek for a loan. The underwriter exercises its own proprietary method of underwriting to assess the risk involved and assign a percentage to the debtor and that percentage indicates the probability of default if the loan is granted. In Dharma protocol, it is expressed as 9 decimal place number. If the underwriter assigns 80% to a debtor, then the instance of the likelihood of default shall be expressed as 800000000 in Dharma Protocol and that is accordingly coded in the smart contract.

It must also be understood that the underwriter also put its reputation at stake while assessing the risk of default for a debtor and assigning a percentage. The underwriter assigns a percentage to the debtor and then stake its reputation to the assignment which is then passed through the Relayers who put it in the order book.

The underwriters are additionally responsible for customary obligation accumulation in case of defaults. They can collect the secured collateral or they can also go with the legitimate off-chain mechanism in case of a default.

Relayer

The primary job of a Relayer is to manage the order book. Once the loan application is assigned with a percentage and passed through Underwriter, then it is sent to the Relayer to update the same in the order book which is visible to various creditors. The creditors pick an offer of their choice and fill it. The Relayer collects the applications only from reputed underwriters who have a proven record of assessing properly the default risk of a debtor.

Therefore it is apparent that the Relayers and the Creditors would need to put it all on the line to believe the underwriters. How successful an assignment of loan would be, largely dependent on the assessing capability of the underwriters on the default risk.

Debtor & Creditor

Debtor- A person who seeks for a loan, who is borrowing an asset and owes a creditor some agreed upon value, is known as a Debtor.

Creditor- A person who fills a loan, who is lending an asset is owed some agreed upon value by a debtor, is known as a Creditor.

Both the Debtors & Creditors are the end users in Dharma.

ds46.png

The process of Debt Issuance

  • The debtor signs the debt order and submits to the debt kernel smart contract.
  • The debtor's adherence to the chosen terms outlined in the term contract & underwriter's assessment on the default risk of the debtor are immutably recorded in the blockchain.
  • The relayer updates the debt order in the order book.
  • The creditor takes the signed debt order.
  • The creditor is issued a unique debt token that is associated with the committed debt agreement & term contract.
  • Principal amount is issued to the debtor from the creditor, after deducting the fees of underwriter & relayer.

Repayment

  • The debtor sends the repayment to the debt kernel smart contract.
  • The debt kernel registers that repayment with the term contract.
  • The debt kernel then forward the repayment to the address which controls the associated debt token(the creditor).

ds47.png

Pros of Dharma Protocol

  • Dharma protocol maintains a generic interface for the term contracts and does not explicitly define any terms so that it can open a wide window for the potential investors and many types of debt terms arrangement can be made.

  • Term contract is better than traditional legal contract as it is immutable & auditable.

  • Through Dharma protocol, low cost & transparent debt can be issued.

  • Dharma protocol can be applied to any sort of situation that needs underwriting of risks, so it has the potential to disrupt the traditional industry.

  • Dharma protocol can serve many use cases in the finance and insurance industry.

ds44.png

Cons of Dharma Protocol

  • The relayers and the creditors are dependent on the assessment capability of an underwriter. So if the underwriter is not good in assessing the default risk, that will eventually become a risky deal for the creditor.

  • Reputation for lenders & borrowers is missing.

Conclusion

The procedural set up in managing the trading debt in Dharma is spot on. It is one of its unique kind in offering a solution to lending and borrowing in a decentralized system. Here the security of the fund is ensured by the smart contract and it is absolutely transparent, therefore better than any form of a traditional contract. The lenders always feel safe to invest their fund and also they are adequately assured that they don't enter into loss owing to price fluctuation as Dharma has set a threshold mark below which the liquidation will automatically trigger. Both the borrower and lender can simultaneously execute a business through the smart contract and in a decentralized way. Dharma protocol can definitely cover up a wide array of use cases in finance sector & it is just a beginning.

References used:-

(1) https://github.com/dharmaprotocol
(2) https://www.dharma.io


Image Courtesy:-

Dharma Protocol Resources

Sort:  

Thank you for your contribution to the Dharma project. The project is cool, and I like the concept.

I appreciate the information provided. The post is well-structured, well illustrated with good visuals, and very informative. Kudos!

I know that fiat loan differs from cryptocurrencies, because of volatility and other factors. However, I think it would be nice if the interest set on loans duration differs. I mean, if I take a loan for one month, my interest shouldn’t be up to someone that took three months.

Also, I still don’t know why interest in currencies differs, even on the two stable coins. Moreover, it is shocking to see that the collateral for 2 Eth is $791.2. If I have the $781, why would I need a loan? I think some ideas are difficult in a decentralized way.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Chat with us on Discord.

[utopian-moderator]

Thank you for your review, @tykee! Keep up the good work!

Hi @divine-sound!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Hey, @divine-sound!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Congratulations @divine-sound! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 2000 upvotes. Your next target is to reach 3000 upvotes.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.034
BTC 63688.35
ETH 3125.30
USDT 1.00
SBD 3.97