天天看点

大羽超算 | 一文了解Swarm技术架构

针对于懂技术的朋友,想了解的不仅仅局限于一些基本信息,还希望了解Swarm在技术上具体是怎么运行的。大羽超算根据Swarm的底层逻辑,向大家做一次技术架构的分享,全面了解Swarm的技术优势。

Swarm项目最开始是以太坊官方的一部分,启动于2015年。是以太坊Web 3.0 组件的三大支柱之一,由以太坊基金会领投和开发。是一个不受审查、不受许可、分散的存储和通信基础设施。主要提供dApp代码、用户数据、区块链数据和状态数据的去中心化存储服务。

大羽超算实验室团队成员,早在2020年10月份就开始关注到Swarm项目,并对其进行深入的研究及评估,目前对Swarm整体技术结构已经有非常深入的了解。

STEP 1

 Swarm如何存储每条数据 

在了解Swarm的技术结构之前,我们先搞清楚一个请求是如何在Swarm中呈现的?

Swarm通过底层基础设施,允许每个节点之间相互贡献和交换资源来进行上述服务。贡献的资源,会在系统里通过点对点技术被计算出来,并向消耗少于服务的节点提供货币补偿。

Swarm去中心化存储系统主要由三个部分组成:

  • 块:是内存有限的数据块(最大4K),在Swarm中充当存储和检索的基本单元。​
  • 引用:是文件的唯一标识符,允许客户端检索和访问内容。
  • Manifest:是描述文件集合的数据结构。它指定路径和相应的内容散列,允许基于url的内容检索。
大羽超算 | 一文了解Swarm技术架构

上图显示了一个请求是如何通过Swarm呈现的。块由page.html或page.css这样的散列信息表示,每个块包含Manifest中的一个引用,告诉请求者如何检索和呈现信息。

接下来给大家说说上传过程是如何进行的,以及信息如何进行分布式存储。

大羽超算 | 一文了解Swarm技术架构

如上图所示,Swarm节点在收到一个blob后,会将blob分割成较小且相等的数据块,然后将数据块分布到不同节点中,这些节点会根据每个数据块的时间戳自动同步数据,DPA将选择哪些节点存储哪些块。

最后,每个bin(0,1,…,31)都会显示相同地址上的节点如何存储相关的块。

STEP 2

 Swarm存储层是如何组成的 

Swarm的实际存储层由两个主要组件组成,分别是LocalStore和NetStore。

LocalStore:由内存中快速缓存(Memstore)和持久磁盘存储(DBStore)组成。

NetStore:将LocalStore扩展为Swarm的分布式存储,并实现了DPA。

FileStore是存储和检索文件的本地接口。当文件被交给FileStore进行存储时,它将文档分割成一个Merkle散列树,然后和密钥一起返回给调用者。

最后,FileStore使用Swarm散列,并使用NetStore为用户检索文档的根块。 

大羽超算 | 一文了解Swarm技术架构

从终端用户的角度来看,Swarm不会影响导航或行为。

在后台,不同之处在于内容托管在对等存储网络上,而不是单独的服务器上。

由于内置激励机制,这种点对点网络能够自我维持。只有使用公共区块链,允许交易资源支付,激励才有可能。

Swarm旨在与以太坊的DevP2P多协议网络层以及以太坊区块链进行深度集成,用于域名解析(ENS)、服务支付和内容可用性保险。

STEP 3

 Swarm、IPFS、Filecoin关键区别

Swarm的核心存储组件不是一个通用DHT (IPFS使用DHT)。而是一个不可变的内容地址。

Swarm、Filecoin和IPFS它们使用不同的网络通信层和对等管理协议。

Swarm与以太坊区块链深度集成,激励系统既受益于智能合约,也受益于半稳定的对等池。Filecoin使用可检索性证明作为挖掘的一部分,而IPFS没有内在的激励机制。

总之,对比于市场上之前的明星项目,Swarm拥有雄厚的背景。Swarm基于以太坊团队进行开发,在区块链行业前景上拥有很大的优势,并且其技术方向有很大的潜力。

大羽超算早在2020年10月份就开始关注Swarm项目,很早就进行了Swarm的节点部署。拥有丰富的经验,以及专业的技术团队, 与Swarm共同成长,共同助力Web3.0时代。

继续阅读