Live data from Hacker News

Show HN: Dharma – Programmable Peer-To-Peer Loans Using Ethereum Smart Contracts

news.ycombinator.com

1–10 of 65 posts

Show HN: Dharma – Programmable Peer-To-Peer Loans Using Ethereum Smart Contracts

#1
Hey HN!

My name's Nadav Hollander, and I'm the Founder of Dharma.

Dharma is building an open-source library that makes it really easy to programatically borrow and lend cryptocurrencies using smart contracts on the Ethereum blockchain.

Today we're launching our Alpha Testnet release -- a command line tool that allows you to

1. Access a line of cryptocurrency credit from the command line in under 5 minutes 2. Easily build a bot that auto-invests in loans under hyper-customizable, programmable criteria

Check it out: https://github.com/dharmaprotocol/dharma-cli

Why I Think This Is Cool:

1. Loans in the Dharma Protocol are basically miniature ICOs issued by borrowers -- an investor's stake in a loan is held in a digital token that entitles them to future cash flows. That means loans are just as tradeable and moddable as Bitcoin or Ether, and packaging loan tokens into tranched debt instruments of all shapes and sizes is relatively trivial to implement in an Ethereum smart contract.

2. Dharma is an open protocol. This opens the door for any client application, including existing online lending platforms, to tap into a non-proprietary army of lending bots as a source of lending capital. This has the potential to dramatically lower the cost of capital for online lenders -- and, in turn, borrowers.

How This Can Be Better:

1. Loans in the Dharma Protocol are slow and expensive. Ether gas costs are fairly steep for writing the requisite loan data onto the Ethereum blockchain, and an on-chain auctioning mechanism places a bottleneck on how fast a loan can be funded. We plan to address these issues by migrating towards an off-chain auctioning mechanism layered on top of a Kademlia-style P2P network.

2. The identity verification mechanisms we use to assess baseline creditworthiness are very weak -- any mainnet release of the protocol would necessitate much more robust KYC flows.

Please play around with the CLI -- would love to hear feedback!

Re: Show HN: Dharma – Programmable Peer-To-Peer Loans Using Ethereum Smart Contracts

#2
Slightly off topic, but the recent Ethereum hacks have created interest in how to write secure contracts with Solidity. That is, despite some of the built in barriers, like functions defaulting to public, awkward guard code limitations, etc.

I would imagine if you have some expertise in that area, it would be of interest here. Might also help put some confidence in your specific use case.

Re: Show HN: Dharma – Programmable Peer-To-Peer Loans Using Ethereum Smart Contracts

#3
post #2

Slightly off topic, but the recent Ethereum hacks have created interest in how to write secure contracts with Solidity. That is, despite some of the built in barriers, like functions defaulting to public, awkward guard code limitations, etc. I would imagine if you have some expertise in that area, it would be of interest here. Might also help put some confidence in your specific use case.

Not off topic in the slightest! In fact, all too topical, given the past few weeks.

For what it's worth -- I'm a former engineer at Coinbase / Google and recently graduated from Stanford. Though I didn't touch Solidity as part of my work at Coinbase, I've been following Ethereum extremely closely since its beginnings, and any mainnet release I'd push forward would certainly undergo rigorous third-party auditing at the smart contract level. I've also been iterating on this protocol for the better part of the past 9 months, so this is by no means a weekend project.

Re: Show HN: Dharma – Programmable Peer-To-Peer Loans Using Ethereum Smart Contracts

#4
Forgive what might be an obvious question, but though I see there is a concept of trying to determine the risk of a loan, it isn't clear to me how that is actually done.

What is used as a source of identity of the borrower? IE, how do you punish bad borrowers on future loans? Or does that fall outside of this?

Re: Show HN: Dharma – Programmable Peer-To-Peer Loans Using Ethereum Smart Contracts

#6

Forgive what might be an obvious question, but though I see there is a concept of trying to determine the risk of a loan, it isn't clear to me how that is actually done. What is used as a source of identity of the borrower? IE, how do you punish bad borrowers on future loans? Or does that fall outside of this?

Credit-risk assessment is indeed the most brittle aspect of what I'm building.

In short -- borrowers have to get a cryptographically signed attestation from what's called a Risk Assessment Attestor in order to request a loan in Dharma. RAAs use whatever means they have to assess a borrower's identity and creditworthiness -- be that through social media logins, uploaded identification documents, authenticated phone numbers, their loan history both on and off chain, etc. They are compensated for this by a fee that is allotted to them in the loan contract. Ostensibly, borrowers are deterred from defaulting on their loans insofar as their future creditworthiness on the platform will be marred.

For the time being, Dharma Labs is the sole RAA of the protocol, but, as time goes on, we hope to build mechanisms for allowing other trusted third parties to enter the ecosystem as RAAs.

Re: Show HN: Dharma – Programmable Peer-To-Peer Loans Using Ethereum Smart Contracts

#7

Forgive what might be an obvious question, but though I see there is a concept of trying to determine the risk of a loan, it isn't clear to me how that is actually done. What is used as a source of identity of the borrower? IE, how do you punish bad borrowers on future loans? Or does that fall outside of this?

Credit-risk assessment is indeed the most brittle aspect of what I'm building. In short -- borrowers have to get a cryptographically signed attestation from what's called a Risk Assessment Attestor in order to request a loan in Dharma. RAAs use whatever means they have to assess a borrower's identity and creditworthiness -- be that through social media logins, uploaded identification documents, authenticated phone nu…

Risk assessment is literally the entire product is it not? Loans are not a technical problem to solve, and there's no inherent usefulness in it being a smart contract. A guy in a office is not a risk assessment strategy.

Re: Show HN: Dharma – Programmable Peer-To-Peer Loans Using Ethereum Smart Contracts

#9

I know it's off the subject but is there a marketplace for freelancing for altcoins?

There's https://ethlance.com. I don't know how much activity it has, but I do know it will be part of a family of marketplaces called District0x [1], which should help it with adoption.

[1] https://blog.district0x.io/introducing-the-district0x-networ...

Re: Show HN: Dharma – Programmable Peer-To-Peer Loans Using Ethereum Smart Contracts

#10
post #2

Slightly off topic, but the recent Ethereum hacks have created interest in how to write secure contracts with Solidity. That is, despite some of the built in barriers, like functions defaulting to public, awkward guard code limitations, etc. I would imagine if you have some expertise in that area, it would be of interest here. Might also help put some confidence in your specific use case.

Not off topic in the slightest! In fact, all too topical, given the past few weeks. For what it's worth -- I'm a former engineer at Coinbase / Google and recently graduated from Stanford. Though I didn't touch Solidity as part of my work at Coinbase, I've been following Ethereum extremely closely since its beginnings, and any mainnet release I'd push forward would certainly undergo rigorous third-party auditing at th…

have you attempted to apply any formal methods (coq, isabelle, tla, whatever) to your code? or will you be content with mere auditing?
Post reply on HN