|
December 23, 2013, 02:57:43 AM |
|
We've all heard stories on how unreliable certain exchanges can be.
The worst part is that they can just run away with all the coins they have under their control anytime they want.
We have these amazing decentralized currencies but we're still beholden to centralized organisations to trade these currencies.
But what if we could do it another way?
Buying or selling Fiat online will always require a trusted third party. But trading between altcoins doesn't have to.
The goal here is to be able to find a seller that will sell what you want in exchange for what you have, and then be able to execute the transaction at an agreed exchange rate without having to trust any of the parties involved.
But making that happen isn't so easy. If you send your coins first, there's no guarantee that they'll send them back to you. A vice versa.
We need a way to place coins in escrow and only release them to the other party if they've sent you their coins.
Most altcoins don't support that feature. So we'll need to create one.
And so, I would like to create "TradeCoins".
How they work:
They can be mined, stored and transferred like most other coins. The specifics are TBD.
In addition they can be placed in escrow with a set of rules guiding the when and to whom of their release.
These rules can depend on events that occur in other currencies.
The network (miners), in addition to resolving transactions, will resolve escrow events by cross referencing what happens on the block chain of other coins against the rules setup in TradeCoin's escrow accounts.
As such a trade without a trusted third party can occur like this: I want to trade my 1 BTC and sell them for PPCs.
I find an untrusted trader (Bob) who will sell me 1 BTC's worth of TradeCoins (let's say that amounts to 1000 TradeCoins).
I tell Bob the address(es) I will send the 1 BTC from and Bob tells me where to send it to. I also tell Bob the address of my TradeCoin account.
Bob then puts 1000 TradeCoins into an escrow account with the rule that they be released to my TradeCoin account once 1 BTC has been sent from my BitCoin account to his BitCoin account. There is also a rule that after 3 hours if the 1 BTC has not been sent, then the TradeCoins return back to Bob.
I then send the 1 BTC to bob and the 1000 TradeCoins automatically get transferred to me.
Now, I find an untrusted trader (Jane) who will sell me 100 PPCs for 1000 TradeCoins. I repeat the same process as with Bob but with the roles reversed.
And I am now the proud owner of 100 PPCs and have sold 1 BTC. Mission accomplished!
Of course, it's not a perfect system. You are exposing yourself to the price volatility of TradeCoins when you only want to deal with BTCs and PPCs and, additionally, you have to make the trade in two steps. What could have been great market conditions to sell your BTC for PPCs when you started the process may turn out not so good once you have the TradeCoins and you're trying to by PPCs.
And so, there are two other ways to trade BTCs for PPCs:
1- Keep your own store of TradeCoins. If you expect to be doing a lot of trades, then you might consider just keeping a bunch of TradeCoins in reserve to use as guarantee.
So if I wanted to sell 1 BTC for 100 PPC directly without have to go through TradeCoins as intermediary (but still using them as a guaratee). I would do it this way:
First, I find someone (Bob) who wants to buy my 1 BTC for an agreeable price of 100 PPC.
Next, we agree on what would be a reasonable guarantee in TradeCoins. Let's say the current price of 1 BTC is equivalent to 1000 TradeCoins. So we agree on a 1500 guarantee (something a bit higher than the price is needed to guard against price fluctuation).
I then put 1500 of my own TradeCoins (that I already had before) in escrow with the following rules: 1) If you send Bob 1 BTC, then the TradeCoins go back to you. 2) If after 3 hours you have not sent Bob 1 BTC, and Bob has sent you 100 PPC then the TradeCoins go to Bob 3) If after 3 hours neither 1 nor 2 has occured, the TradeCoins go back to you.
Bob is now happy that if he send me 100 PPC, I will send him back the 1 BTC because he knows he'll get 1500 TradeCoins if I don't.
So Bob sends me 100 PPC.
I wait until I'm absolutely certain that the 100 PPC transfer has been confirmed.
I then send Bob my 1 BTC.
And the 1500 TradeCoins come back to me.
The third method of transaction is probably the safest with regards to price volatility but it does require a third party (and a commission).
With this third method, I don't have to own any TradeCoins at all.
So, I want to sell 1 BTC for 100 PPC.
I need to find Bob who wants to sell 100 PPC for 1 BTC and Jane who will provide escrow services for 0.2% commission.
One of the transactions will need to go through Jane it doesn't matter whose. So let's say it's the 1 BTC.
Then the trade happens like this:
Jane puts 1500 TradeCoins in escrow with the following rules: 1) If I send Jane 1.002 BTC and Bob sends me 100.1 PPC within 3 hours and Jane sends Bob 1 BTC within 6 hours, then the TradeCoins go back to Jane. 2) If I don't send Jane 1.002 BTC within 3 hours, regardless of what Jane and Bob do, the TradeCoins go back to Jane. 3) If I send Jane 1.002 BTC and Bob sends me 100.1 PPC within 3 hours but Jane doesn't send Bob 1BTC within 6 hours, then the TradeCoins go to Bob. 4) If I send Jane 1.002 BTC within 3 hours but Bob doesn't send me 100.1 PPC within 3 hours and Jane sends me 1.002 BTC within 6 hours, then the TradeCoins go back to Jane. 5) If I send Jane 1.002 BTC within 3 hours but Bob doesn't send me 100.1 PPC within 3 hours and Jane doesn't send me 1.002 BTC within 6 hours, then the TradeCoins go to me.
Next, I send Jane 1.002 BTCs. Jane has 1500 TradeCoins in escrow to guarantee that I don't get screwed.
Once that is confirmed, Bob send me 100.1 PPC. Now I'm happy and I can go on my merry way. Bob's transfer is safe because it is now guarateed by the 1500 in escrow.
Once that is confirmed, Jane sends Bob 1 BTC.
The 1500 TradeCoins automatically go back to Jane.
So if the trade goes through normally: I spend 1.002 BTC, receive 100.1 PPC. Bob spends 100.1 PPC, receives 1 BTC. Jane provides escrow services and earns 2 mBTC.
Regardless of what happens, the only way Jane loses her TradeCoins is if she messes up.
Both Bob and me have to send our coins before we receive what is due to us. So we can't really defraud anyone.
Jane however will have the opportunity to keep BTCs that aren't hers. They are mine before Bob sends the PPCs, and they become Bob's after. But in both cases she's put up 1500 TradeCoins as guarantee (which is worth more than the 1 BTC she's holding for Bob and I).
So that's how you trade Cryptocurrencies without a trusted third party.
Now I'm willing to build this. But only if there is sufficient interest and if I'm confident that I can get back my investment with profits.
Also, if I can partner with 1 or 2 serious, experienced and competent developer I think that would vastly increase my chances of success and even my profits. So any good developers out there, please let me know.
And if you're already working on something like this. Let me know too, we're better off collaborating rather than competing.
|