自8月份以来,Matt Ober和我一直在询问许多Ethereum dapps开发人员,如何使用IPFS、以及他们对于该技术的期望。具体来说,他们是否关心分散化,以及他们在dapp开发中使用IPFS解决了哪些问题。下面,我们列出了使用IPFS网络用于应用程序时,需要考虑的四个重要因素。
节点数
这似乎是最简单、最明显的起点。一个节点容易发生故障,而许多节点则不容易发送故障。有趣的是,大多数dapps只运行一个集中的IPFS节点,关于这一点在之前已经介绍过。无论dapps是在公共IPFS网络上运行,还是在自己的私有IPFS网络运行,他们都希望运行或访问更多的节点,这有助于在两个方面帮助他们。首先,使用IPFS作为不可变离链存储的dapps,在使用单个IPFS节点时有一个中心故障点。当单个节点关闭时,这实际上延伸了“不可变”的含义。其次,使用单个IPFS节点的dapps具有非常慢的CDN体验,这是对IPFS的普遍抱怨。网络中的节点越多,作为CDN的网络速度就越快、功能也越强大。
供应商数量
毫不奇怪,我们谈过的dapps使用的都是一个供应商…… AWS。我们相信,IPFS为避免被这种垄断供应商的锁定,提供了一个非常好的机会。多云正在成为许多Web2企业正在实施的一种战略,以规避传统单云架构的风险,并应由Web3 dapps使用IPFS作为分散化的第一步来实施。多云是一种重要的策略,因为它通过提供跨云服务,保护dapps免于停机或数据丢失。此外,增加节点运行的提供程序数量,可以提高节点在全球范围内的地理可用性。
地理
许多dapps没有意识到,IPFS作为按需CDN的强大功能。使用IPFS,在地理位置上设置与用户相近的节点,允许你构建比传统CDN提供程序,更精确的CDN。借助P2P功能,IPFS可以接近设备(或在设备上),加快内容传递速度,并减少接触互联网骨干网的需要。此外,地理位置上分散的IPFS节点,可以保护你免受断电和自然灾害之类的因素影响。
各种设备
我们采访dapps和开发人员所看到的最显著的趋势,是他们如何将节点放在用户的设备上。这提供了两个优点。首先,可以将用户置于控制之中,并且尽可能地分散。其次,它允许dapps在本质上真正成为P2P,同时在必要时使用云中的IPFS节点作为备份。利用服务器、台式机、移动设备和物联网的设计,真正推动了dapp的弹性和可用。
如何做出最佳选择?
完全取决于你想要构建什么。但是,上面的指示图说明了在dapp中构建弹性、冗余和分散的方法。在左侧,我们有目前使用IPFS构建dapps最常用的设计。设计集中了在本文中确定的四个因素。在中间,我们的设计,可以通过使用当前云基础设施通过旋转节点来构建。在右边,我们在dapps应该争取的四个因素中,拥有最大化的设计。
(本文由 Kyle Tut 发表于国外博客,经由 Filecoin.cn 中国社区翻译整理)