Dapp

去中心化应用 (dapp) 是在去中心化网络上构建的应用程序,结合了智能合约和前端用户界面。

一个 dapp 的后端代码在一个去中心化 p2p网络上运行。 与此相对应的,是在中心化服务器上运行后端代码的应用程序。 后端代码的表现为 智能合约

dapp 可以用任何语言编写(就像是一个 app)。它有前端代码和用户界面,能调用其后端。 此外,它的前端可以托管在去中心化存储上,例如 IPFS

普通架构

特点

没有所有者

应用一旦发布到以太坊,就不能够删除。即使其背后维护的团队解散,也不会导致应用不可用。

抗审查

不会像很多的媒体平台一样,因为某些政治因素,而把某些关键词的文章统统删掉。

零停机时间

一旦将某 dapp 的智能合约部署到区块链上,整个网络都能为那些希望与合约互动的客户提供服务。 因此,恶意参与者无法针对单个 dapp 发起 DoS 攻击

缺陷

  • 维护 – dapp 可能更难维护,因为发布到区块链的代码和数据更难修改。 在部署后,开发人员很难对去中心化应用程序(或其存储的底层数据)进行更新,即使在旧版本中发现了漏洞或安全风险。
  • 性能开销 – 巨大的性能开销,而且难以扩展更多性能。 为了达到以太坊所追求的安全、完整、透明和可靠的水平,每个节点都会运行和存储每一笔交易。 除此之外,达成权益证明共识也需要时间。
  • 网络拥塞 – 至少在当前模型中,如果一个 dapp 使用了太多的计算资源,整个网络都会承担影响。 目前,该网络每秒只能处理约 10 笔交易;如果交易发送的速度超过这个速度,未确认的交易池会迅速膨胀。
  • 用户体验 – 设计用户友好的体验可能更难。普通终端用户可能会发现,很难以真正安全的方式设置与区块链互动所需的工具堆栈。
  • 集中化 — 无论如何,建立在以太坊基础层之上的用户友好型和开发人员友好型解决方案最终看起来都像集中式服务。 例如,这种服务可以在服务器端存储密钥或其他敏感信息,使用中心化服务器为前端服务,或在写到区块链之前在中心化服务器上运行重要的业务逻辑。 这消除了区块链与传统模式相比的许多(并不是全部)优势。

相关资源

639b36be-5b6b-4078-9e8e-3d7afbf7c85f