观点:为什么说Swarm不是下一个Filecoin?
BPool无论是Web1.0到Web2.0的跃迁,还是正在孕育发展的Web3.0的成长,互联网的每一次更新迭代,最直接可见的结果就是数据量的爆炸式增长。当前,以区块链技术为代表的去中心化浪潮在兴起,数据存储的形式也随之发生了根本的改变:从单一数据集中运营到分布式自运营的转变,分布式存储的发展趋势已经逐渐成为行业内外共识。
什么是分布式存储?分布式存储是将数据分散存储在多台独立的设备上,打破中心化存储垄断,网络将数据和内容存储在世界各个角落,解决存储服务器成为系统性能的瓶颈。
并且去中心化存储是由众多节点参与存储的分布式,能摆脱庞大的中心化存储和地理位置的局限,利用区块链技术的哈希算法让文件体积大大减少,提升了容量,同时加密技术让数据隐私性更强,数据也不会被篡改。
为什么需要分布式存储?当下我们缺少的是一个强大、安全和分散的内容存储和分发系统,可以为当今的应用程序提供服务。面对越发飞速发展的互联网、整个生态应用不断创新、用户数量不断庞大、数据阶梯式增长这些无疑不给现有的本地存储带来巨大的压力。因此,必须通过采用其他分布式存储系统去缓解相应的压力,所以分布式存储和分布式文件系统应运而生。
针对目前市场上讨论程度较高的两个分布式存储项目:一个是分布式存储领域龙头老大Filecoin,一个是近期崛起的新秀,被誉为Web3.0组件的三大支柱之一的Swarm。谁的前景更好?谁更具备优势?本篇文章我们将对Swarm与Filecoin的技术和实现价值进行探索和评估。
Swarm
释义:
Swarm是一个分布式存储平台和内容分发服务,是以太坊web3堆栈的原生基础层服务,Swarm的主要目标是提供足够分散和冗余的以太坊公共记录存储,特别是存储和分发Dapp代码和数据以及区块链数据。从经济的角度来看,它允许参与者有效地汇集他们的存储和带宽资源,以便为网络的所有参与者提供这些服务,同时受到以太坊的激励。
基本概述:
Swarm是一个点对点的节点网络,通过相互贡献资源(存储、消息转发、支付处理)来提供分布式数字服务。Swarm客户端是Ethereum堆栈的一部分,参考实现是用golang编写的,可在go-ethereum存储库下找到。
Swarm提供了一个本地 HTTP 代理API,dapps或命令行工具可以使用它与Swarm交互。某些模块(如消息传递)只能通过 RPC-JSON API 使用。测试网上的基础服务器提供公共网关,用于轻松演示功能并允许免费访问,以便人们可以在不运行自己的节点的情况下使用Swarm。
Swarm 是devp2p网络节点的集合,每个节点都在相同的网络 ID 上运行bzz协议套件。Swarm节点还可以连接一个(或多个)以太坊区块链用于域名解析和一个以太坊区块链用于带宽和存储补偿。运行相同网络ID的节点应该连接到相同的区块链进行支付。Swarm 网络由其网络id标识,该网络id是一个任意整数。
并且Swarm允许上传和消失,这意味着任何节点都可以将内容上传到 Swarm,然后允许离线。只要节点没有退出或变得不可用,由于“同步”过程,节点之间不断地传递可用数据,因此内容仍然可以访问。
IPFS
释义:
IPFS(星际文件系统)是一种点对点 (p2p) 文件共享系统,由通信协议和分布式系统方面的多项创新组成,IPFS是一个开源的去中心化网络协议,允许用户在对等网络中存储和传输可验证的内容寻址的数据。虽然IPFS是保存数据的绝佳工具,但它只是一个网络协议,普通用户自行成为节点保留数据存在难度,而IPFS本身又没有激励机制能够促使节点为其它用户提供服务。因此,作为激励机制的Filecoin应运而生。
基本概述:
IPFS是根据信息的内容而不是它的位置来提供信息。通过他们的路由算法,用户可以选择从哪里获取内容,并且可以设置信任的节点的来接收文件。
这样做的好处在于:
- 哈希寻址使内容不可变。不会像当前的 HTTP 协议那样消失;
- 通过从多个节点和片段而不是从一台服务器收集内容以此来节省带宽;
- 抗审查;
- 符合去中心化存储的理念
并且为了进一步利用技术,Filecoin节点网络为文件的检索和存储提供了一个分散的存储市场。这个网络是由一个新的区块链支持的,它记录了网络参与者所做的承诺。并通过使用FIL来激励用户存储。
二者区别之处
尽管目前很多人都寄希望于Swarm会成为下一个Filecoin,并且两者都是分布式存储项目,但其实两者的发展路径和技术架构并不完全相同!
Filecoin VS Swarm
区别一:Swarm的创立之初更多是为了解决以太坊遇到的区块拥堵问题,但就目前而言,以太坊在中短期内并没有太大的存储需求,并且在Filecoin上存储也完全可以满足。
区别二:Swarm与同在分布式存储赛道上的Filecoin相比较,最大的优势主要体现在有以太坊现成智能合约生态资源以及现成的有效热数据存储,能够很快实现其分布式存储的价值。而目前Filecoin的生态还是处于刚刚启动阶段,在Filecoin存储的数据大多都是的垃圾数据,真实的有效生态数据还需要一定时间去发展才能逐步呈现。
Swarm在存储的基础上主要是想致力于内容分发,它更像是基于分布式网络的CDN,也就是做一个去中心化的内容分发网络。并且Swarm的激励系统,类比于Filecoin,二者最大的区别是技术细节和激励机制。
从 Filecoin 项目发布至今,3 年的时间,由于官方对矿工上传数据的真实有效性没有审核,矿工甚至于官方一直在上传垃圾数据,而Swarm引入支票本智能合约,支票本可以将Swarm 进行链下传递,在现有的激励制度下,通过节点可以进行内容传递,而且 Swarm CDN 会进行自动伸缩,关注度大、浏览多的数据,各节点都会保存,并且存储时需要用户支付费用,如果不是很流行的内容,就会随着时间被删除。所以,Filecoin的矿工可能会存在为了提升收益故意制造垃圾内容,而后者通过存储惩罚提高了文件可用性和安全性。针对这一问题,胡安表示说:Filecoin 下一个重点是为客户存储有效数据,甚至还采取了一些措施来奖励真正存储有用数据而非垃圾数据的应用及矿工。
区别三:目前更多的人认为,Swarm不是存储系统,而是流量分发系统。
从Swarm的数据传输中,我们可以发现,Swarm使用计数器模式来加密和解密内容。当用户将内容上传到Swarm时,上传的数据被分成4KB的块,这些块都将使用单独的随机生成的加密密钥进行编码,然后按照算法将每个片段不断推向某个地方,在推送的过程中,所有的中间节点都会缓存一份数据。当需要读取该文件时,首先从某个地方读取到这个文件的根,然后从根中读取不同的文件片段信息,根据不同的片段从网络中不同的地方读取出相应的内容。
这里面的原理是基于Swarm的消息传递协议——pss(Postal Service over Swarm),有了pss你可以发送邮件到群网络中的任何节点,pss消息不是块散列引用,而是独立于消息有效负载在覆盖地址空间中指定目的地。如果它是一个完整的覆盖地址,则该目的地可以描述一个特定的节点,如果它是部分指定的,则可以描述一个邻域,直到目的地。然后消息将通过 devp2p 对等连接使用转发 kademlia进行中继,到达目标邻近区域后,使用广播进行消息传送。
Swarm的消息传递方式可能会有效提高数据的读取性能,但是与之而来的是数据也会被自动推送到不需要存储数据的节点上,浪费宝贵的存储和带宽,这一点,是在IPFS里明确避免的。
总而言之,从以上的三个区别对比中,我们可以发现Swarm与Filecoin都各自存在着一些不足之处。
二者优势之处
Swarm是建立在以太坊的基础之上,所以它自然会承接以太坊所有的资源,这些资源为Swarm提供了庞大的受众和用户群,并使协议能够更快地实现有效扩展,提供与其他协议所不能够具备的基础架构级优势,其发展也受到以太坊强烈的需求(最重要的是托管dapp,合约、数据和区块等方面需求)。
而Filecoin自上线以来,虽然一直面对各种问题,但官方也一直在积极解决,Filecoin网络是一个完整的生态,其未来的开展和分布式存储技术构成了一种绑定关系,Filecoin作为Web3.0数据存储的基础架构,在数据存储市场有着去中心化、传输速度快、高效安全等优势。
同时,在5月底的时候协议实验室就发布消息称,将在六月下旬进行Filecoin Network V13 'HyperDrive'的网络升级,这一升级后存储效率能够获得 10—25倍的增长,并且能够降低复制证明与时空证明的Gas消耗,提高链的利用效率;此次升级一方面是提高收益的机会,矿工能获得更多Filecoin网络区块奖励,另一方面是它将增加网络带宽(或TPS)的供应,BaseFee将会减少,减少的程度取决于使用网络的潜在需求。
通过官方的表现,我们可以看到Filecoin的进展正在稳步向前。社区对于「多次调整经济模型」及「Gas 费用过高」等问题也非常重视,其回应与更新速度也一直不让矿工们失望,相信随着生态设施的完善,Filecoin将实现更大规模的应用落地。
总结:
其实不管是Filecoin还是Swarm的出现,都是在为实现分布式存储巨大生态系统和商业价值贡献力量。并且二者本就定位不同,Filecoin更注重于存储,而Swarm更注重数据分发,但二者对整个区块链技术的发展和升级都带有重大意义。