去中心化应用程序 (Decentralised Application, 简称为 DApp
) 是在去中心化网络上构建的应用程序,主要由「智能合约」和「前端用户界面」构成。
一般来说,DApp 与普通应用程序最大的区别在于其「去中心化」的特性,也就是它的服务端代码应该运行在一个非中心化的执行环境中,比如「以太坊」等区块链网络中。
我们用以太坊上的 DApp 举例,大部分应用的服务端代码都部署在以太坊网络上并且完全开源,而且 DApp 的核心数据也一并记录在链上,无需额外的中心数据库存储。只要获得以太坊网络节点的确认,用户便能申请执行任何关于 DApp 功能或者既定数据的改动。
理想情况下,DApp 的数据通过加密后存储在去中心化网络的每一个节点中——可以是一个 PC、移动终端、服务器或是矿机,这种机制保证了数据不被泄露和破坏。这些数据完全属于用户,开发者和维护者没有权限私自挪用这些数据,在理论上实现了数据所有权完全归于用户,这在移动互联网时代 (Web2) 几乎是不可能的。正因如此,很多人认为 DApp 是 Web3 的重要载体,二者理念相通。
美中不足,DApp 也有很多缺陷:
总结来看,DApp 相较普通应用的优势是数据高度安全且无法篡改,提供了足够的隐私性和数据所有权,缺点是维护性弱、运行速度慢、用户体验差,其体验的流畅度和普通应用相比有差距。
为了帮助大家更好的构建 DApp 的前端用户界面、更好的与区块链网络交互,Ant Design 团队推出了一套 Web3 前端组件库 Ant Design Web3,如果你对区块链基础知识已经有了一定的了解,可以直达 👉 开发 DApp 实战。