首页
学习
活动
专区
工具
TVP
发布

以太坊基金会官宣:君士坦丁堡升级注意事项

unitimes.io

全球视角,独到见解

以太坊网络将按计划在区块高度7,080,000进行升级,预计升级时间为2019年1月16日(下周三)。确切的日期可能会随着区块时间的不同而有所变化,可能提前或推迟一到两天。可以在https://amberdata.io/blocks/7080000这个网址查看倒计时;在 http://forkmon.ethdevops.io/ 这个网址实时监测网络升级的情况。

什么是君士坦丁堡?

君士坦丁堡是此网络升级的名字。每一次以太坊升级都有一个名字,例如前两次的 Spurious Dragon[1]和 Byzantium[2]。

以太坊用户或者以太币持有者需要做什么?

如果你在使用交易所(如Coinbase、Kraken或币安)、Web钱包服务(如Metamask、Mycrypto 或 MyEtherWallet)或者是硬件钱包(如Ledger、Trezor或 KeepKey),除非你的交易所或者钱包服务商通知你要采取某些步骤,否则你无需要做任何事情。

节点运行者或者矿工需要做什么?

下载最新版本的以太坊客户端:

最新版 geth 端 (v1.8.20),链接:

https://github.com/ethereum/go-ethereum/releases/tag/v1.8.20

最新版 Parity 端(v2.1.11-stable),链接:

https://github.com/paritytech/parity-ethereum/releases/tag/v2.1.11

最新版 Harmony 端(v2.3 Build 72),链接:

https://github.com/ether-camp/ethereum-harmony/releases/tag/v2.3b72

最新版 Patheron 端(v0.8.3),链接:

https://github.com/PegaSysEng/pantheon/releases/tag/0.8.3

最新版 Trinity 端(v.1.0-alpha.20),链接:

https://github.com/ethereum/py-evm/releases/tag/trinity-v0.1.0-alpha.20

最新版以太坊钱包/Mist (v0.11.1),链接:

https://github.com/ethereum/mist/releases/tag/v0.11.1

如果我是矿工或者节点运行者,但是我没有参与此次升级,会怎么样?

如果你使用的是未更新到最新版本(上面列出)的以太坊客户端,升级之后,你的客户端将同步到预分叉(pre-fork)区块链上。你会被锁在一个不兼容的链上,按旧规则运行,而且无法发送以太币或者在升级后的以太坊网络上进行任何操作。

以太坊的网络升级是什么?

网络升级是对底层以太坊协议的更改,创建新规则以改进系统。区块链系统的去中心化特性使得网络升级变得非常困难。顺利升级需要与社区以及以太坊客户端的各个开发人员进行合作和沟通。

网络升级的过程中会发生什么?

在社区就升级中应该包含哪些变化达成一致后,对协议的更改将写入各个以太坊客户端,例如geth、Parity和Harmony。协议的更改会在特定数据区块高度达到时被激活。任何尚未升级到新规则集的节点都将会被弃留在运行旧规则的旧链上。

君士坦丁堡升级将会带来什么变化?

以太坊君士坦丁堡升级将实现的改变在5个EIP (以太坊改进提案)中进行了说明。EIP是描述以太坊平台标准的提案,包括核心协议说明、客户端API和智能合约标准。以下5个EIP将在此次君士坦丁堡硬分叉中实现:

EIP 145:EVM (以太坊虚拟机) 按位转移指令

提供与其他算术运算符成本一样的本机按位转移(native bitwise shifting)。

EVM缺少按位转移运算符,但支持其他逻辑和算术运算符。尽管可以通过算术运算符来实现移位操作,但这样做的成本很高,且需要更长的处理时间。通过使用算法运算来实现SHL(左移)和SHR(右移)需要消耗35 gas,而此提案提议的指令只需要消耗3 gas。

简言之,此EIP增加了协议的功能,使得在链上进行某些操作将变得更具成本效益和更简便。

EIP 1014: Skinny CREATE2

在0xf5上添加一个新的操作码,这将需要4个堆栈参数:endowment, memory_start, memory_length 和 salt。这将与 CREAT E表现一样,但将使用keccak256( 0xff ++ address ++ salt ++ keccak256(init_code)))[12:],而不使用往常的keccak256(RLP(sender_address, nonce))[12:]作为初始化合约的地址。

