ArFleet之争:Arweave自建IPFS,是创新还是背离永存初心?

转载
64 天前
1505
时间野人

文章转载来源: 时间野人

ArFleet 一经推出,市场上众说纷纭。有人认为它是 Arweave 理念上的妥协和堕落,也有人视其为技术上的重大突破,是去中心化存储生态的进化。然而,要避免盲目跟随这些观点,我们首先需要全面理解 ArFleet 是什么。

本文将详细剖析 ArFleet 的工作原理、评估其机制的有效性,并探讨其对 Arweave 生态的影响。

ArFleet 协议简述

ArFleet 是一个去中心化临时存储协议,它构建了一个无中介的存储市场。简单来说,它允许用户按需购买限时存储服务。同时,ArFleet 依托于去中心化的 AO 计算环境,实现多节点间的自动交易和存储验证,整个流程无需第三方或中心化服务器介入。

在这个去中心化“存储租赁市场”中,存在着两类参与者:

  • 提供者(Provider):提供存储空间并承诺在特定时间段内存储数据的节点,即出租自家硬盘空间的人。
  • 客户端(Client):有数据存储需求并愿意为服务付费的实体,即付钱购买存储服务的人或公司。

双方可以自由协商选择支付方式,不局限于任何特定代币。支付款项存入 ArFleet 协议中,提供者则需要缴纳押金,并定期提交存储证明(Proof),以确保数据的完整性。这套机制无须任何第三方参与,从而保障系统的信任度,确保提供者和客户端的利益得到公平保护。

此外,ArFleet 协议的运行细节较为复杂,包括如何保证数据的冗余性以及验证存储证明的机制。接下来将深入探讨这些细节,以帮助读者更全面地理解 ArFleet 的运作流程。

详解 ArFleet 协议运行过程

ArFleet 协议的运行过程涉及多个步骤,它就像是一个自动化存储服务合同,从需求匹配到数据验证,确保数据安全可靠存储。我们来一步步拆解它的流程。

1. 客户发单:完成任务分配

当用户需要存储数据时,他们会通过 ArFleet 客户端软件创建一个存储任务(Storage Assignment),并设置具体需求:

  • 愿意支付的金额
  • 存储的时长(比如 30 天)。
  • 冗余级别(希望存几份数据副本)。

客户端软件会在网络中找到符合这些需求的存储提供者。当找到合适的提供者并匹配成功时,就称为“存储匹配(Storage Placement)”。客户端会根据用户的冗余需求,完成 N 次匹配(比如要求 3 份冗余,就需要匹配 3 个提供者)。

2. 市场查询:匹配提供者

ArFleet 网络中有一个名为“市场”(Marketplace)的全局 AO 进程,供客户端查询提供者及其提供的服务。提供者可以在市场上发布、更新和删除服务广告(Announcement),每条广告至少包含以下关键信息:

  • 协议版本:列出提供者使用的 ArFleet 协议版本,确保兼容性。
  • 联系信息:Arweave 钱包地址(作为提供者的 ID)、IP 地址和端口对。
  • 存储价格:提供者每单位存储的费用。
  • 存储期限:提供者设置的存储时间期限。
  • 验证挑战周期:提供者能处理的最频繁验证周期(例如每 24 小时验证一次)。

换而言之,客户端在使用 Marketplace 查询和筛选提供者时,查询条件可以包括价格范围、存储时长以及验证频率要求等。此外,Marketplace 只负责列出符合条件的提供者及其服务信息,不能完全担保以下情况:

  • 提供者是否在线。
  • 是否还有可用的存储空间。
  • 广告内容是否最新。

因此,客户端还是需要直接联系提供者,确认他们的服务状态。如果提供者在线且符合要求,客户端就会启动存储匹配(Storage Placement)流程。

3. 执行交易:存储匹配

在理想情况下,存储匹配的状态会按以下步骤推进:

  • 创建与初始化:匹配开始后,客户端连接提供者,发送请求并获得确认。
  • 数据加密与进程创建:数据被拆分、加密,并生成 Merkle 树来验证数据完整性。同时,网络会启动专门的 AO 进程,记录合同信息。
  • 资金注入与接受交易:客户端将支付费用存入名为“Deal”的 AO 进程中,提供者确认交易后,交易正式启动。
  • 数据传输与完成交易:加密数据块传输至提供者,提供者完成交易设置。同时,按照约定将押金抵押到名为“Deal”的 AO 进程中,交易正式结束。

当上述流程顺利完成后,存储匹配阶段结束,系统进入数据验证阶段。但在深入讨论验证机制之前,我们需要首先解决 ArFleet 系统面临的一个安全问题——女巫攻击。

ArFleet 作为一个开放的去中心化网络,在存储匹配的过程中存在女巫攻击风险的。如果因此被“攻陷”,ArFleet 系统将无法确保数据的高冗余性,从而增加数据丢失的风险。这不仅威胁系统的整体信誉,也可能导致用户信任度下降。为了解决这一问题,ArFleet 采用了 RSA 加密技术,防止提供者伪装成多个节点,从而规避掉女巫攻击。

RSA 加密副本方案

RSA 是一种非对称加密算法,它使用公钥和私钥配对工作:公钥用于加密数据或验证签名,私钥用于解密数据或生成签名。然而,ArFleet 采用的是反向 RSA 操作:用私钥加密(类似签名),用公钥解密(类似验证)。这也意味着,每个副本都由客户使用不同的私钥进行加密,最后再由提供者使用公钥解密副本并提供给用户。

由此一来,ArFleet 形成了强大的防御机制:

  • 生成“合法”副本需要客户的私钥,即使提供者拥有加密副本、原始数据和公钥,也无法伪造新副本。
  • 客户为每份副本使用不同的私钥加密,确保每个副本都是独一无二的。提供者唯一的选择是妥善存储每个副本,否则在验证环节无法提交正确的数据块,将损失押金。

4. 验证挑战:防止作弊

在交易启动后,网络会定期发起验证挑战**,**提供者需要在整个交易期间不断提交存储证明,以证明他们确实在存储数据。系统会生成一串随机的“0”和“1”,这串数字指引提供者在 Merkle 树中找到指定的数据块。“0” 表示从当前分支向左走,“1”表示从当前分支向右走。提供者按照指引一直走,直到找到叶子节点(也就是具体的数据块)。

为了完成验证,提供者需要提交两部分内容:

  • Merkle 路径:包含从树的根节点到目标叶子节点之间的每一层哈希值。
  • 数据块内容:叶子节点对应的具体数据。

这些证明用于表明数据块确实存在,并且与系统记录的根哈希保持一致。因此,提供者在数据验证阶段可能会面临三种情况:

  • 如果存储证明有效:网络会把奖励发给提供者。
  • 如果存储证明无效或逾期没提交:提供者的押金会被扣一部分。
  • 如果连续多次提交失败:押金全部被罚没。

在 ArFleet 协议中,验证机制主要是通过持续对小块数据的随机验证,以防止存储提供者通过删除数据来作弊。具体看,这套机制实际上是利用博弈论原理,让提供者在每次挑战中面临高风险,确保他们有足够动力不敢删数据。那么随之问题也来了:如果用户存了 20 TB 的数据,而系统每隔 1-2 小时只检查一个 4 KB 的小块数据,真的可以发现提供者作弊行为?

验证机制为什么会有效?

通过一个简单的例子就可以解释这种验证机制的有效性。假设一个提供者试图从 20 TB 数据中删除 1/4 的数据(5 TB)来释放存储空间,那么他们被系统抓到的概率如下:

验证次数 未被抓到的概率 被抓到的概率
1 75% 25%
2 56.25% 43.75%
3 42.19% 57.81%
4 31.64% 68.36%
20 0.32% 99.68%

可以看出,随着验证次数的积累,作弊者的风险越来越大,最终几乎一定会被发现。为什么这套验证机制可以有效防作弊,大致可以归结为以下几点:

  • 随机性:每次验证时,系统都会随机挑选数据块进行检查,提供者无法预测哪些块会被检查到。
  • 累积风险:随着挑战次数增加,被发现的概率迅速提高,即使只删除少量数据也会面临高风险。
  • 经济后果严重:一旦验证失败,押金会被扣除,多次失败可能导致押金全部没收。押金的损失将远远大于释放存储空间带来的收益,提供者会更愿意按照协议存储所有数据,而不是冒险作弊。

ArFleet 如何补充 Arweave 生态?

ArFleet 与 Arweave 结合,构建了双重存储系统,为用户提供临时和永久存储选择。用户可根据数据的重要性和使用场景灵活调整存储策略,实现高效管理。

对于开发者而言,ArFleet 提供的临时存储方案极大地降低了存储成本,特别适用于不需要长期保存的数据。这种灵活性能够有效减少存储压力和相关费用。而对于普通用户,则可以根据个人需求灵活管理数据。无论是哪类用户,当需要长期保存时,可以一键将临时数据存储到 Arweave,确保长期访问。

ArFleet 的临时存储具有更快的存取速度和数据交换效率,适合高频数据流转的场景。通过双重存储系统,ArFleet 在现有的 Arweave 生态中起到了补充作用,尤其在以下应用场景中表现突出:

  • 协作文档编辑:在多人实时编辑文档时,只需要保存最终版本,编辑过程的临时数据可以放在 ArFleet 上,不必永久存储。
  • GameFi:Arweave 可以存储游戏资产、代码和玩家数据等关键信息,而 ArFleet 可以存储游戏过程中的临时状态、玩家交互数据等,提高游戏性能和响应速度。
  • 去中心化视频平台:Arweave 负责长期保存视频内容,确保其永久可用。ArFleet 则类似 CDN,用于缓存热门视频,减少重复访问的带宽消耗。
  • 大型数据迁移:ArFleet 的临时存储功能适合在将大量数据逐步迁移到 Arweave 时作为中转存储,尤其在需要短期保存大文件的场景中表现出色,确保迁移过程的顺畅性。
  • 应用程序设置同步:用户的设置(比如应用偏好)存储在 ArFleet 上,可以在多个设备之间同步,不必永久保存每次修改。
  • 去中心化身份管理系统(DID):Arweave 可以存储用户的身份信息、证书和凭证等重要数据,而 ArFleet 可以存储用户的访问令牌、会话信息等临时数据。

ArFleet 与 Arweave 的结合不仅大大增强了存储的灵活性和效率,还为构建各类应用程序提供了强大的支持,助力开发者创造出更加多样化和高效的应用。

总结

ArFleet 的推出并非意味着 Arweave 的妥协或倒退,而是对市场存储需求的积极回应。ArFleet 不仅与 Arweave 形成互补关系,还与 AO 协同合作,共同构建了一个真正的全栈去中心化网络。

在该体系中,ArFleet 提供灵活的短期存储,Arweave 专注于永久存储,而 AO 负责去中心化计算。三者相辅相成,形成了一套高效且具备扩展性的解决方案,打造出一个兼具永久与短期存储的完整生态,可以为未来的去中心化互联网奠定坚实基础。