top | item 17128443

Launch HN: Dharma (YC S17) an open protocol for borrowing/lending cryptoassets

184 points| nahollander | 7 years ago

Greetings HN!

My name’s Nadav Hollander, and I’m the founder of Dharma Labs (https://dharma.io). At Dharma, we are creating a suite of protocols, standards, and developer tools for issuing and administering tokenized debt agreements on the Ethereum blockchain.

After three extensive external security audits of our smart contracts, we are releasing the public beta of Dharma Protocol v1 on the Ethereum mainnet -- developers can take a crack at building decentralized lending applications at docs.dharma.io, and non-developers can try out borrowing and lending a wide variety of crypto-assets using Dharma Plex (https://plex.dharma.io).

I first became interested in the cryptocurrency ecosystem in 2015, when I took Dan Boneh’s class on Bitcoin & Cryptocurrencies at Stanford. Though the technology was (and still is) quite immature, I fell in love with the nascent space, and subsequently worked as an engineer at Coinbase.

At Coinbase, I was struck by the fact that a huge amount of users’ cryptocurrency was sitting idle in cold storage, instead of being deployed in some capacity as dollars would in a savings account. The advent of generic, programmable blockchains like Ethereum presented an intriguing possibility -- what if we could build borderless infrastructure for borrowing and saving that wouldn’t require a company like Coinbase to sit in the middle?

That’s why I started working on Dharma -- a framework for originating, issuing, crowdfunding, and trading debt on blockchains like Ethereum. In essence, what we do is create tools, standards, and smart contracts that developers can use to build profitable lending applications that can tap into a borderless pool of credit liquidity. These tools are all fully open source and free to use -- there is no native “Dharma token” that users are forced to leverage in some capacity.

We look forward to hearing HN’s feedback / thoughts!

162 comments

order
[+] nowarninglabel|7 years ago|reply
Congrats on getting to this point! Been following Dharma closely for a little while now as we (Kiva) have an interest in trying to increase financial inclusion and decrease lending costs for the world's poor and have been hoping Dharma may end up being one piece to the future of our work.

Could you possibly speak to how you intend to enable KYC (Know Your Customer) / AML (Anti-Money Laundering) to work with Dharma? The best bet so far has seemed to be trying to incentivize it through providing automatic fees to external parties to perform these actions and holding the money in escrow until it goes through. However, it would be great if you could share if you'll have discussed this problem at all.

I'd love a world where we didn't have to deal with KYC & AML, but we do, and the sooner we figure out how to make it work in an efficient and inexpensive manner for the world's poor, the sooner we can reach the UN Sustainable Development goals around financial inclusion.

[+] nahollander|7 years ago|reply
Thank you! :)

We've pretty deliberately opted out of baking jurisdiction-specific protections (be they KYC / AML, accreditation, etc.) into the protocol insofar as we really want this to be a universal standard that's jurisdiction-agnostic -- to give a somewhat crass analogy, most developers would agree that it does not make sense for content-protection against, say, child pornography, to sit at the level of TCP / IP. Jurisdictions vary widely in how they treat lending law, and so we've opted to be as flexible as possible on a technical level.

With that being said, we're actively working on making sure that, at layers above the protocol, developers have an easy time plugging in / restricting functionality on the basis of regulatory parameters. There are several interesting projects in the decentralized identity space that are tackling ways of natively attesting to KYC / AML screening on blockchains like Ethereum, and we're actively in conversations with them to make sure we maintain compatibility.

[+] CryptoBard|7 years ago|reply
I am an engineer at a Coinbase competitor company and I have been thinking about this problem (massive amounts of crypto assets lying dormant) and possible leverage (global access to a universal debt market) and I have been researching Kiva since it seems to be the early player in this space. My 2c - Yes KYC and AML is important but it doesn't make sense relying on national identity documentation and storing everyone's PII in your own database. There's a ton of companies working on identity solutions where the user retains ownership of their sensitive information. With GDPR catching on and similar regional legislation popping up pretty much everywhere outside the EU, KYC and AML information pose a significant liability (and rightly so!) to companies in the fintech space. Especially so for early entrepreneurs who want to innovate but don't have the risk and compliance teams to deal with such sensitive information.

The proper solution is not to hold people's PII at all and depend on a provider (ThisIsMe, Civic, Consent, IDNow, etc, etc, etc, etc) combined with the customer's social graph information. If you want to know your customer, you need to know the people who knows your customer. After-all, who knows you better than your family and friends?

[+] himom|7 years ago|reply
I remember putting money into Kiva around 2007, it was increments of $50 IIRC.

Unfortunately, I lost a job and the ability to work, spent 401k, went bankrupt and lost access to the email address to my Kiva account. It seems ironic as I no longer have even $5. I don’t really worry about money anymore with serious endocrinological, ophthalmological and neurological problems... sleeping 12 hours and awake for 60 hours might place small limitations on life.

[+] beefield|7 years ago|reply
I propose one more tiny step. Instead of having to use these cumbersome cryptocurrencies as payments method, you could also use these IOU's of selected trustworthy institutions as payment tokens. I mean, Instead of you needing to get your currency back from Coinbase and then transfer it to your coffee shop owner, you would just say to Coinbase that hey, you do not need to pay me this cryptocurrency, pay the coffeeshop instead. Wouldn't that be much more efficient?

This is actually one of the more frustrating issues for me in cryptocurrency discussions. The underlying monetary policy is of fixed or predefined money supply, that is supposed to somehow stabilize the price/value of the cryptocurrency in the long term because of hand waving, wishful thinking and reasons, all the while having exactly no way to stop fractional reserve banking emerging nor regulating it or the additional monetary supply it will create. This being one of the main reasons why current crop of cryptocurrencies will never be used as economy-wide payment method and why their price will always stay chaotic (unless the price stabilizes to zero...)

[+] edent|7 years ago|reply
There's something I don't understand about Smart Contracts.

Normal contracts are written by lawyers. They are reviewed by both parties' lawyer. Sometimes, after the contracts are signed, the lawyers disagree what a particular provision or clause means.

At which point, they either negotiate or sue. In which case, a human judge weighs up the case and decides.

How do disagreements work with smart contracts?

I assume some contracts will be buggy - mostly because programmers are just as fallible as lawyers. So how are disagreements resolved in an equitable way?

[+] TekMol|7 years ago|reply

    How do disagreements work with smart contracts?
If you are big or popular or have connections, then the guys in power will bend the rules in your favour. Google 'The DAO' for an example.

Otherwise, an algorithm will decide.

[+] jacquesm|7 years ago|reply
> How do disagreements work with smart contracts?

In the case of Ethereum that's easy: you hard fork the currency.

[+] TTPrograms|7 years ago|reply
It's code. If there's a bug it does what the bug says.

What happens when there's a disagreement with your program that prints "Hello W0rld"? It prints "Hello W0rld".

[+] afinemonkey|7 years ago|reply
It depends, I guess. If what you're talking about is a disagreement between two parties about the object of the contract or its conditions, I don't see why you couldn't resolve it the same way you would with a paper contract. I don't know if any country's definition of contract is broad enough to include smart contracts, but you could possibly bring this to court, perhaps?

If the two parties can agree on a new stipulation of the (smart) contract, a new contract can be issued.

As an aside, this is painful, as a smart contract's address will usually be linked to some user facing application or just your own wallet.

A way to facilitate this is through the use of a proxy contract, which is a contract that exists only to forward instructions to a secondary contract (the main one). The main contract can then do whatever is meant to do.

Now if there is a disagreement or a bug, after an agreement is reached, you can deploy your new contract, change the address on the proxy contract and you're done.

[+] dustingetz|7 years ago|reply
Consider finance options contracts. It's math, there aren't ambiguities, "that's not a bug, it's a feature". Also consider that if lawyering was not an available tool in software contracts, there would still be a game theoretic equilibrium, just a different one, but markets would still function. Before contract law there were other coordinating forces, such as royalty and religion, and things worked out well enough. http://home.uchicago.edu/~rmyerson/research/stratofc.pdf
[+] matte_black|7 years ago|reply
With any new lending platform I have to ask: What happens if I borrow assets, spend them, and never pay back the lender?
[+] nahollander|7 years ago|reply
In the current implementation / use cases we're focused on, your collateral, which is held in a smart contract, would become eligible for seizure by the lender.
[+] seibelj|7 years ago|reply
My company[0] will be using Dharma later this year to put personal loans on the blockchain. Dharma is the best of the bunch in our opinion, and we are very pleased with the support the Dharma team has provided.

[0] https://airfox.com

[+] zanek|7 years ago|reply
I didnt see this mentioned on the website, but what about the legality of this ?

Is this legal in the US ? Or where is it legal , illegal to use ?

[+] iMuzz|7 years ago|reply
What stops someone from putting up some collateral, disappearing with the loan and then just creating a new account?
[+] nahollander|7 years ago|reply
The collateral is held in a smart contract -- if the borrower disappears and fails to make a repayment, his collateral becomes eligible for seizure.
[+] dmitrygr|7 years ago|reply
So, you've reinvented fractional reserve banking, minus all the protections we've built into the modern version of it we all use today through decades of hard lessons? Should be fun.
[+] spookthesunset|7 years ago|reply
Welcome to the crypto “space”. It is a bunch of people who don’t understand math, finance, politics, monetary policy, legislation, government, economics, computer science, or seemingly life itself. All sit around and rediscover why society is shaped the way it is...
[+] arcaster|7 years ago|reply
This service sounds incredible! However, naming it "Plex" seems like a bit of a hiccup since most just think of Plex as the most pervasive home media server in existence...
[+] sambull|7 years ago|reply
Or that currency I used to buy my first space ship. In eve online.
[+] jakecrouch|7 years ago|reply
What is the advantage of using the blockchain rather than creating a fully centralized debt exchange?
[+] dharma1|7 years ago|reply
I guess easier access to global markets, and reduced counter party risk with the exchange. Having the loans fully or over-collateralised (in the absence of credit scoring and real world debt collection) definitely reduces potential applications though.

Congrats on the launch still, great name ;)

[+] TTPrograms|7 years ago|reply
A privately owned centralized debt exchange company can go out of business.
[+] scoot|7 years ago|reply
Investor buy-in.
[+] simonebrunozzi|7 years ago|reply
Congrats for the Dharma team for this anticipated launch! Been following them for a while, great team and very focused exection!

Our company [0] is building an API platform to transact on digitized real estate assets, and we intend to leverage Dharma as much as possible in the future.

[0]: www.fabrica.city

[+] TekMol|7 years ago|reply
How is paying the debt back enforced or incentivised?
[+] bpforster24|7 years ago|reply
Right now we expect most loans will be fully collateralized by other crypto-assets. So the default deterrence would be that if you don't pay back your loan, you lose your collateral.

We also support unsecured loans (i.e., loans that are not fully collateralized). We consider these pretty experimental and lenders should do a lot of diligence before investing.

For unsecured loans, counterparties can agree to any kind of default deterrence that they want. Could be off-chain legal agreement, could be a reputation scheme, etc.

[+] cargo8|7 years ago|reply
Collateral is staked ahead of time
[+] zitterbewegung|7 years ago|reply
Your product looks interesting and I really like the website. I'm going through the Tutorial and it is AMAZING. I like that you put in the time to make it game.

Do you think that your product would be useful for Insurance contracts on the Ethereum blockchain?

