Launch HN: Dharma (YC S17) an open protocol for borrowing/lending cryptoassets
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!
166 comments
[ 5.4 ms ] story [ 272 ms ] threadDo you think that your product would be useful for Insurance contracts on the Ethereum blockchain?
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.
Is this legal in the US ? Or where is it legal , illegal to use ?
Good luck.
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?
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.
"Dharma" is widely recognized as the term to denote the teachings of Buddha. I feel the use of the term in this new context is cultural misappropriation.
Would you care to address that concern with your thoughts on the topic?
I hardly think of this usage as cultural misappropriation; just loanwords from a different language.
I don’t think it’s particularly controversial but then again I’m not a Christian.
Bible = book. Koran = recitation. Dharma = decree or custom. Karma = fate. Christ = anointed.
Another interesting semi-related one I remember about the Bible: the "Virgin" Mary was translated from the Hebrew "almah", which just means a young unmarried woman (not necessarily a virgin in the way we define it).
I don't know much about biblical hermeneutics, but wasn't the New Testament written in Greek? Also, based upon Church tradition and history, even if the word didn't explicitly mean virgin, it is certainly understood to mean it with relation to Mary.
It looks like the Greek version is the point where 'almah' got translated as 'parthenos', a word that more specifically means virgin.
It's definitely become a key part of the tradition. I'm now agnostic, but went to a Catholic school growing up, so I know well how much importance is placed on it. I've just always found it interesting how such a core belief of the most popular religion in history might (or might not) have been based on a simple mistranslation.
It looks like a cool project too.
But yeah, 95% of all ERC-20 tokens are BS.
The only reason people began using words like Zen, Dharma, Buddha, Nirvana for commercial products that had nothing to do with the meaning of these words is because these words had certain power to them that businesses wanted to capitalize on. Like a brand, if you will. That power was given to these words by countless compassionate acts and lives of many remarkable individuals, so that these words may guide someone who is seeking close to the answers.
Making a financial platform using that name is just disrespectful. It's like naming your dog with your mother-in-law's name. Not an end of the world, but still, pretty distasteful.
Or Karma. That one really has been beaten to death online (and offline too).
But in the end they're just words, they mean what we want them to mean and words were always fluid, you can't nail them down and expect them to remain nailed down over a long period of time.
Just a few more examples: gay, mouse, dial, heaven, respect and so on. That some people assign more value to some words than to others is the root cause of a lot of misery in the world.
Couldn't these people look up wikepedia, https://en.wikipedia.org/wiki/Dharma , to realize this name for a crypo app is not going to go well ? Or are they intentionally tone deaf ?
Calling this a "Dharma Protocol" is more apt than people think, and I'm glad that you used the term.
>>idea of Hinduism is nonexistent This assertion is breathtakingly arrogant . Granted that Hinduism does not fit neatly within the traditional Judeo Christian definition of religions but this is absurdly ignorant. The Brits and the Portugese tried tried very hard to erase Hinduism and failed.( The Portugese went so far to claim Hindus dont have souls -- but that is a discussions for another day). Please note that I do not speak for Hinduism but your assertions are too absurd to ignore.
To give you an analogy -- you are saying the idea of apples is nonexistent. There are RoyalDelicious, Gala, Honeycrisp etc etc, -- but there is no apple .
My initial objection was to crpto snake-oil salesmen using eastern sounding names to disguise their snake oil and sadly they will succeed until this baloon pops.
That is to say there is no universal, central, or dogmatic theory of "dharma", nor perhaps a central agreed upon theory of Dharma, just a vague conception of what it is for each individual interpreter. Whether that interpreter be Buddha, Nanak, Shankaracarya, or the various other Indic philosophers is irrelevant. What unifies them simply is the technical language used to describe their philosophy, and define their own ideas.
So no. I'm not saying all religions in India are the same. All I'm saying is that the various philosophers within that geography used a similar set of vocabulary, and a similar set of ideas to construct their own thought structures in competition, opposition, or in general progression with each other.
So in that sense, there is at least something that makes them closer to each other than they are separate.
Nearly all religions use the same technical language to spread their ideas. Islam, Hinduism,Sikhism, Christianity -- all of them -- talk about God, meaning of life , yada yada yada. Does that make them closer and their philosophical differences trivial?
You had begun your argument by saying that the idea of Hinduism doesn't exist . Now you are claiming all religions are closer than they are separate. You are changing the subject.
Though I would agree that most adherents of any religion would not like their language to be used for selling Crypto hokum. If these guys had called themselves "Gospel protocol", almost everyone would see through them.
Furthermore that's a false equivalence as they do not use the same vocabulary. I challenge you to find any of the Sanskrit based word in any other religions around the world other than the ones found in India, and no translations do not count. That is to say Indic religions have their own jargon.
So no. Not ALL religions are closer to each other. Just the ones in India. There's NOT a single unifying factor that united Indian religions. So yah. There's a great difference between Vaishnavs, Shaivites, Mimamska, Nyaya-kins, Shaivites in Kashmir, Tantrics of Himalayas, Lingayats, Arya-samaj, Bhakti, ISKON, etc. There's, I believe, literal thousands of philosophically nuanced schools of thought that are incredibly different from each other. So again, please tell me where Hindus are the same. Again the ONLY thing, remember, ONLY, is the vocabulary, ideas, etc. that these philosophically distinct ideas share. That's it.
I am not sure as to how this is relevant. Shrenis were guilds and shrenidharma obviously refers to a code of conduct for members. This could have been relevant to use in this context except that it is clearly half assed attempt to use an ancient word. Dharma should have been used as suffix in this context; shrenidharma = guild + rules. Other exmaples of use are atithidharma, kuladharma etc... So not only are they appropriating "Dharma" to make themselves look cool, they are also using it incorrectly.
>>There's NOT a single unifying factor that united Indian religions...so again, please tell me where Hindus are the same
This is simply not true. Take tantra for example ( I am not sure about Himalayan Tantra ) Tantrik traditions and scriptures are derived from both Shaivites and and Vaishnavs, with neither schools laying exclusive claims on Tantrik tradtions. I am not alluding to Buddhist Mahayana 's tantrik traditions.
Arya Samaj grew as a reformation of the 19th century Hinduism. My grandfather was a Arya Samaji but not my grandmother who was a vaishnav. The one thing that western scholars of Hinduism often miss is the fluidity of devotion -- by that I mean Hindus are equally at ease in perfoming pujas of deities from diffent schools. In hindu households, you will find Rama, Shiva , Ganesha , Durga and Krishna and they would all be worshipped. The differences of interpretation of Geeta and Vedas are left to scholars to argue but to claim that they have nothing in common is just wild exaggeration.
Furthermore, you do agree that Dharma isn't just a religious term. Right?
But I do agree with you on appropriation. Indians need to own the term, and define what it is, so that Sanskritic/Indic terms used in the west are well defined. In that sense a sort of sanskritization* of English can take place, just as there's a latinization of Indian languages.
So Dharma is a very broad term, and quite apt in this case.
Indeed, even with a fixed supply token, a borrower would simply have to come across the necessary amount of principal + interest in the loan term.
Bottom line: we don't think the monetary policy of crypto-assets will have much of an impact on default rates in the short term.
Imagine the following:
1. I own ETH, and want to hold my ETH position so I can enjoy price increases, but I need liquidity to live my day to day life and, well, it's hard to pay for things with ETH. 2. Instead of selling ETH and exiting my position, I put ETH up for collateral and borrow a stable-coin (like DAI) against it. That way, I maintain my price exposure to ETH, but have liquid cash to use for my day-to-day needs.
A lends 10 Xcoins to B. B puts 11 Ycoins into escrow. A will either get back 11 Xcoins or 11 Ycoins.
If Xcoins rise in price relative to Ycoins, B is happy and A is sad.
If Xcoins fall in price relative to Ycoins, B is sad and A is happy.
I guess I can’t spend the collateral in the first place?
If my collateral is another liquid asset it doesn’t make sense to borrow, and if it isn’t how exactly does the lender go about seizing it? I want this explanation to reach a satisfactory conclusion.
Already, though, there are many interesting assets in the world of crypto that are particularly well suited to being put up for collateral -- namely, the emerging class of crypto-collectibles such as CryptoKitties.
Each property/car could essentially be represented by its own smart contract, initially held by the mortgage lender. When you pay an instalment of your mortgage, it executes the contract to "release" the equity to you.
When it comes to selling, to change the name on the contract, the buyer would pay based on the split between the lender and the owner, or pay to the owner who has to close the contract with the bank (in the event of moving to a new property, the bank and owner get their relevant proportions on Property 2's smart contract, and it goes again).
You could then "lend" out the equity you've earned from the bank, and use it as collateral for something else, getting it back once you've satisfied the terms of that agreement (meaning, if you don't, the person you lent it to is a creditor on the selling of the house/closing of the contract).
It's essentially automating/giving an interface to an existing contractual relationship. I think this interface might actually be clearer for some people who are financially uneducated, as it expresses their ownership percentage, debt obligations, and potential secured borrowing options in one go. Whilst a lot of it could be done without the crypto side of things if everything happens with the same bank/group of people, with buying and selling assets, you're working on trust with a bunch of different organisations and people, the ledger aspect could help with this.
>> I'm not a crypto-apologist
> This doesn't gain anything over existing legal contracts.
>> I think this interface might actually be clearer for some people who are financially uneducated, as it expresses their ownership percentage, debt obligations, and potential secured borrowing options in one go. Whilst a lot of it could be done without the crypto side of things if everything happens with the same bank/group of people, with buying and selling assets, you're working on trust with a bunch of different organisations and people, the ledger aspect could help with this.
I'm not arguing for it, merely point out the potential use case people would push for, and if it were to be pushed, I outlined why I think it could beat out existing legal contracts.
Would appreciate a rebuttal to my points.
People already have a hard time dealing with contracts written in their own native tongues, why would they prefer having to read and validate source code? Even if a few standard blockchained contracts emerged for real estate deals that could be validated into human language, regular people are terrible at using and trusting software that they use irregularly. In some jurisdictions it is possible to buy and sell houses without involving lawyers or bankers, but most people use their services anyway because they are legally obligated to act in their client's interests, and they are experts at such things. Obviously you will also have to include the government-administered land title registry, an institution that have slowly evolved over centuries and works very well. There is no good reason to decentralize land titles, even if it were possible.
So even if bringing public-key encryption and software interpreters into a real estate deal were to introduce some efficiencies compared to dealing with word docs and paper copies that any country lawyer could amend and attest to without having to hire a Solidity developer and praying that it's one that can handle a weird contract addendum without introducing a bug, which is a big if, the costs and complexities would barely budge because there is a lot more that goes into a real estate transaction than validating contracts.
Crypto-apologists (I know you're not one) seem to include a lot of people who have never stressed out over a real estate deal, or worked on a helpdesk.
My proposal is less about the legal setup, and more about the ongoing interaction with the contract, which might aid with financial education, especially around equity (see how many people are caught up in interest-only mortgages), and debt leverage.
Whether you use a ledger or not depends on how it could actually work, but there aren't many other solutions that give transparency among multiple disparate parties, without a reliance on a credit agency (which, as we all know, has caused some... issues...).
Not sure whether I'm keen on that vision of the future or not, but I can definitely see the day where physical assets are represented by some digital manifestation/token.
You can’t honestly be serious about this. Please get outside the Silicon Valley bubble and look around.
Dharma Protocol is a suite of developer tools that enables entrepreneurs to create apps like Ethlend or SALT easily and securely. It's open source and entirely free to use.
Happy to discuss more, but that's a good start
We will also investigate token models to see if there is a way to make the underwriting process less trustful, and this token model may be a revenue generator as well.
I asked that assuming people put up 1 eth as collateral to borrow 2 eth.
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.
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.
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.
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?
That's why folks in this space need to be thinking about how to solve this problem. There's not a clear, easy answer (or if there is it has not been communicated out enough otherwise everyone would be using it).
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.
Congratulations, I guess...
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?
Otherwise, an algorithm will decide.
Besides, you can still buy ETH classic, if you disagree with the decision. It's just not worth much.
If the situation were sufficiently dire, then presumably it would be easy to get community support. But the opposite is true too.
In the case of Ethereum that's easy: you hard fork the currency.
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.
That's because they had the power to go to war to enforce their contracts. Etherium holders do not have such power, so ultimately, relies on the country's laws to enforce the smart contract.
"Focal arbitration power is power to redefine property rights, which of course may be profitable for the focal arbitrator himself. But a society's generally understood rules for recognizing leaders can impose constraints what a leader must do if he wants to retain his generally recognized position of authority."
What happens when there's a disagreement with your program that prints "Hello W0rld"? It prints "Hello W0rld".
[0] https://airfox.com
Re. MakerDao, they offer one type of loan, the Collateralized Debt Position, in which a borrower collateralizes ETH and the principal is denominated in DAI. And they have built in many automated mechanisms to keep DAI stable against the value of a US Dollar.
Dharma can support a similar use-case (getting liquidity on crypto-assets without selling them) -- you would collateralize any currency and borrow in DAI. That way you can get fiat liquidity today, but if you pay back your loan on time you can still benefit from appreciation of the asset you collateralized.
In addition, Dharma is capable of supporting other lending use cases: short selling, speculative leverage, venture debt, corporate bonds, muni bonds, etc. etc. We are a platform for any kind of debt agreement and for companies that want to issue these debts.
This project, like all crypto projects, is fundamentally flawed. The only difference is this one somehow managed to con a bunch of VC folk into funding it.
Congrats on the launch still, great name ;)
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
It’s like an insurance company calling itself “Gospel”
Is that offensive? Doesn't seem like it to me.
https://news.ycombinator.com/newsguidelines.html
I think as a business they'd have more of an objection to Christianity being associated with moneylending.