bitpie比特派官网|Web3 系列:去中心化应用架构

2022-11-30栏目:bitpie钱包

Web 3 是构建者和用户拥有的应用程序。这是 Internet 的某种新时代,也是 Web 2.0 的解毒剂,Web 2.0 的代表是中心化解决方案,如 Facebook (Meta)、谷歌等。在 Web 3 中,所有权和控制权应该是完全去中心化的,但是基于架构和实现,我们有多种解决方案。在本文中,我们将尝试回顾它们并找出每种方法的优缺点。

主要区别在于特定架构如何解决存储数据的解决方案以及钱包、前端、后端和智能合约的连接方式。

Pure Dapp(去中心化应用) 纯 Dapp 架构

有了这个架构,一切都是去中心化的,就像 Web 3 应该的那样。前端直接连接到智能合约。服务器(后端)不像 Web2 中的通常那样中心化,而是完全去中心化的。它在去中心化的分布式文件系统(如IPFS(星际文件系统))中存储和管理数据。几乎不可能破解它或限制对此类服务器的访问。实际上,很少有解决方案是这样架构的,因为使用 IPFS 稍微复杂一点,而且这种架构的成本也很大。另一方面,我希望在某个时候,他们中的大多数人会像这样。IPFS 的优势是我考虑的一个重要因素:

推荐阅读 1

Coinbase 继续通过新员工支持欧洲扩张

2

加密货币现象:不会再出现“牛市”,因为……

IPFS 内容使用分布式哈希表 (DHT) 存储在共享的对等网络中的多个位置。这种去中心化的协议意味着单个服务器中没有单点故障。而且没有任何实体可以审查或删除数据。不仅 IPFS 中的每个资源都分配了一个唯一的 CID,而且这些 CID 文件是不可变的,不能被任何第三方实体更改。当从一个 IPFS 节点发送到另一个 IPFS 节点时,IPFS 还使用传输加密货币来保证数据安全。IPFS 为内容创建者提供了更多的控制权。此外,创作者可以自己分发他们的作品,而不依赖于内容分发实体。

“中心化”Dapp(去中心化应用) “中心化”Dapp 架构

这是当今构建 Dapps 的常见方式。使用中心化后端而不是 IPFS,因此 Web 前端也由中心化服务器提供服务。通常,AWS、Azure 或 Google Cloud 等一些云解决方案用于托管和管理 Web 前端和后端。如果我们有一个现有的服务并且我们计划将它移植到 Web 3 解决方案而不是从头开始构建所有内容,那么这种方法非常好。智能合约只是一个去中心化的部分,仍然直接连接到前端。

后端和交易广播 后端和交易广播架构

我们还可以使用标准的中心化后端和交易广播。在这个架构中,我们有一个前端和后端,为这个前端服务。在这个架构中,用户不在前端签署交易,而是将转换发送到后端。后端确保交易正确,并将其广播到区块链网络。如果我们希望没有经验的用户可能会犯一些错误并进行不正确的交易(例如,将加密货币转移到错误的不可信钱包),则此解决方案可能会很好。这种方法降低了系统的安全性,因为如果后端受到威胁,应用程序将无法运行。理论上,在这种情况下,用户总是可以尝试自己将转换发送到区块链(例如 Etherium)网络。

带有签名的后端 具有签名架构的后端

同样,在此架构中,前端不直接使用区块链,而是创建描述更改的消息。它将签署该消息并将其发送到后端。后端将确保一切正常,并为区块链创建交易,区块链将嵌入该签名。智能合约应验证该交易是否来自后端钱包以及最终用户的签名是否正确。这种类型的架构经常被中心化交易所使用。当你想购买或出售加密货币或代币时,订单不会直接进入智能合约,但它会创建此签名以进行转换。例如,购买 20ETH/代币,当该笔交易匹配时,将其作为区块链上的最终交易进行处理。这种架构的最大优点是对于终端用户来说不需要支付交易费用。付款是在应用程序和支持的钱包上进行的,因此根据我们的业务模型,此解决方案可能很有用。同样的问题是后端服务器被破坏,攻击者可以清空 Dapp 的钱包。它将不再可用,但也无法伪造用户签名,因此它仍然是一个非常安全的解决方案。

带有中心化钱包的后端 具有中心化钱包架构的后端

在这个架构中,我们在前端没有用户的钱包。后端在区块链上运行,并在没有私钥的情况下代表用户进行交易。该系统不是去中心化的,如果遭到破坏,用户可能会丢失所有数据或金钱。这肯定不是一种无需信任的解决方案。用户入职比其他 Web 3 解决方案更容易。它以传统 (Web2) 方式在应用程序内部完成,因此用户无需拥有任何钱包或购买特定的加密货币和/或令牌即可使用该系统。

结论

大多数人花费数月时间弄清楚工具链是如何工作的,以及如何构建适合你的业务需求的应用程序。因此,如果你是新的 DApp 开发人员,我希望本文能帮助你了解不同的方法。

原文Medium