Multisig Addresses for Trading Currently, trading on centralized exchanges requires one to keep their funds on the exchange, with the private key controlled by the exchange's server.

Wouldn't it be possible to give people multisig addresses, perhaps in a 2 or 2 configuration or 2 of 3 configuration, where the exchange has one key and the user has the other keys, and giving people the capability of maintaining a known balance and placing orders on the order book with that balance.

Buy example:
When Alice buys Bob's bitcoin or cryptoasset, the exchange places the transfer with Bob's key (notifying Bob) and extends credit to Alice in the GUI, so Alice has "unsettled funds" but may be able to keep trading to an extent. Bob has to authorize the actual trade with his remaining keys, and may be limited in doing anything else on that site until he does authorize it.

The risk here is that Bob never authorizes the transaction, or too many users never authorize, bring the exchange's margin capabilities to a halt.

The benefit is that an exchange being hacked wouldn't result in massive amounts of cryptocurrency being stolen, and I think the risk parts can be mitigated.

Is this a practical possibility?
This has several downsides for the exchange:


It's complicated. The best the exchange could do is to offer both the way it's currently done and your way. Users will hear that your method is to their advantage and attempt do to it your way. Many will find it too complicated and use a different exchange or lose interest in acquiring money in bitcoin altogether.
The exchange now has to maintain 2 systems. More diversity means higher development costs, more personnel training, more maintenance, and more error-proneness. Overall higher expenditures and more ways to fail.
Users will think their money is now at the exchange and delete their wallets. If it sounds stupid to be done and can be done by users, it will be done. The exchange then has to explain to the users that their money is gone and there is nothing they can do about it. Which is also part of the next point.
There will be more support requests.
It takes control away from the exchange. Right now, if someone jumps off, the exchange still has the money and give it back to the other person. In your system, the exchange has to explain to the other person why the deal can't happen. This can cause trouble in some jurisdictions as the exchange may be the legal trading partner for both.
Right now, exchanges have a lot of funds deposited on their systems. If a user never accesses their account any more for whatever reason (bus factor, user forgets about it, etc.), that's effectively profit for the exchange.
Entities equipped with a lot of money have a tendency to gamble with it. That's not possible if you can't move the money around.


Put together, the disadvantages aren't worth the benefits which basically only consist of making a few users a bit happier.

Besides, if the exchange goes bankrupt, the money you have in a multi signature wallet shared with the exchange probably will be regarded as part of the insolvency estate anyways because you put it there with the intend of giving it to the exchange and that intent is probably all that counts (depending on the jurisdiction, of course, and I'm not a lawyer) so you probably have to agree to only get part of your money back anyways in order to get at least some of it back.