区块链网络中的一些资源是有限的,例如,存储和计算。交易费用可以防止个人用户消耗过多的资源。Polkadot 使用基于重量(weight-based)的收费模型,而不是 gas 计量模型。因此,在交易执行之前要收取费用,一旦支付了费用,节点将执行交易。
Web3 基金会的研究团队设计了 Polkadot 交易费用系统,基于以下原则:
每一个中继链块都应进行有效的处理,以避免延迟块生产。
中继链的增长率应该是有限的。
每个区块都应该为特殊的、高优先级的交易留出空间,比如行为不当的报告。
系统应该能够处理需求高峰。
费用应缓慢变化,以便发送者能够准确预测需要的交易费用。
费用计算
Polkadot 中继链的费用根据三个参数计算:
按字节收费(也称为“长度费”)
重量费(weight)
金色财经挖矿数据播报 | ETH今日全网算力上涨1.40%:金色财经报道,据蜘蛛矿池数据显示:
BTC全网算力147.800EH/s,挖矿难度20.82T,目前区块高度668677,理论收益0.00000709/T/天。
ETH全网算力361.740TH/s,挖矿难度4585.99T,目前区块高度11773905,理论收益0.00709878/100MH/天。
BSV全网算力0.654EH/s,挖矿难度0.10T,目前区块高度672593,理论收益0.00137702/T/天。
BCH全网算力1.487EH/s,挖矿难度0.22,目前区块高度672939,理论收益0.00060521/T/天。[2021/2/2 18:40:37]
tip 小费(可选)
长度费是固定的每字节费用与交易大小(以字节为单位)的乘积。(所以大家看到一些议案在链上没有具体的解释内容,只有一些很短的字符,就是为了减少链上资源的使用和交易费用的成本。)
金色财经合约行情分析 | BTC量价齐升向上冲击,暂受阻于9800美元:据火币BTC永续合约行情显示,截至今日16:00(GMT+8),BTC价格暂报9731美元(+0.72%),20:00(GMT+8)结算资金费率为-0.004647%。
BTC昨晚下探在9370美元一带获得支撑,出现快速反弹,最高涨至9830美元。根据火币交割合约数据,BTC季度合约成交额翻倍,持仓量出现大幅拉升,后随着价格在高位震荡有所回调,精英多头占比稳定,季度合约升水稳定。BTC目前价格在日K 30日线上方反复,市场结构保持稳定。
USDT于火币全球站OTC的报价为7.04元,溢价率为-0.45%。[2020/6/8]
重量(weight)是一个固定的数字,用于管理验证块所需的时间。每个交易都有一个基本重量,用于说明所包含的开销(例如签名验证)以及一个调度重量,用于说明执行交易的时间。总重量乘以每个重量的费用,就可以计算交易的重量费用。
小费是一种可选的交易费用,用户可以添加该费用以提高交易的优先级。
金色晨讯 | 2月24日隔夜重要动态一览:21:00-7:00关键词:央行、G20财长、富国银行、荷兰
1. 中国人民银行正式发布《金融分布式账本技术安全规范》;
2. 推文数量和比特币价格以及交易量似乎存在紧密关联;
3. G20财长重申“全球稳定币”在启动之前需要进行评估;
4. ETH 1.0开发者或将导致ETH 2.0延期;
5. 富国银行因长达15年的欺诈性销售行为被罚款30亿美元;
6. 报告:比特币巨鲸地址持币比例已降至11%;
7. 动画《辛普森一家》中出现加密货币概念;
8. 荷兰当局逮捕两名使用加密货币的男子;
9. BTC现报9917美元,日内涨幅0.56%,主流币普涨。[2020/2/24]
这三项费用合起来就构成了交易费用。这个费用在交易执行前从发送方账户中扣除。一部分费用将归区块生产者所有,其余部分将归财政部所有。在波卡的创世中,这一比例分别设置为 20% 和 80%。
区块限制和交易优先级
分析 | 金色盘面:DASH/BTC日线在下降通道中运行:金色盘面综合分析:DASH/BTC日线图显示,价格始终在下降通道中运行,MACD出现多次背离,但都只是小级别的反弹,底部始终未见,弱势明显,如果BTC不见底,估计很多标的都无法走出像样的反弹行情。[2018/8/13]
Polkadot 中的块同时具有最大长度(以字节为单位)和最大重量。区块生产者将用不超过这些限制的交易填充区块。每个区块的一部分(目前为 25%)被保留用于与链运营相关的关键交易。区块生产者只会用正常交易填满区块的 75%。链运营交易的一些示例:
不良行为的报告
理事会的运作
对选举中的成员的操作(如放弃候选人资格)
区块生产者根据每笔交易的总费用确定交易的优先级。由于一部分费用将归区块生产者所有,因此区块生产者会将费用最高的交易纳入其中,以使其回报最大化。
费用调整
波卡Rococo测试网已经连接8个平行链:波卡Polkadot官方发布周报,报告显示,截至目前Rococo测试网已经连接到了8个平行链。此前8月7日,Polkadot正式启动测试网Rococo,该测试网包括Tick平行链1测试网、Trick平行链2测试网和Track平行链3测试网三部分。[2020/8/31]
区块链上的交易量非常不规则,因此交易费用需要一种机制来调整。从而用户能够预测交易费用。
Polkadot 使用了一种带有小费的缓慢调整费用的机制来平衡这两个考虑因素。除了块限制,Polkadot 还具有块满度的目标。根据当前区块相对于目标的完整性,下一区块的费用增加或减少。每个重量的费用在 24 小时内最多可更改 30%。这个比率反映了需求的长期趋势,但不是短期的峰值。为了考虑短期内的暴涨,波卡在长度和重量费之外还使用了小费。用户可以选择在费用中添加小费,以使交易具有更高的优先级。
分片交易
在 Polkadot 的分片(平行链和平行线程)中发生的交易不会产生中继链的交易费用。分片应用程序的用户甚至不需要持有 DOT 代币,因为每个分片都有自己的经济模型,可能有也可能没有代币。然而,在某些情况下,分片本身在中继链上进行交易。
平行链在中继链上有一个用于执行的专用插槽,因此它们的收集人不需要拥有 DOT 来同步块。平行链本身会进行一些交易,例如,打开或关闭 XCMP 频道,参与竞标以续租其插槽,或升级其 runtime。平行链在中继链上有自己的账户,需要使用这些资金代表平行链发行交易。
平行线程也将生成与平行链相同的交易。此外,收集人需要参与拍卖的每一个块,以继续他们的链。收集人需要有 DOT 来参与这些拍卖。
其他资源限制策略
交易重量在执行之前必须是可计算的,因此只能表示固定的逻辑。有些交易需要用其他策略限制资源。例如:
绑定:有些交易,如投票,可能需要绑定,在链上事件发生后将被退回或被 slash。在投票示例中,在选举结束时返回,或者如果投票人试图做任何恶意的事情,就会被 slash 惩罚。
押金:有些交易,如设置链上身份或声明索引,会无限期地使用存储空间。这需要一笔押金,如果用户决定释放存储空间(例如,清除他们的 ide),则会退还押金。
销毁:一项交易可能会根据其逻辑在内部销毁。例如,如果一个交易创建了新的存储条目,那么它可能会销毁掉发送方的资金,从而增加了状态大小。
限制:有些限制是协议的一部分。例如,提名者只能提名 16 个验证人。这限制了 Phragmen 的复杂性。
拓展部分
这个部分只涉及来自普通用户的交易。但是,如果你在区块浏览器中查看区块,你可能会看到一些与这些交易不同的 “ 外部信息(extrinsics) ”。在 Polkadot(以及任何构建在 Substrate 上的链)中,外部信息是来自链外部的信息。外在信息分为三类:
签名的交易
未签名交易
固定的(Inherents)
这里仅介绍签名交易,这是大多数用户与 Polkadot 交互的方式。签名交易来自一个有资金的账户,因此波卡可以收取交易费,以防止垃圾邮件。
未签名交易用于特殊情况,即用户需要提交来自不控制资金的密钥对的外部消息。例如,当用户在创世之后领取他们的 DOT 代币时,他们的 DOT 地址还没有资金,所以使用一个未签名的交易。验证人还以 “心跳(heartbeat)” 消息的形式提交未签名的交易,以指示它们处于在线状态。这些心跳必须由验证人的 session keys 之一签名。session keys 从不控制资金。未签名的交易只在特殊情况下使用,因为 Polkadot 不能对它们收费,因此每个交易都需要自己的自定义验证逻辑。
最后,固定的消息(inherents)是未签名或未包含在交易队列中的信息。因此,只有块生产者才能向块添加固定消息。固定消息被假定为“真的”,仅仅是因为足够多的验证人已经同意它们是合理的。例如,Polkadot 块包含固定的时间戳。没有一种方法可以证明时间戳是真的,就像用签名证明发送资金的愿望一样。相反,验证人根据找到时间戳的合理性来接受或拒绝块。在 Polkadot 中,它必须在自己的系统时钟可接受的范围内。
了解更多
Web3 Foundation Research:https://research.web3.foundation/en/latest/polkadot/Token%20Economics.html#relay-chain-transaction-fees-and-per-block-transaction-limits
Substrate Weights:https://substrate.dev/docs/en/knowledgebase/learn-substrate/weight
Substrate Fees:https://substrate.dev/docs/en/knowledgebase/runtime/fees
Extrinsics:https://substrate.dev/docs/en/knowledgebase/learn-substrate/extrinsics
原文链接:https://wiki.polkadot.network/docs/en/learn-transaction-fees
翻译:PolkaWorld
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。