| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> 以太坊EIP-1559总结 -> 正文阅读 |
|
[区块链]以太坊EIP-1559总结 |
一、概要EIP-1559主要提出了区块BaseFee的概念,有以下特点: (1)basefee是动态变化的,用来指定gas的基础费用 (2)变化幅度和方向由一个公式算出,和之前区块的gas实际消耗以及gas target值(gasLimit / ELASTICITY_MULTIPLIER 乘数)决定 (3)当区块的gas目标值变大时,basefee会变大,否则会变小 (4)basefee的手续费会销毁,不会给矿工 (5)交易规定了用户愿意支付给矿工的每个gas的最高费用,以便于让矿工优先打包自己的交易(priority fee) (6)交易规定了用户愿意支付的每个gas的最大费用(max fee,包含basefee + priorityfee) EIP-2718中规定了这种交易的具体格式: 0x02 || rlp([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, destination, amount, data, access_list, signature_y_parity, signature_r, signature_s]) 二、动机以往的以太坊交易费的模式完全是一种激励模型,如果用户指定更高的gas Price,就会被矿工优先打包交易,这么做会造成一些问题: (1)交易费用的波动和交易的社会成本不匹配 (2)造成用户不必要的延迟等待:每个区块的gas Limit是有限的,交易可能需要等待好几个区块才能被纳入。现在没有一个机制让区块的大小可以动态变化。 (3)第一次拍卖效率低下:当前的方法中,用户需要指定最高的gasPirce,矿工选择最高的打包。这种交易费竞价机制导致交易费不好预估,并且用户往往付出了比真实成本更高的费用。 (4)当区块奖励消失后,区块链会变得不稳定 因此,在EIP-1559中,引入了Basefee的概念,它可以随着网络的拥堵情况而动态变化。当某个区块的gas目标值被耗尽,说明这时候交易比较拥堵,basefee会逐渐上涨,反之,如果现在不拥堵,则basefee会逐渐下降。这个机制下,basefee的改变是确定的(通过公式得出),所以钱包应用可以自动给用户设置非常可信的gas fee,大多数情况下不再用自己设置gas fee了。 对于大多数用户来说,basefee会被钱包自动设置,并指定一笔priorityfee,这个fee是为了激励矿工的,也是会自动被设置。用户可以自行设置max fee,以限制最大的fee支出。 这个fee系统中,矿工拿不到basefee,因为basefee会被销毁,矿工只能拿到priorityfee。 三、相关细节https://eips.ethereum.org/EIPS/eip-1559 中有对应的伪代码。 3.1 gas target计算从上面描述看,涉及到上一个区块的gas target值 = gasLimit / ELASTICITY_MULTIPLIER 乘数 计算代码如下:
3.2 basefee的计算
总结一句:
伪代码如下:
四、EIP-1559的交易费系统行为(1)网络不拥堵时 也就是区块gaslimit低于gas target时,用户只需要指定basefee以及最低限度的priorityfee即可,用户只需要接受basefee即可完成这笔交易,总之这种情况下就是定死一个价格,用户能接受就接受,不接受就不能发起交易 (2)网络拥堵时 也就是当有gasLimit超过gas target(gas target = gasLimit // ELASTICITY_MULTIPLIER),basefee就会开始比父区块增加。直到后续有某个区块的gas Limit为小于等于gas target的区块被挖出,basefee才会减少。如果区块大小已经有一段时间高于 1000 万 Gas,那交易费可能会很高,这最终将使得用户交易需求的回落。 (3)basefee增加速度 属于指数级增长: (4)basefee退化到竞价模式 当区块接近2000w的gasLimit,预计会有大量的用户利用priorityfee来让矿工优先打包自己的交易,这时候实际上整个fee系统退化到之前的竞价模式。 即便是这种情况下,basefee也能很好的被预测,增加的图如下: 五、如何影响用户行为解决拥堵当拥堵出现的情况,肯定是接连出现一系列大区块(即区块的gasLimit > gas target),这时候,basefee会指数级别增长。 当拥堵出现一段时间后,basefee会变得特别高,这时候用户很可能因为basefee太高而放弃交易,等待basefee回落后再交易。 当拥堵消失,basefee就会重新回落回来。 六、总结EIP-1559引入basefee并没有解决拥堵的问题,也并没有提升整个系统的tps。 我个人理解,basefee这个东西仅仅是把拥堵时段fee的增加给可预测化了,通过增加basefee来限制用户行为,解决拥堵(因为basefee太高很多人就不愿意交易了)。 实际上,之前竞价模式下,gasPrice也会很高,也可以阻止一部分用户进行交易。我理解basefee机制仅仅是把之前无序的竞价gasPrice的模式变得更加有序可预测而已。 References[1] EIP-1559官方文档:https://eips.ethereum.org/EIPS/eip-1559 关注公众号 获取更多干货分享 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/27 10:55:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |