一.dapp是什么?
DApp(Decentralized Application)非中心化应用,自P2P网络出现以来就已经存在,是一种运行在计算机P2P网络而不是单个计算机上的应用程序。DApp以一种不受任何单个实体控制的方式存在于互联网中。在区块链技术产生之前,BitTorrent,Popcorn Time,BitMessage等都是运行在P2P网络上的DApp
David Johnston(Github)等提出DApp应具备代码开源、激励机制、非中心化共识和无单点故障四个要素。
1.DApp必须是完全开源的,且能够自主运行,任何个体都能够查看应用的代码层;
2.DApp必须具备完整的激励机制,使用Token或其他公链Token(必须根据固定的算法生成),以利于对网络贡献者进行奖励,但是大部分的Token不能被少数实体所控制;
3.DApp可以根据社区提议和市场反馈调整其内部协议,但对所有更改必须通过用户的共识后才能实施;
4.DApp的数据和操作记录必须以加密的方式存储在非中心化的区块链网络中,以避免出现单点故障,数据遗失。
二.dapp=前端+智能合约(Smart Contract)
DApp与APP(中心化应用:Centralized Application)相对应。二者的不同之处就在于,DApp的数据交互由部署在区块链上的智能合约(Smart Contract)完成,具有非中心化的属性;APP的数据交互由中心化或者分布式的服务器完成。