全面解析去中心化应用,深入了解 DApps 构建与发展,掌握区块链核心知识!

本文主要是介绍全面解析去中心化应用,深入了解 DApps 构建与发展,掌握区块链核心知识!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图片

来源:https://cointelegraph.com/learn/what-are-dapps-everything-there-is-to-know-about-decentralized-applications

编译:TinTinLand 社区

 关键要点

➤ 去中心化应用程序(DApps)类似于人们每天使用的应用程序,但运行在区块链网络上,而不是单一服务器上。

➤ DApps 在隐私、抗审查和去中心化控制等方面,相较于传统应用程序具有额外的优势。

➤ DApps 旨在为区块链领域的特定目的而设计,如去中心化金融(DeFi)、游戏和市场等。

➤ 创建 DApp 需要确定其用途、开发智能合约、构建应用程序、确保数据安全并防范网络攻击。

➤ 去中心化应用程序(DApps)是将区块链技术融入人们日常生活的门户。就像日常使用 Uber 访问出租车网络或使用 Spotify 访问音乐一样,DApps 为人们提供了进入基于区块链的程序的途径。

区块链是一种能够消除中介、提高透明度并赋予用户更多信息和资产控制权的技术。DApps 让用户在应用层面上实现这种去中心化控制 —— 该技术的前端。

DApps 可以与自动售货机进行类比。机器根据设定的规则运作,无需人工干预。用户可以直接从自动售货机获得所需的物品,且没有人能够阻止、更改订单或追踪他们的订单。类似地,DApps 根据区块链设定的规则,通过智能合约自动、安全地运行,而不受单一实体的控制。

本文将解释什么是 DApps;DApps 的类型;中心化与去中心化应用程序的区别;DApps 的优缺点;如何构建 DApp;DApp 开发的成本;DApps 在监管环境中的演变以及与 DApps 相关的各种骗局。

 什么是 DApps?

图片

“DApp” 一词指的是基于区块链或点对点(P2P)计算机网络构建的在线程序 / 软件,这是 DApps 可以高效替代中心化应用的另一个领域。

在 DApps 的背景下,P2P 网络意味着这些应用程序直接在用户之间运作,无需服务器等中介。可以将其比作与朋友直接共享文件,而不是通过大型文件共享服务 —— 其更快、更私密,且每个参与者都有更多的控制权。

DApps 由用户社区控制,而不是由单一公司或个人控制。这使得对其进行审查、收集敏感信息或进行欺诈变得更加困难。

任何具有前端基础设施,并在后台由区块链运行的项目都可以被称为 DApp。

像 Airbnb 或 Facebook 这样的中心化应用由公司拥有,该公司控制其运营。无论用户数量多少,公司都对其运营拥有唯一的决定权,并可以随时更改规则。

但 DApps 运行在称为节点的计算机网络上。这些节点使用一种称为智能合约的特殊代码投票决定应用程序的运行方式。如果大多数节点同意更改,将自动发生。

两个常见的 DApps 例子是 Uniswap(可以在上面交易 Token)和 OpenSea(可以购买和出售被称为非同质化Token —— NFT 的数字艺术品)。

由于 DApps 运行在去中心化网络上,基本上可以免受审查,因为没有单一实体可以对其进行关闭。

中心化应用和去中心化应用有何不同?

可以将中心化或传统应用视为老式的固定电话:可靠但功能有限。而 DApps 更像智能手机;提供了更高的安全性和更多的功能,但仍然可以打电话。

随着区块链技术的普及及其应用的深入探索,显然 DApps 不仅仅是一时的潮流。而是将区块链技术融入日常生活的门户,并提供了人们正在寻找的许多优势。

DApps 正在演变为重要工具,提供安全透明的中心化应用替代方案,后者近年来存在一些问题(如 Facebook 和 Cambridge Analytica 丑闻)。

类似于智能手机改变了大众与数字程序和应用互动的方式,DApps 有潜力彻底改变整个行业,使流程更加透明和诚信。

以下表格总结了中心化应用和去中心化应用的不同之处:

图片

DApps 的优缺点

