分布式应用程序(DApp)是在分布式计算系统(即区块链网络)上运行的应用程序。尽管定义DApp的方法有多种,但通常将它们描述为具有以下特征的应用程序:
开源 – 源代码是有意向公众开放的,这意味着任何人都可以验证,使用,复制和修改代码。
去中心化 –由于DApp在区块链网络上运行,因此它们不受单个实体或机构的控制。而是由多个用户(或节点)维护它们。
加密安全 –应用程序受加密保护,这意味着所有数据都记录并维护在公共区块链中。没有单点故障。
DApp尝试解决旧应用程序中的多个问题。选择DApp而不是传统应用程序的主要好处是,后者通过将其数据存储在由单个实体控制的服务器上来使用集中式体系结构。这意味着它们只有一个故障点,容易遭受技术问题和恶意攻击。
受损的集中式服务器可能会关闭应用程序的整个网络,从而使其暂时或永久不可用。除此之外,集中式系统还经常遭受数据泄漏或盗窃的困扰,使公司和个人用户面临风险。
DApp种类繁多,具有不同的用例。它们可能包括 游戏,社交媒体平台, 加密货币钱包和金融应用程序(DeFi)。
分散化的应用程序通过令牌化系统(通过使用智能合约创建的数字令牌)来推动自己的活动 。令牌可以是特定于DApp的特定令牌(例如,Steemit上使用的Steem令牌),也可以是托管DApp的区块链的本地令牌,例如使用Ether(ETH)的CryptoKitties。
总而言之,DApp被设计为在区块链网络之上运行的开源项目。反过来,这些网络的分布式性质提供了透明性,分散性和抵抗攻击的能力。