Shorting is, effectively
- borrowing an asset at price X
- selling it immediately
- buying it back later at price Y
- repaying your debt
if Y < X you make a profit, otherwise you lose money.
Borrowing on the blockchain is the tricky part, since there is no passport/credit score/debt collectors available. DAI is a way to perform decentralized borrowing on the blockchain (you get DAI when you deposit ETH as collateral). This borrowing mechanism effectively allows you to perform margin, short, and all other fancy trading stuff that exists thanks to ability to borrow funds.
This is definitely a solvable problem, and an exciting problem to work on (I have already thought about it and have some ideas).