Author

Topic: How would you design the ultimate exchange? (Read 1698 times)

full member
Activity: 224
Merit: 100
One bitcoin to rule them all!
April 22, 2013, 04:36:20 AM
#21
I think the ideal exchange is not a single exchange, but a network of nodes.

It should be easy to transfer FIAT to and from. Guess that would mean that there should be at least one node in every part of the world, as apparently transfering money to and from banks sees to move at some set speed/distance. (A lot easier to move fiat from germany to UK than to Japan.)

The nodes should have their own USD and BTC blockchain, where they have to deposit fiat in a locked account where at least two OTHER nodes have to confirm for founds to actually be transfered.
If a node runs out of USD in their account, it has to temporarily suspend trading. At set intervals, the nodes should exchange USD and BTC depending on what they owe eachother.
The seperate blockchains are just for arbitrading between the nodes, so that all nodes know that the other nodes can cover their trades.


Say user A is in Belgium on node X, and user B is in India on node Y. Since the nodes are constantly updating offers between them, user A can see user B's offer, and sends a buys order for 1 BTC@100$ to node X. Node X checks its own offers before sending a BUY order to node Y. After confirming the deal is sealed. User A now has a BTC in his accont and user B has 100USD in his account. The amounts are also sent to the node-networksblockchains. Later that day, exchange X, Y and other nodes do an exchange of the actual fiat and BTC(or every time a trade/treshold have been reached).

member
Activity: 98
Merit: 10
You just don't get it. It's not about centralized / decentralized bs...it's about liquidity.

BAM!  Yes, you've hit the nail on the head.  It is all about liquidity. If we want to see any exchange succeed it'll need to address liquidity on three fronts; performance, bitcoin, and dollars.

On the performance end of things, to allow real time trading, we need something that can handel 1000x more trades per second than either Gox or anything else (other than buttercoin) can handle.  

If a new exchange is going to de-throne Gox, it'll need bitcoins, lots of bitcoins. To do this the new exchange will have to provide solid incentives to potential sellers; top-notch security, anti-fraud measures, low (or no) fees, unconstrained capital withdrawals, fast payment, intuitive interface, and more.  

The exchange will also need dollars, but if the bitcoins are there, the dollars will likely follow.


member
Activity: 98
Merit: 10
Yes, everyone wants to get an efficient price. But a market also determines the price. The price is the result of the market mechanics. Which means that there has to be one central data-structure. People also have certain beliefs about prices. They might think Bitcoin is worth 100$ or 1000$ or 1$. Most think the market price is just, not determined by actions of the participants. But it is the beliefs about the price which determines it, but has complicated interactions. Its the perfect self-referential system.

They might also have short-term views or conditional views, such as: if event E happens BTCUSD will drop by 10% in 2 hours. So there are different types of market participants with different mind sets. First of all one has to understand the difference between a liquidity taker and provider. Market makers are in effect already exchanges, only that they use the existing orderbook structure. From a market maker perspective it would be important to have ability to short BTC. People who are negative about shorting and highfrequency trading don't understand markets.
sr. member
Activity: 280
Merit: 250
If you could somehow design an exchange that works like Bitcoin itself - completely decentralized, peer-to-peer and with no owner, one could hardly require that exchange to follow any regulations, just like bitcoin. The responsibility to follow rules and regulations born by the user. However, I have no Idea how an exchange could work like that, since there needs to be a way to interface with the traditional banking system. Such a completely decentralized, owner-less exchange would be possible for cryptocurrencies though (e.g. trading BTC for LTC).

Isn't that what Ripple is aiming at? some people are saying it is a scam. I don't have the time to read all its dox to make up my own mind.

The problem with a decentralized exchange is the latency. Bitcoin transfers can take hours to get 6 confirmations. Bitcoin's price can halve in that time.
sr. member
Activity: 280
Merit: 250
Can anyone solve the problem of avoiding AML/KYC?

Is that mainly a problem for the client or the exchange?

If you want to avoid all regulatory hassles you could use a .onion hidden service. The lag would be heinous though.

It's a problem for both parties. If someone finds a solution that will be a killer-feature.

If you could somehow design an exchange that works like Bitcoin itself - completely decentralized, peer-to-peer and with no owner, one could hardly require that exchange to follow any regulations, just like bitcoin. The responsibility to follow rules and regulations born by the user. However, I have no Idea how an exchange could work like that, since there needs to be a way to interface with the traditional banking system. Such a completely decentralized, owner-less exchange would be possible for cryptocurrencies though (e.g. trading BTC for LTC).

If you view BTC as a "currency"...
And need to interface with the fiat banking system...
You get everything that comes with it by definition.

