Pages:
Author

Topic: P2P Exchange for bitcoin - page 9. (Read 42783 times)

hero member
Activity: 546
Merit: 500
April 19, 2013, 06:32:23 PM

Bitcoin is a currency, not a stock, and our goal is decentralization, not centralization. Therefore the decentralized OTC-markets of FX should be our role model.


I agree. Decentralization in a form that takes it out from under the control of a small group of people.
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 19, 2013, 05:56:15 PM

3 Exchanges:
a) One and only one exchange
b) Many independent virtual exchanges running in the system


I can think of one positive aspect of having one and only one exchange, namely the quality and consistency of the data feed (used to plot bars and perform technical analysis).

When there is one exchange, for a particular instrument e.g. CME for S&P 500 this exchange distributes its data to companies like Trading Technology and IQ. Every end user buying data from these distribution companies can be 99% sure that the data plotted on his monitor are the same as data plotted on monitors of other traders - this is good.

Now try the same in forex ... tens of brokers for EUR USD, each broker reports different prices and different volumes (and different spreads). Gosh - it is a nightmare.

Bitcoin is a currency, not a stock, and our goal is decentralization, not centralization. Therefore the decentralized OTC-markets of FX should be our role model.
In the FX-world there are many OTC-exchanges and yes you will not see exactly the same price of EurUsd over all exchanges all the time, but a lot of algos are doing arbitrage 24-7 so most of the price differences will be wiped out before you even notice it.
sr. member
Activity: 378
Merit: 250
Born to chew bubble gum and kick ass
April 19, 2013, 05:44:09 PM

3 Exchanges:
a) One and only one exchange
b) Many independent virtual exchanges running in the system


I can think of one positive aspect of having one and only one exchange, namely the quality and consistency of the data feed (used to plot bars and perform technical analysis).

When there is one exchange, for a particular instrument e.g. CME for S&P 500 this exchange distributes its data to companies like Trading Technology and IQ. Every end user buying data from these distribution companies can be 99% sure that the data plotted on his monitor are the same as data plotted on monitors of other traders - this is good.

Now try the same in forex ... tens of brokers for EUR USD, each broker reports different prices and different volumes (and different spreads). Gosh - it is a nightmare.
sr. member
Activity: 404
Merit: 362
in bitcoin we trust
April 19, 2013, 04:12:39 PM
Adam

I like the "use exchanges as just escrows" idea, but if the trades on a P2P exchange ramp up considerably, won't the escrow holders be holding massive amounts of fiat, and thus still be at risk for Cyprus style issues? Not saying it's not a good idea, just not sure that such an issue can at all be avoided, short of forgoing escrows completely.

Well they might, but thats a fiat currency issue, thats why some people are buying bitcoin Smiley.  Also dont use exchanges in countries with high banking exposure to GDP.  (Like credit rating of country, you can look them up).

Adam
hero member
Activity: 546
Merit: 500
April 19, 2013, 10:21:35 AM

4 Avoid reputation in buy and sell, this only causes scams. The system is what is needed to be trusted. You insert your UKash code and you have 10, 20 or 50 € and this is your money Ukash, the system keeps the code and the owner of the code. The only problem is how to avoid a double spent.

How does that cause scams, besides people lying?



5 Avoid take a fee, this system should be 100% p2p so no fees would be required as torrent or others. If you want to use the Exchange you should put some resources to the network. That should be the fee.




I like this part. No fees means the whole thing can spread much faster.
legendary
Activity: 1680
Merit: 1035
April 19, 2013, 09:37:13 AM
Adam

I like the "use exchanges as just escrows" idea, but if the trades on a P2P exchange ramp up considerably, won't the escrow holders be holding massive amounts of fiat, and thus still be at risk for Cyprus style issues? Not saying it's not a good idea, just not sure that such an issue can at all be avoided, short of forgoing escrows completely.
sr. member
Activity: 404
Merit: 362
in bitcoin we trust
April 19, 2013, 08:30:10 AM
Got an idea after all problems that MtGox often have because of DDOS and huge amounts of order.
Why do we rely on a Server-Client Exchange (MtGox) when the strength of Bitcoin is in decentralization???
We should outsource the exchange to a P2P blockchain and let companies like MtGox only handle the fiat and the client-contact.
If we create an open source exchange platform that is decentralized and inspired by bitcoin it would benefit both brokers and clients.

Any ideas and suggestions?

So about the mtgox DoS or inability so far to scale their servers in line with user demand ramp up:

