If nobody on the network ever leaves any evidence of any transaction being linked to them, transaction fees only need to fund enough processing to avoid double-spending, and the network requires zero extra complexity to avoid de-anonymizing anyone.
Monero as a protocol exists because this is impossible, so we need a way to stop de-anonymized transactions from de-anonymizing other related transactions in a chain.
If half the transactions on the network have a database saying who they were sent from and to, this gets very very hard.