Decentralized applications (dApps) are applications running on distributed networks such as a blockchain-like system. They are different from centralized applications that are governed and owned by a centralized party. While the centralized applications depend upon the traditional client-server model, dApps use a network of nodes or computers that have equal participation in maintaining the network authorization and changes.
Since dapps are open-source. Their code is available for everyone to modify, view, and distribute. Dapps are often stored in a publicly distributed ledger and a token system is used by these applications to reward the ones contributing to their development.
Some of the features of decentralized applications are immutability, transparency, and ownership. It is impossible to delete, edit, or update the transactions within a decentralized application, making it immutable. Transparency is achieved by these applications by making their core code visible to everyone. The transactions happening within the dApps are also publicly visible. Assets are stored on these blockchain systems as tokens, allowing users to link their private wallets to these apps, thereby helping in interaction with their assets. No third-party control or permission is required while using these dApps.