Archivers ——Solana应对区块链数据存储达PB级别的解决方案

本文详细介绍了Solana区块链如何通过Archivers技术解决海量数据存储问题,并深入探讨了Proof of Replication的实现和优化。

了解一下使 Solana 成为全球性能最强的区块链技术的 8 项创新之一。

Solana 是全球性能最强的无 permission 区块链。在当前版本的 Solana 测试网中,一个由 200 个物理独立节点构成的网络在运行 GPU 时能够持续支持超过 50,000 笔交易每秒。要实现这一点需要实施多项优化和新技术,结果是网络容量的突破,标志着区块链发展的一个新阶段。

有 8 项关键创新使 Solana 网络成为可能:

在这篇博文中,我们将探讨 归档者,Solana 的分布式分类账存储,针对数千 TB 的区块链数据存储。我们在 2017 年由 Filecoin 引入了复制证明 (Proof of Replication)。在 2018 年,我们用 VDF 为 Solana 构建了我们版本的 PoRep,并为批量验证进行了优化。

在满负荷运行时,Solana 网络每年将生成 1GB/s * 365天 = 4 TB 的数据。如果网络中的每个节点都需要存储所有这些数据,将限制网络成员资格,仅有少数中央节点能够维持那种存储容量。我们的 历史证明 技术可用于缓解这个问题,通过允许快速验证的复制证明实现,使得分类账可以通过全球数百万个复制节点像 BitTorrent 一样进行分发。归档者不是共识参与者,硬件要求非常低。

从高层来看,Solana 复制网络的功能如下:归档者必须向网络信号提供 X 字节存储空间的可用性。网络会定期将分类账历史记录分成片段,以实现某种复制速率(目前我们预期目标速率约为 100 倍)和容错(通过纠删码实现),这基于复制身份的数量和归档者的总可用存储。一旦分配了归档者:数据, 每个归档者从共识验证者处下载其对应的数据。在某些频率上,归档者将被挑战,以证明他们正在存储数据,此时,他们必须完成一个复制证明 (PoRep)。归档者的努力将获得约 3% 的通货膨胀奖励。

复制证明的更深入探讨

复制证明的基本想法是使用 CBC 加密,通过公用对称密钥对数据集进行加密,然后对加密的数据集进行哈希处理。这种方法在 Filecoin 的复制证明技术报告 中有详细阐述。不幸的是,这种方法存在被攻击的风险。

例如,一个不诚实的存储节点可以流式传输加密并在哈希处理时将其删除。简单的解决方案是强制哈希在加密反向进行,或许按随机顺序进行。这确保在生成证明时所有数据都存在,并且还要求验证者在验证每个身份的每个证明时必须拥有全部加密数据。验证所需的空间变成 (CBC 密钥数) * (数据大小)。

我们通过以比加密速度快的速度随机对加密块进行采样,并将这些样本的哈希记录到 PoH 分类账中,来改善这种方法。因此,所有 PoRep 的块在生成证明时保持相同顺序,验证可以流式传输数据并在一个批次内验证所有证明。通过这种方式,我们可以并行验证多个证明,每个证明确保给定的 CUDA 核心。

在当前的图形卡世代中,Solana 网络每个 GPU 卡可以支持多达 1500 个复制身份或对称密钥。验证所需的总空间为 (2 个 CBC 块) * (CBC 密钥数),核数等于 (CBC 密钥数)。预计一个 CBC 块的大小为 1MB。

接下来,我们需要构建一个在验证者和归档者之间的游戏,以确保归档者生成证明,并且验证者实际正在验证 PoRep。

要开始生成分类账的 PoRep,复制客户执行以下操作:

  1. 客户在定期的周期内签名一个 PoH 哈希;
  2. 签名被用作随机源以选择分类账的特定切片;
  3. 签名用于创建对称 CBC 密钥,客户用该密钥编码分类账的切片。

由于每个客户签名相同的 PoH 哈希,签名在所有客户之间随机分布。客户会不断采样加密样本:

  1. 客户在定期的周期内签名一个 PoH 哈希;
  2. 签名被用作随机源,以每 1MB 的切片采样 1 字节;
  3. 样本通过 SHA256 进行哈希处理。

所有客户被强制使用相同的 PoH 哈希值作为签名。由于签名与 PoH 相关,因此样本的哈希在那个时间点和那个特定复制中是唯一的。

验证者反过来检查客户的证明:

  1. 验证者声明他们可以验证多少 PoRep,基于 GPU 核心数;
  2. 验证者会定期签名一个 PoH 哈希;
  3. 该签名用于选择一个待验证的分类账切片,以及一个掩码以选择要验证的样本,直至验证者的容量;
  4. 验证者上传未通过验证的证明。

客户可以通过寻找懒惰的验证者来向验证者挑战未通过的证明。为了防止暴力攻击,客户必须持续使用相同的密钥对身份。为了防止垃圾邮件,协议中的所有消息都将产生交易费用。归档者会根据成功提交证明的数量获得奖励。验证者会因验证证明而获得基于权益权重的奖励,寻找懒惰验证者的“渔民”在验证者被惩罚时会获得奖励,惩罚金是被惩罚的验证者的虚拟货币。

了解更多关于 Tour de SOL——Solana 的激励测试网事件。

Solana 利用归档者,并且结合历史证明、海平面和海湾流等创新,共同创造了全球首个 Web 规模的区块链。Solana 的测试网已于今日上线。你可以在 https://testnet.solana.com 查看。出于成本考量,我们目前只运行少数节点。然而,我们已经在 AWS、GCE 和 Azure 的 23 个数据中心上迅速启动了超过 200 个物理独立节点的实例(不是共享硬件)进行基准测试。

运行时今天已在运作,开发者现在可以在测试网上部署代码。开发者今天可以使用 C 语言构建智能合约,我们正在积极开发 Rust 工具链。Rust 将是 Solana 智能合约开发的主力语言。Rust 工具链已公开提供,作为 Solana JavaScript SDK 的一部分,我们还在继续完善软件开发工具包。

Solana 将很快推出公共测试版,通过 Tour de SOL 激励验证者运行节点——类似于 Cosmos 的 Game of Stakes——挑战广大公众测试 Solana 网络的极限,同时通过这样做来获取代币。

  • 原文链接: medium.com/solana-labs/r...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
anatolyyakovenko
anatolyyakovenko
江湖只有他的大名,没有他的介绍。