与任何新技术一样,DApps 也有其自身的优势和缺点。以下是 DApps 的优缺点:

🔮 DApps 的优势

  • 去中心化:由于 DApps 不受单一个人或实体控制,因此更难被关闭或审查。

  • 自动运行:称为智能合约的特殊代码使 DApps 能够自动运行,无需人工管理。

  • 透明度:开源代码和公开的交易记录增强了用户的信心。

  • 安全性:网络的分布式特性使其难以被黑客攻击。

  • 抗审查性:当局难以阻止或控制 DApps。

  • 社区驱动:DApps 由社区开发和治理,鼓励创新。

  • 激励机制:使用 DApps 时,用户可能会获得可兑现的 Token。

🔌 DApps 的缺点

  • 开发复杂性:构建 DApps 很棘手,因其需要在共识机制和智能合约方面具备专业知识。

  • 学习曲线陡峭:DApps 对用户来说可能难以理解和使用,可能阻碍其推广。

  • 可扩展性:DApps 可能在处理高交易量时遇到困难。

  • 用户界面:DApps 的界面通常不如传统应用程序用户友好。

  • 监管问题:DApps 的法律地位仍在演变中,存在不确定性。

  • 维护:由于去中心化特性,使得更新 DApps 变得有些困难。

二层解决方案(Layer-2)托管自己的 DApps,这些应用程序受益于更低的费用和更快的交易速度。

 如何构建 DApps?

图片

基于 DApps 的基本知识,接下来学习如何构建一个 DApp。创建 DApp 并不像想象中那么困难;甚至有一些 DApps 的构建比传统应用程序更容易。

以下是构建 DApp 的步骤:

➤ 第一步:定义应用程序的目的和使命

在开始应用程序开发之前,重要的是要定义一个明确的使命:确定想要解决的问题,并确定目标受众。必须清楚地了解受众的需求以及产品如何提供解决方案。

➤ 第二步:设计智能合约

智能合约是 DApps 的基础。需要预先规划合约的逻辑,因为去中心化系统对错误没有宽容。在编写智能合约代码时,开发人员应避免不必要的代码,减少故障点,并尽量降低交易成本。

➤ 第三步:创建框架

创建应用程序的前端和后端,构建一个开源的、去中心化的应用程序会更加复杂。需要在一开始就构建一个可运行的原型,然后在每次迭代中添加功能。

创建定义应用程序外观的用户界面 (UI) 框架。利用用户测试来修复任何错误和故障。根据初步反馈,采用敏捷 DevOps 方法调整 UI,这是一种强调协作、灵活性和持续改进的软件开发和交付方法。增量开发将持续进行,直到应用程序准备好进行基本使用。

➤ 第四步:优先考虑数据备份

数据备份对于 DApps 至关重要。去中心化的备份提供了多重安全保障,因此要分散存储点。加密备份以保护数据免受未经授权的访问。使用适当的解决方案(如 Arweave 用于 DApp 数据)定期备份数据。测试恢复过程以确保其有效运行。

➤ 第五步:采用安全措施

在 DApp 开发的最后阶段,数据安全和用户体验 (UX) 是关键。实施安全的登录方法,例如 “OAuth”,这允许用户在不透露密码的情况下授权应用程序访问信息,可以使用 Descope 等平台来实现。

此外,还可以考虑使用 “SAML”,这是一种在不同实体之间交换身份验证数据的开放标准,以增强安全性和用户信任。

区块链三难困境突显了构建 DApp 的固有挑战。要同时平衡去中心化、安全性和可扩展性是非常困难的。通常,提高一个方面可能会牺牲另一个方面。

 DApp 开发的成本是多少?

开发一个 DApp 通常比创建一个中心化应用程序成本更高。影响 DApp 开发成本的因素包括 DApp 的复杂性、所使用的技术栈、开发团队的位置以及其用户界面(UI)和用户体验(UX)的设计。

根据 Appinventive 的数据,构建一个 DApp 的平均成本在 25,000 美元到 200,000 美元之间,具体取决于所涉及的复杂程度。

根据 Glassdoor 的数据显示,截止到 2024 年 6 月,美国区块链开发人员的平均年薪约为 111,000 美元。相反,柏林地区区块链开发人员的预计年薪总额约为 77,000 欧元。

图片

DApps 的类型

可以把 DApps 想象成烹饪书中的食谱 —— 不仅在配料上有所不同,还在如何组合(共识过程)以制作出预期的菜肴方面有所不同。

在区分 DApps 时,会考虑其共识过程 —— 即如何达成最终结果,以及最终结果是什么样的。

基于共识机制的分类

在区块链中,共识机制通过验证交易并标记其真实性来确保信任。基本上,区块链是值得信赖的,因为所有节点都同意每个通过区块链运行的交易 —— 即已经达成共识。但其达成共识的方式可能不同,因此可以将 DApps 分为三种类型:

➣ 基础型 DApps 

基础型 DApps 是拥有自己区块链的项目,如 BTC 和 ETH。这些区块链充当基于协议的 DApps 的托管平台。

可以把 BTC 看作运行在自己区块链网络上的 DApp。允许人们无需银行或其他中介直接进行 Token 交易。所以,当听到 BTC 时,实际上是在听到其中一个最著名的 DApp。

➣ 基于协议的 DApps 

基于协议的 DApps 构建在基础型 DApps 之上。使用独特的 Token 来运行应用程序。这里的 “协议” 是指定义 DApp 如何在区块链网络上工作、处理用户交互、交易和协议的规则。

PancakeSwap 是一个运行在 BNB 智能链上的去中心化交易所(DEX),是基于协议的 DApp 的一个例子。这个去中心化交易所利用区块链技术促进点对点 Token 交易。

➣ 用户界面型 DApps 

用户界面型 DApps 构建在基于协议的 DApps 之上。通常是面向用户的应用程序,提供针对不同用户需求的解决方案。OpenSea 是一个 NFT 大型商店的例子,提供各种类型的 NFT,包括数字艺术品、收藏品、虚拟世界、体育等。

这个市场具有跨链兼容性,支持在以太坊、Polygon、Solana 和 Klaytn 等区块链上的交易。

基于预期用途的 DApps 分类

根据用途,DApps 可以分为多个类别,但不限于以下几种:

💵 去中心化金融(DeFi)

  • 借贷平台:用户可以通过 Aave 和 Compound 等平台借出 Token 持有资产以赚取利息,或借入资产。

  • 去中心化交易所(DEXs):用户可以在 Uniswap 或 SushiSwap 等平台上交易 Token,无需中央权威机构。

  • 稳定币:创建稳定币的 DApps,如 MakerDAO 发行的 DAI。

  • 收益农业和质押:用户可以在 Yearn.finance 等平台上通过提供流动性或质押资产来获得奖励。

🎮 游戏

  • 基于区块链的游戏:例如 Decentraland 和 The Sandbox 提供虚拟世界,玩家可以在数字土地上购买、交易和建造。

  • 收藏类游戏:在 CryptoKitties 和 Axie Infinity 等游戏中,玩家可以收集、繁殖和交易独特的数字资产(以 NFT 形式)。

🕹 市场

  • NFT 市场:像 OpenSea 这样的平台促进 NFT 的购买、交换和销售,NFT 代表独特数字物品(如虚拟商品、收藏品和艺术品)的所有权。

  • 去中心化市场:DApps 如 Origin Protocol 提供平台,用于创建和运营去中心化市场,用户可以直接买卖商品和服务,而无需通过中介。

☎️ 社交媒体与内容创作

  • 内容平台:如 Steemit 这样的 DApps 为内容创作者提供更多灵活性和收入可能性,允许分享作品并根据用户互动获得 Token 奖励。

  • 社交网络:去中心化社交网络优先考虑内容所有权和用户隐私,给予用户更多的个人信息控制权,并降低审查的可能性。

🛠 治理

  • 去中心化自治组织 (DAOs):促进建立和管理 DAOs 的平台,在其中利益相关者共同决策,确保更公开和民主的治理程序。

🛡 身份与隐私

  • 身份验证:提供去中心化身份解决方案的 DApps,让用户能够安全管理个人数据并无需依赖中央权威进行身份验证。

  • 隐私工具:注重隐私的 DApps 允许用户在区块链上匿名交易,保护其财务隐私和个人数据。

