Pages:
Author

Topic: The Final Solution to the Mtgox Problem... (Read 7226 times)

newbie
Activity: 3
Merit: 0
November 30, 2018, 06:05:18 AM
#61
Here's what needs to happen for Bitcoin to be massively adopted and not killed by its own exponential growth:

- decentralized, scalable exchanges.

...........................

a lot of good points made by the OP.  I just want to focus on the exchange decentralization issue.

I think a peer to peer based distributed exchange would solve a lot of the problems we've seen recently with Mt Gox and all the other exchanges.

The main problem I see with this idea is transferring fiat currency to/from the system to cover trades.

This is one of the services that the current exchanges provide at present. Without this you can't have a working exchange.

Given the present banking and payment transfer setup I can't see how a peer to peer exchange system can possibly interface with the banks.

So you'd need to set up some kind of transfer service for BTC/fiat which everyone would use.

This would either have to be run by a commercial provider or operated as a non-profit service funded via the bitcoin system eg from an automatic levy on each transfer.  

The system would also have to interface with the bitcoin peer to peer exchange.

I'd imagine that technically implementing the above would not be too difficult.  

But you need to have a reliable, safe and accountable operation for the bank/BTC transfers. Maybe a commercial service would be the best solution for this? In that case you would have competing providers offering this facility.


Well, if there is a safe and reliable means to facilitate a decentralized BTC to FIAT transfers, commercial or nonprofit, it all boils down on the public and how keen they are to using the service. At the end, competition/not, Bitcoin's usability is still decentralized. However, I stiil can't imagine what BTC would become in the future when every medium of exchange is done BTC and miners incentive are all supplied ( remaining 3.6mm btc).
sr. member
Activity: 280
Merit: 257
bluemeanie
Back to the point - a peer to peer system would need to solve the problem of double executions (rather than double spends). Perhaps a blockchain type solution would be necessary.


it's not only the issue of double executions, but also PRIORITY.  Who gets to win the bids?  requires a universal sense of time, OR perhaps another solution.  This problem of peer-to-peer timestamping was exactly what Bitcoin emerged from.

I think the solution is in a blockchain technology.
full member
Activity: 182
Merit: 100
Finding Satoshi
So we'll round up all the people over at Mt. Gox and gas them...
member
Activity: 92
Merit: 10
Well, reading allot about decentrelized exchange. Some of the ideas remind me of peer to peer landing which is a system that already exist. Here is a wikipedia link for whoever in not familiar with the subject:

http://en.wikipedia.org/wiki/Peer-to-peer_lending

It is an interesting idea, and has potential learning with what was done so far.
it is well worth presuing, as ithe peer to peer landing concept works wonderfully with peer to peer currency.

but as awas stated many times before it is not an exchange per-se.
As was pointed an exchange is an efficent fast and high volume broker, it is a centerlized concept.

I think that the more important way to keep bitcoin from collaps does not have to do with exchange between fiat currency and bitcoin, It has to do with options to change bitcoins into anything. In other words: USING BITCOIN TO BUY THINGS.

For the system to grow in a healty organic way there has to be a correlation between the volume of currency trade and the common use of bitcoin as a currency.
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
I have summarized the ideas in this thread and other threads in the git. I hope the proposal there represents the spirit of the bitcointalk community.
https://github.com/p2p/bitcoin-exchange

I have noticed most of the discussion about a p2p bitcoin exchange now revolves around trusted brokers/custodians vs colored coins, and local exchanges vs a global exchange so the solution is to handle all of them.

My proposal is that we create a global exchange system where virtual exchanges can be created and where each virtual exchange can decide if it will be based on Trust or Colored coins. Since all exchanges are virtual, we would have anything from a small local bitcoin exchange with just one broker in a small African town  to big global exchanges with hundreds of brokers. You may wonder how the small broker would find bitcoins to sell in the first place? That broker buys the bitcoins from another broker manually (as a client), sends the bitcoins to his own address and perform the role of a market maker, he sell and buy bitcoins with a price range of +/-X% from the market price of the official bitcoin price.

Legal benefit of virtual exchanges: Brokers based in countries with hard regulations (USA) may find it easier to comply with regulations if the exchange only allows brokers from the same country. On the other hand brokers based in other countries with easier regulations would form a global virtual exchange together.

Trust-based exchange:
Client@Broker1 sells 1 BTC for 100$ to Client@Broker2
1 BTC is sent from Client@Broker1's broker wallet to Client@Broker2's broker wallet
Client@Broker1 has now 100$ in his USD-account, Client@Broker2 has 0$
Their brokers has actually not settled their fiat-accounts yet. At end of the day Broker2 wires 100$ to Broker1s bank account.
If Broker2 goes bankrupt or runs away with the money, Broker1 takes the risk and loses that 100$ Client@Broker1 will still get his 100$.
But if the losses are so huge that Broker1 also goes bankrupt Client@Broker1 may get anything between 0 to 100$ back.
hero member
Activity: 616
Merit: 500
Selling directly to someone necessitates exchanging identities.

Not with an IOU system. You only need to exchange identities with the people you settle with. By transferring those IOUs, you only need to reveal yourself to parties you trust.

Relinquishing that level of privacy is simply not acceptable, in my opinion.

That's your opinion - plenty of people trade bitcoin OTC, which is essentially the same. A peer-to-peer exchange would just make this process much slicker.
sr. member
Activity: 406
Merit: 250
I think what would simplify it would be a central exchange that just handles the execution of orders that come in from the other publicly accessible exchanges.

yea I realise the idea is to decentralise but the purpose of that is still covered in that this central exchange would not be susceptible to DDoS attacks and all exchanges would be merged through it increasing market cap and reducing volatility, it just needs some form of redundancy.
member
Activity: 82
Merit: 10
I'm by no means saying that this is the answer, I'm merely providing food for thought (and thinking out loud myself).

It would be up to the seller whether to decide to accept an IOU from a particular buyer. With a blockchain-like system, the seller has access to all the buyer's credit history - and can make an informed judgement on whether to accept the trade.

I'm not a believer in Social Network currencies and their application in the world of bitcoin is problematic at best. The reason is a simple one and touches an important issue that your "P2P broker" (i.e. direct payment of fiat from one user to another):

PRIVACY

Selling directly to someone necessitates exchanging identities. Alice cannot reliably transfer funds to Bob without knowing who Bob is--and Bob would be able to identify Alice from the transfer receipt. Relinquishing that level of privacy is simply not acceptable, in my opinion. I would much rather work through an at least somewhat trusted intermediary (the broker) and never let Alice know that I was Bob (and I wouldn't know Alice's identity either, of course).

What problem is there with using a broker than people are trying to solve? The current issue is that mtgox handles the vast majority of transactions, so when they are experiencing problems, it significantly impacts the entire bitcoin ecosystem.

Perhaps a P2P / Open Ledger could help alleviate *some* of the issues, but I'm having trouble seeing how it could be done while minimizing trust and privacy leakage.
member
Activity: 82
Merit: 10
Because being a broker is high risk it should bring high rewards to anyone who does it. How can we move the incentives to motivate people to want to be in high risk positions?

Being a *broker* is not high risk. No more than starting any business. There is no need to invest in bitcoins (or dollars). All risk is assumed by the buyers and sellers. The broker gets a commission.

Quote
Also how can we create incentives for developers and for investors who want to initially fund this project? Provide the incentives and people will be climbing over each other to develop on this project or invest in it just like they were when trying to buy Bitcoins.

Also to my knowledge during the DDOS BTC-e was down, and all the other exchanges too. Also it takes so much time to transfer fiat around that no one could move between them all. How can we make it easier to move fiat around? IOU? Escrow? Someone with a lot of Bitcoins loaning them out?

There is plenty of incentive, that's not the issue. The majority of people involved in bitcoin seem to have a technical background and getting the legal side of things up and running requires lawyers.

MTGOX claims that the most recent outage was due to "success" (high user load) and not a ddos attack. When gox went down, people started looking elsewhere and the traffic slowed most things bitcoin to a crawl--including this site, I might add.

Transferring fiat around requires using the traditional monetary infrastructure and there's simply no way around that.
hero member
Activity: 616
Merit: 500
I'm by no means saying that this is the answer, I'm merely providing food for thought (and thinking out loud myself).

It would be up to the seller whether to decide to accept an IOU from a particular buyer. With a blockchain-like system, the seller has access to all the buyer's credit history - and can make an informed judgement on whether to accept the trade.

The obvious problem here is what to do with virgin buyers. How do they build up reputation? Well, they'd have to convince an established seller to place trust in them. This could be personal trust (friend of a friend), or payment for the privilege. Or even an advance payment - the seller could then issue an IOU to the new buyer (the seller is effectively a broker now, and we have a p2p-broker network).

On settlements (thinking out loud again): the debtor broadcasts to the network that he is settling for a certain amount with a certain creditor. Creditor responds with payment details. Debtor sends payment, and broadcasts the fact to the network. Once the creditor receives payment, he broadcasts to the network, and the debt is settled.

So what happens if a seller decides not to broadcast after receiving the payment? Well, that's where a peer-to-peer arbitration system would come in (another problem to solve).

In summary, I think if the community puts its collective head together and thinks out of the box, rather than saying this will never work, we can come up with a solution. Satoshi came up with something that had never been seen before, there's no reason why that can't happen again.

PS: Please change the name of the thread... :p
hero member
Activity: 714
Merit: 510
There is NO WAY to do this without an escrow that doesn't require a level of trust that is, frankly, insane.

Now, said escrow doesn't necessarily have to be a "full" broker, but the privacy concerns alone would make me prefer a broker.

The M-of-N multisig contracts is a very interesting concept and can help minimize the trust needed between the seller and the broker / escrow.

An Open Ledger (whether just distributed or P2P) would solve the "what's BTC worth" issue and perhaps make it easier to switch brokers / exchanges in case of a problem with one.

However, none of that changes the fundamental problem: Dealing with fiat is a legal mess and there's just no way around it. Brokers will be needed for any kind of limited-trust transaction that won't take forever and minimizes privacy leakage.

When mtgox went black, there were plenty of other exchanges still operating. However, traders had all their bitcoins and fiat stuck there. Getting approved and funds transferred to a different exchange would take time (and require the availability of money in addition to that stuck with mtgox). Any sellers would, of course, also require access to more bitcoins in order to sell.

Because being a broker is high risk it should bring high rewards to anyone who does it. How can we move the incentives to motivate people to want to be in high risk positions?

Also how can we create incentives for developers and for investors who want to initially fund this project? Provide the incentives and people will be climbing over each other to develop on this project or invest in it just like they were when trying to buy Bitcoins.

Also to my knowledge during the DDOS BTC-e was down, and all the other exchanges too. Also it takes so much time to transfer fiat around that no one could move between them all. How can we make it easier to move fiat around? IOU? Escrow? Someone with a lot of Bitcoins loaning them out?
sr. member
Activity: 462
Merit: 250
Whew!  Thank goodness!

I thought you were going to kill Tux!
member
Activity: 82
Merit: 10
There is NO WAY to do this without an escrow that doesn't require a level of trust that is, frankly, insane.

Now, said escrow doesn't necessarily have to be a "full" broker, but the privacy concerns alone would make me prefer a broker.

The M-of-N multisig contracts is a very interesting concept and can help minimize the trust needed between the seller and the broker / escrow.

An Open Ledger (whether just distributed or P2P) would solve the "what's BTC worth" issue and perhaps make it easier to switch brokers / exchanges in case of a problem with one.

However, none of that changes the fundamental problem: Dealing with fiat is a legal mess and there's just no way around it. Brokers will be needed for any kind of limited-trust transaction that won't take forever and minimizes privacy leakage.

When mtgox went black, there were plenty of other exchanges still operating. However, traders had all their bitcoins and fiat stuck there. Getting approved and funds transferred to a different exchange would take time (and require the availability of money in addition to that stuck with mtgox). Any sellers would, of course, also require access to more bitcoins in order to sell.
newbie
Activity: 18
Merit: 0
Good ideas but you need a funding mechanism. How do we get the funds to pay developers to build this?

My plan for that is here https://bitcointalksearch.org/topic/its-time-to-fund-a-distributed-open-exchange-protocol-and-here-is-how-we-can-174950

We can't expect people to build it for free nor can we expect people to invest in infrastructure without ROI. So let's fund it properly and actually use Bitcoin to protect Bitcoin.
Developers will get share like miners do  Smiley
member
Activity: 85
Merit: 10
Fortune favors the bold and brave
This would be way easier if you just created "Darkcoin" and allow users to choose whether they want BTC or DKC. (Hmmm... Maybe that's a bad name)

Then you don't need to deal with problems like a seller being matched up with 30 partial orders and needing to figure out how to pay them all through fiat infrastructure.

I don't get your logic.  Another currency does not solve the centralized inferstructure problem.

The decentralized exchange will allow for p2p exchange of any currency for any other crypto or not... Gold, silver, and any other commodity of value too.

....Solves the exchange problem for all the existing crypto currencies as well. 


Isn't this what Ripple is doing?
hero member
Activity: 714
Merit: 510

So I've been thinking about this for a couple of days now.

I can envisage a peer-to peer exchange, where bitcoin is traded for 'promissory debts' denominated in fiat. For example, I might buy 1BTC from you, I then give you an IOU for $100. This is recorded by the network. From what I understand, this is very similar to Ripple.

Given this, a trader knows whom he owes money to and is owed money from at any given time. And of course, which debts cancel out. With this information, the trader can choose to settle his debts by making a fiat payment directly to the counterparty. The counterparty marks the payment as received on the network, and the debt is settled.

The challenging part is trust. The system could place a hard 'credit limit' on traders based on how trustworthy they are, and disallow any new trades which would go over this limit. But there's a chicken and egg problem here: the network can't give any credit to brand new users, as this could be gamed easily. Credit has to be earned. So how does one earn it, when they can't transact on the system?

Keen to hear people's thoughts on this.

What about a smart contract combined with collateral? Like for instance I want to buy 1 BTC from you but I have some Litecoins or 1BTC I could use as collateral in case the deal goes bad. I put my 1BTC at risk, you give me the 1BTC and I accept the IOU. I have to pay within a certain amount of time or I lose 1BTC. The payment would have to be confirmed by a neutral party which would take my money, confirm I paid, and then write the check or send the payment to you.

Honestly I can't see how to do it. It seems like it would be far too complicated to do it entirely online and would be easier to just do it with a traditional broker.
hero member
Activity: 714
Merit: 510
Guys before we shoot this down, let's continue with this train of thought.

So it has been established:

1. We will always need commercial companies to do the exchange between real world currency and BTC.

2. The "centralization" problem lies around the fact that one IP address of a big exchange (with of course load balanced server behind it) can be attacked. It is more of a web problem than what it is a "brick and morar" problem.

Here's my suggestion

1. We have a program exactly like bitcoin. It connects to 6 peers by default.

2. Instead of sending BTC, it sends out a BUY or SELL orders to the network. In other words, the program will maintain a global p2p orderbook. The price of BTC will always be exactly the same worldwide.

3. The problem also maintains a list of exchanges. Think of what Verisign  is to IE/Firefox/Chrome. Inside any browser they maintain a list of "trusted ssl providers". The same thing applies here. Since this is open source, the community can decide which exchanges are trusted and there can be a formal application process.

So your P2P Market App will show you a interface similar to this

Code:
Buy [ 1 ] [ BTC ] in [ USD ] from [ Drop down ]
                                                  [ Mt Gox ]
                                                  [ BTC-e ]
                                                  [ CanadaExachange ]
                                                  [ Ausie Exchange ]

So if you select CanadaExchange (just an example) that will be sent to the entire network. Canada Exchange will then pick that up and do their 6 confirmations (the exact same way we receive bitcoins) and will then check their bank account for your reference.

References:
=========

You could have a "preferences" menu item in the app. From there you configure your exchanges. For example

Configure Exchange:

Code:
[MtGox]:

Your payout Bank Details
     Account: [      ]
     Bank: [      ]
     etc etc

Your funding reference
    Ref:   [        ]   [ Button: Automatically get a reference number for this installation ]



Additional details will be sent with every outgoing buy order. MTGox will be able to pick up your reference number for you buy order from your transaction.

That's just a quick rough idea of implementation. Of course there are holes in the idea. The bottom line is, something like this is possible, we just have to figure out the details.

The most important aspect of this whole thing is - One Global Peer 2 Peer Order book that cannot be attacked - lets work out the details around that.





This idea is one of the best yet because it's so simple.
hero member
Activity: 714
Merit: 510
This would be way easier if you just created "Darkcoin" and allow users to choose whether they want BTC or DKC. (Hmmm... Maybe that's a bad name)

Then you don't need to deal with problems like a seller being matched up with 30 partial orders and needing to figure out how to pay them all through fiat infrastructure.

I don't get your logic.  Another currency does not solve the centralized inferstructure problem.

The decentralized exchange will allow for p2p exchange of any currency for any other crypto or not... Gold, silver, and any other commodity of value too.

....Solves the exchange problem for all the existing crypto currencies as well.  

Well, you can escrow for trust issues, but that doesn't really make up for the fact that if you place a significant order on Gox, you're going to be matched with tens of small orders. So if you sold 10BTC for 1oz of gold, and that was matched with 12 partial orders, are they supposed to each send tiny bags of gold shavings, or are you talking about a posting board rather than an exchange?

DarkCoins would be easily divisible, and able to be transferred quickly/easily, much unlike 12 bags of gold flakes. Fiat transfers, even with a decentralized exchange, has banks as a point of failure. If you're trading with people directly, as I'm assuming would happen in an exchange, the "decentralization" is proven failed the instant BAC freezes your account over AML concerns with 20 out-of-country people deposited a combined $50k into your account over a couple days. Gox, OTOH, is a central figure with a relationship (one they've incidentally had to fight hard for) with their banks, which no longer freeze their accounts every other week.

There is no reason that a large order cannot be batches to hundreds of different offers in the system.  And there is no reason mtgox cannot exist on the system too, if you prefer to deal only with them.

The competition from the other brokers on the system will keep them honest and prevent another monopoly.

Having another crypto intermediary coin doesnt really solve anything.  Fiat still has to be used to buy that intermediary coin, and hence an exchange for it.  Nothing solved.

There will also evolve intermediaries in the system.  Those who batch arbitrage small orders at a discount into big orders for larger investors.

Create the decentralized platform and the market will fill in the gaps.
Okay... I put up a buy order for 100BTC and offer 10oz of gold. The decentralized exchange matches me to 200 orders. Explain to me how this will work out quickly, without a great deal of trust in any single entity, and without insane fees (including shipping fees).

Unless you want to send gold to 200 different people, likely it would match you to a gold dealer who could handle your order size.

You would then enter a multi-sig bitcoin transaction with the dealer.  And/or use escrow.

You send him your gold.  Once the gold arrives escrow releases the coins to you.  If the gold gets lost in the mail, well, insurance would handle that (just like online old dealers do it now).

The small-time brokers would keep the market honest.  They would set the market price for the large gold dealers.  Large gold dealers would arbitrage the price difference users are will to pay to fulfill large orders.  Large capacity would carry a premium in the open market.  So would reputation.



Quote
What is the meaning and purpose of "security"? How does it relate the the relationships we have? I argue that the formalizations of our relationships -- especially contracts -- provide the blueprint for ideal security.

Many kinds of contractual clauses (such as collateral, bonding, delineation of property rights, etc.) can be embedded in the hardware and software we deal with, in such a way as to make breach of contract expensive (if desired, sometimes prohibitively so) for the breacher. A canonical real-life example, which we might consider to be the primitive ancestor of smart contracts, is the humble vending machine. Within a limited amount of potential loss (the amount in the till should be less than the cost of breaching the mechanism), the machine takes in coins, and via a simple mechanism, which makes a freshman computer science problem in design with finite automata, dispense change and product according to the displayed price. The vending machine is a contract with bearer: anybody with coins can participate in an exchange with the vendor. The lockbox and other security mechanisms protect the stored coins and contents from attackers, sufficiently to allow profitable deployment of vending machines in a wide variety of areas.

Smart contracts go beyond the vending machine in proposing to embed contracts in all sorts of property that is valuable and controlled by digital means. Smart contracts reference that property in a dynamic, often proactively enforced form, and provide much better observation and verification where proactive measures must fall short.

http://szabo.best.vwh.net/smart_contracts_idea.html

Look into smart contracts. There are many ideas which could be useful.
hero member
Activity: 714
Merit: 510
Bitcoin is the virtual Lichtenstein: The primary contribution to the economy comes from the financial sector. We can not build a "country" financed on speculation alone. No more than 30% of trade value in an economy, should come from exchanges, ideally around 5%.

Bitcoin is not faulty neither are the exchanges, it's the mentality from debt based currencies being carried over to a pristine system.

The exchanges suffered from high frequency trading and DDOS which made price discovery impossible. If we cannot determine the price we don't know how much Bitcoins are worth and cannot determine what to sell them for. MtGox was how we all would determine the price in USD. We need something completely decentralized to determine the price so we don't rely on any centralized exchange which can be hacked or bugged.

Let me ask you this, what is the price of a Bitcoin right now? Try and tell me without MtGox.
hero member
Activity: 714
Merit: 510
This would be way easier if you just created "Darkcoin" and allow users to choose whether they want BTC or DKC. (Hmmm... Maybe that's a bad name)

Then you don't need to deal with problems like a seller being matched up with 30 partial orders and needing to figure out how to pay them all through fiat infrastructure.

I don't get your logic.  Another currency does not solve the centralized inferstructure problem.

The decentralized exchange will allow for p2p exchange of any currency for any other crypto or not... Gold, silver, and any other commodity of value too.

....Solves the exchange problem for all the existing crypto currencies as well.  

Well, you can escrow for trust issues, but that doesn't really make up for the fact that if you place a significant order on Gox, you're going to be matched with tens of small orders. So if you sold 10BTC for 1oz of gold, and that was matched with 12 partial orders, are they supposed to each send tiny bags of gold shavings, or are you talking about a posting board rather than an exchange?

DarkCoins would be easily divisible, and able to be transferred quickly/easily, much unlike 12 bags of gold flakes. Fiat transfers, even with a decentralized exchange, has banks as a point of failure. If you're trading with people directly, as I'm assuming would happen in an exchange, the "decentralization" is proven failed the instant BAC freezes your account over AML concerns with 20 out-of-country people deposited a combined $50k into your account over a couple days. Gox, OTOH, is a central figure with a relationship (one they've incidentally had to fight hard for) with their banks, which no longer freeze their accounts every other week.

There is no reason that a large order cannot be batches to hundreds of different offers in the system.  And there is no reason mtgox cannot exist on the system too, if you prefer to deal only with them.

The competition from the other brokers on the system will keep them honest and prevent another monopoly.

Having another crypto intermediary coin doesnt really solve anything.  Fiat still has to be used to buy that intermediary coin, and hence an exchange for it.  Nothing solved.

There will also evolve intermediaries in the system.  Those who batch arbitrage small orders at a discount into big orders for larger investors.

Create the decentralized platform and the market will fill in the gaps.


What about an offline based company. You call a guy from a broker company, you tell that guy you want him to order X amount of Bitcoins on your behalf. You pay him a small fee for orders of a significant size. He executes the order and the Bitcoins flow to your wallet. You don't even have to know all the crap about darknets or any of this. I think this is the best way to make it simple and mainstream for the masses.

People want to be able to call someone up and order Bitcoins like ordering a Pizza and have it delivered to their address. This could easily be made possible as well and a human being could be the gateway but once again now the human being would have to be licensed. That being said I don't see why a human agent couldn't do some of it to make it easy. It could be even easier if the agent could be contacted via AIM, Email or whatever and THIS is where you'd need encryption layers such as off the record or something similar so that the financial information cannot be exploited or stuff discussed cannot be exploited.

At the same time though there would have to be logs to protect from scammers. Perhaps build the escrow system into a plugin or extension and someone on AIM or pidgin or just on a web forum can have their coins in escrow on even sites like this one. Once again you still have the issue of how do you get the cash to the perosn with the coins, solve that?
Pages:
Jump to: