3. An education effort from
Centralized Applications
Most of the Internet applications we
use every day are centralized, they
are owned by a particular company
or person that provision and
maintain the source code to
execute on a computer, server or
maybe even a cluster.
4. An education effort from
Centralized Applications
Centralized applications are the
majority of applications that
engineers are used to building and
users are used to using.
Data resides on a centrally owned
database controlled by a company.
You ultimately have to trust that this
company is doing things correctly
and in your interest.
5. An education effort from
Decentralized Applications
Distributed means computation is
spread across multiple nodes
instead of just one. Decentralized
means no node is instructing any
other node as to what to do.
6. An education effort from
Decentralized Applications
The code runs on a peer-to-peer
network of nodes and no single
node has control over the dApp.
Depending on the functionality of
the dApp, different data structures
can be used to store the application
data. Bitcoin uses a blockchain
decentralized ledger of
transactions.
7. An education effort from
Distributed Applications
Applications in which computation
is distributed across components,
communicate and coordinate their
actions by passing messages. The
components interact with each
other in order to achieve a common
goal.
8. An education effort from
Distributed Applications
● CDN
● AWS
● Cloud Instances
● Google, Facebook, Netflix, etc
High-Availability, Geo-Localization, Caching, Proxying,
Load Balancing and similar technologies.
10. An education effort from
Decentralized Applications - DApps
A DApp's backend runs on a decentralized peer-to-peer network and no single
node has complete control over it.
Depending on the functionality of the DApp, different data structures are used to
store application data. For example, Bitcoin DApp uses the blockchain data
structure
In order to ensure the data on the network is correct, different consensus
algorithms are set between the peers. The algorithms/protocols are designed
specifically for the type of data structure the DApp uses.
11. An education effort from
Decentralized Applications - DApps
Every DApp needs a client for the user to use the DApp. For this, there must be a
node in the network that we can use to connect the client.
Nodes of a DApp usually provides an API and let the developers to build the
different clients, however there are some DApps that provides their official client.
12. An education effort from
Lesson Review
● Centralized apps have been the norm, distributed apps are cases where there
is replication and regionalization of resources but control over the code that
executes remains in the hands of a particular. Decentralized apps are those
where the execution takes place in a peer-to-peer network of nodes and no
one ever has full control.
● There are different algorithms to implement consensus and data structures to
store a distributed ledger and network protocols for peer sync.