Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文
以太坊君士坦丁堡(Constantinople)分叉即将开始,很多人都对本次分叉感到好奇,不确定是否需要提前做好准备。" B9 c% [# l' O0 f$ u) o- J

; A/ C2 B! F/ L7 B' L0 L简单来说:如果你只是ETH的持有者,本次升级你不需要做任何准备。
% Y; g: N/ F7 I/ G% C$ ]9 @$ F5 w- h3 v3 n+ m+ G3 ~' W
什么是分叉?
5 I. Y* T0 x9 E5 s1 _
: k& ^7 z& y/ Q% M/ m- d分叉就是网络升级,就像你的电脑和app需要升级一样,分叉也是为了网络变得更加安全,具备更多新的功能。
4 L. U6 Y7 t. L5 ^$ [! D5 _6 k' @8 f  q, n; D
你是否曾经在更新之后打开一个Word文档或其他文件的时候感觉有点不稳定?或许有些注释丢失了,又或者看起来怪怪的?硬分叉也是类似。如果人们在运行旧版软件,而新版软件试图与其进行交互时,有些内容就可能丢失,或者变得不稳定。& ?% J# Z# [' c4 o. E, e4 |% \$ `
, v4 j( w$ L/ D4 A3 ?$ ?9 Y* R
这是因为区块链是去中心化的,同时运行着大量的计算机。用户之间不需要相互发送Word文档,每个人都可以同时获取最新的文档(即区块链历史)。
5 {3 v) {( k( k5 ]2 |
( Z& a6 q% `6 f! s$ n因此,为了让一切变得更加稳定,运行区块链软件(即节点)的每个人都必须升级。这样每个人都可以在遵守同一套规则的前提下获得最新的功能。
( A& ]4 W; ^/ ?0 V5 c: z+ K" c( y9 S6 y: Y, O$ v
分叉为什么叫分叉?7 A3 q6 N' p( ^- b
, c0 t2 r3 K4 z  X# d; _; h9 t
分叉之所以被称为分叉是因为其与分岔路口(英文中都被称为fork)类似——一条区块链被分成了两条独立的链。其中一条路(或者说一条链)遵循旧的规则,而另一条链则采用了新的规则。6 u! B! z* ]* s6 R. L
2 D& i+ \, L  ?! d
有些硬分叉不存在争议,因此大家都会弃用旧版软件,没有人会去维护旧链。这条链就自然而然地会停止运作,因为这里的币也已经没有价值了。* {* O% _2 w) J* V

( d% T0 x; j* [  E4 r+ [7 a  O然而,如果硬分叉存在争议(也就是说,有人反对其中包含的改进),那么两条链都很有可能继续存在。就像ETC和ETH以及BCH和BTC一样。
3 D: w5 Y  ]3 F( Z. Y
1 U" t- {2 i9 x6 u& ]9 `什么是君士坦丁堡?
1 Q/ S% R8 M) K" A' x% q$ [: Z% [1 Z- f8 Y: g
君士坦丁堡是以太坊网络本次升级的名称。本次升级不存在争议,网络中每个人都同意以太坊区块链走上一条新的道路。
) P5 u8 z3 ~! s9 J% [, B5 Y  P; N
; B, E" b7 A* ]+ T1 I因此,就像此前的几次升级(例如2016年的家园升级和2017年的拜占庭升级)一样,本次硬分叉虽然也会分出两条链,但旧链几乎会立刻消失。同样的,普通用户也不会察觉出任何变化。
# r' a1 I  e$ F+ @6 S0 _+ k- k+ b6 l
这个新的以太坊区块链包含几个改进该网络的EIP(以太坊改进协议)。( |. r) ?. [4 K
& y! G% ?. J7 _1 O
我需要做什么吗?转移ETH?: q' e1 h6 l6 m# ]

. B  o7 a% a3 S) f什么都不用做。虽然你的ETH会同时在新链和旧链存在,但所有交易所(Coinbase、Kraken、ShapeShift)、服务商(MyCrypto、MetaMask、Trust Wallet)以及节点供应商(Infura、Etherscan、Quiknode)都会升级他们的节点,因此对普通用户来说不会有任何影响。! d" S  K" T6 a% L, e
* R) X* Y" F! d' ]0 g+ M4 Y
**, g$ L2 L6 M) H
* u. _4 ~+ j4 U- A8 Q, v
如果你在运行节点(例如用自己的电脑使用Infura或者运行Geth及Parity),你就需要升级到最新版的软件。**8 P4 G; M( Z% s( h  {8 `
2 d2 ]1 }4 l2 Y- _* k: w8 \  O
本次升级包含哪些EIP?9 c$ r' O( ]! M1 I# f
7 L; C3 E; x4 u4 V+ X8 G1 a/ A
EIP 145:以太坊虚拟机(EVM)的位转移指令
) r' [  z8 y4 T
- L- l! R6 x5 m5 I5 @提供与其他算术运算同等成本的本机位转移。
2 _2 C) Q: r2 b5 Q5 d7 o
' Q/ F" F2 k+ x7 g9 A4 lEVM缺乏位转移运算,但支持其他逻辑和算术运算。转移运算可以通过算术运算进行部署,但所需成本更高,需要耗费更多的处理时间。部署SHL和SHR的运算成本分别是35 gas,而本文建议的操作只需要3 gas。6 m6 u' W& K, k4 D, n

* Z6 {. B6 B7 f4 b0 d6 V- 简单来说就是给协议添加更多功能让链上活动变得更加方便,成本更低。
, @- I5 [2 z6 j; F0 {$ |
0 b( `. N2 q1 S* B3 @EIP 1014:Skinny CREATE2
, {+ l0 S2 e" h* y+ V4 g7 d$ x/ k) G; F
为0xf5添加新的操作码,需要4个栈参数:endowment、memory_start、memory_length、salt。除了使用
/ t- f3 d1 S9 z: n( u' G) {5 P7 J( f' N6 s
keccak256( 0xff ++ address ++ salt ++ keccak256(init_code)))[12:]$ \& j! r: L' @

3 Z& m/ q- s. s' B9 K5 U来取代常规的sender-and-nonce-hash作为初始化合约地址之外,其他CREATE操作都是不变的。
/ P( U$ d8 }2 n  ?) y- _! A$ O/ r, a
允许与链上不存在的地址进行交互,前提是这些地址包含由特定初始化代码创建的代码。
/ m% {# ?: Q) d; S( \! ?: U6 P: o' r, K& V4 f
对于涉及合约交互的状态通道应用非常重要。1 f- ~+ O  o: ~3 W
2 A9 M8 s0 [6 a5 W5 n! f# ~. I6 [
简单来说就是允许你与因为状态通道而尚未创建的地址进行交互。. U3 ?, _' d) _+ \5 z: X6 J

$ {" v2 @4 z% v1 c+ {7 B# N# f  IEIP 1052:EXTCODEHASH操作码+ h- O4 M/ Z6 Y+ G/ Y! m

6 X* O5 t  g0 F1 O# N, J这一EIP介绍了一种新的操作码,回归到了合约代码的keccak256 hash。( l3 m$ ^! y3 |7 F
$ ^6 r7 d1 {3 ^9 B* v
很多合约需要对合约的字节码进行检查,但不一定需要字节码。举个例子,某合约会检查另一合约的字节码是否属于可部署范围之内,或者会分析代码,将一些带有符合要求字节码的合约加入白名单。% G7 R/ b+ B( q# ^# m" }
4 v2 ^9 n2 ~5 O+ y4 p
目前,合约已经可以通过EXTCODECOPY操作码来实现这一点,但所需成本较高,特别是大型合约。因此,我们提出了一个全新的操作码EXTCODEHASH,回归合约字节码的keccak256 hash。
& m4 s3 Z/ b' u3 N* w& ?1 K+ ?. W* P& T5 [
- 简单来说链上活动成本(所需gas越来越少)将会降低。% H4 f1 D% I$ U! G( X% D2 J7 Z

( h6 k; `  ^$ M  z  XEIP 1283:不需要dirty maps(额外的存储结构)的SSTORE gas计量
+ t1 f; k- ~" `7 P# l$ `  H4 D' R5 ~" X5 @2 m
这一EIP提出了SSTORE操作码的gas净值计量改进,开拓了合约存储的新应用,在出现不匹配情况时减少了过度的gas成本。
( e1 M3 m2 A- t4 t; o; \; N4 w/ F* r) z5 T1 S
简单来说就是让链上活动成本(所需gas越来越少)变得更低,尤其是针对现阶段成本非常高的活动。- r2 {; o# L7 ]: I: P* @! t; }1 H3 h

/ z4 \8 ]0 K! u7 b7 |  r! vEIP 1234:君士坦丁堡难度炸弹延迟和区块奖励调整
$ P0 O0 L8 S  Q$ h  E& n
# j' [$ ^, z* d+ a! @由于难度炸弹(也就是“冰河时代”)的推进,平均的出块时间增加了。这一EIP建议延迟难度炸弹1年,减少区块奖励。' H8 \) V% }& _. H2 \4 p
: B2 i, n5 C+ K- H
简单来说就是在PoS准备就绪之前确保不要“冻结”区块链。! C9 n/ p# G  A. R
# M% |8 T" W! E+ o& x
本次分叉是否会影响交易或确认时间?
7 n  c4 K) L5 y# U; d) v7 o) s# b" |) ?- _  U
9 I1 d% X' S6 g8 ?  X出块时间应在15秒左右。在将来完全切换到PoS之后,出块时间会发生变化,但目前依然采用PoW,可能会有一些延迟,交易速度太快可能会导致部分交易不可靠。以太坊目前通过叔块(uncle block)来解决这一问题。
& L- J* Q8 t3 G" k' ?& p6 O) _* [6 @+ q. R# \8 n) {# G  n8 a" R* C
本次分叉是否会影响交易费用?
. I2 j% }9 r) _; B" v; O$ ~, x) s  k; Y8 Q9 I- R: F2 K" g
费用取决于交易数量。有些EIP会优化智能合约交互,因此,智能合约交易成本会减少。然而,我们不知道将来是否又会有一个像加密猫(CryptoKitties)这样的Dapp出现,导致网络拥堵和费用上涨。. O$ x! S4 B+ p' s  r: R

( I% ?5 Q) V# L( K" y本次分叉是否会影响每秒处理的交易数量?1 b) t- a% N4 K- n' y) _( \5 W

. b4 x; b7 ]1 l9 a4 P平均交易处理数量不变。不过,随着EIP 1024对状态通道的优化,我们应该能看到一些二层方案的问世(例如OmiseGo、Loom Network、Raiden等)。
" F/ d; y! c' N& t- D
; v8 ?- s2 j3 u7 Q/ G! K3 F, z( f& D本次升级是否会切换到PoS?, y  E# u& L+ R* i
2 j, ]* h1 R# F
不会,目前仍在进行测试。EIP 1234之所以提出减少区块奖励是为了延迟难度炸弹,最终我们将看到beacon链和sharding链。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

虹桥大宝剑 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    26