首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

以太坊“君士坦丁堡硬分叉”的详情全在这里

音频在此

最近以太坊将要进行的“君士坦丁堡硬分叉”吸引了整个区块链行业的眼球,我们也收到了不少朋友的问题,希望我们能够对此次事件做一个简单的解答。

我们先来看一看这件事情的前因后果,以及之后又可能会带来哪些影响?

我们都知道,是以太坊开创了区块链2.0的时代,虽然现在币圈的开山鼻祖是比特币,但比特币有它自己的局限性:比特币自始至终的定位都是货币,它是无法与各种应用场景结合的。

直到以太坊的出现,才打破了这种局面。以太坊提供了一个开源式的底层系统,开发人员通过以太坊编程新的分布式应用,基于以太坊的公链,各个新型项目也层出不穷,开发人员从此能够真正接触并使用区块链技术做应用尝试。或者你可以将之理解为,有了以太坊,才出现了“全民发币”的局面。

在应对各种各样需求的过程中,以太坊自身也在不断升级和优化,以太坊开发社区将它的生态发展拟定了4个阶段,分别是:

“前沿”(Frontier)、

“家园”(Homestead)、

“大都会”(Metropolis)

以及“宁静”(Serenity),

每个阶段进步到下一个阶段都是通过硬分叉的方式实现的。

前两个阶段都是PoW共识机制(工作量证明),只是有了少量的改动和升级,而到了“大都会”阶段,以太坊要发生一个大变化,就是它要从原先的PoW共识机制慢慢过渡到更具效率的PoS共识机制(权益证明),其验证交易有效性的方式会变得越来越高效。

但是这一过渡并非一朝一夕就能完成,此次改动非常大,以至于不得不分阶段进行:第一阶段拜占庭硬分叉已经2017年10月16日顺利施行,现在实现的是它的第二阶段——君士坦丁堡硬分叉。

在2018年12月7日举行的以太坊核心开发人员大会上,以太坊的核心开发者们决定要进行君士坦丁堡硬分叉,其实原定时间为去年11月,由于核心开发人员不愿意“赶时间”而将硬分叉推迟至今。

以太坊区块链的第7,080,000区块将作为激活点正式开启君士坦丁堡硬分叉。

本次分叉的主要是为了解决之前拜占庭硬分叉所没有解决的问题。这个阶段的重点在于将以太坊的共识机制由PoW向PoW+PoS混合机制过渡,从而使整个以太坊网络更加的轻盈、快捷与安全。

按官方说法,具体在现有以太坊PoW主网上进行升级的有以下5个方面(以下涉及技术部分,新手小白可选择绕道):

EIP 145:给EVM增加移位相关指令,包括左移SHL,逻辑右移SHR,算术右移SAR

EIP 1014:产生合约地址的一种新规则,与状态通道有关。规则为keccak256( 0xff ++ address ++ salt ++ keccak256(init_code)))[12:]

EIP 1052:为EVM增加EXTCODEHASH指令,这个指令可以获得一个合约bytecode的keccak256的hash值;

EIP 1283:修改EVM的SSTORE指令gas计算方式,预计会减少许多合约的gas消耗,需要硬分叉支持;

EIP 1234:将是潜在最有争议的提案,也需要硬分叉支持,它包括难度炸弹(Difficulty Bomb)协议推迟12个月和挖矿奖励调整,难度炸弹使挖矿难度随时间推移越来越高,挖矿奖励调整将挖矿奖励从3个降低到2个;

按照目前的挖矿速度来看,以太坊的第7,080,000区块将会在本月16日被挖出,硬分叉的时间确定为1月14日-1月18日这个区间。

值得一说的是,本次君士坦丁堡硬分叉虽然大部分提案是对底层协议进行了更改,但并不会直接对PoW共识机制进行变更。主要是改进现有的以太坊底层虚拟机(EVM),为之后的PoS测试网的上线,并由PoW机制转向PoW+PoS混合机制做铺垫。

综上所述即为这件事情的前因后果,我们也从官方社群选取了一些用户提问,在这里统一为大家作出解答:

问题1:为什么会“分叉”?

“分叉”这个概念,最早来自于比特币。

我们都知道比特币的交易都是基于比特币区块链网络,在这个网络上,每隔10分钟就会产生一个新的区块,而区块容量的大小则会对交易的效率产生限制,如果交易量过大,就会造成比特币网络的拥堵。

所以在扩容的问题上,比特币社区出现了分歧。以Core为首的比特币原开发团队认为,比特币是一种价值储存品的电子黄金,一旦扩容会破坏其核心的东西。而以吴忌寒为首的矿工团队则认为,比特币未来应该是一种可快速流通的货币,需要对其进行扩容以解决交易拥堵问题。

因为区块链的去中心化特性,任何个人和机构都无法决定比特币系统该如何去“扩容”,大家的意见产生了分歧,谁也不愿意退让,于是,大家一拍两散,分别按照自己的意愿改动了原始的系统,然后互不相容,各走各的路,比特币这条链便分裂成了BTC和BCH两条链,久而久之就演变成了所谓的“分叉”。

问题2:如何区分“软分叉”和“硬分叉”?

“硬分叉”是指:区块链发生底层协议的永久性分歧,新分叉所产生的区块无法被旧软件识别,而那些继续使用旧的底层协议的节点与新产生的节点互不承认并各自延伸,大家虽然同根同源,但互不干预,成为了两条链,两种币。

“软分叉”是指:在新的共识规则发布后,新规则仍旧符合老的规则,旧版本的节点可以验证使用新版本节点所生产出的区块,使用新版本的节点也可以验证使用旧版本节点生产出的区块,两种版本可以兼容。

还是以比特币为例,2017年比特币隔离见证升级所采用的就是软分叉。在整个过程中,不管是使用旧版本还是使用新版本都没有关系,因为两者兼容,新版本只是更好地解决了一些问题,本质上大家还是在比特币这一条链上跑,没有新币产生。

所以软分叉与硬分叉的区别就在于,使用旧协议的节点能否与新协议的节点相互识别,两种区块可以相互识别,就是软分叉,不能则是硬分叉。

问题3:以太坊的发展阶段都是怎样的?分别进行了什么样的改动?

第一个阶段“前沿”,是从2015年7月30日,以太坊的第一次版本发布开始。这个阶段主要是为了将整个系统搭建出来,建立一个让人们可以在里面测试分布式应用的平台。这时候大家就已经能在里面进行软件开发了,但是还没有很成熟。

以太坊正式步入了第二个阶段“家园”发行于2016年3月14日。以太坊的协议优化了,从而使这个阶段系统更加稳定的同时,加快了交易的速度,降低了使用的门槛。普通用户也可以参与以太坊的挖矿,从而更加方便地体验以太坊系统网络。

以太坊的第三个阶段“大都会”比起前两个阶段则有些特殊,这个阶段的主要用途是为了使整个以太坊系统能平稳地从PoW共识机制向PoS机制过渡,从而变得高效与安全。于是,前两个阶段百分百采用的PoW共识机制,在大都会这个阶段中会发生更改,为之后“宁静”阶段打下基础。

“宁静”有各种传言和猜测,我们拭目以待。

问题4:文中提到的以太坊PoW主网上进行升级的几个方面(即EIP提案)都代表什么意思?它们有什么作用吗?

我们尽量把它说的简单一些:

其中EIP 145提案是由以太坊核心开发人员所进行的技术升级,通过“按位移位”的方法,可以使以太坊网络更为有效的处理信息;

EIP 1052提案提供了一种优化以太坊大规模代码执行的方法。

这两种提案都通过改进以太坊的底层虚拟机(EVM),从而提高网络的效率,增强了智能合约开发者的开发体验。

EIP 1014提案是由V神自己所创建,主要是为了促进基于状态通道和“离线”事务的某种类型的扩展解决方案,一旦施行,则能释放更多的网络资源和空间,实现扩容。

EIP 1283提案优化以太坊上智能合约的数据存储方式,降低了以太坊合约创建的燃料费(即成本),使智能合约开发商受益。

以上4条提案都是基于以太坊网络效率与开发成本进行改进,而最后一条提案EIP 1234,则是对以太坊的通证经济进行了更改,降低了挖矿奖励,增加了挖矿难度。

问题5:此次分叉可能会给以太坊的价格带来什么影响?

这个可能也是大家最关心的问题了,那么我们简单分析一下以太坊此次硬分叉给市场带来了怎样的信号:

首先本次升级已经预示着以太坊“大都会”这一核心技术升级阶段即将完结,将后续以太坊从POW向POS算法转变的各项规划提上日程。

虽然总体来看,君士坦丁堡的大部分升级提案本质上都是对底层协议的“改进和优化”,对普通用户无明显影响,但是它的性能将会在此次硬分叉之后大大提高。

我们都知道ETH没有限制最大发行量,但挖矿速度显然远远超出了创始人Vitalik最初的预期,导致ETH严重通胀,广大投资者及矿工手中的ETH价值不断被稀释和贬值。甚至,以太坊团队不得不加大人为干预和调控以抑制通胀。

但随着这次升级伴随着挖矿难度增加,挖矿成本提升,区块奖励降低,市场供应量减少,对ETH的价值提升无疑是一种利好。

-END-

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190112G0Y63J00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券