在2017年发布的以太坊史前介绍中,Vitalik就认为以太坊、Swarm、Whisper将共同构成Web 3.0的去中心化技术套件。以太坊负责合约和计算,Whisper用于通讯,Swarm用于文件存储。Swarm项目早期得到了以太坊团队中Vitalik Buterin、Gavin Wood和Jeffrey Wilcke的支持,在这样的背书下,Swarm受到投资者的追捧,在6月15日Coinlist的公募中遭到数十万人的激烈抢购。


Web 3.0的去中心化技术套件

为什么需要去中心化存储?

在美国司法部发布公告称找回了美国最大的石油管道公司Colonial Pipeline被勒索的比特币时,大家也纷纷猜测可能是因为美国FBI通过运行在本国的云服务器获取了黑客的私钥,云服务器可能没有大家想象的安全。

DeFi应用一般采用“前端-中间件-后端(智能合约)”三层架构,后端部署在区块链上,但是前端和中间件部署在中心化服务器上,很可能受中心化云服务器的影响,因此更需要分布式存储系统。

Swarm正是通过为去中心化的互联网打造可扩展的底层基础设施,提供不间断的服务,有效抵抗网络中断或DoS攻击,构建无需许可的开放市场。在保证存储安全性的同时,确保数据的隐私性、可靠性和实现的重要性。

Swarm的风险

虽然Swarm有可能成为主流的分布式存储系统,但从当前的情况看,Swarm项目中存在比较大的风险。

存储挖矿收益的整体下降。加密货币市场价格整体下跌,Filecoin(FIL)的价格与4月份的高点相比下跌70%,Chia(XCH)与5月高点相比已下跌83%,但是挖矿难度却不断增长。据PANews了解,当前1 TB硬盘每天的收入大概只有0.15美元,Chia矿工的回本周期已经上升至两年。


每1 TiB算力的FIL奖励变化

没有出块奖励,矿工收入依赖于用户付费。Filecoin与Chia早期挖矿的收益都很乐观,现在Swarm也已涌入几十万节点,并且以每天几万的速度在增加。但是Swarm矿工的收入依赖用户付费,代币分配中仅为设施补助预留了10%的代币,且正式开始挖矿可能要等到8月份之后。在没有形成完整生态的情况下,可能很少有用户付费使用,矿工的收入可能非常低。

场外流通的Coinlist公募份额价格虚高,且仍处于锁仓状态。得益于Coinlist往期公募项目的良好表现,Coinlist上公募价格仅为1.98美元的BZZ在场外受到追捧,再加上直接从场外购买的人大多缺少认知,价格虚高。据PANews了解,BZZ公募额度在场外成交的二手价一般在40美元以上,而上线交易所之后BZZ现在的价格仅为11.6美元,场外购买的用户已经亏损70%以上。从区块链浏览器上可以看到,已有一半的BZZ由外部地址控制,但是Coinlist公募的份额仍处于锁仓状态,需等到8月份才能交易。

主网上线后关注度下降,上线的都是中国的交易所。Swarm的炒作时间主要集中在上线之前,矿机厂商需要卖出矿机,参加Coinlist公募的需要卖出额度或者账号。在Swarm主网和代币上线之后大量代币解锁,价格表现不佳,上线BZZ的只有中国的OKEx和抹茶等交易所。

与以太坊基金会的关系受到质疑。以太坊开发者trent在推特上称,Swarm团队早在2019年就从以太坊基金会独立出去,不认为在这之后还能收到以太坊基金会的资助,项目没有以太坊背书。现如今Vitalik等人也没有公开表示过对Swarm的支持。

Swarm的创新

Swarm建立了名为DISC(块的分布式不可变存储)的底层存储模型。Swarm在节点间建立Kademlia连接,让消息经由全局最优路由传递,通过分配的Swarm地址,可以定义接近度,每次消息传递都距离目的地更近一些。

