[...]
Afaik, the insoluble fundamental problems of decentralized exchanges that operate directly on the block chains of the coins being exchanged are:
- Block chains don't have fast enough transactions and can't handle the trading volume.
- The exchange protocol requires long delays (partially because of the third issue below), which means the paradigm can be
DDoS attacked[jammed], thus rendering it unsuitable (since exchange is normally a very time sensitive action). - Orphaned blocks can lead to one of the parties losing all the coins.
And yes afaik malleability makes decentralized exchange impossible. But even after fixing that, the block chains of all the altcoins need to have special changes made to their protocol (hard forks) and still you will have the insoluble problems I bullet-pointed above.
[...]
As for the block chain scaling issue of the first bullet-pointed above, that is what I am working on now with my proposed design which was discussed upthread.
As for Bitshares[...]
So after further thought, item #1 I am aiming to solve with my block chain technology and others may be working on similar block chain tech.
Item #2 is partially a function of the block chain technology in terms of delays that can be reduced, but the more salient issue is that the protocol can be jammed (not DDoS attacked) by a party that backs out and doesn't complete TierNolan's protocol. But the solution to this jamming problem is to allow participants to set how many Coin Days Destroyed the counter party must possess on the UTXO being offered in the trade. Has anyone else ever suggested this solution?
Item #3 is also a function of block chain tech and how likely an attack on the probabilistic model of confirmations is.
So I am saying that these issues appear to all be solvable, at least excluding the real-time trader scenario.
In regards to decentralised exchanging using ACCT the introduction of CLTV means that malleability is no longer an issue (you don't need to refer to transaction ids that aren't already confirmed).
I have built code that will create a Bitcoin script that works by combining the ACCT and CLTV with a P2SH address and redeem script.
https://bitcointalk.org/index.php?topic=598860.msg13435766#msg13435766What about the other issues with decentralized exchange I enumerated?
It is only a solution to the malleability issue that rendered TierNolan's original implementation practically unusable (so I just wanted to clarify that malleability is no longer a part of the problem).
I see ACCT with CLTV as being more akin to a street currency exchange than to an exchange like Cryptsy (i.e. useful in the same way as a street currency exchange is for fiat when you are traveling abroad but not very suitable for the purposes of day-trading and cannot be used for high frequency trading of course).
If the purpose of say obtaining LTC for BTC was not to day trade but just to have some LTC as some sort of hedge or to use for some other purpose then you won't need to trust an exchange like Cryptsy being the point.
I will want to pull up TierNolan's BIP and get a full explanation from you as to what you have accomplished. I assume we can do this in PM.