Bundlr、Arseeding、Arg8是三个Arweave生态中典型的基础设施。Bundlr是一个数据上传服务,Arweave上超过一半的数据都是通过Bundlr上传。
Bundlr、Arseeding、Arg8是三个Arweave生态中典型的基础设施。Bundlr是一个数据上传服务,Arweave上超过一半的数据都是通过Bundlr上传。Arseeding是一个轻节点为基础的网关,提供了更丰富的功能,是Arweave生态中最全面易用的基础设施之一。Arg8是新型的去中心网关,搭建在可激励支付协议P3协议之上。三个项目各有优势和特点,下面进行对比介绍。
Bundlr是搭建在Arweave上的扩展层,类似于L2,现阶段聚焦在为用户提供可靠易用的数据上传服务,增加Arweave网络的吞吐量。目前Arweave上超过一半的数据都是有Bundlr进行上传,在2021年末的高峰时段Bundlr在4.5个月的时间里上传了8500万的交易,官方指出Bundlr的出现将Arweave的上传速度提高了3000倍。
Bundlr主要原理是将多个交易进行捆绑打包在一笔交易中,批量上传到Arweave上,从而有效缓解Arweave网络拥堵,提高网络吞吐率。
在Bundlr出现前,Arweave吞吐率主要受限于交易打包速度,Arweave网络大约2分钟出一个块,每个块最多1000笔交易。当有大量交易出现时,这些交易会堆积到Arweave网关中,每笔交易会有超时设置,当超时后还没有被打包就会被丢弃,从而造成交易失败。这个问题在上波NFT牛市中尤为突出。NFT项目通常包括几千甚至上万个图片内容,当项目方将这些图片内容上传Arweave时,就会产生大量交易。有时候项目方会发现上传的图片,在长时间的等待后,会出现大量上传失败。
ANS-104标准的出现就是为了解决这个问题。ANS-104是一个数据打包协议,将众多的交易以二进制的方式序列化到一笔交易中,同时添加了owner、tags、id、signature等字段来区分每个数据项的原始所有权。
ANS-104协议格式
Bundlr采用了ANS-104标准对数据进行打包,在打包的过程中并不会压缩数据。
架构图
从上图可以看出,Bundlr网络中最主要的角色是Bundler节点和Validator节点,它们分别负责上传和检验交易,并从中获取激励奖励。
Bundler节点(未上线)
Bundler是负责接收交易、打包、处理支付的节点。成为Bunlder节点需要质押他们的代币$BNDLR,如果发现恶意行为会从质押代币中扣除。
目前Bundlr还处于测试网阶段,$BNDLR代币将会在主网上线时发放,目前测试网的代币是没有任何价值的。
Bundler处理支付时采用Payment Channels的方案,负责校验外部充值并将资金添加到支付通道,每个节点可承载的资金价值不能超过他们质押$BNDLR的价值。目前功能还没上线。
Validator节点(Testnet)
Validator对Bundler节点打包的交易进行验证,他们索引并验证Bundler节点上传到Arweave上的交易,并且定时收到奖励。目前可以在测试网加入自己的Validator节点。
上面是Bundlr规划的架构图,包括开放的bundler节点和validator节点,但是还未上线。
目前Validator处于测试网阶段,用户使用的服务是官方提供的节点,用户将数据上传到Bundlr后,会收到收据,这些收据由三个Validator节点进行签名,并保证在一段时间之后上传到Arweave节点。
即时访问
Bundlr完成打包后将数据上传到arweave.net网关节点,这时用户可以用Arweave.net生成的地址即时访问到数据。
文件夹上传
Bundlr支持文件夹上传。
费用支付
上传交易的费用是Bundlr金库支付的,他们保证会有足够的$AR用于支付上传费用。用户则不需要支付$AR,Bundlr可以接收其他网络的原生代币支付,如ETH、SOL、MATIC、DOT等 。并支持Ethereum、Solana等钱包。目前这些支付采用中心化的方案,后续会过渡到Payment Channels的方案
Bundlr多链支持
目前Bundlr已经支持了ETH、Solana、Avax、Polygon等多条公链的数据上传,并支持ETH、SOL、AVAX、MATIC等原生代币支付费用。
未来规划
根据Bundlr的路线图,他们会在2022 Q4进行最后一版测试网,将开放激励。Bundlr还计划支持数据压缩、数据加密等功能,
Bundlr还提到了数据网关功能,可以对Bundler打包的数据进行索引,以支持数据查找等功能。
主网和$BNDLR计划于2023年上线。
Arseeding是一个兼备网关功能的Arweave轻节点,不但支持数据的上传、下载、做种,还集成了everpay进行费用支付,用户可以用ETH、USDC等代币进行支付。同时Arseeding还能提供类似CDN的内容读取加速功能,这对应用层项目至关重要。Arseeding的功能非常全面,是Arweave生态中强大的网关基础设施。
与Bundlr二层网络的运行方式不同,用户有2种方式使用Arseeding服务:
自己搭建Arseeding轻节点,项目方只需要同步自己的业务数据而不必关注其他数据。这与以太坊的钱包轻节点功能非常类似。同时Arseeding还支持数据缓存,通过轻节点,项目方可以对数据进行快速读取、查找,这对YouTube、Twitter一类的需要提供高速、及时服务的网站非常重要。
如果项目方不需要自己搭建轻节点,则可以使用官方的web3infra网关。Arseeding和Web3infra都支持ANS-104打包协议,与Bundlr兼容。
web3infra和Bundlr一样,用户在上传数据后获得一个receipt,服务保证会在一定时间内将数据存储到Arweave。在Arseeding内部会维护一个交易池缓存收到的交易,然后在一定周期后打包上传。
为什么Arseeding要做轻节点呢?arweave 生态开发者面临几个问题:
为了解决上面问题,Arseeding实现了如下功能:
架构图 web3infra.dev
交易广播
Arseeding 会自动把交易广播到网络中所有的 Arweave 节点,并且Arseeding协议完全兼容 Arweave 原生节点。这确保所有 Arweave 节点的 pending pool 中能及时接收到这笔交易,提高交易被打包的速率。
数据做种服务
开发者使用 Arseeding 时,所有的数据都将被存储到 Arseeding 节点,开发者可以提交一个有效的 Arweave 交易 ID,Arseeding 如果存在该笔交易数据,会发起一个定时任务向全网 Arweave 节点广播这笔交易的数据。Arseeding 如果没有存储该笔交易数据,会先像全网发起数据拉取任务,获得数据后再向全网进行广播,让数据副本被全网节点存储。
数据获取服务
通过 Arseeding 节点,开发者可以调用特殊接口向全网自动请求指定数据。用户只需要提交arId,轻节点首先从 arweave.net网关获取交易 data,如果获取失败,则从全网节点获取交易 data, 直到获取成功为止。同时,Arseeding 也会缓存同步到的数据,提供高速的下载服务,类似于CDN加速服务。
可以看到Arseeding除了数据上传、下载等基础网关服务外,还具备数据广播、数据做种、CDN网关等功能。Arseeding强化了arweave.net网关的功能,这种基础服务的扩展对于生态开发者至关重要
Arseeding会将收到的数据缓存到本地DB,供用户快速访问。我们在上传数据到Arseeding后会收到一个itemid。利用itemId可以去Arseeding或者arweave.net提供的服务节点访问数据。
order: {
itemId: 'iyosxBPXwPYXKYac31nEq3c5uDm4Wxsv0o-Yy8yaHvU',
bundler: 'uDA8ZblC-lyEFfsYXKewpwaX-kkNDDw8az3IW9bDL68',
currency: 'USDC',
decimals: 6,
fee: '685',
paymentExpiredTime: 1658809335,
expectedBlock: 982245
}
上面是上传数据后返回的order,利用itemId获取数据:
[<https://arseed.web3infra.dev/QPk70QWnrVDfx-CSjZ1vtQc7BMzeZzK5wTEdpHyom_g>](<https://arseed.web3infra.dev/QPk70QWnrVDfx-CSjZ1vtQc7BMzeZzK5wTEdpHyom_g>)
<https://arweave.net/QPk70QWnrVDfx-CSjZ1vtQc7BMzeZzK5wTEdpHyom_g>
Arseeding 支持使用 everPay 进行存储费用支付,这意味着持有 ETH、USDC 等代币也可以使用 Arweave 的文件存储服务。
项目方部署的Arseeding的节点也可以开放给外部所有用户使用,利用项目方开放的节点可以构建类似AskMirror(https://askmirror.xyz/)这样的第三方应用,使应用更具备开放性和可扩展性。公开的 Arseeding 节点将使用 everPay ,用户可以使用任何everPay支持的代币进行支付。
Arseeding的轻节点模式给应用方提供了更好的灵活性和可扩展性,数据同步和数据做种功能也为数据完整性提供了保障,everPay给支付带来了便捷性。Arseeding的种种特性使之成为现在Arweave基础设施中最好用网关之一。
Arg8是一个轻量级的去中心网关,实现了可激励的、任何人都可以参与的二层网络,用户通过Arg8网络可以对Arweave进行访问。
Arg8意识到Arweave生态中的网关依赖少数几个提供商,这容易出现单点故障,之前arweave.net的拥堵也验证了这个问题。Arg8致力于增强arweave生态的去中心化和可用性。
Arg8是P3协议的第一个实现版本,采用开放的二层网络,任何人都可以参与进来,作为节点提供服务,赚取激励。这种开放的网络形式必然需要经济的激励来维护网络的稳定性和可用性。
P3网络结构
P3是一个可支付的服务协议,可以让用户使用$AR支付他们在Permaweb上使用的服务。Permaweb是Arweave上运行的永久网,类似于L2,生态上的应用都运行在Permaweb上。使用P3协议可以让Permaweb上的应用和用户相互访问数据、发送交易、进行查询,并支付费用,无需运行节点。这和网关的作用有一些类似,P3添加支付功能后,变成了可付费网关。
更近一步的,除了网关的数据存取功能,服务商还可以提供更复杂的服务,可以说符合P3协议的任何服务都可以跑在这上面,例如游戏服务、搜索服务、Defi服务等,P3协议给Arweave生态增加了可组合性标准。
可选的服务市场
任何节点都可以提供相同的服务,用户可以自由选择费用低、服务好的节点。
可组合性
P3可以让任何开发人员将自己的服务插入网络,提供服务,只要使用相同的支付协议”P3“即可,服务之间也可以相互调用并支付费用。
P3协议内容
P3协议(P3协议内容)定义了6种服务类型接口,涉及服务列表、价格获取、存取款、请求服务、服务排名等。
用户可以预先向服务节点中进行存款,服务节点根据配置的服务价格进行扣除,并向用户提供对账单,这样服务节点只需定时进行结算即可。
Arg8让我们看到了一个开放的、可激励的服务网关,同时P3协议给服务的可组合性带来的更多的扩展空间,这将是未来去中心网关的一种基础形态。更进一步的,P3协议有可能将Permaweb上基于SCP构建的各个服务进行连接,例如everPay、Mirror、RedStone等,就像EVM中各个合约可调用、可组合一样,这将构建一个更开放的大网,带给Permaweb更多的想象力。
但是目前arg8还没有上线,代码也未开源,协议最终能实现到什么程度,有待考验。
Bundlr现阶段只有数据上传功能,作为较早期项目,为Arweave网络吞吐量优化做出巨大贡献,也支持了以太坊、Solana等主流公链,建立了多种支付手段。但问题是中心化程度比较高,功能比较单一。在路线图中可以看到,Bundlr会逐步解决中心化问题,建立可激励的去中心节点网络,同时会增加网关功能,支持数据查找等操作。
Arseeding兼容Bundlr的打包上传功能,除此之外还增加了数据做种、数据缓存等功能。数据做种使得一份数据被更多节点存储,增加了数据鲁棒性。数据缓存功能提供类似CDN的功能,使得用户可以快速获取、索引数据,大大增加了网络的可用性,为大规模生态应用的爆发奠定了基础。轻节点的灵活部署方式,也为项目方提供了更多的可扩展性和易用性。使用everPay支付支持多币种支付,同时使得支付更加去中心化。可以说这是Arweave生态中最全面好用的网关服务。缺点是官方提供的web3infura服务比较中心化,目前没有做去中心网关的规划和激励计划。
Arg8为我们描述了一个去中心化的可激励网关,这将对Arweave生态产生重大意义,网关是Arweave生态中最重要的基础设施,几乎所有的生态项目都绕不开网关这一层,网关功能的好坏将直接影响上层应用的发展。而去中心化的网关将是最终形态。除此之外,Arg8使用的P2可支付协议,还带来了应用之间的可组合性,给未来生态网络形态带来了无限畅享。但目前Arg8还没有上线,最终能实现这些畅享吗,让我们拭目以待
文章参考: ANS-104
https://github.com/joshbenaron/arweave-standards/blob/ans104/ans/ANS-104.md
什么是Arweave
https://arweave.news/what-is-arweave-ar-chinese/
Arseeding
https://web3infra.dev/zh-cn/docs/arseeding/introduction/lightNode
Arg8
P3协议
P3
https://twitter.com/ArweaveTeam/status/1562479465413746689
Gateways
https://arwiki.wiki/#/en/gateways
https://www.notion.so/permadao/Bundlr-Arseeding-Arg8-5dec8973226644649dff5ab8df1af35c
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!