Swarm构建了一套策略以让矿工在用户费用不足的情况下逐渐删除某些文件,在需要的时候又可以让节点上传保存在本地的块,以恢复数据。

存储中的角色主要分为三类,发送者、转发者、接收者,只有在发送者发布了需要保存的内容之后,转发者与接收者才能获得奖励。发送者在上传数据时需要购买邮票,在文件上传后,会有一定数量的xBZZ被销毁,另一部分作为节点的存储激励。

转发者帮助用户将请求路由到更靠近目的地的地方,在请求到达后也将分享一部分奖励。转发的节点本身可能没有需要的数据,但可以支付少量费用从较近的节点请求数据。这样,用户请求通过一步步转发,最终到达接收者。转发节点在获得转发的块之后,也可以保存数据,在下次需要时就不用再付费获取。


存储中的分布式哈希表

当节点转发请求和响应时,Swarm记账协议会跟踪每个节点的相对带宽消耗,在一定限度内,节点间可以以服务换服务,在限度外则需要等待,或者发送支票进行支付。用户如果只需要少量使用Swarm,也可以采用这种方式,在节点间提供互惠服务,达到免费使用的目的。但若上传或下载的内容量较大,直接支付更加便捷。

使用Swarm进行长期存储的用户需要预付费,节点会根据策略来决定应该存储或删除哪些块。每个Swarm节点都包含“储备”和“缓存”两个子系统。是否能保存在储备内取决于它所附带的邮戳,邮戳的价值会随着时间推移而减少,就像租金定期从余额里扣除一样,一旦邮戳的价值不足,对应的块就会被移入缓存。缓存也会按利益最大化的方式保存块,当容量达到上限时,最长时间未被请求的块将被删除。

某些块因为未付费且很少被访问,会被逐渐忘记。节点可以通过钉住(pinning)操作,在本地保留这些内容。当下载者需要某些丢失的块时,会涉及到一个恢复协议,发送恢复请求,让钉住者(Pinner)重新上传丢失的块。

Swarm中有一套完整的内置激励措施来优化带宽和存储的分配。节点获得BZZ的方式包括存储激励、带宽激励、发现激励,用户也需要BZZ进行存储数据和检索数据。Swarm中的BZZ代币并不是作为出块奖励,而是需要真实的与其它节点进行交互。用户使用BZZ发布任务后,节点需要在数据交互中做出贡献才能获得BZZ代币,根据贡献比例分配,注重的是带宽和存储。这就像API3一样,是一个做任务拿悬赏的过程。侧链上的BZZ可与以太坊主网上的进行互换。

激励机制

与其它项目对比

  1. 带宽要求高,Swarm不但具有存储功能,还有分发功能,要能够保障以太坊智能合约的运行,为DApp开发提供信息交互的基础设施,因此节点具有足够庞大的带宽。
  2. 节点硬件门槛低,官方推荐的最低配置为:2核CPU、3 GB内存、55 GB硬盘。普通家用电脑完全满足Swarm的节点需求,所需的最小存储空间低于其它分布式存储项目,CPU和内存要求低于Filecoin、Arweave、Crust。
  3. 无出块奖励,节点收入依靠与其它节点的数据交互。
  4. 传输效率高,请求的每一次传递都使信息离目的地更近。
  5. 节点无需像Filecoin等一样前置质押即可获得奖励。
  6. 和大多数存储项目一样,仍然需要根据使用时间进行付费,这一点与Arweave相反。 

结语

总体而言,Swarm和其它分布式存储项目的定位差别较大,更偏向于高效率的应用,无论是数据的传输方式还是节点选择保存数据的方式,都是按照最优的方式进行。

但是现在参与Swarm的挖矿风险较高,项目的官方身份受到质疑;没有出块奖励,矿工奖励依赖用户付费;场外公募份额价格虚高且需要锁仓;主网上线后关注度降低,且主要由中国人炒作。矿工和场外交易的用户需要谨慎参与。