Atm, all the tx fee is around 20 USD cents, if it ADA reaches some high value e.g. 10$ (very-very unlikely in the next 5 yrs), we can vote to make it to the average 20 cent again instead of 2$ or even oracles would be able to adjust the price (not in the foreseen future).
Unfortunately, transaction’s value based calculation is not realistic, here is a very simple example why.
You want to pay, 1 ADA for some goods or services, but only you have one 100K valued UtxO (like a packet in your jeans). So, when you pay it, 1ADA goes to the merchandise and 99999ADA - ~0.17ADA fee, goes back to you. The system does not know the origin of these, so it would calculate the fee for the 100K instead of the 1ADA if value based fees would be implemented. It’s more complicated but for now for a non tech-savvy this explanation would do.
Though, smart contracts will have similar fee structured like Ethereum i.e.
fee = normal storage fee + script execution fee.
But, for tokens transfer the fee is similar, but the sender needs to pay an extra ADA (
minUtxOValue) to the token receiver atm. But, I think it will be changed in the near future.