Crypto can't solve its main problem though; it's fundamentally based around not being able to reverse transactions, which means you can't reverse a mistaken or fraudulent transaction, which is the whole reason tradfi works. And I don't think the other stuff makes up for this, even if programmability and flash loans are interesting.
Of the many crypto problems I can think of, reversible transactions seems low on the list. Tradfi "works" because there is no other choice given so people make it functional and it is comfortable through familiarity.
People conveniently forget the rampant scams, identity theft, and numerous types of fraud that are clearly irreversible in tradfi. Then they present it as a new problem that crypto must solve as well as being the same as the old system.
There's nothing in crypto that inherently prevents transaction reversals.
This can be implemented as a smart contract on any sufficiently advanced blockchain (definitely Ethereum, not sure about Bitcoin).
The way this works is that you put the money in an escrow contract first, designating a trusted third party as an arbiter. If you don't dispute the transaction for a few weeks, the money goes through irreversibly. If you do, the contract "locks up", and the third party can now either decide to send the money on to its destination or return it back to you. The contract is designed in such a way that those are the only things that third party can do with your money, they have no way of taking it for themselves. Either way, they get a small cut for the trouble of adjudicating the transaction.
If what you're worried about is wallet hacks, not disingenuous merchants, that's doable too. Instead of storing your money directly in your wallet, you'd have to store it in a smart contract, designed in such a way that your key is the only one that can move money out of it. However, limitations would be placed on the contract with regards to how much money can be moved daily. Such limits would likely be different for transfers to trusted escrow contracts and for irreversible transactions. If you needed to move more money, you could designate a trusted third party (let's say a traditional bank doing traditional bank things for identity verification) as being able to override these limits for you. Again, that would be their only responsibility, they would not have the right to move any of your money without your permission. This essentially relegates a bank to the role of an identity verifier who cannot take control of your money in any possible way except by colluding with a hacker who already has access to your wallet.
THe reason none of this exists is ecosystems and network effects, not technical limitations.
> There's nothing in crypto that inherently prevents transaction reversals.
Irreversibility was a key design parameter of bitcoin.
You can kludge a reversal system on top, much as you can build an SQL-a-like atop Mongo. Or you could not use a system whose literal point is the opposite.
That just shifts the problem around: if there's a bug or mistake in the smart contract itself, then you face the problem that you can't reverse that smart contract.
I have emphasized the main difference between this and a bank multiple times, but if it's not sufficiently clear: A bank holds your money. It can do whatever it wants or is forced to with that money, including seizing it if you're Canadian and attend a protest[1]. In the system I outlined, a bank can only decide whether a transaction you dispute should be reversed. As long as you don't dispute any transactions, the bank has no ability to take your money.
But then I can't spend my money for several weeks - the feature that crypto can't implement is having the reversal window be wider than the lockout window.
In tradfi, the counterparty is typically a sophisticated financial institution that either is in your jurisdiction or at least cares somewhat about not annoying your government. If it isn't, it's probably a customer of said financial institution, and thus subject to their rules. In crypto, your counterparty might be literally anybody.
(I mean interesting mostly in a bad way.)