Lack of transparency and clarity regarding transaction fees

to my understanding:

I think it is already centralized. For example, Bitcoin solves double-spending (ordering transactions or transaction processing) and coin distribution (who owns how much) problems in a decentralized manner. In Algorand, coin distribution is controlled by a trusted entity so it is centralized. On the other hand, in Algorand, transaction processing is done in a decentralized manner.

This is easy to say but hard to achieve. First of all, how we will know which nodes are relay. Assume that we know relay nodes then how we will know that a relay node is really contributing to the protocol (basically relaying protocol messages). Another problem, how we will distribute the reward in a fair manner? Assume that a relay has 1x resources dedicated to the job and assume that there is another relay which has 10x resources dedicated to the job. We can say those relay nodes can advertise the amount of dedicated resources but can we trust this? In my opinion, this is not an easy thing to achieve.

In my opinion,

Currently, Algorand does not have any incentive for relay nodes (in the algorithm). If they need more relay they can deploy it.

Currently, transaction fees protect the system from spam. A malicious entity can not issue transactions to spam the system without paying the required money.

If the number of waiting transactions increases in the memory pool, nodes are requiring a higher tx fee per byte by design. The default maximum tx pool size(pool.txPoolMaxSize) is 15000. Nodes reject new transactions if the maximum pool size is reached without considering paid fees in a transaction.

In my opinion, the Transaction fee can not go higher because nodes are not selecting transactions with a higher transaction fee because they do not have any incentive to do so.