🧲 供应链

  • 可追溯性:像 VeChain 这样的平台为追踪和验证各种产品的来源及其他供应链过程提供解决方案,确保透明性和真实性。

去中心化金融 (DeFi) 是 DApps 的主导类别,协议提供借贷、交易等金融服务。

关于 DApps 的监管演变

图片

DApps 是分布在互联网上的去中心化应用程序,没有特定的归属地,这给监管机构带来了挑战,因为其通常是监管集中化的实体。

像 Facebook 这样的公司及其应用程序在美国参议院听证会上遇到过麻烦,因立法者追究软件控制实体的责任。然而,对于 DApps 来说,这种情况要复杂得多,因为没有公司实体可以立法对付。然而,一个涉及名为 Tornado Cash(一个 DApp)的加密混币器的争议案件引起了新闻关注,其开发者之一因其为不法分子提供了便利而被捕。

2022 年,荷兰警方逮捕了 Tornado Cash 的开发者 Alexey Pertsev。其被指控参与洗钱,因为 Tornado Cash 据称被用于洗钱超过 10 亿美元。这一案件显示了政府对加密世界中隐私工具的日益关注,以及创建这些工具的人可能面临的法律麻烦。

在责任方面,DApps 是一个灰色地带。监管框架正在逐渐演变,以适应 DApps 的独特特性。

例如,欧盟的《通用数据保护条例》(GDPR)要求所有 DApp 提供商遵守该规定,无论其基地在哪里。此外,遵守反洗钱(AML)法律已成为保障与 DApps 互动的投资者的关键。

即使是非金融类的 DApps 也必须遵守消费者隐私和数据保护法律。因此,围绕 DApps 的监管正在不断发展,越来越关注用户保护和确保合规性。

DApps 相关的骗局

图片

尽管 DApps 受益于去中心化,避免了单点故障和决策偏见等问题,但与 DApps 相关的骗局仍然令人担忧。

一种常见的骗局是网络钓鱼攻击,不法分子通过欺骗用户披露其私钥或助记词来获取他们的资金和资产。

骗子甚至利用巧妙的 AI 技术创建看似真实的信息,欺骗人们泄露其秘密代码或进行风险交易。

另一种常见的 DApp 骗局是 Rug Pull,骗子在通过 Token 销售或首次 Token 发行(ICO)筹集资金后放弃项目,导致投资者持有毫无价值的 Token。

此外,还有庞氏骗局,承诺高回报,但最终依赖新投资来支付早期参与者。

骗子还利用 DApp 代码中的漏洞窃取用户钱包中的数字资金或更改用户持有的 Token 数量。此外,一些 DApps 会传播恶意软件,窃取用户的私人数据。

为了防止骗局,用户必须及时更新最新的安全补丁,并在打开邮件时保持警惕。应该始终确认 DApp 的真实性后再使用,谨慎对待意外的优惠,并且绝不泄露诸如密码之类的私人信息。最后,应利用 DApps 的内置安全功能,增加一层额外的安全性。

关于 DApp 骗局的快速事实

✦ 2023 年,因加密骗局造成的损失高达 19 亿美元。

✦ 此类事件的发生频率上升了 17.3%。

✦ 同年,涉及 DApps 的加密网络钓鱼骗局导致 32 万用户损失了近 3 亿美元。

✦ 钱包窃取者仅通过这一手段就从约 34.2 万受害者手中盗取了 2.95 亿美元。

DApps 的未来

随着技术进步,DApps 将克服当前的挑战,变得更快、更易访问和更用户友好。这些改进将彻底改变行业,促进在线透明度和开放性。

随着 DApps 的发展及其问题的解决,其对数字世界和社会的积极影响将是巨大的。不断扩展的 DApp 驱动的数字经济表明,DApps 不仅仅是一个趋势,更是未来在线互动的方向。这一变革性技术的影响将在未来许多年内显现。

这篇关于全面解析去中心化应用,深入了解 DApps 构建与发展,掌握区块链核心知识!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097719

相关文章

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI