So, obviously MetaMask interacts with public, distributed ledgers in order to show my balances, however, from a technical perspective, do certain parts of the application use centralised databases? Such as storing my user preferences (current set language/locale etc)?
If so, is it possible to create a truly decentralised application which stores all things in a decentralised way, or would this simply not work as I'd have to wait for a transaction to complete each time I saved my profile? I guess UniSwap would be another good example, are ALL parts of the ecosystem run in a decentralised way, or just the swapping aspect?
I guess a DAO (not THE DAO) would be a better example, as, surely ALL parts of the ecosystem would have to be run and stored in a distributed way in order for it to be a fully autonomous.. or maybe my limited understanding in terms of DAO structures, and how data storage and transactions work on Ethereum is incorrect here.