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

news2024/11/13 9:18:57

图片

来源: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 不仅仅是一个趋势,更是未来在线互动的方向。这一变革性技术的影响将在未来许多年内显现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2064255.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ArcGIS Pro基础:设置2个窗口同步联动界面

如上所示,通过1步骤,新建了2个地图窗口,得到2和3所表示的【地图1】、【地图2】,一个是影像图,另一个是地形图, 假如有个需求,是将2个窗口联动起来:在观察影像的同时,也同…

dockdaemon远程管理

1.启动和查看服务 2.查看版本 管理步骤 1.关闭docker守护进程 2.修改dock daemon的进程⽂件 发现docker 虽然关闭了,依然有sock⽂件 创建时间也⾮常早 进⼊配置⽂件 删除相关sock的⽂件 再次启动,发现有提示 3.加载配置⽂件、 4.重新开启docker守护进程、…

计算机毕业设计选题推荐-付费自习室管理系统-Java/Python项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

【论文分享】Heterogeneous Isolated Execution for Commodity GPUs 2019‘ASPLOS

Heterogeneous Isolated Execution for Commodity GPUs 2019’ASPLOS 目录 AbstractIntroductionContributions BackgroundIntel Software Guard Extensions (SGX)PCI Express Architecture Threat ModelAttacker Model and AssumptionsOut of Scope HIX ArchitectureArchite…

初识C++以及安装C++学习工具

C的发展史 C是由Bjarne Stroustrup在20世纪80年代初期于贝尔实验室开发的一种编程语言。它的设计初衷是作为C语言的一个超集,通过添加面向对象编程的特性来增强C语言。C支持多种编程范式,包括过程化编程、面向对象编程和泛型编程。 C的历史可以追溯到1…

鹏哥C语言自定义笔记重点(29-)

29.函数指针数组 30.void指针是不能直接解引用,也不能-整数。 void*是无具体类型的指针,可以接受任何类型的地址。 31.qsort:使用快速排序的思想实现一个排序函数(升序) 32. 33.地址的字节是4/8 34.char arr[]{a,b} sizeof(arr[0]1)答案是4&#xff0…

万象公文常见问题的处理方法

在万象公文试用阶段,我们收集并汇总了用户反馈的一系列问题。现在我们针对这些问题进行一一解答,希望可以帮助大家提升万象公文的使用体验。 1、信创版插件在WPS中不显示或显示不全 安装前,如果WPS未彻底关闭,插件不会触发加载&a…

在家办公如何远程公司电脑

随着远程办公和居家办公的普及,如何高效、安全地远程控制办公室电脑成为许多职场人士的需求。Splashtop作为一款专业的远程控制软件,提供了强大的功能,使用户能够随时随地访问和操作办公室的电脑,实现高效的远程办公体验。 Splas…

【python】灰色预测 GM(1,1) 模型

文章目录 前言python代码 前言 用 python 复刻上一篇博客的 Matlab 代码。 【学习笔记】灰色预测 GM(1,1) 模型 —— Matlab python代码 # %% import numpy as np import statsmodels.api as sm import matplotlib.pyplot as plt from matplotlib.pylab import mplmpl.rcPa…

吐血整理 ChatGPT 3.5/4.0 新手使用手册~

都知道ChatGPT很强大,聊聊天、写论文、搞翻译、写代码、写文案、审合同等等,无所不能~ 那么到底怎么使用呢?其实很简单了,国内AI产品发展也很快,很多都很好用了~ 我一直在用,建议收藏下来~ 有最先进、最…

张雪峰:如果你现在是计算机专业,一定要优先报网络安全,它是未来国家发展的大方向

前言 “计算机专业 一定要优先报 网络安全 它是未来国家发展的大方向” 为什么推荐学网络安全? “没有网络安全就没有国家安全。”当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。 01 高需求和就…

mq: 找不到或无法加载主类 Files\Java\jdk1.8.0_102\jre\lib\ext

错误:mq: 找不到或无法加载主类 Files\Java\jdk1.8.0_102\jre\lib\ext 原因:JAVA_HOME的环境变量包含空格 JAVA_HOMEC:\Program Files\Java\jdk1.8.0_131 解决方法:修改runserver.cmd和runbroker.cmd文件

html+css+js网页制作 电商小米商城6个页面 ui还原度百分之99

htmlcssjs网页制作 电商小米商城6个页面 ui还原度百分之99 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 …

动态规划篇-代码随想录算法训练营第三十七天| 打家劫舍Ⅰ,打家劫舍Ⅱ,打家劫舍Ⅲ

打家劫舍Ⅰ 题目链接:. - 力扣(LeetCode) 讲解视频: 动态规划,偷不偷这个房间呢?| LeetCode:198.打家劫舍 题目描述: 你是一个专业的小偷,计划偷窃沿街的房屋。每间…

记录一次CPU过高引起的服务不可用事件

目录 一.前言 二.程序日志定位 三.Mysql事务定位 四.程序代码定位 五.微服务注册异常定位 六.异常进程定位 6.1.进程的线程信息分析 6.2.进程的堆内存分析 七.总结 一.前言 系统收到客户大面积反馈,登系统反应慢,打不开,登录不上等问题,随即展开排查。 二.程序日志定…

基于SpringBoot的宽带业务管理系统的设计与实现pf

TOC springboot513基于SpringBoot的宽带业务管理系统的设计与实现pf 第1章 绪论 1.1 课题背景 二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往…

20240823 每日AI必读资讯

脑后插管打CS拼抢三杀!马斯克脑机接口最新进展,意念玩《黑神话》指日可待? - 马斯克旗下脑机接口公司 Neuralink 取得新突破 - 脑机接口试验第二人Alex 成功用意念打CS2、画CAD! - 为了缓解植入物稳定问题,Neuralin…

寻址范围计算题

例题 这里32位代表32个bit,1字节8bit,32位有4字节 2GB2*1024*1024*1024个字节 可寻址范围公式内存/字长2*1024*1024*1024/4/1024512

python模块 - os系统交互模块

目录 前言: ​编辑 一、os.path模块 1、获取文件路径信息 os.path.abspath(): 获取绝对路径 os.path.dirname(): 获取目录名 os.path.basename(): 获取文件名 os.path.split(): 分割目录和文件名 os.path.join(): 拼接路径 2、判断路径信息 os.path.exists(): 判断路径…

记Windows文件右键扩展二级子菜单

参考 注册表添加桌面右键二级菜单_注册表右键二级菜单怎么设置-CSDN博客 Windows 右键菜单自定义配置_windows右键菜单内容修改-CSDN博客 注意事项 如需配置二级菜单,新增的项中,默认的键值一定需要为空(要显示未设置),否则无法展示出二级…