买不到插队权:NEAR 确定性燃气、附着退款与合约分成三本账 图 1
买不到插队权:NEAR 确定性燃气、附着退款与合约分成三本账 · 图 1

没有小费市场:NEAR 的燃气是统一定价

以太坊上想让交易快一点,标准动作是加小费、卷优先费。NEAR 明确不走这条路。官方文档的说法是:NEAR 的燃气成本是确定性的,你不能通过付更多钱来买优先级。同一条交易,网络拥堵还是空闲,单位燃气价格按协议规则统一浮动,发送者没有出价权。这背后是一个一以贯之的设计取向:把”插队”这个维度从交易池竞争里拿掉,用户为确定性支付,而不是为拍卖权支付。

附着的燃气像充值余额,用完找零

NEAR 交易调合约时要声明一个燃气上限(attached gas),网络先按这个上限把燃气费从账户余额扣走,执行完再按实际消耗退款。官方文档把这套流程讲得很直白:多附着的部分会退回,但会扣一点”附着过多”的费用作为惩罚;退款本身走收据机制,几乎每次函数调用都伴随一笔退款收据。两个工程细节值得注意。其一,网络限制了每个分片每个块能接多少以附着的燃气为上界的跨合约调用工作,附着过多会让接收分片的配额被无谓占满,拖累别人;其二,退款收据本身就是全网流量的一部分,乱填上限的隐性成本由协议消化。

统一单价的燃气计量表与用完按实际消耗退回多附着部分的找零流程

30% 烧掉的燃气回流给合约作者

NEAR 费用分配里最有辨识度的一条:执行合约时烧掉的燃气费,30% 归属该合约的账户,作为开发者收入。文档举的例子是一次访客簿调用总共烧掉约万分之三个 NEAR,其中 30% 打给了合约账户。注意口径:分成来自”执行阶段烧掉的燃气”,不是用户附着的全部燃气,退款部分不参与分成。这让合约账户本身成为一个有现金流的链上主体——合约账号不只是一个地址,它同时是开发者在协议层挂的收益收款人。

建账户那笔 0.007 不是燃气费

官方文档专门解释了一个容易被误认的收费:创建账户固定烧 0.007 NEAR,但它不是按燃气计价的费,而是协议从本该退给你的价差退款里”少退一点”,把总成本垫到 0.007。理由与状态成本挂钩:一个无存储押金的账户可占到 770 字节的永久状态,按每 100 KB 一个 NEAR 的存储单价折算约值 0.0077。当网络燃气价高、创建动作本身烧掉的燃气已超过 0.007 时,就不再额外截留。这笔账展示了 NEAR 的收费哲学:状态占用要付费,但尽量藏在既有的退款机制里完成,而不是多发明一条独立费用。

换一种竞争维度之后

取消出价优先权不等于交易池没有竞争。NEAR 用分片配额、每动作的确定性燃气成本、附着上限对跨合约流量的约束来分配资源,拥堵的表现形式从”我的出价不够”变成”该分片该块的接收配额被占满”。对开发者的实际影响是:估算成本要靠精确的模拟调用而不是猜价,参数要按协议给的单价表来配;对用户的影响是:同一笔操作在不同时刻的价格差异远小于出价制链,但高峰期排队的原因要按分片与配额的思路去理解。把以太坊那套”加钱插队”的直觉平移到 NEAR,多半会得出错误的排查方向。

值得一提的是官方文档里还有一个例外通道:gas key(燃气密钥)。用燃气密钥签名的交易,费用从这把密钥自己的预存余额里扣、退款也回到密钥本身——相当于一张可以充值、可以代付燃气的礼品卡,让”不持有账户余额也能付燃气”成为可能。它改变的是谁来出钱,而不是”出价不能换优先”这条定价规则本身。

风险提示:本文为机制说明,不构成投资建议;文中常数为官方文档记载的示例数值,可能随协议调整,请以 NEAR 官方文档为准。