Gollum suggested I comment on this thread re a short side discussion we had of a subset of this topic.  About exchange security model I do have some ideas, that presumably others have already thought of (not read enough of the massive forum back log to know).  I tweeted about this a few times (@adam3us).  Basically it seems like an easily avoidable design flaw to me that the exchange is holding the bitcoins.  That is why exchanges keep getting hacked - they have a big coin float on them and coin transfers are by design irreversible.

Maybe I should create myself a bitcoin address for free advice tips if anyone does a startup or exchange or anything with this stuff Wink

1. My thought is why not handle the money and transfer proofs in two stages so the actual coin flows p2p and never sees the exchange.  I reckon you could do that without any bitcoin protocol changes.  (eg with the exchange just handling the escrow of the funds, and arbitrating on the basis of the clearance of those funds that the buyers address has been confirmed to have transferred to the buyer's address).  QED, simple no?  (aka Quite Easily Done:)

2. You can do better than that with bitcoins multi signature option probably, then from the exchange point of view the transaction can complete instantly without waiting for the confirmation if it is one of the signatories on the pre-confirmed first stage.  The exchange cant spend the coin because it doesnt have the user private key, and can remove itself from the signature via a second spend and confirm back to the users exclusive control if they wish.

As far as I could see no-one is doing this, nor attempting to do this.

3. Also even within that the exchanges seem not leverage obvious crypto approaches - they dont even use public key crypto to bank coins they dont need immediately with an airgap to the big value stuff.  (They can bank over an airgap by paying to their airgapped address).

4 The rest about the mtgox exchange overload is that they for some reason are struggling presumably due to inexperience or too fast a ramp for what they were expecting to keep up.  Buy more equipment, hire more really experienced data center engineers (who have handled equipment at real stock exchanges or bi g online trading platforms like etrade where a 5min down time costs millions.  These people get per minute mallus on their fat salary for downtime, but they know their shit!)  QED3.

5. There were ideas to introduce dnyamic anti-DoS hashcash requirements into TCP cookies and SSL-handshakes. I wrote about it in one of my hashcash papers.  It would be easy to put bitcoin in there.  That way under attack the exchange just increases its connection fee, and if the attackers persist the exchange makes more money.

http://hashcash.org/papers/

6. about bitcoinx

Its a quite interesting idea, and seems more p2p minded than opencoin.  But a limitation is a big part of the contribution of bitcoin is that transactions are final, irrevocable and not subject to seizure, recipient blocks etc. but not too politically controversial as they arent that anonymous.  Even more than with bitcoin (if bought via an exchange) getting money into a coloured coin actually has to happen via an exchange to represent offline ownership of a share certificate, a claim on a EUR deposit (who holds the actual while the coin is circulating? - what happens if its a Cypriot bank and the government an EU troika seizes 50% of it).   Its like a digital bearer bond (man Bob Hettinga would be drooling over coloured coins).  But I think those interesting bitcoin properties are lost because governments can easily require the exchange or bank / broker entity holding the actual stock certificate or bank deposit to revoke ownership etc.  However was left holding the coloured coin is holding a worthless clump of hashcash.

(ps I presume though I didnt read far enough that the colouring process starts with a valid bitcoin, spends it down to 0, to buy the instrument, leaving a btc 0 coin with a coloured second use as a claim on the exchange held instrument.)

Adam
legendary
Activity: 1512
Merit: 1001
Bitcoin - Resistance is futile
April 19, 2013, 02:08:20 AM
I was late to this thread, but I have been redireted to here.

My 5 cents of how I think a P2P can work, just take any idea that can be useful and discard the rest.

1 Use of the same system Bitcoin uses to distribute and store the information, even a login and password.
 
2 Avoid the minning process if possible.

3 Use of different money for buying and sell. All the money that can be sent without a bank a account. Example: UKash codes. We need some research on this for other providers.  Using Mtgox codes only we just move the problem, so if they stop the service, this exchange also goes down.

4 Avoid reputation in buy and sell, this only causes scams. The system is what is needed to be trusted. You insert your UKash code and you have 10, 20 or 50 € and this is your money Ukash, the system keeps the code and the owner of the code. The only problem is how to avoid a double spent.

5 Avoid take a fee, this system should be 100% p2p so no fees would be required as torrent or others. If you want to use the Exchange you should put some resources to the network. That should be the fee.

I was thinking more, take what want and trash the rest.
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 18, 2013, 11:36:59 PM
Here are some scenarios and how you as a client may be affected.
Generally, if you have an account at a stock broker that defaults you risk losing your cash but never your stocks, in this scenarios I apply the same rule.
Here I assume the brokers and mints use offline wallets as much as possible to reduce risk of losing coins.
We assume IOUs are settled to real fiat and real bitcoin once a week.

Stakeholders
Mint - issues US$-IOU and BTC-IOU
Exchange - a network of brokers that trust each other
Broker - trading mint-issued-IOUs with other brokers in the same exchange, in some cases the Brokers issues IOUs as well
Client - Customers of the brokers, they deposit real US$ or real BTC at the brokers account

Scenario 1)  Mint-issued IOUs are traded & Your broker defaults
USD-account: you lose
Mint-USD-IOU: no risk
BTC-account: no risk
Mint-BTC-IOU: no risk

