摘要
万众瞩目的以太坊“君士坦丁堡”硬分叉计划于以太坊区块高度7,280,000上进行,预计北京时间3月1日。本次以太坊的技术升级,采用的是硬分叉方式。所谓硬分叉是指通过修订协议引入新的特性,可能会使前一版本的协议失效。因此,硬分叉造成的规则改变无法向前兼容,旧节点无法确认新节点产生的区块,于是新旧节点会开始在不同的链上运行。在设计之初,以太坊的目标就不仅仅是作为一个类似比特币的数字货币,而是一个去中心化的应用平台。在达到最终目标之前,它需要经历不同的升级阶段,在每一个阶段以太坊都会引入新的特性来使得系统变得更加稳定和强大。为此,以太坊的创始团队为其设定了四个发展阶段:前沿,家园,大都会,宁静,而不同阶段之间的转换都通过硬分叉的方式来实现。本次的“君士坦丁堡”硬分叉属于以太坊大都会的第二个阶段,主要包含了EIP-145、EIP-1052、EIP-1283、EIP-1014和EIP-1234共5项更新方案。这些提案主要用于改善在以太坊上部署智能合约的成本和效率;其中最受关注的两个提案是EIP-1014和EIP-1234。其中EIP-1014主要是引入状态通道,用于交易结算的链下进行,以此提高以太坊网络的吞吐量;另一个EIP-1234提案则是减少区块奖励,延迟难度炸弹,这直接减少了矿工的收益。以太坊本次的升级主要为之后的革命性变革打下基础。开发体验以及效率均会得到一定的改善,开发者以及用户均会受益。而推迟难度炸弹以及出块奖励的降低,正是为下次的升级最好准备。在市场影响方面,由于本次硬分叉计划一再推迟,早已耗尽了市场的耐心,同时本次升级也没有给以太坊带来实质性的变革,因此预测对ETH价格的影响不大。风险提示:数字货币市场具有高投机性与高风险性,监管部门对数字货币市场的监管态度尚不明确正文
1.背景介绍
君士坦丁堡硬分叉作为以太坊Metropolis的第二阶段,目的是通过降低费用、提升区块链效率等方式,为以太坊最终过渡至第四阶段的PoS机制打下基础。君士坦丁堡硬分叉名字的起源来自于东罗马帝国首都君士坦丁堡,由于以太坊创始人Vitalik是俄罗斯人,而俄罗斯在历史上继承了东罗马帝国东正教的传统,因此以此命名。日前,以太坊基金会的发言人表示以太坊“君士坦丁堡”分叉将于3月1日激活;届时,本轮硬分叉的相关改进方案将在以太坊主网上正式部署。市场普遍认为,通过本次硬分叉,以太坊在交易处理速度上将大幅上升,而ETH产量的缩减有助于其价格的上涨。现在就让我们来认真研究一下此次的“君士坦丁堡”硬分叉以及对以太坊的未来影响。1.1.硬分叉和软分叉
动态 | 以太坊君士坦丁堡及彼得斯堡硬分叉将于2月25日进行:据ambcrypto报道,以太坊硬分叉协调员和Parity Technologies的发布经理Afri Schoedon在Reddit上表示,君士坦丁堡硬分叉预计将于2月25日UTC时间11:54:02启动。这次升级将与此前提出的不同,因为将在同一个区块上进行两个分叉,第一个是初始分叉君士坦丁堡,第二个是彼得斯堡(Petersburg)分叉。据此前报道,以太坊改进提案EIP1283可能会为攻击者提供窃取用户资金的代码漏洞。为避免这种情况发生,团队决定在同一区块进行两个硬分叉。第一个硬分叉将实现所提出的全部更改,而第二个硬分叉将禁用被发现问题的协议。[2019/2/13]
众所周知,区块链是一个分布式的共识系统。对于一个分布式的系统,想要引入一些新的特性必须协调好系统中的各参与者。因为在每次系统的升级时,并不是所有的节点都会及时更新版本,这样就导致升级了软件的节点和未升级软件的节点运行在不同的规则之下,于是就产生了分叉。举一个简单的例子,我们在使用Microsoft的Word2003与Word2016时会发现很多格式不兼容,而区块链网络的分叉也与此类似。而在介绍“君士坦丁堡”之前,我们还需要理解什么是硬分叉和软分叉。所谓硬分叉,是指通过修订协议引入新的特性,可能会使前一版本的协议失效。即运行新版本协议的节点认定为有效的区块,会被运行旧版本协议的节点认定为无效。老节点会认为其他分支才是区块链最长、有效的分支,并一直拓展这个分支,直到全部旧节点都升级版本后分叉才会结束;而软分叉则是对协议加入了新的特性,让现有的验证规则更加严格。此时老节点依然会接收所有的区块,而新区块会拒绝一些,此时老节点可能会挖到一些无效的区块,因此会激励老节点去更新协议。这样可避免硬分叉造成的永久分裂,只会产生一些临时的小型分叉。简而言之,硬分叉造成的规则改变无法向前兼容,旧节点无法认可新节点产生的区块,于是新旧节点会开始在不同的链上运行;而软分叉造成的规则改变是可以向前兼容的,旧节点可以兼容新节点产生的区块。
动态 | 以太坊君士坦丁堡升级讨论会即将开始:以太坊君士坦丁堡升级讨论会议时间定在2019年1月18日14时(UTC),即北京时间18日22时。目前距离讨论会开始还有25分钟。据悉,该会议将重点讨论难度炸弹更新、如何以及何时重新施行硬分叉、君士坦丁堡之后的路线图问题、以及有关ProgPoW Hardfork和客户端更新等问题。详情见原文链接。[2019/1/18]
1.2.以太坊的发展路线
在设计之初,以太坊的目标就不仅仅是作为一个类似比特币的数字货币,而是一个去中心化的应用平台。在达到最终目标之前,它需要经历不同的升级阶段,在每一个阶段以太坊都会引入新的特性来使得系统变得更加稳定和强大。为此,以太坊的创始团队为其设定了四个发展阶段:前沿,家园,大都会,宁静,而不同阶段之间的转换都通过硬分叉的方式来实现。1.2.1.前沿Frontier是2015年7月以太坊发行初期的试验阶段,作为以太坊的最初版本,其采用了一个类似Bitcoiners的模型。该阶段的软件还不太成熟,相当于一个空白版的以太坊网络,只有命令型界面,没有图形界面,但是可以进行基本的挖矿、学习、测试分布式应用。此版本主要针对专业的开发人员,技术开发门槛较高。1.2.2.家园Homestead是以太坊第一个正式的产品发行版本,于2016年3月发布。“家园”阶段与“前沿”阶段相比,没有明显的技术性里程碑,只是表明以太坊网络可以正常平稳地运行。以太坊团队计划在前期使用PoW机制,后期逐步转向PoS机制。PoS机制的运用将会降低挖矿的门槛,因为在该机制下不需要再去购买价格高昂的硬件矿机,对矿工来说他们花高价购买的矿机将无用武之地,这势必会引起矿工的不满。为了防止PoW机制转PoS机制的过程中矿工联合起来抵制,从而分叉产生两条公链,以太坊团队在“家园”阶段引入了难度炸弹。所谓难度炸弹,是指计算难度时除了根据出块时间和上一个区块难度进行调整外,加上了一个每十万个区块呈指数型增长的难度因子。随着区块高度的增加,呈指数增长的难度因子比重将会显著提高,使得出块难度大大增加,矿工将难以挖出新的区块。由于出块越来越艰难,最后区块将被完全冻结无法产生,这个过程又被称作“冰川时代”。有了这个预期,那么转PoS引起的硬分叉就不会是一个困难的选择.。难度炸弹的设计初衷是好的,然而由于各方面原因,以太坊转PoS机制的计划被不断延迟,这也推迟了从PoW机制到PoS机制的转换时间,为了维持以太坊网络的正常运转,难度炸弹代码被多次修改以延迟“冰川时代”的到来,因此其激励效果已经不比从前。1.2.3.大都会
动态 | 以太坊君士坦丁堡升级将推迟至18日:据Coindesk报道,智能合约审计公司ChainSecurity周二表示,如果实施以太坊改进提案(EIP)1283,可能会为攻击者提供窃取用户资金的代码漏洞。因此,在电话会议上,以太坊开发人员、客户和其他运营网络项目的开发商同意至少暂时推迟硬分叉。该项目的核心开发人员表示,在硬分叉之前修复漏洞需要很长时间,因此硬分叉(升级)预计将在UTC时间1月17日04:00(北京时间18日中午12:00)左右执行。[2019/1/16]
“大都会”是以太坊发展的第三个阶段,该阶段将又分为两个部分:分别是“拜占庭”和“君士坦丁堡”。我们现在正处于大都会的拜占庭阶段,而在2019年的3月1日,以太坊将迎来“君士坦丁堡”分叉。“拜占庭”分叉开始于2017年的10月,以太坊网络在第4370000区块左右顺利实现硬分叉。在该阶段,以太坊仍然100%地采用PoW机制,但是以太坊引入了一个图形界面,让非技术用户也能便捷使用,这就是Mist浏览器。此外,由于PoS机制的开发受阻,为了防止难度炸弹影响网络的性能,以太坊还将挖矿难度按照回退300万个区块的高度去计算,因此出块的时间又回到15秒左右,但为防止通货膨胀,区块的奖励也从5ETH减少为3ETH。
1.2.4.宁静“宁静”是以太坊的第四个阶段,具体进行时间待定。在该阶段以太坊将完全使用PoS机制,此后以太坊网络将不再需要矿工挖矿。在Devcon4大会中,以太坊创始人Vitalik详细讲述了宁静阶段以太坊将会发生的重大变化。在“宁静”规划中,以太坊除了PoW链之外会添加一条PoS链—BeaconChain。在这一条链上会有两种角色—区块生产者和验证者。在链上存入32个ETH,即可成为确认人,确认人有权利产生区块,也会有机会被选为验证者。而在链上最终的确认方式也会由PoW的6区块确认更改为CasperFFGfinality确认。此外,由于PoS机制开发团队与Sharding开发团队合并,ShardChain会在宁静阶段正式上线,用于真正处理资料,独立运作,以提升以太坊的效率和安全性。
动态 | Kraken交易所宣布支持ETH君士坦丁堡升级:Kraken交易所在推特上宣布支持ETH君士坦丁堡硬分叉,并表示,这将是一个没有争议的升级,ETH持有者不会再获得新的糖果了,因为预计旧的链很快就会过时了。[2019/1/15]
目前,宁静阶段将会分为四个阶段完成,在Github上已经更新了前两阶段的标准,具体四阶段安排如下:第一阶段:Beacon链上线第二阶段:Shard链上线第三阶段:EVM2.0上线第四阶段:其余改进完成2.一波三折的“君士坦丁堡”硬分叉
2.1.“君士坦丁堡”的主要升级议案
在即将到来的“君士坦丁堡”硬分叉中,主要包含了EIP-145、EIP-1052、EIP-1283、EIP-1014和EIP-1234共5项更新方案,具体如下:EIP-145:逐位移动EIP-145主要由AlexBeregszaszi和PawelBylica两位技术人员来编写。当前以太坊虚拟机缺少按位转移的运算符,尽管位移操作可以通过算术运算符来实现,但成本比较高,处理的时间也比较长。例如,通过使用算术来实现左移和右移都需要消耗35gas,而使用EIP-145方案后只需要消耗3gas,因此采用EIP-145后运行某些智能合约的成本将显著减少。EIP-1052:EXTCODEHASH操作码智能合约通常都需要检查其他合约的字节码,但在很多情况下,智能合约本身并不需要其他合约的字节码。检查其他合约的字节码主要是通过EXTCODECOPY操作符来执行,因此如果需要检查很多智能合约,则将会很昂贵。因此,EIP-1052提议使用一种新的操作符—EXTCODEHASH,该操作符将返回合约字节码的keccak256哈希,从而更具效率和成本效益。EIP-1283:调整SSTORE操作码的净gas计量EIP-1283由Johnson编写,其基于EIP1087,该提议主要了引入了一种针对数据存储更改更公平的定价方法,这可以让智能合约开发者受益。EIP-1014:SkinnyCREATE2EIP-1014由以太坊创始人VitalikButerin亲自创建,该提案将状态通道的概念引入到了以太坊网络。这将允许交易的结算在链下进行,类似于比特币的闪电网络。EIP1014本身将对以太坊网络的吞吐量带来巨大的提升,因此以太坊网络每秒将能够处理更多的交易。EIP-1234:减少区块奖励&延迟难度炸弹因为当前Casper机制还无法确保100%的安全,所以本次以太坊采用EIP-1234,主要引入了两个提议:一是将难度炸弹延迟12个月,二是将区块链奖励从3ETH减少至2ETH,防止因延迟难度炸弹带来的通货膨胀。经过本次分叉后的以太坊,其网络将会更轻量、快速与安全。但在上述议案中,争议最大的是EIP-1234,因为其将出块奖励从3ETH减少到2ETH,直接减少了矿工的收益。2.2.“圣彼得堡”方案
动态 | 以太坊君士坦丁堡升级被推迟至2019年初:据coindesk报道,开发人员在周五的会议上证实,以太坊君士坦丁堡硬分叉升级将推迟到2019年初。据悉,最初的目标是在今年11月启动,然而在测试网络上发布的代码中发现几个错误后,开发人员推迟了硬分叉。现在将时间定为1月下旬或2月的某个时间,开发人员在周五的电话会议上同意,下个月推进硬分叉是不明智的。[2018/10/20]
“君士坦丁堡”于去年10月中旬首次在以太坊公共测试网络Ropsten上进行测试,原计划于去年10月中旬开始进行硬分叉,但是在分叉前开发者团队宣称在测试网络上遇到了“共识问题”,目前已经导致一个测试网络“无法使用”。因此,硬分叉推迟至7,080,000区块实施,即今年1月下旬。然而,在1月15日在分叉前夕,智能合约审计公司ChainSecurity发现EIP-1283存在被攻击的漏洞。为此,“君士坦丁堡”分叉不得不再次推迟。“君士坦丁堡”分叉的一再延迟打击了市场对以太坊的信心,以太坊团队考虑到修复EIP-1283漏洞将进一步延迟以太坊分叉的时间,另一方面包括Ropsten在内的几个以太坊测试网络上已经升级了含有漏洞EIP的所有五个议案。为此,以太坊核心开发者团队提出了“圣彼得堡”方案,即在第7,280,000区块上执行“君士坦丁堡”中五个原EIP之后,激活“圣彼得堡”方案,将EIP-1283安全地移除。3.硬分叉带来的实际影响
3.1.公链之战,以太坊打响奠基之战
以太坊作为传统的公链之王,在区块链发展的各个阶段都发挥了重要的作用。可以说,以太坊是除比特币之外发展最成功的公链平台。以太坊无论是在项目募资、去中心化应用以及游戏等方面,均占据了半壁江山。无论是2016年-2018年项目募资狂潮,还是2017年加密猫的火爆,以太坊均作为一个未来区块链航程的领航者,为区块链世界带来比特币无法比拟的想象力。诚然,在2018年,伴随着DPoS机制的兴起,EOS、TRON等公链在区块链落地方面做出了不同的尝试,也逐步蚕食着以太坊的优势。特别是相比于DPoS的高处理速度,以太坊在应用方面显得捉襟见肘,也让开发者在2018年下半年开始的游戏浪潮,更多的选择了EOS及TRON所代表的新一代区块链平台。但是,以太坊的先发优势依旧存在。根据DAppRadar统计,截止到2019年2月27日,在以太坊、EOS、TRON三大主要公链上,Dapp的总数分别是1403、329、167。以太坊的去中心化应用总数比另外两条主要公链Dapp数量加起来的4倍还多,开发者数量巨大。这都是以太坊对其他公链所占据的优势。以太坊现阶段为人诟病的主要在两个方面,开发体验以及PoW所带来的低效率。就开发体验而言,本次分叉在一定程度上也解决了这一问题,为之后的革命性升级打下基础。具体而言,EIP145提案中,以太坊通过“按位移位”的方法,提升了其处理信息的能力。而EIP1052中,以太坊将会改善其底层虚拟机,从而提升智能合约的体验。本次硬分叉之后,以太坊开发者的gas使用以及操作体验均会有所提升。而以太坊的PoW机制所带来的问题,其实也是以太坊发展的必然结果,这也与以太坊发展的战略相关。其PoW过度至PoS的战略核心在于早期通过消耗建立可以信赖的数字加密货币体系,在体系构建完成之后,采用更具效率的PoS机制来保证主网运行效率。现阶段来讲,还处于构建货币体系的时期,因此,此次不会对PoW机制进行根本性的修改。但是,EIP1014所提出的状态通道和离线解决方案,会使得某些第二层解决方案开始起作用。预计本次硬分叉之后,以太坊的TPS会提升5%-10%,在一定程度上提升了以太坊的效率,而状态通道的提出也让以太坊从结构上得以改进。以太坊本次的升级主要为之后的革命性变革打下基础。开发体验以及效率均会得到一定的改善,开发者以及用户均会受益。而推迟难度炸弹以及出块奖励的降低,正是为下次的升级最好准备。以太坊创始人Vitalik也宣布,以太坊下次硬分叉将命名为“伊斯坦布尔”,将会在以太坊主网部署租赁技术,开始对以太坊的庞大存储成本问题进行改进。可以说,以太坊的优势正是开发者对于以太坊的不断改进和提升。本次硬分叉虽然一波三折,且主要是微小改进,但是对于以太坊而言,正是为未来的变革打下坚实的基础。近半年来,以太坊虽然难度逐步下跌,但是以太坊的链上转账以及Gas消耗并没有明显减少,正是体现了其主网构建的稳定,未来可期。3.2.硬分叉引发的价格预期可否持续
在历史上,以太坊前前后后共经过七次硬分叉,其中与本次“君士坦丁堡”类似的还有“家园”阶段和“拜占庭”阶段的硬分叉,而其他的硬分或是是为了突发事件,或是在宣传和规模上较小,与本次硬分叉没有可比性。以太坊每次因技术升级带来的硬分叉都会给ETH带来巨大的行情波动。基于这一现象,我们选取上述两次历史上的硬分叉进行分析。根据C的数据显示,以太坊“家园”阶段的硬分叉发生与2016年3月14日,ETH在分叉前的七天上涨了22.74%,在分叉前的三十天上涨了136.45%,但在分叉后ETH的价格在七天里下跌了18.68%,三十天下跌了46.17%。同样地,发生在2017年10月16日的“拜占庭”硬分叉,在分叉前的前七天上涨了11.76%,前三十天里上涨了40%,但在分叉后的七天里下跌了16.76%,三十天时间下跌了1.34%。
从实际情况看,在“家园”硬分叉阶段,由于2015年下半年以太坊Frontier版本的发布,让人们看到了以太坊的技术实力和智能合约的潜力,为此市场对即将到来的“家园”版本普遍持乐观态度,因此以太坊在分叉前的几个月处于上涨通道,此过程中必然有泡沫的累积,在硬分叉结束后市场的乐观预期也随之结束,因此硬分叉后ETH价格的下跌成为必然。而在“拜占庭”硬分叉阶段,尽管当时以太坊团队公布了“大都会”时代引入的新特性,但从“拜占庭”分叉的提案看并没有给以太坊带来质上的变化,因此尽管ETH价格在分叉前几天有小幅上涨,但市场对“拜占庭”分叉的反应不大。就本次“君士坦丁堡”硬分叉而言,由于硬分叉计划一再推迟,早已耗尽了市场的耐心;从升级议案看,也没有给以太坊带来实质性的变革;而数字货币市场的寒冬还远未结束,因此我们预计本次硬分叉不会给ETH的价格变化带来太大变化,但小幅波动仍有可能发生,毕竟在区块链行业寒冬之中,以太坊的硬分叉仍然是市场关注的重点。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。