1. IPFS点滴资讯首页
  2. 技术分享

绕组树的分散存储

正如我们在架构文档中所描述的,我们需要某种分布式存储来使用Winding Tree。我们真的很想拥有链上的所有数据,但是对于当前的技术状态,这是不可行的(它既慢又昂贵)。

我们最初的想法是只存储链上数据的链接。然后可以通过API或某些缓存层访问所有内容。通过在链外存储数据,我们可以弥补存储在链上的数据的速度和成本的不足。显然,我们不是第一个做这种思考的人,这篇文章是我们评估的一个很好的起点。我们没有使用任何严格的方法,它更像是一种没有任何特殊配置的外观和感觉方法。

存储数据离线的动机有两个:

  1. 大小  - 更大的数据块(是的,一个千字节是一大块数据),如酒店描述或图像直接存储在以太坊智能合约中可能会  昂贵
  2. 可变性  - 每次更改数据(例如预订房间(更改可用性数据并且可能经常发生))都会导致更新可用性数据的额外交易。即使我们只链接到数据本身,我们也无法在每次数据更改时更新链接。这就是为什么我们需要相同标识符下的可变数据或区块链和分布式存储之间的某种命名服务。

我认为可以肯定地说,每个考虑过的存储都提供比区块链更便宜的数据存储。然而,每种技术的速度因子和成熟度水平可能会有所不同。我们还需要以编程方式访问网络,以便能够处理预期的数据负载。

竞争者

一群

Swarm是显而易见的首选,因为它有朝一日将成为EVM不可或缺的一部分。

  • 速度  - 通过公共代理上传速度似乎非常好,通过代理下载速度相当快。
  • 全网络一致性  - 这似乎需要花费一些时间在一分钟到15分钟之间。这是不幸的,但可以通过大量缓存和/或使用具有一些额外逻辑的专用节点来缓解。
  • 数据丢失  - 最终可能在实施激励系统后发生,但极不可能发生。
  • 姓名服务  - 这是罪魁祸首。根据我的发现,一般的想法是使用ENS。但这是通过以太坊智能合约实施的。因此,每次数据更改都意味着一个链上交易,我们又回到原点。

IPFS

IPFS似乎是另一个重要的竞争者,其历史可以追溯到2014年。

  • 速度  - 似乎经常变慢。发布文档很快(在本地发生)。但是通过公共网关访问数据最终可能需要20-70秒。
  • 全网络一致性  - 这很难实现,因为现在没有人鼓励你的内容保留在他们的节点上。
  • 数据丢失  - 原始节点脱机后可能会发生这种情况。这也可以通过使用专用节点来减轻。
  • 名称服务  -  IPNS文档很差。而且真的很慢,有时会失速。根据我的理解,现在它与常规文件在相同的DHT协议上工作,因此其速度与网络的其余部分一致。

Zeronet

Zeronet使用BitTorrent协议进行文件分发,并且有一个关于它如何工作的很好的演示

  • 速度  - 一切都在当地发生,这是非常好的。从不同的地方访问数据需要一些时间,但在初始搜索后相当快。速度随着托管文件的节点/用户数量的增加而增加。
  • 全网络一致性  - 一旦您在本地发布数据(并通知BitTorrent跟踪器),每个拥有该地址的人都可以看到它。
  • 数据丢失  - 当具有数据副本的所有节点都脱机时,就会发生这种情况。您可以使用专用节点来阻止它。
  • 姓名服务  - 不需要!该地址用作目录,因此您可以以任何方式更改其内容,并且地址将保持不变。

BigchainDB

BigchainDB现在正在完成它的2.0版本,并且它的本地可查询MongoDB实例似乎非常有前途。但是,似乎每个人都没有公共网络。在我看来,它更倾向于私人网络。但是API看起来不错而且非常通用。

他们也使用Tendermint作为PoS算法,甚至在其上运行Etheruem

关系DB

TiesDB处于早期开发阶段,但看起来它们可能达到某种程度

自由网

Freenet是一个非常古老的项目,旨在提升信任度的私人分散团体。它可以在无信任的设置中使用,但API看起来并不是非常友好。

结论

看起来分散存储没有银弹,每种解决方案都有其优缺点。但是,当然,您需要运行节点或守护程序(或者可能是其中的多个)以确保数据可用。缺乏可靠的命名服务也是一个很大的失望,因为它会导致我们陷入死胡同。

但它真的吗?有一天,以太坊已经足够成熟,每秒可以容纳数百笔交易,我们可能根本不需要命名服务。一旦IPNS足够成熟,我们可能会使用它。或许我们可以使用Namecoin。不过,我们现在需要找到一些解决方案,而不是一些希望不那么遥远的未来。

这就是我们决定在智能合约中实施基于模式的数据链接并根据当前需求提供多个驱动因素的原因。它将如何运作?

我们为Winding Tree管理的每家酒店存储网址字段。此网址应像ipfs://QmRZEpRMS62xt1Gm6B7PLoXreuxSwX1kDR384PJ6tbCRLA或者ipns://QmRZEpRMS62xt1Gm6B7PLoXreuxSwX1kDR384PJ6tbCRLA或者bzz://446421099bd54d1532b00db29027b5e5e37c9b5d6a9f55809a9ef3880ac43ed5甚至是https://raw.githubusercontent.com/windingtree/wt-contracts/proposal/next/contracts/hotel/Hotel.sol。然后,此类合同的用户有责任获取此数据并验证其完整性和所有权。

我们的API就是这样做的。我们还在考虑为不同类型的数据提供多个数据链接。也许IPFS是一个更好的可用性数据存储,而Zeronet更好地处理酒店图像。我们现在仍在计算细节并实施第一版。

无论选择哪种数据存储,在某些时候引入缓存服务器也是一个好主意。因为一旦我们允许私有服务器托管数据,即使确保服务器的正常运行时间符合提供商的最佳利益,也没有人能够实际执行它,并且最终会发生停机。对于某些技术,缓存还可以显着减少访问时间。

点对点科技简介

点对点科技深耘IPFS与Filecoin技术,坚持区块链技术改变未来的信念。点对点 IPFS 数据中心是目前国内技术领先,性价比高、保障优的投资标的。自建杭州数据中心,合作数据中心分布于上海、宁波、河北、香港、斯德哥尔摩(瑞典)等地。点对点数据中心具有优秀的硬件配置与目前国内优质的网络节点资源。点对点科技力求将IPFS爱好者升级为IPFS领军者与受益者,让IPFS颠覆传统互联网,共同开启 WEB 3.0时代。

想了解更多区块链知识吗?关注我吧!

Filecoin测试网二阶段昨日重启,点对点出块第一! | 点滴资讯

原创文章,作者:Vito,如若转载,请注明出处:https://ipfsdrop.com/wiki/raozushudefensancunchu/

发表评论

电子邮件地址不会被公开。 必填项已用*标注