Using Hive Escrow for Peer to Peer Fiat Ramp

36 comments-0 reblogs
avatar of @edicted
LeoFinance Badge
a year ago - 9 minutes read


When I was researching the Hive API I found escrow smart-contracts in the mix. They been around for quite some time. I don't remember which hardfork they came into play but it was long before I ever came to Steem in 2017.

Honestly, I couldn't believe that they have like zero usage. I know that when Steemit Inc launched these things @ned must have thought they were really going to take off. Probably the only time that manchild was ever onto something. It truly is unfortunate that Hive devs never did anything cool or innovative with these building-block smart-contracts.

The basics

The idea behind these contracts is pretty simple. One party wants to buy something with Hive, but there's no way to send Hive without directly trusting the party whose being sent the money. If we don't necessarily trust a vendor, we can't just send them Hive and hope for the best. This becomes even more true depending on the quantity we need to send them. How will we know we are going to get what we paid for without the other person just taking the money and running off with it?

This is the classic escrow problem.

We want to move a chunk of money around but we don't necessarily trust the receiver. The centralized solution to this problem is that a trusted escrow service will hold the money for us and make sure the deal goes through one way of the other. If the buyer doesn't get what they want, they get their money back. If the buyer gets what they want, they can't get their money back. This is the problem escrow seeks to solve.


Decentralized version?

On Hive it's a little different. Anyone can act as escrow, and rather than the escrow account actually controlling the money, they can only send it to one party or the other. It is literally impossible for the escrow account to take the money and run. This is not the case in traditional escrow. On Hive, the network itself (witnesses) actually control the money, and the stakeholders control the witnesses, so it's all very decentralized with checks and balances in play.

Hive escrow is really cool in that if a dapp was created that implemented them, dozens if not hundreds of trusted accounts could also act as a trusted escrow service. I can think of at least a dozen accounts on Hive that I would trust for up to $1000; perhaps even $10000. Many of us have been around for years and have already built up our reputations. Starting over isn't an option. It's impossible to run around stealing money without being completely shunned off the platform and having to start from ground zero on a new account. My reputation on Hive is worth more than $10k; I guarantee it.

In any case there are many things escrow can be used for. I was thinking about using it in the context of creating a decentralized gambling app on Hive. Maybe one day I'll even finish building such a thing! #dreambig. However what I really want to talk about, and what the title implies, are crypto/fiat onramps.


The idea here is so simple, right?

All we want to do is match users trading cash for crypto or crypto for cash. Yet with all the regulations in play it's way more difficult than it sounds. Yet I believe that Hive already has a solid toolkit to interface with these financial APIs and implement p2p crypto trades and there isn't much the regulators can do about it.

How it would work:

First question we need to answer: Who wants/needs this service?

The people who want it are the crypto libertarians who will support it just because it is a peer to peer solution that sidesteps regulators. However, they certainly don't NEED the service, as most of us have banking access to regulated on/off ramps (for now).

The people that actually NEED p2p offramps into fiat are mostly the unbanked and citizens in developing nations that have taken an aggressive stance against crypto. Nigeria is a great country to point out, and many Nigerian users are taking advantage of Binance's p2p trading to turn Hive and whatever else directly into Naira (the native currency of Nigeria). For now, this is a solid solution, but already we are hearing reports of Nigerians on Binance having their accounts locked and their money stolen for various reasons (or even more likely no-reason-given).

Clearly the Binance solution is not decentralized, because it's already being loosely regulated by Binance and law enforcement and whoever else. This leaves the p2p fiat offramp open for Hive to jump in and create an actually unregulatable solution.

question confusion.png

But how?

How indeed!

Specifically, I'm looking at Venmo app with hungry eyes. I think platforms like Venmo can be co-opted for this purpose and there isn't really anything they can do about it.

Just in case anyone needs clarification, Venmo is a payment processor (now owned by Paypal) that connects phones with accounts. You can basically send money to a phone number, and there is a weird social media element to it where you can see a feed of your friends paying other people (but you can't see the amount, only a note about what the payment was for). You can also "like" other people's payments and comment on them like you would on a social media website. It's weird, but it's surprisingly popular (younger demographics).

I can't find the post but I actually got my girlfriend's Venmo account frozen just because I requested money from her with the reason being "Cuba". Simply writing Cuba in the request line and getting paid for it was enough to have her wallet completely frozen and she had to explain that she was paying me back for Cuban food, and not... I don't know... funding terrorism/communism/smuggling? The algorithmic flagging system is obviously absurd and it shows. Regulations are dumb.


Back on topic

So on Venmo, I can send money to anyone I want, and I can list the reason as whatever reason I want. If I send someone $1000 because they gave me $1000 worth of Hive, I'm not going to write: "buying $1000 worth of Hive cryptocurrency" like an idiot... no. I'm going to write: "thank you for your business" or some other generic comment with zero information.

Venmo doesn't know my Hive account. Venmo doesn't know the recipients Hive account. They have no way of knowing what that money was actually for. This is how payment processors can be easily co-opted for crypto/fiat on/off ramps. They don't have enough information to even know it's happening, let alone to stop it from happening.

This is even more true given a decentralized system. If all of a sudden I'm sending a hundred payments a month to random people on Venmo... yeah the algorithm might realize I'm up to no good. However if thousands of people are all participating at the same time, we could all collectively do like 5 extra transfers a month, and all that value transfer would be totally hidden in a wash of transactions and different identities.


But how would it work?

I send USD on a payment processor like Venmo after a user on Hive sends me Hive/HBD (probably HBD because HBD and USD are almost interchangeable and easier to measure). They send me the money via the escrow service. It does not unlock until I send the money on Venmo and the receiver unlocks the payment.

But what if the receiver doesn't unlock the payment?

In fact, what if the receiver does the opposite and asks for their money back? This is the entire point of an escrow service: to make sure no one can cheat the system. If I provide evidence that I sent the money on Venmo, the trusted third party will theoretically side with me during the chargeback dispute and the HBD will be unlocked to me regardless.

But what if the escrow service isn't trustworthy and they collude to steal your money?

Then you lose your money. Lesson learned! But there's still much more to be said. Because I'm a trusted entity on Hive, so I could literally act as my own escrow service in this case. While that might sound like a conflict of interest, guess what? I don't care! If you don't want me to be my own escrow... then don't sell your crypto to me p2p. Like, I don't need your money I'm the one doing you a favor by sending you USD off the books with a fake ass reason on Venmo. See how this works?

The person that 'wants' the service extracts value from the person that 'needs' the service.

Welcome to capitalism! If you want me to send you USD on Venmo in exchange for Hive, you're going to have to sweeten the deal. This is called a 'premium'. You'll likely have to sell the Hive at a discount in order to get an air-gapped wash-traded transfer on a regulated platform. Probably around 1%-5% depending on the circumstances. If the fee is too much, don't use the service or find someone else that will do it on the cheap. Then again, if I charge 1%, that's a pretty good deal. Especially considering something like HiveEngine charges 1%, and Coinbase taker fees are 0.6%, and a wire transfer costs a $25 flat fee, and the free ACH transfers take up to a week to process. Theoretically all of those fees/delays could be avoided with p2p escrow and the money could arrive pretty much instantly, making any premium easily worth the cost.

What if the sender fakes it and makes it looks like they sent USD and scoops the payment?

Again, this is on the escrow account to figure out. That's their entire job. I'm not sure if Venmo has an API or what kind of information one can extract from it. I imagine it might be difficult to verify such a thing one way or the other. Still, there are plenty of trustworthy accounts on Hive that could act as their own escrow and they'd certainly know for a fact whether they sent the money or not. Again, it all comes down to reputation and who we trust within this ecosystem. Sure, that's not a great "decentralized" solution, but it is an interesting way to bridge out to heavily regulated centralized services and co-opt their network without them being able to do anything about it. That's pretty powerful stuff right there.


Sybil attack!

I feel like this must be the real reason why escrow never took off on Hive. For example, imagine I had an escrow service and I was bartering trades between people and gaining a nice reputation. Now I want to sell-out. I can create a random accounts on Hive that are not connected to my identity, and then barter trades between myself and other people who trust me. Then I can just steal their money because I control both accounts. There's no way to stop an escrow account from bartering their own trades in a decentralized no-KYC arena. There are no regulations to stop this from happening, and there never will be, because there can't be.

This is a double edged sword though because I could employ that exact same strategy for the good of the network. By anonymously acting as my own escrow I could barter trades between other people and have a huge amount of plausible deniability. If a regulator tried to come after me I could just claim I don't actually control the money (even though I do because I own two of the three accounts involved in the trade). But I could just claim I don't and that takes a lot of the liability away when it comes to the trade (especially because the vast majority of trades will not have a dispute). Again, it's a double edged sword and escrow always revolves around trust.

Doing further game-theory on this issue, imagine I bartered a trade between say @taskmaster4450 and @theycallmedan or any other known entity in the community. If @edicted was the escrow on this transaction, you'd basically know for a fact that all three of these accounts are three different people acting independently. It is in this way that Hive actually does have a certain level of KYC and reputation involved in the network that is Sybil-attack resistant. After someone has been here for a long enough time it becomes obvious that they are a real person.

This is significant, because I believe that Hive can continue building up reputation systems that lean into this idea and build value from those reputations. Honestly Hive is way ahead of the game compared to most networks in this department. Alphanumeric accounts and account recovery are a big part of that. We can build up the reputations of our screen names and no one can take that away from us (even if they get our keys, because we can always recover).



There's a lot more to be said about this issue, but I've already rambled on long enough. Hive's escrow contracts are embarrassingly underutilized and are in dire need of some innovative dev work. A peer to peer fiat/crypto offramp is just one of many killer dapps Hive could create from this technology. Anything that requires trusting a third party but isn't yet programmable into a smart contract can be prototyped with the escrow system until a better solution presents itself. It's a great way to implement permissionless testnets and we should be paying more attention to them.

Unfortunately, it all comes down to funding and value capture. Many of the cool stuff we could be building with escrow contracts is inherently difficult to capture value from, because if any one entity was actually pumping out enough volume to turn a decent profit they'd get regulators breathing down their neck with a microscope. The way to avoid this is to have many trusted escrow accounts and spread out the transactions so they can't be regulated or even tracked. Unfortunately the only way it becomes financially viable to build such a thing is often to get permission and funding from the decentralized @hive.fund. Still, it's a tempting prospect no matter how you slice it in terms of value to the network itself. Soon™

Posted Using LeoFinance Beta