Otherwise it's like saying, "I want a liver transplant"...
But I want it to be decentralized...
I don't actually want to meet with doctors or go to a hospital.

BTC is really MUCH more like a commodity...
And the only way to decentralize exchange...
Make it convertible into a standardized, FUNGIBLE commodity like gold, oil, corn, glass beads, kWatt of electricity...
Done officially via the block chain = maintain Order Book in block chain...
But I can't think of the right commodity... other than other crypto-currencies.

Ya gotta think in that direction.
sr. member
Activity: 367
Merit: 250
Can anyone solve the problem of avoiding AML/KYC?

Is that mainly a problem for the client or the exchange?

If you want to avoid all regulatory hassles you could use a .onion hidden service. The lag would be heinous though.

It's a problem for both parties. If someone finds a solution that will be a killer-feature.

If you could somehow design an exchange that works like Bitcoin itself - completely decentralized, peer-to-peer and with no owner, one could hardly require that exchange to follow any regulations, just like bitcoin. The responsibility to follow rules and regulations born by the user. However, I have no Idea how an exchange could work like that, since there needs to be a way to interface with the traditional banking system. Such a completely decentralized, owner-less exchange would be possible for cryptocurrencies though (e.g. trading BTC for LTC).
legendary
Activity: 2142
Merit: 1010
Newbie
Can anyone solve the problem of avoiding AML/KYC?

Is that mainly a problem for the client or the exchange?

If you want to avoid all regulatory hassles you could use a .onion hidden service. The lag would be heinous though.

It's a problem for both parties. If someone finds a solution that will be a killer-feature.
sr. member
Activity: 280
Merit: 250
Can anyone solve the problem of avoiding AML/KYC?

Is that mainly a problem for the client or the exchange?

If you want to avoid all regulatory hassles you could use a .onion hidden service. The lag would be heinous though.
member
Activity: 98
Merit: 10
There have been a lot of complaints on how Mt.Gox and other exchanges have been operating on a technical level. Now, let's put our heads together and give the exchanges some advice on how the ultimate exchange should be designed.

By "ultimate", I mean an exchange that can service a large amount of users and transactions without any lag or other trade-disturbing defects.

Some thoughts.

You are assuming a continuous double auction (CDB), which is not the only way. But assuming a CDB for a moment. What we have are market participants that want to exchange types of currencies (or potentially other virtual goods). The intent to buy and sell are channelled through a social protocol.  For example this can be expressed through orders, i.e. the willingness to buy 1 BTC for 120.23$ on April 20th 2013. This is what a limit order is.  So we have:

Client send: Order => Amount, Price  for BTCUSD at timestamp X

The client can send this intent to a network or a server. The network of server responds. For example with order acknowledged. Or order illegal. Or order submitted. Or order filled. The client will also send a report which makes the transactions transparent. The server also broadcasts "an official price" for reference.

What is very interesting to think about is the time component. For example the client might simply say: buy 1 BTC for <>. This is roughly what a market order is, but could be designed within the protocol instead. In general brokers can match order flow for fees. But thus could be moved into the exchanges, cutting out profits for brokers. Without brokers we can implement completely new interactions. I.e. the market participants sends just the amount and the time, and the system does the rest. It's all a stack of protocols, going from intents to bits. With bitcoin we can redesign the stack moving protocols to bits.

Now currently MtGox is reaping phantastic profits. Other exchanges will come in, based on competition of fees. Then the whole network will evolve together. The bitcoin exchange ecosystem will be very different from todays exchanges. I believe that this exchange network will be the financial network of the future. We can trade any good and service at near zero cost. We can implement social protocols through distributed governance instead of central regulation. We will have new types of credit.

Thinking about these in new ways is the starting point. Just replicating traditional exchanges makes little sense. Very generally people think of technology as something "hard", "precise" and law, design, art as something "soft", "vague". But there is a constant interaction between the very precise and the very vague. The creativity of mathematician and the skill of a painter are much closer related than anyone thinks. The greatest hackers are designers. They re-arrange and cut corners. http://www.youtube.com/watch?v=kYfNvmF0Bqw&list=PLK06EhFA9v4U7bd9l5L-iCVqRdXH01eOs

I think I have some ideas, which I will be working on. Many things to think about. What is a deposit? Why do even have banks and brokers? Can trading fees be distributed in a network?
legendary
Activity: 2142
Merit: 1010
Newbie
Can anyone solve the problem of avoiding AML/KYC?
sr. member
Activity: 280
Merit: 250
You just don't get it. It's not about centralized / decentralized bs...it's about liquidity. How do you bring thousands of traders face to face IN THE SAME TIME Huh?

