Author

Topic: Yet Another Decentralized Exchange (Read 1803 times)

hero member
Activity: 770
Merit: 566
fractally
May 22, 2013, 09:06:08 PM
#16
I have since completely revamped my concept for how this would work:

Decentralized, Trust-less, Multi-Currency, Interest-bearing, Bank and Exchange

https://bitcointalksearch.org/topic/m.2238954

In this new system there are no 'micro-banks' nor is there a 'ripple-style' trust system.  "Deposits" in any currency pay interest and it allows bitcoin-like transfers of all currencies.

The $USD or EUR value in the system is 'backed by' 2x the crypto-currency in value and is 100% redeemable.

So it gives those who hold USD or EUR a way to invest their money without taking currency conversion risk. 

I am looking for ideas, feedback, and improvements to this idea which I think is far superior to the micro-bank + centralized exchange. 
member
Activity: 84
Merit: 10
May 22, 2013, 11:37:42 AM
#15
I have created a system for a P2P orderbook here:

https://bitcointalksearch.org/topic/ann-ussc-crypto-p2p-server-decentralized-p2p-exchange-application-209269

I figured out how to make a P2P Orderbook for a decentralized exchange:

I am updating the post daily but will add more in a few minutes:

https://bitcointalksearch.org/topic/ann-ussc-crypto-p2p-server-decentralized-p2p-exchange-application-209269





Decentralized Orderbook - BTA System (Bus - Train - Plane)

BTA - Bus. Train. Plane. BTA is a concept I came up with the solve the problem of a decentralized orderbook for P2P systems.

BTA is a system to move orders from Tier I exchange nodes to Tier II exchange nodes to Tier III exchange nodes according to a predetermined cycle.

BTA is a system akin to a mass-transit public transportation system.

example:
In a mass transit system you could have a bus that would route and cycle through a city with 25 bus stops, stopping at every stop to pick up people. The bus would then drop all of the people off at the last stop which for the purposes of this demonstration is the city's train station. The bus would then repeat the cycle continuously bringing more and more people to the train station.

Eventually the train would arrive to that city and pick up the people who got off the bus and are waiting at the train station. The train would then continue on and cycle through all of the cities of that particular province/state picking up people (who were dropped off by the bus) at every city train station. At the end of the train route would be an airport with a planes ready to pick people up and take them to a specific destination. The train would cycle continuously through all of the cities picking up people and dropping them off at the airport.

The people who were first on the bus and then on the train and now at the airport would then board the plane (jumbo jet if you will) and travel on the plane from the province/state they were in to a final location all the while making stops in every major province/state of that country to pick up additional people. After the plane arrived at the final location it would take off again and cycle through all the provinces/states of the country continuously picking up and dropping off people.

Now, imagine if you will a dating and match making service on one of the sides of that county that has a big convention to help people find a spouse. That service decides to utilizes the same aforementioned mass transportation system to bring people together from all over the country.

People would leave their homes and go to the bus stop. Some people would find compatible matches for themselves at the bus stop or while riding on the bus. Those people would get off the bus pay the fee and then go home with no need to go to to the convention. Those people have what they want; a spouse.

The rest of the people would continue on to the train station and get on the train. But again some people would find matches on the train and at the station; so, they too would pay the fee and go home. They have what they want; a spouse.

What remains of the people would continue on to the airport then get on the plane to go to the convention hoping to find a good match for a spouse.

A P2P BTA (Bus-Train-Airplane) exchange would operate the same way only picking up orders instead of people.

(More in a few minutes)

 
More here in a few minutes:

https://bitcointalksearch.org/topic/ann-ussc-crypto-p2p-server-decentralized-p2p-exchange-application-209269

Here is how it works:

P2P BTA Application

How does it work?

In a P2P BTA system a "Bus" exchange node would cycle through and collect orders from P2P "home-server" nodes mentioned in the above posts.  "Home-server" nodes house user accounts and wallets in a P2P network.

1. The Bus exchange server node would collect orders from home-server nodes 1 through 25 (for example).

2. Matching orders (if any) are fulfilled in a mini exchange. Receipts are generated. All unfulfilled orders and receipts are then stored for pickup by an "Train" exchange node.

3. On a predetermined cycle the higher Train exchange node would pick up all of the unfulfilled orders and receipts from all four (for example) of the Bus exchange nodes in the P2P network. All matching orders are fulfilled in a medium sized exchange and more receipts are generated.  Again, All unfulfilled orders and collected receipts are then stored for pickup by an "Airplane" exchange node.

4. Finally, on a predetermined cycle the higher Airplane exchange node would pick up all of the unfulfilled orders and receipts from all four (for example) of the Train exchange nodes in the P2P network. The Airplane exchange is the highest exchange on our example P2P network. All orders would attempt to be fulfilled here. Collected receipts are used to generate reports and to display fulfilled orders.

In our example P2P network, if no orders were fulfilled by the Bus or Train exchange nodes then the Airplane exchange node would have picked up 400 orders.

(MORE TO COME LATER TODAY)




https://bitcointalksearch.org/topic/ann-ussc-crypto-p2p-server-decentralized-p2p-exchange-application-209269
newbie
Activity: 19
Merit: 0
May 22, 2013, 09:20:38 AM
#14
I think that for this system to really work, the exchange must not be in the business of telling the 'micro-banks' what trx to make.   Let the micro-banks make their own decisions about how, when, and where to send or receive money. 

Then give the micro-banks financial incentive to maximize the amount of business they do so they compete for and market their services on their own.

Imagine if everyone on localbitcoins became a micro-bank for the exchange?  It would significantly reduce the spread.  The wide variety of trx types would ensure that there is no 'pattern' and the exchange itself would never be responsible for 'introducing' people. 

The exchange would then be in the business of 'lending' money $USD to people but only ever hold BTC. 

The question becomes:  is the exchange itself doing anything illegal by simply doing book keeping and holding bitcoin?   Is decentralizing the $USD handling sufficient? 

In this case, the micro-banks would be the MSB, not the exchange because the micro-bank is in the business of exchanging bitcoin for USD.  As long as the micro-bank has customer accounts or is open to the public, it will fall into the MSB category according to FINCEN and will need to follow AML and KYC regulations and reporting.  Ripple gets away with this because it is peer-to-peer.  Each peer is serving a "friend" or another peer and not the general public.  I would say even Localbitcoins is classified as a MSB because they are acting like an exchange for buyers and sellers.

Here's an article reporting about the regulation headaches around bitcoin ATM's:
http://www.wired.com/wiredenterprise/2013/05/robocoin/
member
Activity: 98
Merit: 10
May 21, 2013, 08:13:56 AM
#13
Some good points in this thread. While these things are interesting, you have to consider the legal implications, the risk and reward for participants. It's a bit like running a TOR node only much riskier.

Just a couple of points :

*) you have identities and bank accounts. Say you have a file which holds a ledger of this kind. The network would have to hold portions of it.

*) say you have two nodes transacting in this established network. Instead of exchange from A<=>B you have an intermediary A<=>X<=>B. Now, A and B are not transacting directly. What are the legal implications? On what knowledge does this depend? This is very similar to TOR. This network could mirror the BTC network in the banking network under certain conditions.

Certainly Ripple doesn't solve any of this. Obviously one wants to have a distributed network instead of layering different risks. Its much like a user of money holds counterparty risk against the individual bank, the central bank and the state backing the central banks and banks at the same time. In this Ripple case you have counterparty risk as well as network risk. Which is the opposite of what we want.

I think the logical step is to carefully study the laws of different countries. What is illegal and dangerous in country U, might be perfectly legal in another country Z. The way to push Bitcoin forward is in my mind to focus on places where no prior infrastructure exists. Simply mirroring the banking world is not that interesting by comparison.
hero member
Activity: 770
Merit: 566
fractally
May 21, 2013, 12:19:39 AM
#12
I think that for this system to really work, the exchange must not be in the business of telling the 'micro-banks' what trx to make.   Let the micro-banks make their own decisions about how, when, and where to send or receive money. 

Then give the micro-banks financial incentive to maximize the amount of business they do so they compete for and market their services on their own.

Imagine if everyone on localbitcoins became a micro-bank for the exchange?  It would significantly reduce the spread.  The wide variety of trx types would ensure that there is no 'pattern' and the exchange itself would never be responsible for 'introducing' people. 

