StarkNet链上存储成本是多少?同存储槽更新费用更低吗
StarkNet 单值存储操作成本及更新收费规则
首先明确:不存在和EVM 20000gas直接对应的固定成本数值,成本高低确实由你提到的两个核心因素决定:Rollup批次的大小、同一存储槽在单批次内的更新次数。以下是主网实际运行的参考准则:
首次写入单个存储值的成本区间
StarkNet作为ZK Rollup,存储成本的核心构成是把状态变更数据、状态根证明以calldata形式发布到以太坊L1的分摊成本,和EVM直接将存储值全量写入L1状态的逻辑完全不同。
按照StarkNet主网长期运行的平均数据:
- 当Rollup批次填充率达到60%以上(网络正常运行的常规状态),首次写入一个全新存储槽的综合成本,折算为等值的以太坊L1 gas,大概在100 ~ 400 gas区间,仅为EVM同操作20000gas成本的0.5%~2%。
- 如果网络处于空闲期、Rollup批次填充率极低,成本会有所上升,极端情况下最多达到EVM同操作成本的10%,不会超过EVM原生存储成本的1/10。
同一存储槽后续更新的收费规则
同一存储槽的后续更新确实收费更低,降价幅度和更新是否在同一个Rollup批次内直接相关:
- 若多次更新发生在同一个Rollup批次:最终上链时仅需要提交该存储槽的最终状态值,不需要重复上传中间变更状态。因此除第一次更新需要承担L1数据发布成本外,同批次内后续的多次更新仅收取少量链上计算费用,成本仅为首次写入成本的1%甚至更低,基本可以忽略。
- 若更新发生在不同Rollup批次:每次批次打包都需要把对应存储槽的最新状态发布到L1,因此每次更新都要承担对应的L1数据成本,但由于不需要支付全新存储槽的初始化开销,单次更新成本还是比首次写入低30%~50%。
说明:以上参考数据仅针对StarkNet全链上数据可用的Rollup模式,不涉及Validium等链下存储方案。实际成本会随以太坊L1 calldata价格、StarkNet网络拥堵度、批次打包策略动态浮动,没有长期固定的精确数值。
内容的提问来源于stack exchange,提问作者Lauri Peltonen
相关产品推荐
相关产品推荐

