Arweave 区块网是什么?矿工为什么要随机读取历史数据才能出块 图 1
Arweave 区块网是什么?矿工为什么要随机读取历史数据才能出块 · 图 1

区块链不是一条线,这个说法在 Arweave 上不是修辞。官方 Erlang 实现仓库的自述写得很朴素:Arweave 是建立在加密货币之上的分布式、密码学验证的永久归档,靠一种叫 Blockweave 的数据结构,让矿工有动力去存储稀有数据。这句话里的每个词都值得拆开——什么叫”有动力存稀有数据”,这一篇讲清楚。

区块不只接在链尾

Blockweave 与线性链的差别在多一个引用:出块时除了指向自己的父块,还允许指向历史深处的区块。动机直接连着存储经济学——热数据人人都有,冷数据没人愿意留。如果共识过程完全不看旧数据,矿工自然会把磁盘裁成”只留最近的东西”,永久性就成了口号。裁剪模式在别的链上意味着放弃什么,可以对照比特币节点的裁剪取舍来看:Arweave 的选择是让”还存着、还能证明”直接参与竞争出块权。

挖矿循环:交卷前先随机翻书

机制示意图

官方挖掘文档把循环写得很具体。节点先取得一个 VDF 步骤(可本地计算或连 VDF 服务器),用它为正在挖掘的存储分区算出 H0——H0 用 RandomX 计算,每个 3.6TB 分区只算一次;然后 H0 派生两个随机任务:在分区内部定一个随机字节偏移,读出该处 2.5 MiB 数据算一串 H1;再在整个 weave 范围内定一个全局随机偏移,同样读 2.5 MiB 算 H2,文档举这个例子时给全量规模的标注是截至 2025-11-28 约 373TB。H1、H2 与网络难度比对,权重不同,所以指标里报告的是”有效算力”而不是原始哈希次数。难度每 10 个区块调整一次,目标出块间隔两分钟。

这套循环为什么偏爱”存得全”

两个读取任务的分工是关键:分区内的 H1 只考”你存了这一块”,全 weave 的 H2 考的是”随机一指点到哪里,你恰好还留着那里”。磁盘上只堆热门分区的节点,会系统性地算不出足够多的 H2;愿意保留稀有数据的矿工,抽中有效解的概率更高。这与Filecoin 的时空证明用另一套办法回答同一个问题:数据可用性不能靠”我记得我存过”,要靠持续可验证。数据层概念上还要区分”发布过”与”永远查得到”,Celestia 那篇数据可检索性与裁剪讨论过这条界线。

出块时矿工有哪些选择

解决方案绑定 VDF 步骤,区块绑定父块;同一份解在更早步骤的父块之上仍然可以复用,但官方文档给出红牌:同一高度发布两个区块属于违规,网络会削减奖励并撤销该地址的挖矿许可——只有多节点未协调地共用一个挖矿地址才会踩到。矿工能决定的两件事是选哪个父块(决定高度)和装哪些交易:交易费越多块奖励越高;偶尔出现的零交易块,文档明确说通常指向矿工的连接问题。

孤立、重定基与迟到的奖励

官方文档还补了两块常被省略的机制。其一,出块被更重的分叉甩下变成孤立块后,节点会尝试”重定基”:只要手头的解绑定的 VDF 步骤高于当前链尖块里的步骤,这份解就可以重新组装成新区块挂到链尖上,被接受后照常产生奖励——随机任务的产物不会因为一次竞争失败而作废。其二,区块奖励并不即时到账:官方口径是大约三十天的释放延迟(约 30 乘 24 乘 30 个区块的量级),期间网络会监测同一解被反复签名、恶意竞争分叉等行为,可能扣掉保留奖励并撤销该地址的挖矿许可;节点这期间甚至不需要保持在线。延迟发放配合撤销机制,把”乱出块”的代价从一次性对抗变成长期账。

费用的另一半去哪了

上传时的定价机制把长期负担一次性算清:官方动机页的说法是”一次付费、永久存储”,节点同时负责估算公平的上传价格,并把费用在矿工与储备基金(endowment)之间分配、按存储负担记账。检索、索引与缓存主要由网关层承担,NFT 元数据要不要放进这类永久层的现实对比见IPFS 与 Arweave 耐久对比。储备基金能否兑现长期承诺取决于参数与市场环境,相关数字以节点接口与官方文档实时数据为准。本文为机制说明,不构成投资建议。