The exchange would then be in the business of 'lending' money $USD to people but only ever hold BTC. 

The question becomes:  is the exchange itself doing anything illegal by simply doing book keeping and holding bitcoin?   Is decentralizing the $USD handling sufficient? 
newbie
Activity: 19
Merit: 0
May 20, 2013, 06:57:20 AM
#11
Operating under the radar via small transactions and frequencies (e.g. < $1,000 trxns per day) is a fun topic to ponder.  I thought a lot about this before.

I believe micro-banks would fall under the money-laundering umbrella if someone wanted to use them to chop up a large transaction with small ones.  Micro-banks would be in the clear from government suspicion if it can prove the small transactions are not from the same source.  If the micro-bank cannot prove the source of the funds (i.e. from an individual), the micro-bank would likely be classified as an intermediary between the individual and the exchange and fall in the MSB (Money Service Business) category and subject to regulations and reporting like any other bank.

Western Union is a good model that represents this issue.  Exchanging $999 USD for EUR for example will prick up their ears even it is under the limit.  And they will ask for ID, phone number, etc. and enter the data immediately in their system for later tracking.  I laugh when bitcoin dealers say one can buy bitcoins anonymously through Western Union.  Sure, for a $50 transaction. 

If it wanted to, Western Union could fulfill the role of many micro-banks because they deal with government regulations already.  But they will start tracking transactions if they see a ton of them going to one bank account, including those owned by an exchange.

The closest I see to fulfilling the anonymous small trxn idea is the bitcoin ATM.  I'm waiting to see how bitcoinATM handles the MSB issue.  Building and distributing bitcoin ATM's is the straight-forward and "easy' part.  The hard part is dealing with the regulations that I expect will shut it down.  How many USD to EUR ATM machines are there in the US?  Zero.  It is illegal to own any foreign currency account in the US.  And I expect bitcoin will be labeled a foreign currency with respect to ATM's.

And Ripple?  Another wait-and-see.  I can't see alot of folks including myself mixing money with friends.  I still don't understand what happens when someone in a ripple chain doesn't pay back a loan let alone more than one.  The trust linkages will be quite fragile and weak in my opinion.

A decentralized exchange is the next holy grail after bitcoin technology.  It will take Satoshi-like genius to get it working IMHO.

hero member
Activity: 770
Merit: 566
fractally
May 18, 2013, 10:53:38 AM
#10
So the question I have is would a 'micro-bank' be considered engaged in 'money laundering'?

"Money laundering has been criminalized in the United States since the Money Laundering Control Act of 1986. That legislation, contained at section 1956 of Title 18 of the United States Code, prohibits individuals from engaging in a financial transaction with proceeds that were generated from certain specific crimes, known as "specified unlawful activities" (SUAs). Additionally, the law requires that an individual specifically intend in making the transaction to conceal the source, ownership or control of the funds. There is no minimum threshold of money, nor is there the requirement that the transaction succeed in actually disguising the money. Moreover, a "financial transaction" has been broadly defined, and need not involve a financial institution, or even a business. Merely passing money from one person to another, so long as it is done with the intent to disguise the source, ownership, location or control of the money, has been deemed a financial transaction under the law. However, the lone possession of money without either a financial transaction or an intent to conceal is not a crime in the United States."

It could be argued that the 'micro-banks' are facilitating money laundering on behalf of the exchange by concealing the true 'controller' of the funds.

Would this also make using ripple 'money laundering'?   
hero member
Activity: 714
Merit: 500
May 18, 2013, 07:15:10 AM
#9
But hey, I should probably have a play with Ripple to see what the fuss is all about.

So at the risk of sounding uber-hypocritical, if anyone fancies dropping me an XRP  my address is rapQiLup5DspTpr9kJrKYVH7rfPvP3ddti Smiley
hero member
Activity: 714
Merit: 500
May 18, 2013, 07:11:56 AM
#8
Yes I agree it is pretty similar

But in order to use Ripple, am I not forced to make use of the premined XRP, thus enrichening the few elites behind the currently-closed-source project?

Or is there a way to transact fiat denominated IOUs between users without trust, like bitcoin?

