资讯专栏INFORMATION COLUMN

即将来临的君士坦丁堡硬分叉详情(2019年1月)

klinson / 504人阅读

摘要:看一下替换区块高度的那个伪区块高度是本次君士坦丁堡分叉生效的高度第万块。本次君士坦丁堡分叉就位于大都会的第二阶段,预计年月实施。

君士坦丁堡分叉包含5个EIP

EIP145

EVM目前只有算数和逻辑运算,缺少原生移位运算,这个提案里补充上了,将之前通过算术运算实现的左移和右移运算的gas成本从35减少到3gas。向后兼容对之前创建的合约没有影响。

新增栈操作码:0x1b左移,0x1c逻辑右移,0x1d算术右移。

EIP1014

这个提案改变了合约地址的生成算法,原来的只需要对交易发起地址和这笔交易的nonce进行keccak256就可以了,现在加了几个参数变成:keccak256( 0xff ++ address ++ salt ++ keccak256(init_code)))[12:],主要是为了避免生成的地址发生碰撞。

新增栈操作码:0xf5 Create2。

EIP1052

新增一个操作EXTCODEHASH,可以直接返回合约的字节码Hash,而以前获取合约字节码Hash的操作是EXTCODECOPY,gas比较昂贵。

新增栈操作码:0x3f EXTCODEHASH。

EIP1283

EVM存储很贵,这个提案就是要优化SSTORE操作指令,改变这个操作消耗gas的测算算法。SSTORE是EVM将数据存入内存槽的主要指令。

EIP1234

这个提案调整难度炸弹、降低挖矿奖励。

1、这次分叉并不包含Casper,POS的切换也被推迟了,还是采用POW机制,只不过调整下POW的难度计算规则,我们看下之前的难度计算规则:

//根据父块和最新块的时间差动态调整难度,小于10增加难度,大于等于20减小难度。

block_diff = parent_diff + 难度调整 + 难度炸弹
难度调整 = parent_diff // 2048 * MAX(1 - (block_timestamp - parent_timestamp) // 10, -99)
难度炸弹 = INT(2^((block_number // 100000) - 2))

从上面可以看到,难度炸弹是指数曲线增长的,到一定区块高度会陡增,从而减慢出块时间,而本次分叉不再用区块高度了,而是用一个伪区块高度计算,从而将难度炸弹延迟大约12个月,以太坊系统还保持以往15秒一块的稳定速率,等到2019年冬季结束的时候,平均出块时间会是30秒。

看一下替换区块高度的那个伪区块高度:

fake_block_number = max(0, block.number - 5_000_000) if block.number >= CNSTNTNPL_FORK_BLKNUM else block.number

CNSTNTNPL_FORK_BLKNUM是本次君士坦丁堡分叉生效的高度:第708万块。

2、为了减小以后切换到POS,矿工发生分叉的概率,本次也减小了区块奖励提前让大家适应下。

具体每块的奖励由3eth降到2eth,叔块奖励也调整为:

new_uncle_reward = (8 - k) * new_block_reward / 8
k = block.number - uncle.number

侄块的奖励:

new_nephew_reward = new_block_reward / 32
分叉史

最后梳理一下以太坊分叉史,以太坊规划了四个升级阶段:

1、Froniter(边境)
2、Homestead(家园)
3、Metropolis(大都会)

大都会分两个阶段:拜占庭和君士坦丁堡。
本次君士坦丁堡分叉就位于大都会的第二阶段,预计2019年1月实施。

4、Serenity(宁静)

未来实施。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/24485.html

相关文章

  • 今天,来聊一聊区块链中分叉

    摘要:更何况区块链中有几十万人几百万人,达成共识的难度之大可想而知,所以分叉也是自然而然会发生的事。,第一个聊区块链技术的中文播客。 showImg(https://segmentfault.com/img/bVbm6as?w=608&h=129); 周末来临,轻松一刻~ 我们推出了针对区块链技术的中文播客Fork It,由 Nervos 四位主播 Terry、Jan、Kevin、Danie...

    AlphaWatch 评论0 收藏0
  • Ethereum 君士丁堡安全漏洞对 FOD 影响

    摘要:由于在年月日凌晨,君士坦丁堡版本被曝出安全漏洞因此通道重启只能延期,重启日期需要根据基金会对这次安全漏洞对处理结果待定。君士坦丁堡安全漏洞智能合约中和存在重入攻击漏洞。 FOD 与 Ethereum 的前世今生 FOD 是 FIBOS 生态中的稳定币,与 USDC 1:1 锚定,其服务于需要稳定价值衡量的应用场景。FOD 通过跨链网关将 ETH 链上的 USDC 与 FIBOS 链上的...

    legendmohe 评论0 收藏0
  • Ethereum 君士丁堡安全漏洞对 FOD 影响

    摘要:由于在年月日凌晨,君士坦丁堡版本被曝出安全漏洞因此通道重启只能延期,重启日期需要根据基金会对这次安全漏洞对处理结果待定。君士坦丁堡安全漏洞智能合约中和存在重入攻击漏洞。 FOD 与 Ethereum 的前世今生 FOD 是 FIBOS 生态中的稳定币,与 USDC 1:1 锚定,其服务于需要稳定价值衡量的应用场景。FOD 通过跨链网关将 ETH 链上的 USDC 与 FIBOS 链上的...

    CHENGKANG 评论0 收藏0
  • 以太坊连载(二):如何使用Homestead文档及以太坊路线图

    摘要:以太坊的使用基础指南通过本节可以获取用户参与到以太坊项目中的基本方法。的发布是以太坊平台的第二个主要版本,也是以太坊发布的第一个正式版本。硬分叉变更以太坊从狭义上来说,是一系列协议。 以太坊的使用:基础指南通过本节可以获取用户参与到以太坊项目中的基本方法。首先,要想成为网络中的节点,需要运行一个以太坊客户端。在选择客户端这一节中列出了多重实现,同时针对不同的安装应选择什么样的客户端给出...

    fireflow 评论0 收藏0
  • ABC和BSV之争-吃瓜群众你看懂了吗

    摘要:此举遭到团队和比特大陆等方面的反对,并对版本提出反对。分叉事件后交易所则宣布,由于的分叉已经完成,原已不存在。故已将原有的兑换为和,兑换比例为今日,先后开放和提取和相关交易对交易。目前,的重放保护升级拟定计划在年月日。   2018年8月,Bitcoin ABC提出了一种新的共识变更,以提高BCH节点的速度,并引入外链。该变更将在2018年11月15日上线。但Craig Wright拒...

    wemallshop 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<