Pages:
Author

Topic: P2P Exchange for bitcoin - page 12. (Read 42805 times)

sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 16, 2013, 07:57:08 AM
Summarizing earlier discussion in this and other threads on how to handle fiat in bitcoin exhanges:

Each exchange issues Fiat-contracts and Bitcoin-contracts that N members (brokers and dealers) buys with a X% margin. The exchanges risk for each member is (100-X)/N % in the event that any specific member would disappear (if we assume all members have the same size and same risk. An exchange with 10 members and margin requirement of 10% where one members goes bankrupt means 9% of the exchanges money is lost.)

When brokers and dealers create orders at the exchange and orders are matched the contracts are transferred between their wallets, the contracts must be created and transferred in a secure way to prevent duplication. Some has suggested using "colored coins" for this purpose.

At settlement (each hour, each night or week) the net value of the contracts are sent or received to the exchange to maintain the maximum X% margin.
If any member fails to settle what they owe to the exchange their trading and margin at the exchange is frozen.

The clients of the brokers and dealers who buys bitcoin will actually get the exchange-contract of bitcoin, not real bitcoins until settlement. Trading real bitcoin in real time is not practical since it can take up to one hour to confirm that bitcoin transactions are done.
legendary
Activity: 3920
Merit: 2349
Eadem mutata resurgo
April 16, 2013, 07:38:36 AM
The utopia is a 100% p2p-system like Ripple where everybody can act as a micro-bank. But until we reach that level of bitcoin-penetration around the world ....

If bitcoin ever reaches that level of penetration you probably won't be needing many exchanges ... or they will so fringe as to be an insignificant issue.
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 16, 2013, 06:58:39 AM
The utopia is a 100% p2p-system like Ripple where everybody can act as a micro-bank. But until we reach that level of bitcoin-penetration around the world we need centralization to some degree through banks and dealers forming networks of virtual exchanges.

We need a marriage between the bitcoin-world and the old bankning-world and the result would be something like Western Union, ideally we would have several independent corporations like Western Union. The risk of losing money by using Western Union is close to 0% since Western Union is big enough to handle small losses when some dealers goes bankrupt or scams the system.
hero member
Activity: 868
Merit: 1000
April 16, 2013, 06:37:54 AM
Ok I have some ideas, so I'd like to contribute. I haven't read the entire thread, so perhaps of what I have to say is redundant.

So for the sake of this discussion, I assume that a decentralized p2p market on the model of bitcoin/bittorrent/bitmessage is technically possible to make. It would work like MtGox works today, accepting orders, and matching them in a matching engine and keeping track of people's fiat balances and bitcoin balances.

I won't go into details about how I think that should be done, but the real issue here is that of interfacing with the traditional system. So I thought up the concept of brokers or agents if you will. There would be some super agents, that would seed the agent network initially, and there would need to be some kind of system to keep track of all the agents and their trustworthiness, and by community consensus, the license of an agent should be able to be revoked, if he cheats.

Agent 

Could be one of the following

  • Person that can give you fiat money for a matched bitcoin sell order that you have done.
  • Person that can receive fiat money from you and inject it as an available amount in your fiat account in the p2p exchange.
  • Holds a certain amount of fiat money

Now, there would be a structure where agents are referred into the system by other agents. And no agent can refer another agent until they've reached a certain trust level and/or have been in the system a certain length of time, or a combination of the two. If an agent cheats. The agents two level above this one will be hit with a penalty, say the agent that went away went off with 10K USD, the referring agent would have to reimburse 10% of the USD that's gone, and the agent above him again would have to reimburse 5% of the stolen money. This would give each agent an incentive to only chose agents they are reasonably sure they can trust. Since the p2p exchange charges a fee that is distributed among agents and also pooled into an account that can only be touched if 6 of 10 superagents agree. I know, this looks like a quasi-centralized system, but bear with me. Somehow that pool of fees that are accumulated needs to give away some funds to replenish the funds stolen by a rogue agent. Now, if agents were limited to holding 10K USD, or another amount that's reasonable, 1 agent stealing the money would not bring the system down, and by selecting the agents carefully, as the sponsors knows they will be responsible if the agent fails, they also have an incentive to do some due dilligence on the agent they're recruiting. Preferrably it would be someone that they know in person.

When a withdraw is requested by an account holder, a message is broadcast to the network, for example, user TomCat holds now 3K USD in his account, and he wants to withdraw it. He lives in New York and wants to have it in cash. So the message goes out on the network, a request for a 3K USD cash withdraw. The agent meets with the TomCat user and gives him the cash. The agent updates his balance, which again is distributed to all the nodes, updating the total USD holdings in the system.

This system could also be used with different currencies, and there could be agents all over the world using this system. Agents could use bank transfers, or any other preferred method to send funds to account holders.

Also, to reduce risk, new agents would only be allowed to hold a certain amount of money, until their trust increased.

As to make this system actually workable, and having people participate in a fair and honest way, it's a lot of work before it gets there, but I think it would become doable. If a friend recruits you, and that is a good friend that you trust, it's not a friend you want to let down and steal money! However, this system requires a lot of trust, and there's nothing stopping an entire gang from slowly accumulating trust, and then all of a sudden just parting with a lot of money.

Another way to do it would be to be even more careful with the agents, and perhaps strike deal with actual companies, or make divisions all over the world like Western Union, while the p2p exchange still provides the platform. Now a govt. could shut down the agents easily of such a system, but they would have a hard time shutting down the p2p exchange itself.

Anyway, if agents accepted bank transfers, there would be a link to their name in the traditional banking system, and in the event they stole the money it would be possible to trace them and make life uncomfortable for them.

Another variant, which I am sure have been discussed already would be something like bitcoin-otc, but only on a p2p network, so people would basically enter orders, for instance I wanted to buy 2 BTC for 50 USD each, I enter the order in the system, and it's matched with someone else in my country that offers to sell 10 BTC for 50 USD each and accepts partial fills. The other party sends the 2 coins to escrow in the system and I send him 100 USD over a bank transfer. I got the bank transfer details from him on the inbuilt message system in the p2p system. After he receives the money, he release the coins from escrow to me.

The last system I described here I think is possible to make, however it would be not much different from the bitcoin-otc we know of today which is done over bitcoin-otc.com and freenode. However, both freenode and the website could be shut down if a powerful enity wanted to do so. A p2p network would be much harder to shut down.

I don't know if the first option with agents is so smart. I'm pretty sure it would be misued, and people would start aquiring fake bank accounts and become an agent, and police would never find them or their money and so on.

In the second version I proposed, there would be a trail in the system indicating that a trade has been agreed upon, if the seller sends coins to escrow, and the buyer sends fiat to the seller and the seller doesn't realease the coins, then I'm not sure how it should be solved, perhaps there must be a group of super users that can check the evidence and come to a resolution.

There are however many ways in which such a system could be gamed. We can imagine a scammer making an account in the system. His aim is to get free bitcoins, so he tries to buy 20 btc, he gets a trade locked in, and the coins are sent to escrow. The scammer gets the bank account details from the seller, and then the scammer lists an item on an online acution, for instance E-bay. He promises the victim to sell him an Iphone if he sends him money to the bank account of the bitcoin seller. The bitcoin seller receives the money and is happy, and release the coins. Then later on, the Iphone victim can't get hold of the scammer, and eventually resorts to contacting the bank, which again contacts the bank of the bitcoin seller. Then we have a problem. How can we avoid that ?

If everyone was honest, a p2p system would work just great, but as everybody will not be honest, I see a lot of problems that would need to be solved. With a trusted company running everything we might be better off, but then we're back to MtGox-status again. There could also be a group of super-agents that had the final say in the system, but that would also be a certain amount of centralization.

Perhaps the bitcoin-otc version over p2p is the best anyway, and really educating the users about how to avoid scams and so on. For example, in a bank transfer message, there could be a message that read like: agentp2p.com If the user went to that site, he would see a message that said: "This payment is going to an agent in the p2p cryptocurrency exchange network, and if you're buying a laptop or iphone with the account information you got, you are being scammed. Perhaps also for the first few transactions of anybody new in the system some verification needed to take place, like the seller of bitcoins verifying the buyer over the phone, or depositing a small amount to his bank account.

Ie. some steps could be taken to make it much more difficult for a scammer to operate in the p2p exchange. But beware, scammers will undoubtedly infiltrate the exchange when and whenever it comes to life.

I am sure many of you have even brighter ideas as to how the different challenges could be solved. I am not sure if we could actually make a market mimicing MtGox in terms of trade volume, ie. day trading would be very difficult, unless some sort of system, like the one I proposed first could be used. But we would also need to ensure the system could not be cheated and so on, and therw would need to be rules for the matching engine and so on. And as not everything would not happen instantly at the same time everywhere, how could one determine when a sell and ask order is matched.

I am sure there could be many technical challenges.
newbie
Activity: 56
Merit: 0
April 16, 2013, 01:01:14 AM
We should decide on which P2P-model to use:

One worldwide blockchain for the orders.

OR

Isolated blockchains for each virtual exchange (similiar to bittorrent, peers can choose which torrents to seed). This model would probably result in faster order processing but less stable and secure - but still better than centralized exchanges. Another benefit is that miners can actively discriminate virtual exchanges with bad reputation and instead provide their computing power to trustable virtual exchanges.

Which P2P model should we apply? Possible to combine a unified worldwide blockchain for some parts of the system and isolated blockchains for parts that are unique for each virtual exchange?

Yeap. I think after all the discussions your original idea is where it's at.

1 global world-wide order book. With virtual exchanges or brokers or whatever you want to call them to handle fiat conversions etc. And brokers who trust each other settling all balances daily with themselves. But all in one single transparent order book.
hero member
Activity: 546
Merit: 500
April 15, 2013, 11:37:09 AM
Hey, I have a question. I know a blockchain is really cool and popular, especially with Bitcoin stuff, but..y do you need a blockchain exactly? What will be its purpose? I figured just nodes sharing a dynamic database that anyone can add or remove orders from would be sufficient. A blockchain is there mainly to prevent double'spend attacks. Is there a double-spend problem with orders that someone can think of?

Exactly, a blockchain is centralized, right?

Quote
I figured just nodes sharing a dynamic database that anyone can add or remove orders from would be sufficient.

Why not use a free downloadable script/program for any site that wants to be a part of the system? Anyone could be a "node".

No centralization, no learning code, and if it is in enough languages, it will work anywhere in the world.

↓↓
legendary
Activity: 1680
Merit: 1035
April 15, 2013, 10:02:30 AM
I think rating may be difficult. Someone could create a ton of trading accounts and trade with a single other account if there is a lull in the market (i.e place an order for a price with little risk that someone else will take it before their own sockpuppets take in in small batches). Other than that, the rating should be a fairly simple deal. Have both the seller and the buyer sign their ratings with the privkey of their trading address, maybe hashed against the transaction. Good ratings will be kept by people whoa re trying to build up rep, bad by people who got screwed, and a few main nodes can keep them all. Would be nice to be able to integrate the thing into the WOT we use now, or even replace it.

Regarding this whole discussion, btw, is looks as if the focus is just on taking the orderbook off the exchange's hands, and letting exchanges only stick to receiving and sending local currency. That seems like the only possible solution, but still leaved a few weak attack points against bitcoin. If an exchange is taken down, whatever digital tokens being used by all these exchanges to represent the cash in their accounts won't be honored, since the cash will be seized along with the exchange.
newbie
Activity: 49
Merit: 0
April 15, 2013, 09:46:39 AM
We should decide on which P2P-model to use:

One worldwide blockchain for the orders.

OR

Isolated blockchains for each virtual exchange (similiar to bittorrent, peers can choose which torrents to seed). This model would probably result in faster order processing but less stable and secure - but still better than centralized exchanges. Another benefit is that miners can actively discriminate virtual exchanges with bad reputation and instead provide their computing power to trustable virtual exchanges.

Which P2P model should we apply? Possible to combine a unified worldwide blockchain for some parts of the system and isolated blockchains for parts that are unique for each virtual exchange?

I personally would like to see a worldwide chain for orders. This would give us one single definitive value for BTC instead of having a different value at each existing exchanges like we currently have.

It's one thing for people to know what their money is worth but in order for bitcoin to be accepted, we need it to be used for something. This means merchants and organizations who want your bitcoin for goods and services. Merchants who rely on their business to survive won't want to deal with looking at different exchange networks to figure out how much to sell their goods so that they don't lose out. They will want stability and also the ability to query one single entity that is always online (unlike MtGox) and get a value.

I also think you could have physical exchanges around the world in the form of bitcoin ATMs that would be connected to this worldwide exchange network. A system like this could also transform into a crypto-exchange system not just reserved for bitcoin. Having a one-stop place that could also handle altcoin exchange for BTC, fiat or other altcoins would be pretty nice in the long run and would benefit everyone's move away from fiat and central planning.


There is a problem with just one exchange: legal issues and trust issues. It is easier for a few brokers to trust each other than for thousands of brokers around the world to trust each other. And legally it would be more complicated to make it work due to different regulations in different countries. Thats why we need virtual exchanges - in the same way the Forex market works.

We don't need to have just one exchange to get a fair market price - calculate a Volume-Weighted-Average-Price of the trading on all exchanges in the world and you will have a fair price that merchandisers can use.

Maybe you are right on some points as I'm in no way an expert in trades, markets, stocks or other related stuff. I understand there are a lot of legalities involved.

That being said I don't really like the idea of seperate competing exchanges as people would end up pooling up to a handful of them, which would end up getting most of the traffic and put us right back with a couple of MtGoxs. People who want to trade quickly will go where the traders hang out. If it was all about trust then I don't think anybody would use MtGox. They do because most of the traders are. This is why I think one single p2p "preferred" exchange network work much better for everybody. Take the choice of exchange out of the hands of people and prevent pooling up at single points of failure. Some entities out there could still choose to be exchanges separate from that network but that would be left at the traders own risks.

During the bitcoin adoption phase, we need to make the transition between fiat and bitcoin seemless. The average Joe trying to get into bitcoin for the first time doesn't want the headache of having to figure out which exchange to use, how to transfer their funds to it, what the legalities are, how to buy bitcoin and what the going rate is. What they want is a screen that lets them enter their bank account information, type the amount of bitcoin to buy or sell and the current going rate of bitcoin from a single entity: basically what Coinbase is without the centralization. This would be best accomplished with one single unified exchange system. We need to be stable.

The way I see it is if you have peers handle the fiat for their respective region/countries then you may not have to deal with as many legalities (Again, I'm no expert so correct me if I'm wrong). For example the "coinlab peer" would handle moving USD for people with US bank accounts who buy and sell BTC, while the "btc-e peer" would handle moving EUR/RUR for customers with those types of bank accounts. Of course there would be many more peers per region all sharing in the moving of fiat but at the same time they would all process the matching of trades as a whole network sort of like we mine for BTC. That way If any peers go offline for a short period of time, the overall trading would not suffer or cause panic.

Anything that does not involve moving fiat from a peer's bank account to a buyer or seller's account within their region, should be transferred the form of BTC. Afterall, isn't that what BTC is designed to do: transfer money across borders without being restricted by legalities or regulation? That would include the fees that the peers collect for processing trades or sending money from one peer to the other. The peers would then be free to sell those BTC to buyers within their region for a 0% fee in order to collect their fiat.

Concerning trust, one way to possibly handle that would be to fully disclose to traders who handled the fiat for their transactions and let them rate their experience that peer on a per-transaction basis. You could only rate a peer if you have a valid transaction recently processed by them in order to prevent abuse. As a peer starts to lose rating then they would be given less transactions to handle, losing revenue from fees and eventually if the peer gets too many bad ratings then possibly cut them off from the network. This would also introduce some sort of regulation by the community and market.

Anyway, these are just some ideas based on my opinion (and somewhat limited knowledge).
legendary
Activity: 1680
Merit: 1035
April 15, 2013, 09:18:25 AM
Hey, I have a question. I know a blockchain is really cool and popular, especially with Bitcoin stuff, but.. why do you need a blockchain exactly? What will be its purpose? I figured just nodes sharing a dynamic database that anyone can add or remove orders from would be sufficient. A blockchain is there mainly to prevent double'spend attacks. Is there a double-spend problem with orders that someone can think of?
hero member
Activity: 546
Merit: 500
April 15, 2013, 09:05:53 AM
This does not look decentralized, but he says it is "high-frequency" and open source:

http://scarcecapital.com/hft/

It could be made decentralized if it is open source.
hero member
Activity: 546
Merit: 500
April 15, 2013, 08:43:10 AM

I dont see where the guy talks about decentralization there.  Huh
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 15, 2013, 07:50:55 AM
We should decide on which P2P-model to use:

One worldwide blockchain for the orders.

OR

Isolated blockchains for each virtual exchange (similiar to bittorrent, peers can choose which torrents to seed). This model would probably result in faster order processing but less stable and secure - but still better than centralized exchanges. Another benefit is that miners can actively discriminate virtual exchanges with bad reputation and instead provide their computing power to trustable virtual exchanges.

Which P2P model should we apply? Possible to combine a unified worldwide blockchain for some parts of the system and isolated blockchains for parts that are unique for each virtual exchange?

I personally would like to see a worldwide chain for orders. This would give us one single definitive value for BTC instead of having a different value at each existing exchanges like we currently have.

It's one thing for people to know what their money is worth but in order for bitcoin to be accepted, we need it to be used for something. This means merchants and organizations who want your bitcoin for goods and services. Merchants who rely on their business to survive won't want to deal with looking at different exchange networks to figure out how much to sell their goods so that they don't lose out. They will want stability and also the ability to query one single entity that is always online (unlike MtGox) and get a value.

I also think you could have physical exchanges around the world in the form of bitcoin ATMs that would be connected to this worldwide exchange network. A system like this could also transform into a crypto-exchange system not just reserved for bitcoin. Having a one-stop place that could also handle altcoin exchange for BTC, fiat or other altcoins would be pretty nice in the long run and would benefit everyone's move away from fiat and central planning.


There is a problem with just one exchange: legal issues and trust issues. It is easier for a few brokers to trust each other than for thousands of brokers around the world to trust each other. And legally it would be more complicated to make it work due to different regulations in different countries. Thats why we need virtual exchanges - in the same way the Forex market works.

We don't need to have just one exchange to get a fair market price - calculate a Volume-Weighted-Average-Price of the trading on all exchanges in the world and you will have a fair price that merchandisers can use.
newbie
Activity: 49
Merit: 0
April 15, 2013, 07:39:23 AM
We should decide on which P2P-model to use:

One worldwide blockchain for the orders.

OR

Isolated blockchains for each virtual exchange (similiar to bittorrent, peers can choose which torrents to seed). This model would probably result in faster order processing but less stable and secure - but still better than centralized exchanges. Another benefit is that miners can actively discriminate virtual exchanges with bad reputation and instead provide their computing power to trustable virtual exchanges.

Which P2P model should we apply? Possible to combine a unified worldwide blockchain for some parts of the system and isolated blockchains for parts that are unique for each virtual exchange?

I personally would like to see a worldwide chain for orders. This would give us one single definitive value for BTC instead of having a different value at each existing exchanges like we currently have.

It's one thing for people to know what their money is worth but in order for bitcoin to be accepted, we need it to be used for something. This means merchants and organizations who want your bitcoin for goods and services. Merchants who rely on their business to survive won't want to deal with looking at different exchange networks to figure out how much to sell their goods so that they don't lose out. They will want stability and also the ability to query one single entity that is always online (unlike MtGox) and get a value.

I also think you could have physical exchanges around the world in the form of bitcoin ATMs that would be connected to this worldwide exchange network. A system like this could also transform into a crypto-exchange system not just reserved for bitcoin. Having a one-stop place that could also handle altcoin exchange for BTC, fiat or other altcoins would be pretty nice in the long run and would benefit everyone's move away from fiat and central planning.
sr. member
Activity: 294
Merit: 250
You are a geek if you are too early to the party!
April 15, 2013, 06:04:25 AM
That is very interesting - I especially like the idea of poling all the same prices together to cut down on actual trades, that would make a big difference!
legendary
Activity: 1232
Merit: 1094
April 15, 2013, 05:24:22 AM
The double auction seems weird, you could end up selling at a different price than everyone else.  What about setting the price based on the previous block's order book.
hero member
Activity: 536
Merit: 500
April 15, 2013, 03:52:15 AM
Does this sound like it could work!
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 15, 2013, 02:47:17 AM

Yes that should eliminate much of the manipulations, allowing real time nanosecond trading will only benefit market manipulators.
We were discussing a similiar solution: auctions once every block, and each block should be 1,10 or 60 seconds.

-Orders are matched in one-minute auctions in the block chain and randomnes is used if several orders are at the same level and size. High Frequency Trading are thereby eliminated since there is no possibility to cheat in the order book, or to do nanosecond trading since there is one minute between every execution of orders.
hero member
Activity: 714
Merit: 510
April 15, 2013, 02:18:53 AM
sr. member
Activity: 294
Merit: 250
You are a geek if you are too early to the party!
April 14, 2013, 04:02:41 PM
We should decide on which P2P-model to use:

One worldwide blockchain for the orders.

OR

Isolated blockchains for each virtual exchange (similiar to bittorrent, peers can choose which torrents to seed). This model would probably result in faster order processing but less stable and secure - but still better than centralized exchanges. Another benefit is that miners can actively discriminate virtual exchanges with bad reputation and instead provide their computing power to trustable virtual exchanges.

Which P2P model should we apply? Possible to combine a unified worldwide blockchain for some parts of the system and isolated blockchains for parts that are unique for each virtual exchange?

Personally, I would suggest the worldwide blockchain type exchange so it becomes a part of the protocol rather than a commercial venture as the MTGox price at the moment.

This makes the core element of the exchange a for the people by the people type of venture rather than a benevolence to be sold and control later type of deal - like Google search etc

But that is just my opinion!


sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 14, 2013, 03:47:35 PM
We should decide on which P2P-model to use:

One worldwide blockchain for the orders.

OR

Isolated blockchains for each virtual exchange (similiar to bittorrent, peers can choose which torrents to seed). This model would probably result in faster order processing but less stable and secure - but still better than centralized exchanges. Another benefit is that miners can actively discriminate virtual exchanges with bad reputation and instead provide their computing power to trustable virtual exchanges.

Which P2P model should we apply? Possible to combine a unified worldwide blockchain for some parts of the system and isolated blockchains for parts that are unique for each virtual exchange?
Pages:
Jump to: