完全去中心化的应用还很难做到大规模落地。这主要有两个原因。一是,与智能合约的交互过程很复杂,用户体验很差。因此,大多数DApp提供了一个Web界面,把前端界面存储在传统的链下服务器上,用户还是通过HTTP协议访问。这个过程其实还是有很多中心化的成分。二是,在区块链上存储大量数据的成本很高,这就是为什么大多数DApp通常还是把数据存储在链下。同样的,使用数据库管理系统或传统的文件归档系统与去中心化的概念是背道而驰的。
分布式存储
分布式存储则有望成为摆脱中心化运营的解决方案。分布式存储的概念很简单:一个包含众多节点的P2P网络,每个节点都为网络贡献自己的资源,一个充分冗余的分布式云存储解决方案就形成了。理论上讲,去中心化网络可以存储任何类型的数据,包括DApps链下数据和DApps的前端文件。
Swarm分布式存储模型
Swarm是以太坊上的分布式存储项目,需要关联一个以太坊账户才能使用。下图展示了Swarm如何在P2P网络中分发数据。原始数据首先被分割成多个数据碎片(Chunks),每个碎片的大小不能超过4K字节。由于这些数据碎片都是随机切割的,网络层面上,无法从数据碎片中推导出原始文件的全貌。数据碎片分散存储在整个网络中,并通过每个数据碎片独有的32字节的哈希地址进行内容寻址。
哈希地址可以验证数据完整性。如果觉得复杂的哈希地址不好记,还可以通过以太坊域名服务(Ethereum Name Service, ENS)为其内容注册一个简单好记、易于阅读的名字。ENS是基于以太坊的域名系统,可以类比成传统互联网中的域名服务(Domain Name Service, DNS)。
与其他分布式文件存储(例如IPFS和Filecoin)不同的是,Swarm的存储位置是一个不可篡改的内容地址,而不是通用的DHT(IPFS使用DHT)。Swarm与以太坊区块链进行了深度集成,通过智能合约触发激励系统。
加入Swarm网络领取gBZZ空投
目前,Swarm网络已经有超过8,000个节点。为了鼓励更多真实用户,Swarm官方在测试网上发布了100万个BZZ空投活动。只需要运行并安装Bee节点,就能获得gBZZ令牌。当切换到主网的时候,gBZZ就能兑换成真正的BZZ。
Swarm节点分布图
作者 | Pedro Febrero
翻译&校对 | 林芒果
本文由矿视界(奇迹摩尔)翻译整理编辑,如需转载,请标明出处。