Scenario 2)  Mint-issued IOUs are traded & the Mint defaults
USD-account: no risk
Mint-USD-IOU: you lose
BTC-account: no risk
Mint-BTC-IOU: you lose

Scenario 3) Broker-issued IOUs & One broker defaults
USD-account: no risk
OtherBroker-USD-IOU: you lose
BTC-account: no risk
OtherBroker-BTC-IOU: you lose
hero member
Activity: 546
Merit: 500
April 18, 2013, 06:12:30 PM

Aspect of "haggling" and "orderbook hosting" is completely decoupled from actual settlement of transactions, where some kind of consesus/permanence is necessary (blockchain) if the goal is to replace trust by cryptography.


I like haggling. The trust in the cryptography of bitcoin is not going to completely replace dealing with dishonest people. They will be around for a loooong time. As I said, whole nations are run on trust - but when the people get burned, they never blame the money for the problem.

newbie
Activity: 38
Merit: 0
April 18, 2013, 05:00:15 PM
hey, love the ideas so far. in particular i love:
  • double auction, where auction windows are a few seconds and overlapping orders are filled randomly
  • using colored coins to represent non-bitcoin ditial assets like fiat, deeds
  • using a separate data structure to facilitate orderbook
  • anyone can be a broker within a web of trust. major brokers are beneficial as they can help settle balances and provide legal protection for minor brokers.

i've been designing a p2p exchange ('unbazaar') that i will work full-time on in a few months. so here are my ideas:
the exchange will be a client-side web app in the spirit of the unhosted movement, so using remoteStorage for per-user data (where each user hosts their asset descriptions and order listings) and in the future we can easily integrate sockethub for posting on social media. the data is all JSON-LD that will be structured in the spirit of payswarm, so assets and order listings follow the spec of Web Commerce, payments (in any currency) are done with Web Payments. each user will also be identified by Web Keys in order to build a web of trust. lastly, there will be need to be some way to build a single orderbook index that points to the web of orderbooks, hopefully through some p2p datastructure like a distributed hash table.

would appreciate any feedback on the design above. also i'd be happy to talk more about it.

bitcoin bounties for implementing the above are available, as i'm currently busy with school.

cheers!
legendary
Activity: 1232
Merit: 1094
April 18, 2013, 04:37:30 PM
That doesn't answer my question of what happens to the IOUs if one of the brokers busts and losses their USD, resulting in more IOUs than USD in the system.

If a broker goes bankrupt, then their IOUs are dead.  This means that there would be different prices for different IOUs.

If having a single price is seen as important, then brokers could guarantee each others IOUs up to a limit.  That would be a cost of doing businesses for the brokers.  It would also be the responsibility of the brokers to make sure anyone they guarantee is safe.

This would be pretty much a public version of the ripple protocol.  A broker's IOU might be 10% guaranteed by 20 other brokers and so on.  There might be a delay in conversion though.
legendary
Activity: 1680
Merit: 1035
April 18, 2013, 04:24:37 PM
That doesn't answer my question of what happens to the IOUs if one of the brokers busts and losses their USD, resulting in more IOUs than USD in the system. Will the central minter reduce the value of each outstanding IOU to adjust for the reduced value of the backing? Will it track who owns which IOU and delete the IOUs that were bought from that specific broker? Will it punish those who did a lot of research on a broker to make sure they are trustworthy, by forcing them to cover the losses of those who didn't do their work and bought IOUs from a sketchy broker? Is USD stored at one broker really worth the same (including risk/security as USD stored at another broker?
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 18, 2013, 10:21:40 AM
Would an IOU issued by one exchange be honored by another? For example, if CampBX issues an IOU backed by the USD in their accounts, and is raided, shut down, and the USD is seized, why would, say, MtGox still honor those IOUs, if they don't have the USD to back them, and were not at fault for CampBX getting seized?
If the answer is no, i.e. that each IOU is only honored by the exchange that issued it, then there's no need to decentralize that aspect. The exchange that issued the IOU can keep track of which trading account holds which IOUs, and when a trade happens, both parties to the trade can sign a statement that the trade happened, using their own trading account signatures, to prove to the IOU issuer that now the IOU belongs to a new person. The issuer just has to update their books. At the end of the day, issuers can exchange IOUs with other issuers while transferring the backing cash to them.

It would be smoother to have a few centrally minted IOUs than one IOU per broker since the risk (losses) can be distributed.

We can have a clearing house that issues IOUs and settles IOUs against bitcoins and dollars regularly.
Those mints/clearing houses needs to be audited often to prevent fraud or fractional reserve banking (which is a form of fraud).

The brokers trade the IOUs with each other, and on settlement they send/receive bitcoins and dollars to the clearing house.
You as a client will always trade IOUs of dollars and bitcoin on the exchange, not the real assets
But when you want to withdraw assets to your own bitcoin wallet or your dollar bank account, you withdraw the real assets, not the IOUs.

If we compare to Las Vegas: each casino mints their own casino chip, if one casino goes bankrupt your chips are worthless. But if all casinos in Vegas had an alliance together, you could still use your chips at the other casinos. The loss would be distributed in the casino alliance and not be felt by the clients.

legendary
Activity: 1680
Merit: 1035
April 18, 2013, 09:27:04 AM
Blockchain or Torrent?
Blockchain: Yes, an exchange blockchain would compete with the bitcoin blockchain for computing power, but that would also save bitcoin blockchain from "coloring pollution" (if coloring is the way to go). The mining model might be necessary if we want the exchange to transfer "IOUs" between peers, that means we must be sure IOUs cannot be double spent, and that is the same functionality as bitcoin itself. IOUs can be issued by a trustworthy mint and represent a specific asset whatever it may be (bitcoins, dollars, shares, bonds...).
The exchange blockchain stores the IOUs.

Would an IOU issued by one exchange be honored by another? For example, if CampBX issues an IOU backed by the USD in their accounts, and is raided, shut down, and the USD is seized, why would, say, MtGox still honor those IOUs, if they don't have the USD to back them, and were not at fault for CampBX getting seized?
If the answer is no, i.e. that each IOU is only honored by the exchange that issued it, then there's no need to decentralize that aspect. The exchange that issued the IOU can keep track of which trading account holds which IOUs, and when a trade happens, both parties to the trade can sign a statement that the trade happened, using their own trading account signatures, to prove to the IOU issuer that now the IOU belongs to a new person. The issuer just has to update their books. At the end of the day, issuers can exchange IOUs with other issuers while transferring the backing cash to them.
legendary
Activity: 1680
Merit: 1035
April 18, 2013, 09:18:03 AM
That's what I've been saying. A blockchain you have to mine is all the rage with the kids nowadays, so they want to stick it into everything  Roll Eyes

Maybe a hybrid system would be better.  You need some kind of history to establish price discovery and allow orders.

If I want to sell 1 BTC for at most EUR 100, I need some way of figuring out what the market price actually is.  If there was a ticker that tracks the price, then that could be used to handle off-chain trades.

You launch your client, it connects to all the peers, and downloads all the available open trades. Maybe even have the system hold onto trades that are currently ongoing, and ones that closed only a few hours ago (E.g. both P2Pool and Bitmessage hold onto historical data up to the last 2 days before pruning it). That should be enough to see what the spot price is and make a trade. Some other services could pop up and keep a log of all the trade history, along with graphs and such, in case you wanted to look it up. Having everyone download gigs of data just to participate and see the trade history is a bit of a waste I think.

Those trades would have to be handled some way though.

And that's actually the most difficult part of this entire idea; not the trading or keeping the order book. Two ideas so far are brokers issuing their own currency tokens redeemable 1:1 for a USD, the other is using the trading platform to find a trading partner and then settling the trade personally, off the system, sort of like Localbitcoins.com, but online.
newbie
Activity: 35
Merit: 0
April 18, 2013, 09:02:19 AM
I'm sorry to be "that guy" but I'd recommend researching (lurking?) existing ideas on this forum regarding decentralized exchanges, colored coins in particular.

P2P exchange protocol is not really what's needed - buyers and sellers can contact each other any way they deem necessary and can be completely ad hoc (from elaborate high-speed P2P, irc, even snail-mail).

Aspect of "haggling" and "orderbook hosting" is completely decoupled from actual settlement of transactions, where some kind of consesus/permanence is necessary (blockchain) if the goal is to replace trust by cryptography.
hero member
Activity: 546
Merit: 500
April 18, 2013, 08:35:04 AM

Everyone should be able to act as a broker and trade directly with other people, but it would be more efficient if people chose to use established brokers with many clients.


This is the goal, P2P means "person to person" and the more that happens, the more popular bitcoin will be. It will be more natural.


It will be more secure, easier, faster and cheaper compared to individuals settling fiat vs bitcoin with each other over internet. But if they trust each other and the transaction costs are low, nothing should stop them from direct trading.

A personal rating system visible to everyone would be nice. Like the movie rating system. Five stars for really trustworthy people.
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 18, 2013, 06:53:18 AM
Do you need miners for a desentralized bitcoin exchange ? Couldn't an exchange be more of the model of bittorrent, or would that not work ?
That's what I've been saying. A blockchain you have to mine is all the rage with the kids nowadays, so they want to stick it into everything  Roll Eyes

Also mining for such a system would take hashing away from the main bitcoin network.

Maybe a hybrid system would be better.  You need some kind of history to establish price discovery and allow orders.

Mining compensation?
People providing their bandwith and computing power should get compensated in some way since they provide a service to commercial exchanges and brokers. Without economical compensation there is no incentive to host the exchange torrent other than your involvement in that exchange (if you are member or client of that exchange).

Blockchain or Torrent?
Blockchain: Yes, an exchange blockchain would compete with the bitcoin blockchain for computing power, but that would also save bitcoin blockchain from "coloring pollution" (if coloring is the way to go). The mining model might be necessary if we want the exchange to transfer "IOUs" between peers, that means we must be sure IOUs cannot be double spent, and that is the same functionality as bitcoin itself. IOUs can be issued by a trustworthy mint and represent a specific asset whatever it may be (bitcoins, dollars, shares, bonds...).
The exchange blockchain stores the IOUs.

Torrent: If we work with trade-contracts instead of IOUs it might be enough to have a trorrent with a growing decentralized database for each exchange containing all executed trades. It is important that everyone can trust that this decentralized database cannot be manipulated or hacked since each trade-contract will be a legally/morally binding contract between two parties (client@broker A and client@broker B) to fulfill their obligations stated on that contract.
The torrent stores executed trade contracts. The contracts cannot be double spent since each contract is unique to a specific trade between two specific parties. After settlement each party sends a signed contract to the database stating that they have have settled, and when both parties has sent this confirmation this is a public evidence of settlement, which could be used as a basis of trust-rating.
http://en.wikipedia.org/wiki/Distributed_hash_table

Using broker or direct trading?
Everyone should be able to act as a broker and trade directly with other people, but it would be more efficient if people chose to use established brokers with many clients. It will be more secure, easier, faster and cheaper compared to individuals settling fiat vs bitcoin with each other over internet. But if they trust each other and the transaction costs are low, nothing should stop them from direct trading.
full member
Activity: 189
Merit: 100
April 18, 2013, 03:42:32 AM
I think that it will be better to add one layer to bitcoin mining protocol which could serve as a cloud-hosting-crowd-sourced p2p service... for start, perhaps only tickers and charts should be deployed at that new infrastructure and therefore take the load of exchanges... Introduction of new coin doesn't have to be mandatory, reward could be spread in form of bitcoins which could be collected from markets in a form of small fee for every transaction... Or even that new hosting layer could demand a 1 satoshi fee for every http request...

Exchange sites will never have the ability to provide a full working service, it is not just up to them to buy more servers, the whole web server hosting system is sort of faulty... Please check more analysis here: https://bitcointalksearch.org/topic/distributed-infrastructure-of-bitcoin-exchange-hosting-layer-api-179027



Perhaps, some integration of openstack or similar technology can be merged with bitcoin mining infrastructure...

On second thought, maybe even there should not be a P2P exchange as a new entity, since PEERs can't handle the fiat exchange with personal authentication rules needed to pull fiat transfers since those rules are different for every country, but PEERs can deliver an unbeatable cloud hosting for the current exchange sites... At least for tickers and charts which are heavily targeted with http requests from bots and traders...
Pages:
Jump to: