decentr.png
2022-01-12
By kate

进一步提升Permaweb的去中心化程度,该做些什么?

Translated by Benedict.   

Original article by Xylophone

在最近的一篇文章中我们曾报道过,Arweave由于遭遇极端峰值负荷导致网关意外宕机,Arweave团队迅速解决了问题并进一步提出了预防性方案。在本文中,我们来看看开发人员、矿工和Arweave爱好者可以通过哪些方式来提升网关的去中心化程度,从而消除permaweb和终端用户之间的最后一个潜在故障点。

何为网关?

Arweave网关是一个工具集,让用户更方便的访问permaweb上的数据。比如,arweave.net就是最初的Arweave网关。Arweave.net从矿工网络获取内容,并在需要提交内容时回传数据。

网关和节点的一个主要区别是,网关能够接受GraphQL查询,并返回匹配的完整数据块。这个数据块可以是一个特定ID的交易(传输),或者是ArDrive上传的数据。简而言之,网关可以选择他们信任的节点,并可以作为HTTP服务器来搜索他们自己的索引。

为何要运行一个网关?

Arweave.net的短暂宕机表明,即使是像Arweave这样彻底的去中心化网络也有单点故障。这个事件源于一个特定网关的过载,之后我们通过去中心化CDN Meson把负载分配到其他几个网关解决了问题。

Arweave有一个更美好、更去中心化的愿景:

如果每个应用程序都能运行自己的网关,甚至运行自己的节点呢?网关越多,流量分布越均衡,最终用户的体验会更好,可靠性也会更高。

最近美国云服务商Fastly的故障就造成Twitch、Reddit、Spotify等一众网络应用瘫痪。如果这些网站都自己负责内容交付,这样的灾难性故障就不会发生了。而当大多数应用程序与Arweave.net交互时,permaweb一旦出现单点故障也可能会给这些应用造成影响。

如何去除Arweave的中心化

自从Arweave.net网关遭遇了1分钟高达百万个请求后,Arweave团队就开始着手解决这个潜在的问题,现在已经可以给开发者提供一些解决方案了。

运行Vartex

Vartex建立在Amplify上,Amplify是Arweave.net原始网关的分叉。它的特点是简单化,可以在Docker内运行。开发者可以从GitHub上克隆源代码,并按照Readme的说明操作。使用者可以在.env文件中添加自己的节点IP,也可以使用一个现有的节点。在专用的网关服务器上运行Vartex,用户的应用程序就可以实现在Arweave网络搜索和提交数据。

部署Amplify网关

使用“Amplify指南”,在Ubuntu 20.04上部署你自己的网关。指南建议VPS服务(Digital Ocean,AWS),采用8核CPU,32G内存,当然也可以在本地设备运行。指南中所概括的过程比Vartex网关的要求更复杂,Vartex使用Docker来自动化依赖项和数据库。

Amplify目前正在amp-gw.online上运行一个网关,并在testnet.amplify.host上为开发者提供测试网。它的目标是与Verto、ArDrive和ArGo这些Arweave生态的核心应用合作,将他们当前的网关迁移到Amplify主机上。

运行专属节点

建议每个网关与自己的可信节点进行通信,所以在设置网关时,可以从列表中选择一个现有的节点,或者运行你自己的节点,从而实现彻底的去中心化。如果采用正确的配置,节点不一定是矿工,也可以配置一个节点只与网络同步。按照“挖矿指南”中的步骤,从启动命令中删除挖矿选项,并添加sync_jobs 200以加快同步其他节点的数据(感谢Ros McMahon提供的信息!)。

注意事项:运行一个全节点,设备需要下载全部数据,目前大约~7.5TB,并预留未来存储空间。

在自己的硬件上运行节点和网关

permaweb只有补齐短板才能真正强大起来。虽然亚马逊和Digital Ocean的中心化VPS服务运行的也不错,但通过他们来托管网关运行permaweb显然还没有完全摆脱Web2的范式。归根结底,什么才更安全,能提供更好地保障?

采用Meson

Meson是一个去中心化的CDN,拥有超过3.6万个节点,这些节点被激励为Arweave网络的内容提供服务。当Arweave.net因Degen Apes Academy的NFT发布而受到前所未有的流量冲击时,Arweave团队将Meson接入,并在许多去中心化的节点上分配负载。在Arweave交易哈希为应用程序所知的情况下,Meson可用于从Arweave提取文件。

至少也要采用多个网关

在Arweave起步阶段,把所有的请求都指向Arweave.net是可行的,但现在就必须增加冗余了。目前有很多替代网关,采用多个网关更符合Arweave的去中心化本质,并让各种应用更加稳定。

Redstone Finance最近发布了Arweave-multihost,这是一个简单手段,可以让开发者的应用与多个网关进行通信。该SDK带有默认主机,也可以定义自定义网关。

Arweave正在接入Pocket Network的分布式API

这里有一个独家消息。Arweave正在接入Pocket Network的API协议。Pocket Network是去中心化 API 解决方案,运行着数千个去中心化网关节点,目前为很多公链提供快速、稳定和去中心化的数据服务,这些公链包括以太坊、BSC、比特币、Polygon和Solana。

很快就会发布接入Pocket Network的完整公告。当弥补了这块短板,将显著提升Arweave的冗余度。

Arweave团队在Vartex之后还有更多令人兴奋的项目,这些项目与业界建立伙伴关系,让开发者可以更方便的在permaweb上稳定运行自己的应用,应对中心化网关的可靠性挑战。相关信息将在第一时间发布在arweave.news上。


Join our
Telegram / Discord / Twitter / CN Twitter

Tagged with In No tags

kate

Kate is a journalist and editor for Arweave News.

Sign up for newsletter

Sign up here to get the latest news and updates delivered directly to your inbox.