作者:郭辉
今天,我们用最浅显易懂的语言,帮助你了解什么是「君士坦丁堡」升级,以及你应该做什么。
01
十问十答「君士坦丁堡」
在正式开始此次以太坊「君士坦丁堡」升级说明之前,先简明扼要地回答大家最关心的一些问题:
Q:一句话回答什么是君士坦丁堡?
A:是以太坊社区一次几乎没有争议的硬分叉升级,以改善以太坊网络。
Q:什么时候升级?
A:主网区块高度 7080000 激活,北京时间大致在 1 月 16 日到 17 日之间。
Q:我是否会得到分叉币?
A:几乎不会,因为是一次几乎无争议的升级,和 BCH 分叉不一样,不一样!
Q:如果我的 ETH 放在钱包,我需要做什么以应对这次升级?
A:什么都不需要做!
Q:如果我是以太坊矿工,我需要做什么以应对这次升级?
A:升级客户端,并且确保你在新的链上挖矿。
Q:这次升级是否会加入 PoS 共识?
A:不会,传闻中的 PoW/PoS 混合共识也不会在这次升级之列。
Q:这次升级到底升级了什么?
A:升级的主要内容都包含在 5 个 EIP(Ethereum Improvement Proposal,即以太坊改进建议的缩写) 当中,即 EIP145、EIP1014、EIP1052、EIP1234、EIP1283。
Q:为什么这次升级有人问我要私钥?
A:任何时候问你要私钥的都是骗子!要警惕!
Q:这次升级以太坊的价格会涨吗?
A:我也不知道。
Q:这次升级会不会部署 ProgPoW (一种对 ASCII矿机不友好、对 GPU 挖矿友好)算法?
A:不会,技术开发完成以及部署还没有确定的时间表。
02
「君士坦丁堡」升级了什么
其实,这次升级主要的改进基本都浓缩在上面提到的五个 EIP 里面,即 EIP145、EIP1014、EIP1052、EIP1234、EIP1283:
EIP145:出自以太坊开发人员 Alex Beregszaszi 和 Pawel Bylica;主要引进了一种叫做「按位移动」(Bitwise Shifting)的运算符。以太坊虚拟机(EVM)之前缺少这种运算符,只支持其他逻辑和算数运算符,「按位移动」运算符只能通过逻辑和算数运算符实现,现在通过原生支持「按位移动」运算符,能大大优化 DApp 开发者智能合约的 Gas 消耗。
EIP1014:以太坊创始人 Vitalik Buterin 亲自提出;新增了一个合约创建函数CREATE2,提供了一种可以提前预测合约地址的合约创建方法,该升级能更好地支持基于状态通道或者链下交易的扩容解决方案,即现在主流的 Layer2 方案。
EIP1052:出自以太坊核心开发人员 Nick Johnson 和 Pawel Bylica;引入了一个新的操作码,允许直接返回合约字节码的 keccak256 哈希值,该升级能有效减少以太坊网络对于大型智能合约的运算量,尤其是只需要智能合约的哈希值的时候。
EIP1234:该升级主要是将现有的区块奖励由 3 ETH 减少到 2 ETH,减产 33%,同时将难度炸弹(Difficulty Bomb)推迟 12 个月。
EIP1283:该升级通过更改 SSTORE 操作码优化智能合约网络存储的定价(Gas),减少和智能合约运行量不匹配的 Gas 消耗。
从上述五个核心的改进 EIP 来看,此次升级包含了从以太坊底层虚拟机到智能合约的一系列内容,提高了整个以太坊网络的性能。
当然,普通用户或者矿工感受最明显的可能就是难度炸弹延缓一年、区块奖励从 3 减少到 2、ETH 减产 33%、Gas 计算方法的调整。
03
「君士坦丁堡」升级对以太坊意味着什么?
1、对以太坊网络性能
EIP145 和 EIP 1052 都是从改进以太坊底层虚拟机(EVM)的角度去提升整个网络的性能,EIP145 通过引入更底层的运算符「按位移动」,从而提供更高效率的数值计算实现,使得某些智能合约的运行速度更快,消耗 Gas 更少。
EIP 1052 则是改进了链上智能合约的运行机制,一般情况下,智能合约都需要检查其他合约的字节码,但在很多情况下,智能合约本身并不需要其他合约的字节码,所以通过引入新的操作码,直接返回合约字节码的 keccak256 哈希值,不需要直接检查其它合约的字节码,使得链上智能合约的运行更高效,同时也更经济(消耗的 Gas 更少)。
当然还有V神亲自操刀的 EIP 1014,本质上是优化了对状态通道的支持,使得现在社区里面一些通过第二层网络(Layer 2)解决以太坊扩容的方案能够真正发挥作用。在以太坊正式迈向 PoS 之前,通过对状态通道的支持来缓解拓展性上饱受诟病的以太坊网络不失为一个明智的选择。
2、对开发者
对于以太坊上的智能合约或者 DApp 开发者来说,EIP145 和 EIP1052 通过提升智能合约的验证速度,能有效改进某些大型智能合约的运行时间和成本。
EIP1283 则是通过对以太坊网络数据存储的变更引入更加公平的定价方式,在一定程度降低开发者开发或者调整智能合约的成本(Gas)。
总之,这次升级能够降开发者的开发成本,对开发者无疑是友好的。
3、对矿工
对于矿工来说,EIP1234 应该是对他们影响最大的一个改进,当然这也可能也是此次升级相对而言争议最大的一项内容,因为这意味着矿工的区块奖励直接减少三分之一,挖矿成本相对增加,至于会不会出现某些人口中的矿机关机潮加剧,矿工转向其他币种,这个我们不知道。我们只知道,对于矿工、开发者、投资者、以太坊价格几方而言,这是一个典型的博弈论问题。
不过,对于以太坊的矿工来说,从以太坊的白皮书 2013 年发布以来,从他们决定挖以太坊的那一刻开始,心里应该就会想到会有今天,只是早晚的问题,因为以太坊的白皮书里白纸黑字写着最终整个网络会实现从 PoW 切换到 PoS,「君士坦丁堡」升级的区块减产只是为了抑制 PoS 真正到来前的 ETH 供应量的「通货膨胀」,同时短期平衡矿工的利益。所以,这些应该都是一次预期内的升级,不应该过度反应。
4、对普通投资者
首先,就像文章开头的问答里所说的,对于此次升级,普通的 ETH 持有者(不管是放在钱包还是交易平台)不需要进行任何额外操作,原因很简单,这是一次预期内的、几乎没有争议的、平稳过渡的升级,理论上也不会有所谓的糖果(或分叉币)产生。
04
关于「君士坦丁堡」,你还需要了解什么
1、何谓以太坊「君士坦丁堡」升级?
这不是以太坊第一次升级,也不会是最后一次。以太坊不仅仅被设计为一种货币模式,更是一个去中心化的应用平台。在最终达到这个目标之前,它需要经历不同的增长阶段,在每一个阶段,以太坊都会引入不同的特性来使得系统变得更加稳定和强大。
根据以太坊网络的开发路线,总共需要经历四个阶段,以太坊的开发团队给这四个阶段都取了一个听起来比较浪漫的名字,即:
第一阶段,边境(Frontier,2015年7月):以太坊的第一次版本发布,允许开发人员对以太坊进行挖矿,并基于以太坊进行 DApp 与工具软件的开发。
第二阶段,家园(Homestead,2016年3月):发布了第一个生产环境版本,对许多协议进行了优化改进,为之后的升级奠定了基础,并且加快了交易速度。
第三阶段,大都会(Metropolis,2017年10月):第三阶段分为两次升级,分别命名为拜占庭(Byzantium,2017年10月)和君士坦丁堡(Constantinople,2019年1月),将会使得以太坊更轻量、更快速、更安全。
第四阶段,宁静(Serenity,时间待定):这个版本将会使用期待已久的 PoS 共识,其中将会使用 Casper 共识算法。
其中,第三阶段「大都会」是四个阶段里面最关键的一步,因为其作为最终 PoS 共识到来前的探路者,它的稳定部署对于最终的「宁静」阶段的平稳过渡至关重要,而此次「君士坦丁堡」升级作为「大都会」的最后一步,它的改进方向或者布局同样令人期待!
2、PoS vs PoW
如果你对区块链有所了解,你应该在很多场合听到或看到过 PoW 和 PoS,这里我们再重复一次。
PoW:包括 ETH(现阶段) 和 BTC 在内的绝大多数主流加密货币采用的就是这种协议,PoW 需要矿工(或者节点)不断消耗算力进行哈希计算,以找到期望的随机数,这就意味着系统需要消耗大量的算力和电力。
PoS:在这个系统里,我们有验证者而不是矿工,它的原理是,作为验证节点,首先你必须拥有一定数量的Token,根据Token的数量和时间会产生用于下注验证区块的权益。只有拥有权益的节点才能有效验证区块,当你验证的区块被打包进链,你将获得和你权益成正比的区块奖励。如果你验证恶意或错误的区块,那么你所下注的权益将被扣除。
需要注意的是,以太坊现阶段是 PoW,然而在最终第四阶段完成前,会切换到 PoS,当然,在完全 PoS 前,会经历一个 PoW + PoS 混合共识的阶段,这也是为了让整个切换更平稳,只是并不包含在此次升级的内容里。
3、以太坊升级 & 比特币分叉
众所周知,以太坊已经经历过多次升级,事实上每一次升级理论上都有分叉的风险,可现实却是基本没有发生过分叉(2017 年的 ETC 分叉除外),其实这和以太坊的升级机制以及社区的意见一致性息息相关,以太坊每次升级都会在代码里面加入「难度炸弹」,用于阻止矿工拒绝切换至新的以太坊链上,因为难度炸弹将会大大增加矿工们的挖矿难度,进而会打击矿工们挖矿的积极性。
这也对以太坊开发者带来了很大压力,因为他们需要在难度炸弹造成的「冰河世纪」到来之前(随着难度炸弹向前推进,使得平均挖出区块的时间越来越长)完成 PoS 的切换,当然「难度炸弹」的部署只是一方面,更重要的原因是每次升级基本都是没有争议的。从开发者到矿工,再到钱包和交易平台,很少出现不配合的声音。
这一点和现如今的比特币分叉有本质区别。比特币社区的分叉有历史的原因,包括开发者和矿工关于比特币未来的发展方向的不可调解的分歧,也可能夹杂着利益的关系。
此次升级之后,理论上会出现两条链,但旧链将很快被弃用。同时,与此前的升级类似,普通用户将不会注意到任何变化,也不会注意到出现了分叉。
4、软分叉和硬分叉
软分叉和硬分叉最大的区别就是:是否支持向前(分叉之后的新区块)兼容,支持向前兼容的是软分叉(兼容新区块),不能向前兼容的就是硬分叉(不兼容新区块)。
什么意思呢?假设你正在 Windows 操作系统上使用 Word 2003,现在升级至 Word 2016 版本,这时候 Word 2003 版本能打开 Word 2016 创建的文件,这就说明这次升级能向前兼容,就是一次软分叉;如果 Word 2003 版本不能打开 Word 2016 创建的文件,就说明升级是硬分叉。
所以,这次以太坊「君士坦丁堡」是一次硬分叉,因为老客户端不能兼容新客户端产生的区块,但是不会产生真正的分叉币,因为矿工或节点对这次升级不存在大的争议,所以都会尽快更新到最新的客户端,也就意味着大家都会在新的链上生产区块。
5、EIP & BIP
EIP,Ethereum Improvement Proposal,即以太坊改进建议的缩写,这也是以太坊开发者或者社区开发者之间关于网络改进建议的沟通方式。
通常,社区开发者在协作时,会先提出一些改进意见,并以 EIP 的方式体现,其它开发者会对这些 EIP 发表意见,如果某个 EIP 获得比较广泛的支持,则有可能会加入到某次升级里。相应的,BIP 就是指比特币改进建议。
最后,根据以太坊主网的区块高度,预计真正的升级时间大概率在北京时间16日~17日左右,而我们要做的,就是静静地等待那一刻的到来。
以太坊虽然充满争议和挑战,但是依然值得期待!
本文链接:https://www.hellobtc.com/kp/bi/201901/1370.html
来源:imtoken