I would prefer to have a Bitcoin-only solution, where the IOUs are actually colored Bitcoins

xyu
full member
Activity: 182
Merit: 100
May 18, 2013, 05:53:39 AM
#7
I would argue that the handling of fiat should be completely decoupled from any future exchange, P2P or otherwise.

We let dealers/brokers/banks/mtgox handle fiat. They can worry about regulations, AML compliance etc.

When we deposit $ with them, they give us a colored Bitcoin or an alt-chain coin that is backed by our deposit.

Once we have our MtGoxUSD coins, we can trade in real-time on the P2P crypto currency exchange. No waiting for bank transfers etc.

So perhaps efforts should be focused on creating an open source crypto-coin-only exchange. It does not even need to be P2P for it to be useful.

What you describing is already exist and called Ripple, just FYI
hero member
Activity: 770
Merit: 566
fractally
May 18, 2013, 01:00:36 AM
#6
I suspect that if it was 'profitable' to run a microbank (factoring in the time/risk) then the number of microbanks would probably exceed the demand for deposits.   The reality is that becoming a 'microbank' would be like buying a share in the exchange and therefore market forces would take over.  The more microbanks the fewer trx and the smaller payout from the exchange.

Ideally the exchange would get down to 1 or 2 trx per microbank per day. 

Systems like dwolla could potentially perform 'network analysis' and identify these microbanks then claim the users were violating the 'terms of service'.   Considering they are getting a cut of every transaction and their business model is 'person-to-person' payments... they would probably allow it until the government forced them to do the data mining.  Even so, as long as the 'cost to find an account' is greater than the balance in the account it would be very hard to stop.

Users could also sprout up 'local, home-based' banks that deal entirely in cash.  One or two of these in every town would quickly displace the need for banks entirely.  The biggest target will still be the 'exchange', but because it only holds bitcoins it could be structured to allow 2 or more exchanges owned by different people with a plan to make sure everyone got their money back even if the servers were seized.  The micro-banks would simply switch to a new exchange and the authorities would accomplish nothing.

So the question becomes how does this compare to ripple?  In theory ripple could serve as a funding source and all BTC/USD could be held in ripple... and the ripple exchange is already 'decentralized'.   My 'microbanks' would be similar to their 'gateways'....

I think the primary difference is that a 'gateway' has much more 'risk' than a microbank.  The gateway is public / advertising their services and probably performs over $1000 per day in transactions to generate the volume necessary to make the gateway profitable.  The resulting regulatory requirements would make gateways less profitable and less decentralized than micro-banks.

hero member
Activity: 518
Merit: 500
May 17, 2013, 11:45:27 PM
#5
The OP proposal is a great basis to start something. If you could get a minimum of a couple of micro-banks running in each country (obviously dozens in US / Europe), that would really help increase the efficiency of the bitcoin system in both:

a) Hugely reducing speed of deposits / deposits
b) Hugeky reducing costs of withdrawals / deposits

For instance, in Thailand I currently wire money to bitstamp and it takes 3 days + $17. If I had a local option, it could be both *instant* + $1 fee. Game changer. Suddenly the bitcoin economy "just works".

To avoid government interference, you would in practice need quite a high volume of microbanks in order to keep volume low. If you had hundreds of in / out transactions each day, the bank would call the account holder and say "what business are you in?" and if they didn't like or understand the answer they would shut it down. It doesn't have to reach the $10,000 individual transaction that causes a bank to do it. Banks monitor all accounts for "suspicious activity".
hero member
Activity: 714
Merit: 500
May 17, 2013, 05:22:28 PM
#4
That said, I do like the OP's proposal of how the handling of fiat could be decentralized.
hero member
Activity: 714
Merit: 500
May 17, 2013, 05:16:11 PM
#3
I would argue that the handling of fiat should be completely decoupled from any future exchange, P2P or otherwise.

We let dealers/brokers/banks/mtgox handle fiat. They can worry about regulations, AML compliance etc.

When we deposit $ with them, they give us a colored Bitcoin or an alt-chain coin that is backed by our deposit.

Once we have our MtGoxUSD coins, we can trade in real-time on the P2P crypto currency exchange. No waiting for bank transfers etc.

So perhaps efforts should be focused on creating an open source crypto-coin-only exchange. It does not even need to be P2P for it to be useful.
hero member
Activity: 815
Merit: 1000
May 17, 2013, 04:33:44 PM
#2
How about:

1. A P2P version of localbitcoins.
2. with trustrating built into the system.
3. And global price averaging (average seller and buyer posted prices if trust is good).
4. Both user and exchanger accounts must be bought, the revenue is destributed to the miners of the P2P exchange chain.
5. Only exchangers accounts can post offers and their accounts cost more.

This would allow people to exchange coins forever easily, under the radar and know global price average without mtgox.
hero member
Activity: 770
Merit: 566
fractally
May 17, 2013, 04:27:08 PM
#1
   There have been MANY posts that highlight the need for a decentralized exchange and many 'ideas' on how to make it happen, often by people without the ability to make it happen.  I am a software engineer who can and will make things happen if there is broad enough community support behind my proposed approach.

Ground Rules:
1) No individual bank accounts that transfer more than $1000 per day.
2) The exchange itself only holds BTC and has no $USD bank accounts.
3) Minimize trust required in those who hold $USD
4) No need to create any cooperation.

Assumptions:
1) It is perfectly legal to operate an 'exchange' that never touches nor 'owns' any $USD and that such an 'exchange' could potentially operate as a TOR hidden service *if* it came to that.
2) It is perfectly legal for an individual to send/receive money on behalf of other individuals in amounts less than $1000 per day.. ie: below the legal threshold.

An exchange exists to minimize 'counter-party risk' and provide 'instant / atomic' trades while facilitating price discovery.  To do this the exchange needs to verify that all funds are held in a trusted 'account' under 'their control',  unfortunately there is no such thing as a 'trusted account under your control' when it comes to legacy banking systems.  Governments can sieze these accounts 'at will' and do.

Proposed Solution:
1)  Use micro-banking to store the exchange's funds.   A micro-bank operates below all legal reporting / licensing thresholds holding less than $10,000 and transferring less than $1000 per day.  Anyone can open a micro-bank assuming they have a something as simple as dwolla or intra-bank transfers. 

2) How can the 'exchange' or anyone else 'trust' these micro banks not to run off with the money?  It would take almost 1000 micro-banks to hold the $USD value of Mt.Gox's daily volume.  The exchange would have no effective way to know whom to trust and it would be far too costly to 'interview' / 'vet' or 'hire' that many people on the basis of trust.   However, there is no need to 'trust' the micro-bank provided the micro-bank trusts the exchange.    In this case, the micro-bank posts a BTC surety deposit with the exchange to back their operations.  The exchange will then trust the micro-bank with up to 75% of the BTC value in $USD.   Under this setup no-one needs to trust the micro-bank, only the exchange or 'distributed bank'. 

3) The exchange can allow anyone to register as a micro-bank and once that is done is able to 'open for business'.  This is how it would work:

A customer wants to deposit $USD with the 'exchange' and makes such a request.  The exchange instructs the customer to deposit $XYZ with Dwolla account ABC and 'invoice number' some hash.  The owner of that Dwolla account (as a micro bank) would report the deposit to the exchange.

A customer wishes to withdraw $USD from the 'exchange' and the exchange will direct one of the micro banks to send the money.

4) Micro-banks make money in two-ways:   
   - transaction fees and a cut of the exchange's profit.

5) There are still legal risks, charge-back risks, etc that the micro-banks face.  To offset these risks they may optionally join an insurance pool.

6) Micro-bank job description:
   - process all 'transactions' within 24 hours  *or* notify the exchange that you will be unavailable for 'vacation'.
   - total number of transactions will be less than 50 per day.
   - total time to process transactions should be less than 30 minutes.
   - transaction fee of $1 per deposit/withdrawl (covers time + dwolla fees)

7) Micro-bank 'income':
   - $50 / hr (estimate) for processing transactions.
   - A share of exchange's transaction fee... assuming Mt. Gox level fees + volume and 1000 micro-banks this could be over 7 BTC / month.

I am looking for legal issues/opinions and volunteers for people who would be interested to signing up as a micro-bank. 
Jump to: