you send btc*1 to bob. bob sends BobsBtcToken*1 to you. you go onto the orderbook for BobsBtcTokens and fill a buy order. Nxt appears in your account. Now you find a ltc gateway. Say betty seems the most trustworthy. Fill a sell order for BettysLtcTokens. Receive BettysLtcTokens*X. Send BettysLtcTokens*X to Betty's nxt address with a message containing your ltc address. Wait for ltc to arrive.
It seems overly complicated now but it'll feel natural once it gets rolling and everyone gets used to it. All steps serve their purpose, these extra steps are the cost of decentralization.
If I read this right - 'No escrow' or atomic completion?
so buyer beware....
Keep in mind this is the first step on the path toward fully automated DAC gateways. Also, to remove the confusion that is inherent in having many different Assets that are all representing the same thing I think it is crucial that we consolidate all assets of the same denomination to a single community asset. This will allow all users to go to a single asset name within AE for BTC and ALL the bids and asks for BTC within AE will be for BTC backed by the federation of gateways. All the federation members take blood oaths, trade first born children, etc. so they work out a way to trust each other. This shifts the risk of choosing the right gateway from the hapless end user who has no clue which gateway is better to each gateway itself. A much better chance of making correct decisions. In the event one of the gateways is lacking somehow, the other gateways could require posting of a bond to cover the risk.
HOWEVER, I think I might have a way to allow all the gateways to trust each other without any bodily parts being involved. I do need somebody who is familiar with multisig to confirm this, or more likely correct where I am being plain silly.
I do not see a problem with deposits of crypto, the end user sends in the crypto to a deposit address and the gateway sweeps it into an account. The problem is with the withdrawal, eg. since I am proposing all assets that represent BTC be fungible with each other, each gateway needs to have access to potentially all the actual BTC.
So, we have a possible solution where all the gateways sweep into a common account. Wait! If all gateways are able to withdraw from it, then if ANY gateway gets hacked or hypnotized by Evil Bob, all the deposits are gone. Not good at all.
This is where I think multisig comes in. What if the sweep account is a multisig acct. All the gateways can easily sweep into the multisig acct, since it is just a matter of sending coin to the right address. Now on withdraw, if we required the signatures from all gateways to do a withdrawal (or super majority?), then no gateway would be able to take off with the deposits, unless all gateways (or super majority) turn evil at the same time.
No I dont know how multisig works well enough to know if this will work, but IF there is a way to do a safe remote multisig authorization and all the gateways are using the same business logic to approve withdrawals, eg. proper AM was sent with appropriate asset, then I think this could work.
Not totally trustless, but as long as all (or super majority) of gateways dont spontaneously turn evil, I think the community would be able to rely on the federation of gateways.
I hope somebody that knows about multisig and another somebody that knows about secure remote signing will be able to validate this, or fix it so it works
James
P.S. I just figured out that we can use a set of AM's for secure remote signing. Granted it is a lot of AM to send if we had to do it for each withdrawal, so maybe we only invoke this level when the amount is larger than the bond put up by the gateway. I think this is getting close to a real solution. Smart guys, please help!!