四海资讯
首页 > 财经资讯 > 基金证券

以太坊基金会:以太坊君士坦丁堡/圣彼得堡升级公告

时间:2019-02-26

以太坊网络计划将在区块高度达到7,280,000时进行升级,预计本周四(2019年2月28日)是发生。但具体的日期将会根据实际情况发生改变,可能将在这个日期之前或之后1-2天进行。大家可以在这个链接https://amberdata.io/blocks/7280000查看倒数计时情况,也可以通过 http://forkmon.ethdevops.io/来实时监控网络升级。

什么是君士坦丁堡/圣彼得堡升级?

Constantinople (君士坦丁堡) 和 St. Petersburg (圣彼得堡) 是这次网络升级的名称。以太坊网络之前的升级已经被赋予其他名称,如Spurious Dragon (伪龙) 和Byzantium (拜占庭)。此网络升级有两个名称的原因是因为最初的君士坦丁堡网络升级被推迟,并且需要在同一区块编号(即7,280,000)上进行两次协议升级,以便修复各个以太坊测试网络 (如Ropsten) 上的问题。

以太坊用户或 ETH 持有者需要为此次升级做什么准备吗?

如果您使用交易所(例如Coinbase,Kraken或Binance),或者网络钱包服务(例如Metamask,MyCrypto或MyEtherWallet),或者是移动钱包服务(例如Coinbase钱包,Status.im或Trust Wallet),亦或者是硬件钱包(如Ledger,Trezor或KeepKey),除非这些交易所或钱包服务提供商通知您通采取其他步骤,否则您无需执行任何操作。

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

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

最新的 geth 客户端版本 (v1.8.23):https://github.com/ethereum/go-ethereum/releases/tag/v1.8.23

最新的 Parity 客户端版本 (v2.2.10-stable):https://github.com/paritytech/parity-ethereum/releases/tag/v2.2.10

最新的 Harmony 客户端版本 (v2.3 Build 74):https://github.com/ether-camp/ethereum-harmony/releases/tag/v2.3b74

最新的 Pantheon 客户端版本 (v0.9.1):https://pegasys.tech/

最新的 EthereumJS VM 客户端版本 (v2.6.0):https://github.com/ethereumjs/ethereumjs-vm/releases/tag/v2.6.0

最新的Ethereum Wallet/Mist版本 (v0.11.1):https://github.com/ethereum/mist/releases/tag/v0.11.1

如果节点运营商或者矿工不升级到最新版本,会发生什么事情?

如果您使用的是未更新到最新版本(上面列出的)的以太坊客户端,则一旦此次以太坊网络升级开始,您的客户端将同步到以太坊网络升级之前的状态。您的客户端将根据旧规则停留在一条不兼容的链上,将无法发送ETH或在升级后的以太坊网络上运行。

在以太坊领域,网络升级是指什么?

网络升级是对底层以太坊协议的更改,从而创建用于改进系统的新规则。区块链系统的去中心化属性使网络升级变得更加困难。区块链中的网络升级需要与社区以及各种以太坊客户端的开发者们进行合作和沟通,以便使整个网络顺利进行过渡。

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

在以太坊社区就升级中应该包含哪些更改达成一致意见之后,对协议的更改将写入各种以太网客户端(例如geth,Parity和Harmony等) 之中。协议更改在特定区块编号到达之时被激活。任何尚未升级到新规则集的节点将被放弃在先前旧规则继续存在的那条旧链上。

君士坦丁堡升级将带来哪些变更?

君士坦丁堡升级实施的变更是使用EIP(以太坊改进提案) 进行定义的。以太坊改进提案(EIPs)描述了以太坊平台的标准,包括核心协议规范、客户端API和合约标准等方面。以下EIP将在君士坦丁堡升级中被实施:

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

提供成本与其他算法运算一样的本机按位转移。

EVM (以太坊虚拟机) 缺少按位转移运算符,但支持其他逻辑和算术运算符。尽管可以通过算术运算符(arithmetic operators) 来实现移位操作,但这样做的成本很高,且需要更长的处理时间。通过使用算法运算来实现 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 哈希值。

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

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

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

EIP 1234:君士坦丁堡难度炸弹延迟 & 区块奖励调整

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

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

圣彼得堡升级将带来哪些变更?

在以太坊在主网络上执行网络升级之前,会升级测试网络(如Ropsten)从而对这些更改进行测试。上文中罗列的君士坦丁堡升级在被推迟之前的变更,曾应用于测试网路中,需要对测试网络进行第二次网络升级,从而撤消最初的君士坦丁堡的更改。这一升级被称为圣彼得堡,它出现在与君士坦丁堡升级相同的区块编号之上。

以下 EIP 将通过圣彼得堡升级从测试网络中被移除:

移除 EIP 1283:对SSTORE操作码进行净gas计量变更

感谢您的阅读!

非常感谢以太坊社区,以及是所有客户端和各平台的开发者们的贡献,他们聚集在一起提供意见、想法。特别感谢 Reddit 用户 cartercarlson允许我们使用其在Reddit 上发布的帖子以及 MyCrypto 团队允许我们参考他们在 Medium 上发布的《Ethereum Constantinople: Everything You Need To Know》这篇文章。

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

本文首发于微信公众号:Unitimes。文章内容属作者个人观点,不代表和讯网立场。投资者据此操作,风险请自担。

  • 上一篇:闷声发大财!一养老基金九天狂赚2300万,“牛市之下”建仓思路有变
  • 下一篇:基金销售机构迎最严新规,行业大洗牌即将来临