If trader X place a market order on a site and that order is not executed in the next 30 seconds (like on MtGox ), trader X WILL LIVE the new exchange in 5 to 15 minutes. And he/she will never come back again !!!

And yet still MtGox grows.

Ask yourselves : Why do we have only 2-3 big exchanges Huh The answer is : LIQUIDITY !!! It's the most important aspect of an exchange. Tens of small exchanges died before launch because of this problem. It's almost impossible to have 1000 buyers and 1000 sellers in the same time, on a newly launched exchange site. Period.

Absolutely. Liquidity (and speed of execution) are what exchanges provide traders. Otherwise they would all do local face to face deals. They also provide a price signal. This can be exploited by newcomers: seed the new exchange with liquidity using a bot that provides a bid-ask spread around the MtGox price.
member
Activity: 98
Merit: 10
You just don't get it. It's not about centralized / decentralized bs...it's about liquidity. How do you bring thousands of traders face to face IN THE SAME TIME Huh?

If trader X place a market order on a site and that order is not executed in the next 30 seconds (like on MtGox ), trader X WILL LIVE the new exchange in 5 to 15 minutes. And he/she will never come back again !!!

Ask yourselves : Why do we have only 2-3 big exchanges Huh The answer is : LIQUIDITY !!! It's the most important aspect of an exchange. Tens of small exchanges died before launch because of this problem. It's almost impossible to have 1000 buyers and 1000 sellers in the same time, on a newly launched exchange site. Period.



member
Activity: 98
Merit: 10
Well, what does that mean? Exchanges have high tendency for oligopols. For very good reasons. I might conjecture that one can build entirely new infrastructure from scratch.
legendary
Activity: 2142
Merit: 1010
Newbie
Building a highly scalable exchange is one of the hardest problems.

Are you talking about a centralized exchange? Then you are wrong. Decentralized scalable exchange, this is a real challenge.
member
Activity: 98
Merit: 10
Unfortunately these guys have little clue what they're doing. They are good programmers, but lack expertise. I have come to the conclusion that an alternative project is needed

Reasons:

* node.js is asynchronous. But trading evolves one key datastructure the orderbook. So more asynch connections is not the problem.

* the naivety around market design is amazing. somebody with deep experience in this domain will crush them. LMAX is a joke. Buzzwords, but not the real stuff. LMAX is a couple of years old and nobody uses it.

Building a highly scalable exchange is one of the hardest problems. No allowance for failure, malicious algos, order flooding, etc.

Its better than nothing, but if some key contributors don't know what DMA is... (DMA in the traditional finance world allows people to trade directly through the broker. But here there are no brokers, which is the beauty of it).
legendary
Activity: 2128
Merit: 1002
watching to see how this looks with a front UI.
member
Activity: 155
Merit: 10
More than a dozen very skilled coders, engineers, designers and architects have been working around the clock for the last 5 days on exactly that

https://github.com/buttercoin/buttercoin

Open source, high-speed trading engine, build by bitcoiners for bitcoin.

The project is moving at an incredible speed - one you rarely see in software projects. As people go to sleep in one timezone, they hand of tasks and the work continues

The passion and intelligence floating around the buttercoin project is incredible...



+1

This is what we need.
sr. member
Activity: 378
Merit: 250
Born to chew bubble gum and kick ass
1. There should be easy available connectivity offered by the exchange to the clients (a trading gateway + data feed: both historical and real-time).

2. The exchange should offer a basic charting&trading package for free (like MT4 or MT5 - something like this).

3. The exchange should make a deal with high-end frontend developers (if you know futures and forex markets you know which ones they are) and also avail such frontends to clients.
newbie
Activity: 27
Merit: 0
i would probably use some proven forex trading system modified for bitcoin.
full member
Activity: 196
Merit: 116
Entrepreneur, coder, hacker, pundit, humanist.
More than a dozen very skilled coders, engineers, designers and architects have been working around the clock for the last 5 days on exactly that

https://github.com/buttercoin/buttercoin

Open source, high-speed trading engine, build by bitcoiners for bitcoin.

The project is moving at an incredible speed - one you rarely see in software projects. As people go to sleep in one timezone, they hand of tasks and the work continues

The passion and intelligence floating around the buttercoin project is incredible...

sr. member
Activity: 367
Merit: 250
There have been a lot of complaints on how Mt.Gox and other exchanges have been operating on a technical level. Now, let's put our heads together and give the exchanges some advice on how the ultimate exchange should be designed.

By "ultimate", I mean an exchange that can service a large amount of users and transactions without any lag or other trade-disturbing defects.
Jump to: