A decentralized application (dApp) is a program where there is no single authority that maintains the state and processes transactions.
An application stores some information, or state. You can interact with the application by performing a transaction. Transactions change the state of the application or cause a state transition. Applications also allow users to retrieve information about the state (query it) without modifying it. Let’s look at Aave through the lens of decentralized applications.
Aave is a decentralized lending application built atop a blockchain. The state of the application is a record of who has how many AVAX. The state is stored on Avalanche’s blockchain. In this case, the entries in the blockchain ledger are something like “Alice lends Bob 1 AVAX” or “Jasmine pays Tosha 2 AVAX.” Each transaction causes a state transition by adding a new entry to the ledger. Avalanche is decentralized because many independent validators maintain the blockchain, which holds its state, and process transactions.