加密货币
去中心化应用
定义
去中心化应用(DApp)是运行在区块链或点对点网络上的软件,使用智能合约,因此没有单一方控制它。
什么是去中心化应用程序?
去中心化应用程序(通常缩写为DApp)是一个其核心逻辑和数据在去中心化网络上执行和存储的应用程序——通常是区块链——而不是在单一公司的服务器上。用户不再信任一个运营商来运行服务,而是依赖于[智能合约](internal:glossaryEntry:70dHOGscnIYmrjTPuIkeSb)(部署在链上的程序)和一组分布式节点来执行规则、记录交易并保持应用程序可用。去中心化应用程序如何工作?
大多数去中心化应用程序设计分为三层:
链上逻辑、用户界面和数据/存储服务。链上逻辑通常是一组部署到区块链(如以太坊或其他智能合约网络)的智能合约。这些合约定义了应用程序的规则——谁可以做什么、余额如何变化、交易如何结算,或者治理投票如何计算。由于合约存在于链上,任何人都可以验证代码和结果状态转换。用户界面(“前端”)看起来类似于普通的网页或移动应用程序,但它通过钱包(例如,浏览器钱包)连接到区块链。当用户点击一个操作——交换、借贷、铸造、投票——前端准备一个交易并请求钱包进行签名。在用户批准后,交易被广播到网络,包含在一个区块中,并由智能合约执行。结果是每个节点都可以独立验证的状态更新。
数据处理是去中心化应用程序架构与传统应用程序不同的地方。区块链对于大文件和高频数据来说成本高昂,因此DApp通常将重内容存储在链外,同时将
关键证明和所有权记录保留在链上。一个常见的模式是将媒体或元数据存储在去中心化存储网络中(例如内容寻址系统),并仅在智能合约中存储内容哈希或引用。这使得应用程序可验证,而不强迫区块链像完整数据库那样运作。逐步来看,典型的DApp交互如下:1.
用户连接钱包到DApp前端。2. 前端读取链上状态(余额、头寸、价格、治理提案)通过节点或RPC提供者。3. 用户发起一个操作;前端构建一个交易调用智能合约函数。4. 钱包用用户的私钥签署交易。5. 网络验证并执行交易;智能合约更新状态。6. 前端通过再次读取区块链显示新状态。类比:传统应用程序就像一个商店,店主在后办公室保留账本;去中心化应用程序就像一个在市中心的公共账本,规则公开张贴,每个居民都可以验证条目。去中心化应用程序的实践
今天许多最常用的加密产品都是去中心化应用程序的例子。在
去中心化金融
中,自动化做市商如Uniswap让用户通过智能合约而不是中心化订单簿运营商进行代币交易。借贷协议如Aave 和 Compound 使用链上池和抵押规则,使借贷无需银行决定谁符合资格。在 NFTs
中,市场如 OpenSea 和 Rarible 集成了代表所有权和独特代币转移的智能合约,而媒体文件和元数据通常存储在链外,并具有可验证的引用。在区块链游戏和数字身份中,DApps 可以让用户在不同体验之间携带资产和凭证,因为所有权是锚定在钱包上,而不是由单一平台控制的账户。去中心化应用的重要性去中心化应用之所以重要,是因为它改变了软件的信任模型。用户不再需要信任公司来保管资金、公平执行规则或保持服务在线,而是可以依赖透明的智能合约和分布式网络。这可以减少单点故障,限制单方面审查,并使任何人都能更容易地审计系统的运作方式。
DApps 还支持
可组合性
——一个协议可以像“钱乐高”一样在另一个协议上构建。一个交换 DApp 可以集成借贷协议;一个 NFT 市场可以集成版税标准;一个钱包可以通过共享的链上原语集成多个 DApps。没有去中心化应用,许多加密货币将回归到孤立的服务,用户必须信任中介,无法轻易验证或重用基础逻辑。
常见问题
去中心化应用程序(DApp)简单来说是什么?
DApp 是一种使用区块链或点对点网络来运行其核心功能的应用程序。与由一个公司控制后端不同,智能合约和分布式节点执行规则。
去中心化应用程序与传统应用程序有什么不同?
传统应用程序运行在由一个组织控制的集中服务器上。去中心化应用程序在链上运行关键逻辑,因此用户可以验证交易和规则,并且没有单一运营者可以轻易改变结果。
DApps 总是使用智能合约吗?
大多数现代 DApps 是这样做的,因为智能合约提供了使应用程序可验证和自执行的链上逻辑。一些去中心化应用程序也依赖于点对点组件,但智能合约是加密 DApps 的共同基础。
使用去中心化应用程序的主要好处和风险是什么?
好处包括透明性、减少对中介的依赖以及更强的审查抵抗力。风险包括智能合约漏洞、网络拥堵和费用,以及与 Web2 应用程序相比更复杂的用户体验。
为什么 DApps 的使用可能更慢或更昂贵?
因为交易必须由网络验证并包含在区块中,这需要时间并产生费用。当许多用户竞争区块空间时,确认时间可能会增加,费用也可能会上升。