[+] nahollander|7 years ago|reply
Thank you! Glad to hear that you enjoyed the tutorial.

There are numerous ways in which Dharma debt agreements can interface with insurance contracts:

1. We've already seen some members of our developer community working on trustless credit default swaps -- which are functionally insurance contracts that use the programmatic endpoints of Dharma debt agreements to assess claims on defaults. 2. For non-fully-collateralized insurance contracts, Dharma debt agreements can serve as the mechanism for tracking and administering the tokenized bonds that capitalize the insurance contract.

[+] techaddict009|7 years ago|reply
Is there any simple explanation of what exactly it is? I tried to understand it by reading various places on site but too heavy words used like credit liquidity, tokenized debt. When you are targeting normal people can you explain how exactly this works? Is it like I give bitcoin/ethereum and you give me fiat money and when I repay fiat money you give my bitcoin/ethereum back?
[+] xur17|7 years ago|reply
This looks really neat! - I was talking to a friend about something similar to this a few weeks ago.

It looks like you'd need to trust the counterparty right now unless they put up substantial collateral. Do you intend to add something similar to a credit rating / history to make it possible for random strangers to lend to each other? Or do you have other ways to handle this?

[+] nahollander|7 years ago|reply
Thanks for the kind words!

In the short-term, as you correctly alluded to, we're focused on loans that are fully-collateralized on-chain. In the future, however, we hope to integrate trusted third-party underwriters into the network in order to open the door for unsecured loans. There are many technical / game theoretic challenges to be solved on this front, though, so we've included unsecured loans as an "experimental" feature set in this initial release.

[+] himom|7 years ago|reply
Shouldn’t money be Dukka, not Dharma? Or is money too often an amoral scapegoat for many individual acts of greed?
[+] perfunctory|7 years ago|reply
When one lends cryptocurrency I assume the loan comes with an interest? Given the fixed supply of bitcoins or what have you, where will the coins to pay the interest come from? Or does it work differently in cryptocurrency world? Genuinely curious.
[+] tlrobinson|7 years ago|reply
I'm not the op, but fractional reserve lending isn't the only form of lending, and fixed supply isn't the only form of cryptocurrency.
[+] orasis|7 years ago|reply
What does this have to do with helping all sentient beings to awaken in this lifetime?

Consider a name change.