这将允许与链上尚不存在但仍可依赖的地址(在真实或者虚拟的通道上)进行交互,该地址包含的代码只能最终由特定的初始化代码生成。

这对于涉及与合约存在虚拟交互的状态通道用例来说,是很重要的。

简言之:此EIP将允许你能够与尚未被创建出来的地址进行交互。

EIP 1052:EXTCODEHASH 操作码

此EIP提议使用一种新的操作符EXTCODEHASH,该操作符将返回合约字节码的keccak256哈希值。

很多合约都需要执行对某个合约字节码进行检查,但这些合约并不一定需要这些字节码本身。比如,某个合约也许想要检查另一个合约的字节码是否是一组被允许的实现,或者对字节进行分析,如果通过了分析,那任何有着相匹配的字节码的合约都将被列入白名单中。

当前,合约可以通过使用EXTCODECOPY操作符来实现这个目的,但是这样做的成本很高,尤其是对于大型合约(只需要智能合约的哈希值的时候)来说更是如此。因此,一种称为EXTCODEHASH的新操作码正在被实现,该操作码将返回合约字节码的 keccak256 哈希值。

简言之,此EIP也将使链上的某些操作变得更具成本效益(需要消耗更少的gas)。

EIP 1283:更改SSTORE操作码的净gas计量

此EIP提议更改SSTORE操作码的净gas计量,从而使合约存储实现新的用途,并减少和智能合约运行量不匹配的 Gas 消耗。

简言之,此EIP也将使链上的某些操作更具成本效益(需要消耗更少的gas),尤其是当前一些“极其”昂贵的链上操作。

EIP 1234:延迟难度炸弹&调整区块奖励

由于难度炸弹(也即所谓的“冰河世纪”)正在缓慢推进,平均出块时间正不断增加。此EIP提议将难度炸弹推迟12个月,并通过将现有的区块奖励由 3 ETH 减少到 2 ETH来适应难度炸弹的延迟。

简言之,此EIP将确保以太坊在准备好实现PoS(权益证明)之前,以太坊区块链将不会被冻结。

感谢您的阅读!

非常感谢以太坊社区以及所有以太坊客户端和各平台的开发者们对此次以太坊升级所提供的想法和贡献。特别感谢Reddit用户 cartercarlson 让我们参考他在 Reddit 上发出的帖子[8]内容,同时也感谢 MyCrypto[9]团队让我们参考他们在 Medium 上的文章“Everything Constantinople You Need To Know”[10]。

免责声明:以太坊是一个新兴的,不断发展的高技术领域。如果您选择执行本文中的建议并继续参与进来,您应该确保了解它对您产生的影响。您应该了解存在风险,包括但不限于意外错误等风险。选择实施这些建议之后,您将自行承担风险。此帖和建议不是任何形式的销售,也不构成任何形式的保证,包括但不限于与此文提及的以太坊网络或以太坊客户有关的任何保证。

正文中涉及的链接:

[1]:https://blog.ethereum.org/2016/11/18/hard-fork-no-4-spurious-dragon/

[2]:https://blog.ethereum.org/2017/10/12/byzantium-hf-announcement/

[3]:EIP145:https://eips.ethereum.org/EIPS/eip-145

[4]:EIP1014:https://eips.ethereum.org/EIPS/eip-1014

[5]:EIP1052:https://eips.ethereum.org/EIPS/eip-1052

[6]EIP1283:https://eips.ethereum.org/EIPS/eip-1283

[7]:EIP1234:https://eips.ethereum.org/EIPS/eip-1234

[8]:https://old.reddit.com/r/ethereum/comments/abv70c/heres_a_summary_of_the_constantinople_update/

[9]:https://mycrypto.com/

[10]:https://link.medium.com/MLw7MrPknT

作者:Hudson Jameson

翻译:Jhonny, Iris

原文链接:https://blog.ethereum.org/2019/01/11/ethereum-constantinople-upgrade-announcement/

【文章版权归原作者所有,其内容与观点不代表Unitimes立 场。转载文章仅为传播更有价值的信息,合作或授权联系请发邮件至 contact@unitimes.media或添加微信unitimes2017】

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券