district0x / district-proposals

Proposals for new districts to be built by the district0x Team.
https://vote.district0x.io/
214 stars 36 forks source link

DP #72: RemitEx - Decentralized remittance and exchange #72

Open batmanscode opened 6 years ago

batmanscode commented 6 years ago

Name

RemitEx

Purpose

Decentralized crypto-fiat exchange and remittance platform that's easy and simple for both sender and receiver.

All the sender has to do is search for and select a listing, send crypto/fiat and be notified when it has been sent to the recipient.

Main benefits:

  1. Users can vote on rules and fees; no centralized control.
  2. No central place where user data is collected; less susceptible to hacks as there isn't a central target.
  3. Cheaper and quicker than traditional methods.
  4. Provides easier access to crypto.

Description

Types of users: • Sender • Exchanger (crypto to fiat and/or fiat to crypto) • Recipient

Fees • The network fee, decided by DNT holders of the district (0.1% used in the examples below) • Fees for services will be determined by market competition i.e. When more users come in, the competition might drive down the 1% fee (as used in the examples below) that's set by the exchanger. • The DNT holders could vote that the fees be fixed/flat instead of a % of the value of remittance

General reputation and incentives features: • New users pay x network fee (which are automatically deducted) to all DNT users in this district • Users who have earned a good reputation pay lower network fees • Users with a bad reputation pay higher network net fees (if other users want to interact with them at all) • Users with a good reputation can charge higher service fees

Services

Fiat <-> crypto exchange

Similar to how localbitcoins works, users will find others interested in exchanging (fiat to crypto or crypto to fiat) and make the trade; using an escrow system for bank transfers (i.e. When the exchanging parties don't meet).

Crypto-crypto

Users can hold funds they want to exchange in a smart contract escrow account with defined buying/selling prices and for what they are to be exchanged with, creating an orderbook.

*Or maybe the 0x protocol can be built in, along with shapeshift for non ERC20 tokens/coins.

Crypto <-> fiat remittance

The sender will search for someone:

  1. In the country he/she wants to remit to
  2. Who accepts the particular crypto (the crypto-crypto exchange can be used if the exchanger doesn't accept the senders tokens)
  3. Can meet and pay cash or transfer the money to the recipient

The sender will send the crypto (+fees of the exchanger +district fees) into an escrow account.

The funds will be released from escrow when the recipient (or even the sender, in case the recipient can't) confirms the money was received.

This can also work the other way around for someone sending fiat and the recipient receiving crypto.

Example infographic of how this might work for crypto to fiat remittances from USA to Sri Lanka:

decentralized remittance with escrow and network fees and 1 service charge infographic 11- picktochart

Any disputes can be sorted in the Aragon Court.

Example dispute- If a problem arises where the recipient (after receiving a bank transfer) or sender doesn't confirm and release the funds in escrow, the exchanger can present the bank transfer evidence to the Aragon judges, the funds can be released to the exchanger and the senders reputation will be affected.

*Alternatively, maybe Escargot (https://github.com/district0x/district-proposals/issues/67) can be used for escrow and to solve disputes.

Fiat-fiat remittance

This will essentially be a combination of the above services as this involves a local exchange (fiat to crypto) and an international one (crypto to fiat).

NOTE: this can just as well be done by a user exchanging their fiat to crypto themselves and then sending it using the crypto-fiat service; this is for users who would prefer a turn-key service albeit at a slightly higher cost.

The sender will send fiat to the local exchanger (remittance partner), who will then send crypto to a foreign (destination country) exchanger, who will send fiat to the receiver.

The remittance partner (local exchanger), who will more or less be handling/facilitating the fiat-fiat remittance behind the scenes, will have to meet certain criteria in order to be eligible:

  1. Has to have a high reputation
  2. Successfully completed a minimum number of local exchanges
  3. Has to have a DNT stake worth the value of the exchange (collateral)

The details (like what the minimum number of local exchanges should be) will be voted on. And even modifications contents of the criteria itself can be proposed and voted upon. The above are just my thoughts; I think it would be best for the community to decide. If a local exchanger doesn't have enough collateral, more than one local exchanger can take part. *With the help of friends in other countries, fixed chains can be set up to do this.

An example of how this can work:

decentralized fiat to fiat remittance with edited note 3 and extra fee 1 and local typo correction fee infographic 13- picktochart

To consider:

  1. All the fees, fee structures and remittance partner criteria can and should be voted on by DNT holders of this district.
  2. Network fees will be automatically collected and dispersed in DNT, to all DNT holders in the district using the crypto-crypto exchange. Maybe a feature could be created that lets DNT holders specify in what crypto they would like to receive network fees in.
  3. Users can do a local exchange first and then a crypto-fiat exchange themselves rather than paying fees for someone else to facilitate.
  4. This can be altered/upgraded to exchange goods for crypto instead of fiat.

Concerns:

  1. Will it be better to distribute network fees to exchangers only instead of everyone?
  2. Should no one be paid network fees, and it just be used to pay gas for everyone?
  3. Should be a network fee at all?
  4. Fees might be too high, at least initially when there are few users, with two exchangers. Using the fiat-fiat service that is.

Thank you for taking the time to have a look at my proposal :) Please do leave feedback and let me know how this can be improved and if I have missed or overlooked anything.

Slack name: batman

ghost commented 6 years ago

I was literally about to post a district proposal for something similar to this, before thinking that it could potentially cause legal concerns and possibly "karmic repurcussions". Just a small consideration.

My idea in particular was each currency offered in the network could represent a "node" and people can place their offers on the "edges" between arbitrary nodes, this could be done via the existing 0x project (not to be confused with district0x). Each individual gateway to or from fiat also represents a node, however their supply is dictated by the fiat gateway (who may have their own requirements when "cashing out"). The idea is pretty much a copy of ripple/stellar/trustlines but I feel it could be made to work well with nodes as Aragon organizations.

(tl;dr: each currency and gateway within the district has its own node in an "exchange graph", with their own governance, based on individual's stake of that particular currency, which trades with other nodes using 0x.)

d0x infra libraries could be used to sort currency-communities/nodes by criteria like location, volume, supply, and reputation. Do you think my idea warrants a separate proposal, or is discussion here a better idea?

batmanscode commented 6 years ago

Oh nice! Yes I was concerned about that too, but usually local transfers don't really have many restrictions so I don't think it will be a problem tbh. It's really cross-border fiat transfers that are problematic.

Thank you for sharing, I like it! It's really quite fascinating. Although I'm not too sure about how the governance of nodes will work.

So my question: if each currency i.e. node has its own governance, then the people who want to trade that currency have to follow the rules of that node correct? If so, then what if a person doesn't like those (or a small % of people)? can they make another node for the same currency with the governance they prefer? *sorry in advance if I have misunderstood your concept!

And with regard to your idea being a discussion here or a separate proposal: I think both our ideas have the same goal more or less, but they're different processes under the hood.

Now obviously to most people using it (senders and recipients) it won't matter how exactly this works, all that matters to them is that's it's easy to use and better than existing solutions (more efficient, cheaper, more secure, faster etc.); and I think a big part of that is efficiency (and of course UI and UX! but that's another topic).

In conclusion, I think you should definitely put it down in separate proposal. It has a different process/structure and it might turn out to be more efficient than the one I proposed, meaning a better product.

8lcarte commented 6 years ago

As a seed stage investor a few years ago I was desperately trying to find a blockchain solution to solve this problem. Ripple seems to have figured out some of it and Bitpesa is great as well. However, the reason remittance startups almost all fail is due to financial regulation. In the US you have to set up a bonded escrow account (in many cases >$100k) in every state your customers will be transacting in. I believe the UK is slightly easier but not by much.

Now, by putting the onus on the nodes to govern themselves and follow appropriate licensing and KYC regulations this problem can be overcome. However then you start to run into needing high fees and you start to just look like any other remittance provider.

Don't get me wrong, I would LOVE to see a solution to the remittance issue, blockchain-based or not. However I was scared off from investing in any remittance platform due to the complexities in cross-border transfer, especially from the US.

batmanscode commented 6 years ago

Thanks for your input @8lcarte!

Yes Ripple and Bitpesa are well done. Reading about Bitpesa is actually what got me thinking about this on a deeper level.

Over $100k is insane! Especially for a start-up.

I do get what you mean. Which is why I think it might be better to do this at an individual level i.e. send crypto to someone who will give the corresponding amount in fiat. Because from what I understand, the bureaucracy that you mentioned wouldn't affect local (individual to individual) transfers.

Another thing to note is that this isn't really a company as such for regulations to apply. Also, cross-border transfers will be done via crypto which can't exactly be controlled by regulators (or any other 3rd party for that matter).

Imo things will get a lot easier when the average person prefers crypto over fiat, which comes after a lot of things from easy software, cheaper hardware wallets and when more goods and services can be directly exchanged for cryptos). I think we'll get there sooner than later though.

8lcarte commented 6 years ago

Yes P2P transfers locally are unaffected so a use case of a person working in a city sending money back to home is a good use case, but we already have mostly free transfers localy via venmo/paypal/mobile money etc.

While I agree, this isn't a company, it will be shut down by regulators if the platform doesn't work with them. Crypto can and will be controlled by regulators if it gets to the volumes we all hope it gets to. The transition into the light out of the shadows will be very exciting but come with a ton of new issues we must face.

batmanscode commented 6 years ago

We do have those, but cryptos work better in many ways. From it being more secure, not having counterparty risk, costing even less than paypal and many more.

Yes exciting indeed! And for sure there will be issues (as with anything) but I don't think it will be possible to shut down decentralized platforms. In any case, it'll be interesting to see how things transpire.

Prawn14 commented 6 years ago

Yes had the same idea... have a friend who transfers money from overseas and pays a very heavy fee. She has used bitcoin but due to the time it takes to be received on the other end and market fluctuations is very hestitant in using crypto. With all of the advances in crypto how is this not a quick automated process from cash to crypt, transferred quickly and instantly reverted back to cash.

batmanscode commented 6 years ago

Yeah overseas money transfer is quite expensive!

With regard to bitcoin, I think with the right fee it shouldn't take long for the transaction to be spendable; even the highest btc fees is likely less than what she would be paying otherwise.

I think the real issue, as you mentioned, is the crypto to cash (or vice versa) conversion. True there are a lot of advances with crypto but fiat systems haven't kept up. Couple that with the uncertainty (or fear even) that banks and governments have of cryptos and it becomes difficult to do crypto-cash.

There are however a few "instant" systems such as the very innovative Bitpesa.

Bradymck commented 4 years ago

Hey @batmanscode ,

I'm not sure if you're aware but we recently launched a new bounty to migrate your proposals to the actual District Registry: https://registry.district0x.io/

We're replacing the old voting app with the registry. Let me know if you need help but I would love to see you migrate this over so you can claim your DNT.

It does take a 10,000 DNT submit to submit your proposal but this gives you an extra 2000 you can stake in the registry beyond the deposit amount.

Hit me up on Telegram or Discord if you need help or have questions.

Telegram: https://t.me/district0x/75217 Discord: https://discord.gg/P9RQejv

PS, please excuse the canned response. I am encouraging everyone here to start migrating so they can claim their 12000 DNT.