时间:2023-07-29|浏览:189
用戶喜愛的交易所
已有账号登陆后会弹出下载
那么现在就来说说:什么是Swarm,为什么它对以太坊开发者有用?本文将介绍以太坊的基础设施和存储是如何运行的,以及后端开发的一个关键方面:数据存储如何工作。
以太坊是一个去中心化的网络,这表示以太坊协议的文件存储也遵循此原理。
Swarm是以太坊项目官方的一部分,主要是由藉金会开发,允许矿池存储、带宽和算力资源来支持基于以太坊网络的应用。团队试图创建一个不停机、零故障和防审查的点对点存储和服务解决方案。在Swarm内创建一个经济激励的系统将促进资源交换价值的支服和转移。项目使用了以太坊区块链中不同的协议和技术。
Swarm是整个去中心化生态系统的核心部分。根据以太网的说法,Swarm是一个不受审查、无需授权、去中心化的存储和通信基础设施层。
Swarm的主要目的是成为dApp代码、用户数据、区块链数据和状态数据的去中心化存储。Swarm为Web3.0提供各种基础服务,包括节点到节点的消息传递、媒体流、去中心化的数据库服务和用于去中心化服务经济的可扩展状态通道基础设施。
Swarm如何记录、存储和维护数据,以及检索器如何随时访问数据。
其原理是随机节点存储文档。节点只保留根哈希(root-hash)和后续目录哈希(subsequentdirectoryhashes)的标记。然后,呈现文档就非常简单了。实质上,请求者只是从清单条目中提取page.html。
Swarm如何呈现请求,Swarm的底层基础设施提供上述服务。Swarm运行良好,因为每个服务都可以为彼此贡献资源。这些贡献是在点对点基础上准确计算的。节点以资源交换资源,同时向消耗较少的节点提供货币补偿。
Swarm使用以太坊等现有智能合约平台实施其激励机制,下文将详细解释。但首先来看看Swarm的数据结构。Swarm去中心化存储系统主要由三个部分组成:
- Chunks:这是有限大小(最大4K)的数据块,是Swarm中存储和检索的基本单元。Chunks链接到地址。
- Reference:文件的唯一标识符,允许客户端检索和访问内容。
- Manifest:描述文件集合的数据结构。指定路径和相应的内容哈希,允许基于URL的内容检索。
上图显示了Swarm如何呈现一个请求。从本质上讲,chunk表示“page.html”或“page.css”等散列信息。每个块(chunk)包含Manifest中的一个引用(reference),告诉请求者如何检索和呈现信息。
Swarm上传分布式预映像存档(DPA)将每个blob分割成许多数据块(chunk)。DPA随机选择要存储哪些块的节点。之后,这些节点在本地存储块。这些数据块被标记并放入随机节点的容器中。
接收到数据后,节点将与同一网络或地址空间上的其他节点通信。
Swarm如何存储每条数据?
节点会根据每个块的时间戳自动同步数据。因此,不会有任何数据丢失或blob损坏。最后,每个bin(0,1,…,31)显示了相同地址空间上的节点如何存储相关的块。
由于节点存储、同步以及信息共享,任何给定的节点都可以将整个数据段发送回检索器。
必须说的是,请求者可在任意时间检索一段数据(异步模型)。
Swarm的实际存储层由两个主要组件组成:LocalStore和NetStore。内存中的快速缓存(Memstore)和持久磁盘存储(DBStore)编写LocalStore。NetStore将LocalStore扩展为Swarm的分布式存储并实现DPA。
FileStore是存储和检索文件的本地接口。当文件交给FileStore存储时,FileStore将文档分块到一个Merkle哈希树中,并将其根密钥交还给调用者。此根密钥之后可用于检索文档。
最后,FileStore使用Swarm散列,并使用NetStore为用户检索文档的根块。
从终端用户的角度来看,Swarm不会影响导航或行为。但是在后端,点对点存储网络承载内容,而不是单个服务器。由于内置的激励系统,这种点对点网络是自我维持的。只有通过使用允许交易资源进行支付的公共区块链,才有可能激励。
Swarm还深度集成了以太坊的DevP2P多协议网络层。DevP2P是一组网络协议,本质上构成了以太坊点对点网络。
除此之外,Swarm还链接到以太坊区块链,用于域名解析(ENS)、服务支付和内容可用性保险。
Swarmvs