Where is decentralized application
In a system with many nodes, each node has a high degree of autonomy. Nodes can connect freely to each other to form a new connection unit. Any node may become the stage center, but it does not have the mandatory central control function. The influence between nodes will form nonlinear causality through the network. This open, flat and equal system phenomenon or structure is called decentralization
with the deepening of the interaction between subject and object, the continuous balance of cognitive function and the continuous improvement of cognitive structure, indivials can be released from the egocentric state, which is called decentralization

"decentralization" is translated from the English word decentralization, which is composed of the prefix de -, stem central and suffix ization. Among them, the stem central means "center", the suffix - ization means "... Hua", and the prefix de - has the meanings of leaving, removing, canceling and opposite. Therefore, it is very accurate to translate it into decentralization
what is the meaning of decentralization
vitalik buterin, founder of Ethereum, published the article "the meaning of decentralization" in February 2017, elaborating the meaning of decentralization. He thinks that we should distinguish the centralization and decentralization of computer software from three perspectives: architecture, governance and logic
Architecture centralization refers to the number of nodes that the system can tolerate and continue to run; Governance centralization refers to how many indivials and organizations are needed to control the system; Logic centralization refers to whether the interface and data presented by the system are like a single whole
blockchain is a unified account book of the whole network, so it is logically centralized, which is beyond doubt. From the perspective of architecture, blockchain is based on peer-to-peer network, so it is decentralized. From the perspective of governance, blockchain makes it difficult for a few people to control the whole system through consensus algorithm, so it is decentralized. The decentralization of architecture and governance brings three benefits to blockchain: fault tolerance, anti attack and anti collusion
five differences between blockchain and traditional distributed system
as a new kind of distributed system, blockchain is often mistakenly regarded as a distributed database or log system. In fact, there is a fundamental difference between blockchain and traditional distributed system, namely decentralization. Now let's look at the main differences between blockchain and traditional distributed systems:
(1) consistency algorithm: what blockchain needs to solve is the Byzantine general problem, that is, there are one or more fraulent nodes in the network, which may deliberately violate the protocol or transmit wrong data, Therefore, Byzantine fault-tolerant consensus algorithms, such as BFT, pow, POS, are often used in blockchain; The traditional distributed system only needs to consider the node failure and communication errors, and often uses consistency algorithms such as Paxos and raft, which can not resist the fraulent nodes
(2) central controller: there is no central controller in the blockchain network, and no node can control or coordinate the generation of ledger data. All nodes coordinate through consensus algorithm to generate consistent ledger. However, the traditional publishing system is often controlled by one organization, which uniformly dispatches all nodes to participate in the calculation
(3) rule making: the rule of blockchain is consensus protocol, also known as consensus mechanism, and consensus algorithm is a part of it. Consensus mechanism is generally designed and developed by a person or a team, and the corresponding proceres are developed for the community to use. This seems to be the same as the traditional distributed system, but the change and upgrading of the consensus mechanism of the blockchain requires the community to have a consensus on it. If no consensus can be reached, anyone can implement hard bifurcation and build another community and chain. This is the decentralization process of consensus mechanism.
DAPP is the abbreviation of Chinese distributed app for decentralized application
a DAPP has background code running in a distributed peer-to-peer network. The background code of traditional app is running on the centralized server
the front-end code of a DAPP can be developed by any language, just like the traditional app. In addition, DAPP's front-end code can be hosted in distributed storage services, such as swarm or IPFs
If an application = front end + back end, because Ethereum contract is composed of code running in Ethereum distributed point-to-point network, distributed application = front end + contract
the picture shows a DAPP architecture:
app we all know that it is a client application, which is the abbreviation of application. DAPP is d + app, and D is the first letter of English word decentralization. Chinese word translation is decentralization, that is DAPP is decentralized application. This is to understand the concept literally. To form a clear, accurate and necessary concept in the brain, we need to understand DAPP in depth
compared with app, the biggest difference between them is centralization and decentralization. App needs money first, so it needs financing first; Then there will be more people, so we will develop and operate after recruiting all the people. DAPP is the proct of inheriting traditional app and combining the characteristics of blockchain, which is more like crowdfunding mode, sharing mode and decentralization mode
