Pages:
Author

Topic: Decentralised trading (not what NXT/Ethereum or anyone is doing at the moment) - page 2. (Read 5073 times)

newbie
Activity: 56
Merit: 0
I've looked at this XCP thing. it doesn't have prices in the orders... why would I buy something at an unknown price? that's what an exchange does. its a price-machine so to speak. I mean this design is like a car that doesn't drive. its completely absurd.

at least they are not taking money for the dev upfront, so that's good.

I don't think anyone has even come up with a solution for a simple Decentralized limit order book. Seems to me that a Decentralized exchange can be gamed with common latency arbitrage / high frequency market making techniques..

yes. people designing an exchange should know what they are talking about. none of this stuff works, for quite obvious reasons. limit order book is a central datastructure like the blockchain. if you think about it bitcoin is de-central and central at the same time. blockchain is the ultimate central datastructure.

I haven't studied NXT at all, only looked the source code for 5 seconds. all current projects MSC, NXT, eth, have not considered much what an exchange is, in terms of price discovery and settlement.

What do you mean it doesn't have prices in the orders?

http://blockscan.com/order.aspx
member
Activity: 70
Merit: 10
I've looked at this XCP thing. it doesn't have prices in the orders... why would I buy something at an unknown price? that's what an exchange does. its a price-machine so to speak. I mean this design is like a car that doesn't drive. its completely absurd.

at least they are not taking money for the dev upfront, so that's good.

I don't think anyone has even come up with a solution for a simple Decentralized limit order book. Seems to me that a Decentralized exchange can be gamed with common latency arbitrage / high frequency market making techniques..

yes. people designing an exchange should know what they are talking about. none of this stuff works, for quite obvious reasons. limit order book is a central datastructure like the blockchain. if you think about it bitcoin is de-central and central at the same time. blockchain is the ultimate central datastructure.

I haven't studied NXT at all, only looked the source code for 5 seconds. all current projects MSC, NXT, eth, have not considered much what an exchange is, in terms of price discovery and settlement.
newbie
Activity: 56
Merit: 0
Check out this sweet decentralized exchange protocol, Counterparty:

https://bitcointalksearch.org/topic/annxcp-counterparty-pioneering-peer-to-peer-finance-official-thread-395761

You can trade Counterparty (XCP) for BTC or other assets completely decentralized and trust-free.

You can also issue dividends, and place bets on things like sporting events.
sr. member
Activity: 410
Merit: 250
Proof-of-Skill - protoblock.com
forget about Fiat, what about a Decentralized NXT/BTC exchange or even a pure BTC futures exchange, where we are only dealing with Crypto currency.

I don't think anyone has even come up with a solution for a simple Decentralized limit order book. Seems to me that a Decentralized exchange can be gamed with common latency arbitrage / high frequency market making techniques..
sr. member
Activity: 469
Merit: 253
That's true, it is "revolutionary" in many different ways. So, how do I prove I own 10$ or have send 10$ in a fiat money system?
Using internet banking. The encrypted ssl record of the session can be recorded. Then the specific encryption key for the page which shows the balance or transfer can be passed to an arbitrator, allowing them to read that particular html page. The proof ultimately traces back to the bank's ssl certificate (exactly the same proof that allows one to be confident of doing internet banking in the first place).
Digital signatures from banks would provide the same thing in a much more elegant way.

Quote
Fiat money transactions are reversible, because they have a counterparty.
Well obviously the existence of a counterparty does not imply reversibility, but that aside - not all fiat transactions are reversible. First, obviously there's cash. Second, SWIFT transfers are intended to be irreversible by design (after all settlement has to occur at some point).

Quote
any fiat within cryptocurrency leads to something like marking, i.e. colored coins. I haven't studied that approach to much, but I suppose the pool you suggested is like that. It seems to me there will now fiat colored coin any time soon.
I'm not talking about colored coin type systems.

Quote
I have a much easier solution which immediately makes p2p exchanges possible, however not for fiat money. and certainly not for stocks or bonds, which I believe is nonsense (given state of affairs as of 2014). stocks are tied to the legal system, and there is no way one can abstract that.
Fair enough, I apologise if I dragged you off topic, I probably misinterpreted some parts of what you wrote. If you're only interested in (2) not (1) (from my first post) then most (but not all) of what I said isn't probably relevant.
member
Activity: 70
Merit: 10
That's true, it is "revolutionary" in many different ways. So, how do I prove I own 10$ or have send 10$ in a fiat money system? Fiat money transactions are reversible, because they have a counterparty. any fiat within cryptocurrency leads to something like marking, i.e. colored coins. I haven't studied that approach to much, but I suppose the pool you suggested is like that. It seems to me there will now fiat colored coin any time soon.

I have a much easier solution which immediately makes p2p exchanges possible, however not for fiat money. and certainly not for stocks or bonds, which I believe is nonsense (given state of affairs as of 2014). stocks are tied to the legal system, and there is no way one can abstract that.
sr. member
Activity: 469
Merit: 253
The CLS quote you posted is really talking about counterparty risk (I think it's a more helpful name than settlement risk, although of course that's also accurate).
The best way to deal with counterparty risk within the trading system is to use multisignature transactions. This is a really revolutionary technology; it almost entirely removes counterparty risk as long as you have verifiable transactions on both sides. The only remaining risk is collusion. You still have to trust that the arbitrator is not colluding with your counterparty. The best way to do that is, I believe, have the arbitrator chosen in a provably (i.e. publically verifiably) random manner, or even more effective (but more difficult to implement) to have the arbitration done by a voting mechanism within a P2P network.
member
Activity: 70
Merit: 10

That's not on the transaction layer. You can't for example have two bank accounts and move from one to the other going over one API. so in the future I think we're going to have a layer over bitcoin which is like FIX. certainly traditional banking, in the sense of a storage of value is going to go away. then one can move seamlessly between services on top of protocols (like an investment scheme etc.).
legendary
Activity: 2618
Merit: 1007
What port do I connect to to supply my bank account and ID numbers?
http://de.wikipedia.org/wiki/Multi-purpose_Business_Security_over_IP
In Austria: Port 3048 (Bank servers: http://www.elba.at/hotline/mbsipzugangsdaten/)

Germany has HBCI for example...

How do you guys do internet banking in the US?! There are surely some standardized interfaces, right?
member
Activity: 70
Merit: 10
interesting. I don't see how you want to solve settlement risk. This is a feature of fiat money. bitcoin itself of course does not have settlement risk! following a quote from wikipedia about how FX settlement works. I believe part of the solution is that exchanges will evolve protocols, so that market maker profits go to outside stakeholders/exchange members. I don't see at all why alt-coins should be coupled to exchanges.

I'm working on parts of this. Some of it is redesigning FIX protocols, but also trading protocols, where sell-side and buy-side are essentially plugins. even most large billion dollar funds don't know how to trade (execute) efficiently. some of this can baked right into the exchange, instead of having market makers who profit from inefficiencies.

Quote
CLS operates a global multi-currency cash settlement system through which settlement risk can be mitigated with finality using a combination of PvP settlement over CLS central bank accounts, local real-time gross settlements systems (RTGS) and multilateral payment netting supported by a resilient infrastructure.[5]

In a PvP system both sides’ payment instructions for a FX transaction are settled simultaneously. Without PvP there is a serious risk that one party to a FX transaction will deliver the currency it owes, but not receive the other currency from its counterparty, resulting in the loss of principal. This is known as settlement risk, or “Herstatt Risk”, after the German bank, Bankhaus Herstatt, which collapsed in June 1974 leaving many of its FX counterparties with significant losses

http://en.wikipedia.org/wiki/CLS_Group
sr. member
Activity: 469
Merit: 253
I see. well there is a couple of issues here. in exchanges there are large liquidity providers who specialize in trading. so you're not just send a couple of BTC for $, but potentially dealing in large volumes of trade. you're just not allowed to do that without following AML/KYC. sure, if you doing small volumes likely nobody is going to notice, but for the system to work on large scale you need big processors (market makers).

also what is missing here is the element of price discovery. That is what exchanges are all about. The bitcoin exchanges gather order data, take the fiat money and settle the trades. so if you want to settle 1'000'000 tx/sec, you can't have a completely inefficient system. I very much doubt that one can work around the existing clearing banking system, to settle fiat transactions.

OK, so again it comes down to which problem you're trying to solve - (1) or (2) as I referred to in my first post. I think like many earlier discussions, you are mixing them. That's OK if you want to solve both of them simultaneously but I think it helps to separate them. As for scale and AML/KYC, for sure that's a problem; but one of the main points about decentralisation is that it reduces scale. No centralization means no large scale transactions (or at least, no transfers larger than is usual for that particular entity).

I think we can all agree that clearing is an issue in the fiat world, but not an issue in the crypto world - there, settlement occurs atomically with the transaction because of irreversibility, so there is no clearing.

Performing clearing and settlement for a decentralised fiat-crypto exchange is indeed going to be tricky. Centralised - no problem, it's just like any other currently existing trading system. You can imagine things like T+2, netting etc. existing in that framework if the system gets complicated enough (e.g. brokers) but it's all bound to be much cheaper than the existing system because it's so easy to get to a final settlement when you want.

For decentralised, I could imagine it having two tiers. For high transaction throughput crypto-crypto asset exchange, you'd need some kind of settlement into crypto (for the transition from sub-second trading up to minutes/hours bitcoin settlement), and then a second layer of settlement of bitcoin-fiat using traditional bank clearing, on the order of days. This is what we currently have really at the big bitcoin exchanges; they do it poorly I guess but they do it. Trying to make all that work in a decentralised manner is seriously difficult. What I was describing in my earlier posts was a system to help with the on-ramp part - how to do settlement of fiat/crypto without a central server.

However I have envisaged a system like this: a p2p network of users who hold fiat accounts and bitcoin accounts. Fiat deposits and balances are tracked using ssl logging (so verifiable by the whole network), and these provide the liquidity to allow real time trading peer to peer of fiat for bitcoin. Imagine the network as a whole as an entity having a USD balance. Peers add $1000 when they enter and are credited with that amount in the globally maintained ledger (blockchain comes in handy!) - the mechanism to "add $1000" to the ledger is to make a deposit to one of a class of users who act as depositories, and who have pledged an equivalent, or usually much larger, btc amount to multisig (so they can't run away with it and liquidity is maintained even with price fluctuations). So, these users hold dollars on the network's behalf. Then fiat-btc trading can occur within the network in real time and when time comes to settle out into fiat, any of the depositories can make the wire transfer.

Obviously that is an enormously complex structure to build, but with the ability to verify fiat balances cryptographically, it *is* possible.

As for high transaction throughput and price discovery, I don't have a strong opinion. For sure that is the natural preserve of a centralized system, but perhaps with imagination you can make price discovery work in a decentralised way. Not sure.
member
Activity: 70
Merit: 10
I see. well there is a couple of issues here. in exchanges there are large liquidity providers who specialize in trading. so you're not just send a couple of BTC for $, but potentially dealing in large volumes of trade. you're just not allowed to do that without following AML/KYC. sure, if you doing small volumes likely nobody is going to notice, but for the system to work on large scale you need big processors (market makers).

also what is missing here is the element of price discovery. That is what exchanges are all about. The bitcoin exchanges gather order data, take the fiat money and settle the trades. so if you want to settle 1'000'000 tx/sec, you can't have a completely inefficient system. I very much doubt that one can work around the existing clearing banking system, to settle fiat transactions.
sr. member
Activity: 469
Merit: 253
Okay, so we're talking about fiat exchange. The other projects make claims about stock markets, which are very different. My comments were about clearing assets which are not fiat money.

In terms of the suggestion of the use of banking data (logs). I might be misunderstanding this, but the problem is I believe this is not legal.

Say Mr. Smith is a private person in the US or Europe. He has a bank account at a respectable international bank. Some person approaches him and says: I will wire you 1M$. Please wire that on to 10 people on this list. You will get 1% as a reward. Although Mr. Smith owns the bank account and can receive and spend money as he wants to, this kind of transaction is illegal in the jurisdictions that I know of. I'm not sure how this works with localbitcoin in practice. I assume anyone doing large volumes will sooner or letter have problems with his bank. Not everyone private individual can become a bank or exchange. Usually it takes quite a lot of money to set up an institution like that.

Probably you didn't understand the general idea. Think of it like this. Alice wants to send dollars to Bob in exchange for bitcoins. Bob places bitcoins in multisig escrow with Charlie. This means the bitcoins can only be sent with the permission (signature) of any two of Alice, Bob and Charlie. Then Alice makes a wire transfer to Bob. Once Bob has received the funds he can give his permission, and then either of the other two parties can also give the permission, and the bitcoins are transferred to Alice completing the transaction.
The problem with this scenario is what happens if there is a dispute between Alice and Bob. Say for example that Bob is a bad actor and lies, claiming he hasn't received the fiat funds when he has. What we could say is that Charlie can abritrate - ask Alice for a bank statement or similar proving that the funds were sent.
This is not good enough since a statement isn't proof. So we need either cryptographically signed statements or, equivalently, ssl records.

There should be no legality issue because Alice only exposes the information about her transfer in the same way she would if she gave someone a bank statement copy; but with cryptographic proof this bank statement cannot be forged.
legendary
Activity: 2632
Merit: 1023
member
Activity: 70
Merit: 10
Okay, so we're talking about fiat exchange. The other projects make claims about stock markets, which are very different. My comments were about clearing assets which are not fiat money.

In terms of the suggestion of the use of banking data (logs). I might be misunderstanding this, but the problem is I believe this is not legal.

Say Mr. Smith is a private person in the US or Europe. He has a bank account at a respectable international bank. Some person approaches him and says: I will wire you 1M$. Please wire that on to 10 people on this list. You will get 1% as a reward. Although Mr. Smith owns the bank account and can receive and spend money as he wants to, this kind of transaction is illegal in the jurisdictions that I know of. I'm not sure how this works with localbitcoin in practice. I assume anyone doing large volumes will sooner or letter have problems with his bank. Not everyone private individual can become a bank or exchange. Usually it takes quite a lot of money to set up an institution like that.
sr. member
Activity: 469
Merit: 253
Quote
Only cryptographic proof of bank balances and transfers allows semi-automated and distributed arbitration required to transfer value between fiat and crypto without bank involvement.

This is how fiat money transfers work: Alice has a bank account at bank Goldbank and Bob has a bank account at bank Silverbank, say in the US. The way this works is that Goldbank and Silverbank have accounts at the federal reserve. So if Alice wants to send Bob some money, effectively Goldbank will send money to Silverbank and the central bank will do the clearing. Fiat transfers without involvement of banks is impossible, except for cash. However there is no system where you can connect and prove that you own cash. Well there is the global exchange currency system moving around trillions of dollars everyday, but it is hooked up to central banks, see http://en.wikipedia.org/wiki/Real-time_gross_settlement


What I'm describing is a way of leveraging trust in banks without needing their permission. It is possible to prove the existence of a bank transfer to a *third* party without divulging credentials. The most primitive way to try to prove such a thing is to print out a bank statement. This is not, of course, proof. Another way is if banks allowed third parties to contact them and ask for verification of a transfer. Banks do not generally allow this (and note - this *is* proof to any reasonable extent, since banks have the final say on the entries in their own ledgers).
A third, far superior level, is for banks to cryptographically sign bank statements/transfer records. This is an elementary piece of technology which they have decided not to implement thus far. The reasons for this have been discussed in this forum before.
What we proposed in the thread I linked was a replacement for that cryptographic signature in the form of recording of ssl sessions.

Third party arbitration, you may say, means total loss of the decentralization principle. But not really; first, bitcoin multisig means that third parties never control funds, and second, if the arbitration process is sufficiently simple, it can be distributed across multiple parties, including at random, and it can either be fully or partly automated (there are a lot of practical considerations here). The key point is that trust needs to be replaced with verification.

The practical limitation of an ssl logging based system is just the practical limitation on the extent to which any fiat transfer can be truly irreversible. If SWIFT is truly irreversible, as claimed, then an ssl logged internet banking enabled SWIFT transfer can be traded against bitcoin peer to peer with basically no trust, only verification - because any third party can do the verification and award a multisig payment accordingly.

If SWIFT transfer is only irreversible if the two counterparty banks want it to be, then that scenario of course doesn't apply, at least not perfectly.


I worked for a few years in a financial clearing house, so don't worry about the education Smiley

member
Activity: 70
Merit: 10
Quote
Only cryptographic proof of bank balances and transfers allows semi-automated and distributed arbitration required to transfer value between fiat and crypto without bank involvement.

This is how fiat money transfers work: Alice has a bank account at bank Goldbank and Bob has a bank account at bank Silverbank, say in the US. The way this works is that Goldbank and Silverbank have accounts at the federal reserve. So if Alice wants to send Bob some money, effectively Goldbank will send money to Silverbank and the central bank will do the clearing. Fiat transfers without involvement of banks is impossible, except for cash. However there is no system where you can connect and prove that you own cash. Well there is the global exchange currency system moving around trillions of dollars everyday, but it is hooked up to central banks, see http://en.wikipedia.org/wiki/Real-time_gross_settlement

Essentially if you're not a bank you will not got access to those systems (SWIFT, FX clearing system, ...). You have to start a bank to be eligible to trade.  There is no system by which one can move fiat money around, without oversight. Except for cash. The first group that moves  money around without oversight are outlaws, and they use cash. At the same time there are rich people who use off-shore locations. Most of the big corporations use criminal tactics to avoid tax. Most normal people can't afford paying the lawyers for access to that infrastructure, which is legal. Even if one follows the argument of those pushing blacklists, the problem is who controls that list, and who makes those judgements. But subverting the fiat money system would be clearly illegal in most jurisdictions.

Quote
The banks backend clears thier transaction automatically, they just wont realise they are sending/clearing to the distributed exchange.

No. Its certainly not the case that "nobody will notice". You have to understand how banks and centralbanks inter-operate. They have pretty large systems for it, tens of thousands of people working on this stuff on bank and central bank side. You can't just hook up to the systems without anyone noticing. Thats not how the financial system works. Anyway, that just underlines my point I made earlier. You need to understand how the system works if you want to make it better. I would note that many nations don't have these kinds of complex and efficient systems.
legendary
Activity: 2632
Merit: 1023
10000's of people open bankaccounts that include a special number in the reference to signify this money goes to the distributed exchange. When the bank finds out the account is terminated perhaps, but there are 9999's other such accounts and list of account number are on a pirate bay style listing.

Someone still has to clear those transactions. It's going to be a bank/gateway. Unless you propose that every single online exchange will initiate an EFT/SWIFT/etc.. Even then, I cannot see how this is possible in a decentralized way. How can you prove an account owner approves of a transaction without some centralized authority that is authorized to do so for you? There isn't a decentralized block chain with a PKI that allows you to interface directly with clearing houses...

I'm not saying it's but it is the requirement for a truly decentralised crypto currency, exchange.

The banks backend clears thier transaction automatically, they just wont realise they are sending/clearing to the distributed exchange.

and visa versa.

Also please define what you mean by "clear"
sr. member
Activity: 469
Merit: 253
I also remember the "reams of typing", as you put it, post-April. I think a critical error in those discussions was conflating two entirely different goals: (1)peer to peer exchange of fiat currencies for crypto assets and (2) real time decentralised trading of crypto assets. The reason for the conflation was that people saw the failure of Mt Gox in both areas and wanted solutions to both.

(1) and (2) are both very hard goals, but (2) is by far the easier, as long as you're prepared to sacrifice some performance to achieve the decentralization. Many people made grand claims about having solved (1) and (2) when actually they only had partial solutions to (2); partial in the sense that they were either not real time, or not decentralized. Purported inclusion of (1) into these architectures were dubious at best, usually involving a peg between a crypto and a non-crypto asset, but without accounting for clearing and settlement properly. Such pegs are to my mind fatally flawed.

Personally I am not very interested in (2), although better and better models will come along.

I am much more interested in (1); while conceivably there is an optimistic scenario where regulations get more and more lax and it will be less and less important to worry about on-ramps from fiat to crypto, I find it much more likely that regulations will get stricter and the absence of a private, decentralised, online mechanism will end up being a major throttle on cryptocurrency development.

That's why I spent a lot of time (and still do) on the ideas that were discussed here. Only cryptographic proof of bank balances and transfers allows semi-automated and distributed arbitration required to transfer value between fiat and crypto without bank involvement.

member
Activity: 70
Merit: 10
Ix, that's right. It depends what kind of assets we are talking about! That really makes all the difference. Now for example if you want to trade say USD against JPY in Bitcoin, you would need a central clearing account at the central banks. Which you will only get if you part of something like SWIFT. basically the people who run the show. IMF, Worldbank, Banking organizations, the nation state governments. If you're say Iran or north korea than you will be simply blocked from the network. And BTC will be blocked/never allowed into the network. Now however, you can imagine that localbitcoin involves much more, so that there are say "local" authorities for clearing say Gold trades. For commodities this would work well. For FX/stocks not so much. as I said its not enough setting up a swap market like bitshares/mastershares. of course this can't work if you understand what clearing means. it means somebody is escrowing asset transfer.

i've come up with a model which allows true clearing for certain asset classes. everything depends on the structure of assets. from there we can build other cool stuff, but its not the stock or bond market. the distribution/centralization model will be mix of blockchain and FX like gateways. you really need btc exchanges as gateways. but improving localbitcoins is going to good. not sure anyone is working on this. one reason is market makers want to make money, and nobody gives away free money. over time fees will come down to close to zero though. you can look at fee/spread progression of US stock market from 1990 to 2010. it went from 1% to 0.02%.
Pages:
Jump to: