Bitshare itself might be interesting, if it allowed integration with bitcoin blockchain. But it just seems to be yet another altcoin (but at least innovative). Without bitcoin though, you'll have hard time beating OT as it shares same problem as you - lack of momentum to peg on.
This is where something like Marketcoin is very useful, quick trustless exchange of value between chains means altchains only need one function (like a zerocoin altchain or a bitshares altchain) in order to be useful. We should function on creating
functional, innovative coins instead of trying to cram everything into Bitcoin. Bitcoin is wonderful, but it is designed as money and I think it would be good to keep it that way. The entire point of open source is that if someone want's to improve or alter Bitcoin they can.
Like I said in other places, it is impossible to add the features I need to bitcoin even with new custom scripts.
Exactly. It is commonly believed that trading between chains trustlessly is impossible with the current Bitcoin implementation. There is plenty of discussion on the Bitcoin wiki about the chain-trade algorithm and why it isn't good enough. It could work but only with mutually assured destruction (if the trade falls through all funds are lost).
[...] So, what I think we have gleamed from the discussion of MarketCoin is a need to define how fast 'instant' is.
1) It could be within 24 hours.
2) It could be within 5 minutes.
3) It could be less than 1 minute.
Edit:I realised I didn't really address the above. Marketcoin incentivises early payment and late finalisation. The speed is determined by the buyer's eagerness. (When I talk about buyer and seller this is in the context of MKC). In this sense the seller will know if they've been paid before the network (and anyone else who checks the address). There's probably room for improvement here.
/Edit
Currently I'm leaning towards the idea of the buyer of MKC offering a 'pledge' which is sacrificed if they fail the trade. This shows intent to trade. The seller isn't required to do this because after orders are matched the trade is out of their hands.
The pledge could go to miners (but not to the miner who has the opportunity to block finalisation) or to the seller of MKC, or a combination. That would at least be some recompense for having the trade fall through. It also limits market manipulation. If the trade succeeds the pledge is returned to the buyer.
MarketCoin brings up a new dimension to the problem: requiring 'interactive' support for bids to clear. What I mean by this is that if you place a bid well below market, then leave for vacation and while you are gone the market drops and your bid gets accepted you are SOL and so is the counter-party.
This is and isn't an issue; my current vision for Marketcoin does not include an order book. In this way, trades will only stay active as long as you specify (similar to locktime) and if you're selling MKC then you don't have to worry about that.
The 24 hour timeout would occur and both parties lost out on the transaction. This occurs because the trades depend upon private keys which requires interaction with on behalf of all parties for trades to execute.
My original idea included using the same keypairs on both the Marketcoin chain and altchain (same privkey -> same pubkey -> different address). This lets Marketcoin handle everything on it's own, but only if you leave the keys unencrypted or have the password in memory. Not fantastic solutions, but my phone has unencrypted keys after all.
What I can conclude from this is that all bids on MarketCoin should require some kind of 'freshness' and thus should expire after 24 hours if they are not accepted. Assuming MarketCoin can automate integration with all other chains then the user experience will be seamless from the perspective of managing the transactions. The only problem is that the experience will be UNPREDICTABLE as some times trades will happen quickly, other times trades will fail and you have to start over the next day.
The 'freshness' idea is similar to what I've got down at the moment.
The unpredictability is mitigated somewhat by having multiple trades with slightly different offers which are less likely to have the same buyer. The exchange
Lastly, there is still an attack vector here by placing bids but not following through. One solution to this problem is to have one side of all bids be MarketCoin and thus controlled by the network. To place a 'bid' you give control over your money to the network which can then prevent fake bids and ensure that trades happen in a timely manner with only 'one' party having to be 'interactive'.
Very similar to what I've got down, but there's also a pledge on the part of the buyer. Marketcoin is always one currency being transacted and the pledge is also made in MKC.
When I suggested earlier that trades be ATOMIC I meant it in the since of making multiple updates to a shared resource without any 'contention', ie they either all happen or none of them happen. A trade that 'starts' at 8 AM and doesn't close until 8 PM and might fail *depending upon the counter party* is not atomic. Two people that make identical trades at 8 AM will get very different results depending upon their counter-party. A potential solution to this is to reduce the window to 30 minutes and include a 'fee' assessed to the defaulting party and paid to the other party in the event the transaction fails. This would require all nodes to be online and active and provide predictable results.
Remember that the network incentivises fast payment and slow redemption. In the sense you provide, Marketcoin is not atomic, but I'm not really sure atomic is a good word to use.
24hrs is an arbitrary number, remember. It needs to be long enough to avoid fallout from chainforks but short enough to be tolerable.
Also, no two people can make identical trades, just like no two transactions on the Bitcoin network are identical unless they are, in fact, the same transaction.
Conclusion: MarketCoin with a few tweaks is a very suitable piece in the puzzel for decentralized exchanges and certainly some problems BitShares does not. In fact, MarketCoin might be a part of the solution of allowing people to trade any alt-coin for any BitShare or related fiat-coin and in a sense complement one another.
This is where I see Marketcoin standing. It is not the whole puzzle, but I think it is the most important piece, as we won't be using fiat much longer (because it just can't compete). Well, at least I'll be trying my hardest to ensure fiat dies out as quickly as possible. [I'll be running for the Australian senate in 3 yrs, and every 3 years thereafter]
What we are left with is how to deal with Fiat and I believe BTC Luke's proposal is similar to BitShares in spirit if not in specific approach:
1) All parties must post collateral held in crypto-currency.
2) Parties issue fiat-bonds backed by crypto-currency that can be traded like BTC.
The only question becomes how do we value these fiat bonds, how do we manage the collateral, and how do we handle defaults.
Can we at least agree that 'escrow' and 'exchange' needs to be separated into two different jobs? We need a crypto-fiat that can be traded/exchanged by something like MarketCoin or BitShares and then we need a separate 'escrow' system for either backing the crypto-fiat (BTC Luke) or exchange crypto-fiat for fiat (BitShares).
I agree that escrow and exchange should be separated when talking about fiat.
For me, a fiat -> cryptocoin exchange has one main purpose and one main property:
PROPERTY: Can't be prevented by third parties
PURPOSE: To facilitate a transfer of value from fiat to cryptocoins (I like to call this type of money 'factum' money, and could possibly be a larger set than just cryptocurrency. It's a bit of a joke because fiat means 'let it be so' (roughly) and factum means 'done'. Also, I like the idea of calling something fact based money, or fact backed money.)
Another thing about Marketcoin: one of the things that will slow adoption is that, like Bitcoin, it's
difficult to get into. To trade large volumes very fast you'd need some sort of other exchange to give you a large enough sum of MKC straight away. I do have one plan to help with that, but it isn't trustless, just easy.
This is because you have to make a 'pledge' to buy MKC. This is easy to deal with from a network standpoint with policy:
1. small trades require no pledge
2. number of small trades per block is limited (yay competition)
TL;DR Spam mitigation is a bitch.