What do we think that is the technical way to get rid of congestion in bitcoin network,
Very simply put:
- If we don't want to make the operation of full nodes prohibitively expensive (see Bitcoin SV or even Ethereum) then you need a cap for on-chain transactions. As pooya87 correctly wrote, this will lead to congestion always if there is high demand for transactions.
- But we can reduce congestion to achieve that
not all full nodes have to relay, validate and store (relaying and validating is much more important than storage!)
every transaction.
- This is what "second layers" like Lightning, Ark, Sidechains and other technologies aim to achieve. Basically there are two ways: off-chain transaction bundling (Lightning, Ark, Statechains) and use alt-chains to transact Bitcoin (Sidechains) or a mix of alt-chain and main-chain (rollups).
On all of these technologies there is heavy work going on currently, but they all still have their flaws. A good website to see their current state and their shortcomings is
BitcoinLayers. Lightning is the most mature of all, with the best values in terms of decentralization/safety/maturity.
There was one additional idea I found somewhat interesting: a way to reserve future block space in advance to ensure low fees, as proposed
in this thread. I don't think it will happen on Bitcoin, but it could be an interesting solution for a high-availability altcoin which isn't in need to sacrifice decentralization for "low fees".