织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

为 DeFi 农民寻找手续费最优解,星火矿池谈 GasNow 设计原理 (3)

时间:2020-09-19 13:56来源:未知 作者:admin 点击:
橙皮书:GasNow 的产品设计非常极简,上面现在就四个数字(极速、高速、一般、缓慢),普通用户怎么来用呢? 喵叔:首先要了解一点,每个区块 Gas L

为 DeFi 农民寻找手续费最优解,星火矿池谈 GasNow 设计原理

橙皮书:GasNow 的产品设计非常极简,上面现在就四个数字(极速、高速、一般、缓慢),普通用户怎么来用呢?

喵叔:首先要了解一点,每个区块 Gas Limit 的上限是 1250 万,不同类型的交易所需要的 gas 数量不同,普通的 ETH 转账需要 21000 个 Gas,复杂的合约交易可能需要几百万个 Gas,所以每个区块实际打包到的交易笔数是变化的,最低几十笔甚至几笔交易,最高则可以有 600 多笔交易(1250 万 /21000)。

GasNow 的计算方法,第一步是先把待打包队列中的 2000 笔交易全部列出来 (tx1,tx2,tx3,tx4,……txn……tx2000),然后按 Gas 价格从高到低排列。下一个区块能够打包的是其中的 N 笔交易(tx1,tx2,tx3,tx4……txn),注意这里的 N 是不确定的。

在这一基础上,我们计算出了这四个数字,含义分别如下:「极速」模式,代表的是(tx1,tx2,tx3,tx4……txn)中位数交易的 Gas 价格,「高速」是 txn 的 Gas 价格。「一般」是第 max(tx2n,500) 笔交易的 Gas 价格,「缓慢」则是第 max(tx5n,1000) 笔交易的 Gas 价格。假如下个区块能够打包 300 笔交易,即 n=300,那么「一般」表示第 600 笔交易的 gas 价格,「缓慢」则表示第 1500 笔交易的 gas 价格。

其实更极简一点,我觉得可能只放前两个数字(极速、高速)就够了。

橙皮书:是不是只要我给出的 Gas 价格跟第二个数字(高速模式,即 txn 的 Gas 价格)一样,就肯定能被打包进当前的区块?

喵叔:这其实有非常多种可能性,因为牵涉到 Gas Limit 的问题。比如你给的 Gas 价格跟当前正在打包的块中的最后一笔交易相同,如果这笔交易被打包进去后,刚好用完了这个区块的 Gas Limit,那你就得挪到下一个块。

到了第二个块,如果这时又有人出更高的 Gas 价格,那它又排在了你的前面。你又没法第一时间打包上去了。所以为什么 GasNow 不根据历史数据去做预测呢?因为预测交易被打包的排序真的非常难。我们还是聚焦于当前这一时刻的数据,专注去解决实时性的问题。

橙皮书:除了四个数字,GasNow 上还有一个 Pending Transactions 的图表,能解释下这个图表的含义吗?

为 DeFi 农民寻找手续费最优解,星火矿池谈 GasNow 设计原理

喵叔:这个图表横轴代表的是交易的 Gas 价格,纵轴是大于等于这个 Gas 价格的交易笔数。所以 pending transactions 实际上代表了一个全局的信息,囊括所有待处理交易的 Gas 价格信息。我们选出来的四个数字,只是这个全局信息坐标里的四个点而已。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容