But it still needs a 3rd party (miners) to approve/authorize/record/track/store transactions. The difference is this authority is decentralized and distributed.
I would say this is not quite correct; miners do not really have 'authority' over the network, at least not in the ways that term would usually infer.
When a transaction is submitted to the network, the miners that hear about it will in pretty much every case have no idea where it came from, so the ability to selectively censor is extremely low. This doesn't mean that miners can't arbitrarily censor transactions, but doing so would mean lost opportunity cost - and that is a big deal in a hyper-competitive industry with slim margins! Since mining is permission-less to join, we should expect that if miners are arbitrarily censoring transactions and losing revenue because of it, eventually some other miner will come online to grab the profits that the other miners have ignored.
These incentives remove any sort of 'authority' an individual miner could have over the network. Thus collectively, miners are not an 'authority' in any meaningful sense of the word.
A majority attack breaks these assumptions, but it is incredibly expensive, difficult, and counter-productive to launch such an attack.
Why is it not a complete p2p (like gold, fiat cash) electronic cash? Is it not possible to create such system with cryptography? If yes what are the difficulties?
In the physical world, it is fairly easy to imagine how a P2P cash system would work: you just trade physical items, that represent some amount of value. When someone hands you the item, you can inspect it to ensure it is authentic.
But in the digital world, this problem gets really tough. It is very easy to copy/paste a digital file, so if I had a file that said This is worth $10!
, I could just copy it 100 times, to create $1000 in value. So if someone paid you using one of these files, how could you know whether or not it was a copy?
The obvious solution is to create some sort of central authority, which keeps track of the balance of individual users. But this existence of a central authority is a security risk to users, so it doesn't look like a great fix. The general formalization of this problem is called the Byzantine General's Problem, and it was an unsolved question in computer science for a long time.
So we might imagine that we could just create a ledger that includes all transactions: everyone will watch the ledger, and update it as transactions are made. But there is still a problem! How will everyone agree upon the ordering of transactions? What if a user sends two payments using the same money, at the same time? Even in the case that everyone is acting honestly (unlikely), network latency alone could cause issues. Notice that the issue here is transaction ordering, we are in need of some sort of chronology for transactions. So how do we keep everyone in sync, running on the same clock and thus able to agree on the ordering of transactions?
Well, one day back in 2009 Bitcoin was released to the world, and offered a probabilistic solution to the problem! By forcing miners to spend a real-world resource in order to progress the network, we arrive at a solution that creates a sort of 'clock' to record when transactions happen. You can imagine each new block as a 'tick' of the clock, in a simple sense.
And so in Bitcoin, everyone has the ledger, and they can all agree on the ordering of transactions on it. Miners are necessary for this ordering to take place, but are otherwise not in any special position of power on the network. Without mining, it is unclear how we would accomplish creating this chronological ordering in a decentralized manner.
All of that said, you may be interested to learn more about the Lightning Network. While the lightning network is still built upon on-chain bitcoin transactions, each individual lightning network payment can be completed in a purely P2P fashion. No information needs to be broadcast to anyone other than the relevant channel participants, so payments can be completed in a very private manner.